summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elfutils-portability.patch675
-rw-r--r--elfutils-robustify.patch236
-rw-r--r--elfutils.spec22
-rw-r--r--elfutils/ChangeLog22
-rw-r--r--elfutils/NEWS28
-rw-r--r--elfutils/aclocal.m44
-rw-r--r--elfutils/backends/ChangeLog10
-rw-r--r--elfutils/backends/alpha_init.c4
-rw-r--r--elfutils/backends/alpha_symbol.c32
-rw-r--r--elfutils/config.h.in6
-rw-r--r--elfutils/config/ChangeLog8
-rw-r--r--elfutils/config/elfutils.spec.in69
-rw-r--r--elfutils/config/known-dwarf.awk2
-rwxr-xr-xelfutils/configure325
-rw-r--r--elfutils/configure.ac40
-rw-r--r--elfutils/elfutils.spec71
-rw-r--r--elfutils/lib/ChangeLog21
-rw-r--r--elfutils/lib/Makefile.am7
-rw-r--r--elfutils/lib/Makefile.in14
-rw-r--r--elfutils/lib/color.c227
-rw-r--r--elfutils/lib/md5.c29
-rw-r--r--elfutils/lib/sha1.c26
-rw-r--r--elfutils/lib/system.h53
-rw-r--r--elfutils/lib/xstrdup.c40
-rw-r--r--elfutils/libcpu/ChangeLog14
-rw-r--r--elfutils/libcpu/Makefile.am21
-rw-r--r--elfutils/libcpu/Makefile.in19
-rw-r--r--elfutils/libcpu/i386_dis.h1657
-rw-r--r--elfutils/libcpu/i386_disasm.c102
-rw-r--r--elfutils/libcpu/i386_parse.c491
-rw-r--r--elfutils/libcpu/i386_parse.h13
-rw-r--r--elfutils/libcpu/x86_64_dis.h1632
-rw-r--r--elfutils/libdw/ChangeLog57
-rw-r--r--elfutils/libdw/Makefile.am2
-rw-r--r--elfutils/libdw/Makefile.in2
-rw-r--r--elfutils/libdw/dwarf.h18
-rw-r--r--elfutils/libdw/dwarf_begin_elf.c83
-rw-r--r--elfutils/libdw/dwarf_child.c21
-rw-r--r--elfutils/libdw/dwarf_end.c24
-rw-r--r--elfutils/libdw/dwarf_formudata.c84
-rw-r--r--elfutils/libdw/dwarf_tag.c11
-rw-r--r--elfutils/libdw/libdw.h2
-rw-r--r--elfutils/libdw/libdwP.h13
-rw-r--r--elfutils/libdwfl/ChangeLog43
-rw-r--r--elfutils/libdwfl/derelocate.c10
-rw-r--r--elfutils/libdwfl/dwfl_module_addrsym.c113
-rw-r--r--elfutils/libdwfl/dwfl_module_getdwarf.c17
-rw-r--r--elfutils/libdwfl/elf-from-memory.c8
-rw-r--r--elfutils/libdwfl/image-header.c4
-rw-r--r--elfutils/libdwfl/libdwflP.h1
-rw-r--r--elfutils/libdwfl/linux-kernel-modules.c4
-rw-r--r--elfutils/libebl/ChangeLog22
-rw-r--r--elfutils/libebl/Makefile.am3
-rw-r--r--elfutils/libebl/Makefile.in7
-rw-r--r--elfutils/libebl/ebl-hooks.h9
-rw-r--r--elfutils/libebl/ebldynamictagname.c2
-rw-r--r--elfutils/libebl/eblobjnote.c90
-rw-r--r--elfutils/libebl/eblobjnotetypename.c14
-rw-r--r--elfutils/libebl/eblopenbackend.c18
-rw-r--r--elfutils/libebl/eblrelativerelocp.c2
-rw-r--r--elfutils/libebl/eblstother.c64
-rw-r--r--elfutils/libebl/libebl.h8
-rw-r--r--elfutils/libelf/libelfP.h2
-rw-r--r--elfutils/po/ChangeLog4
-rw-r--r--elfutils/po/de.gmobin21892 -> 21636 bytes
-rw-r--r--elfutils/po/de.po978
-rw-r--r--elfutils/po/elfutils.pot954
-rw-r--r--elfutils/po/en@boldquot.gmobin132554 -> 135393 bytes
-rw-r--r--elfutils/po/en@boldquot.po1007
-rw-r--r--elfutils/po/en@quot.gmobin130850 -> 133681 bytes
-rw-r--r--elfutils/po/en@quot.po1006
-rw-r--r--elfutils/po/es.gmobin141264 -> 139640 bytes
-rw-r--r--elfutils/po/es.po1000
-rw-r--r--elfutils/po/ja.gmobin86957 -> 85566 bytes
-rw-r--r--elfutils/po/ja.po1002
-rw-r--r--elfutils/po/pl.gmobin140602 -> 139045 bytes
-rw-r--r--elfutils/po/pl.po1000
-rw-r--r--elfutils/po/uk.gmobin181822 -> 179866 bytes
-rw-r--r--elfutils/po/uk.po1000
-rw-r--r--elfutils/src/ChangeLog230
-rw-r--r--elfutils/src/Makefile.am17
-rw-r--r--elfutils/src/Makefile.in19
-rw-r--r--elfutils/src/addr2line.c4
-rw-r--r--elfutils/src/ar.c30
-rw-r--r--elfutils/src/arlib-argp.c101
-rw-r--r--elfutils/src/arlib.c7
-rw-r--r--elfutils/src/arlib.h11
-rw-r--r--elfutils/src/elf32-i386.script2
-rw-r--r--elfutils/src/elfcmp.c8
-rw-r--r--elfutils/src/elflint.c6
-rw-r--r--elfutils/src/findtextrel.c4
-rw-r--r--elfutils/src/ld.c14
-rw-r--r--elfutils/src/ldgeneric.c5
-rw-r--r--elfutils/src/ldscript.c561
-rw-r--r--elfutils/src/ldscript.h13
-rw-r--r--elfutils/src/nm.c311
-rw-r--r--elfutils/src/objdump.c75
-rw-r--r--elfutils/src/ranlib.c6
-rw-r--r--elfutils/src/readelf.c504
-rw-r--r--elfutils/src/size.c4
-rw-r--r--elfutils/src/strings.c4
-rw-r--r--elfutils/src/strip.c272
-rw-r--r--elfutils/src/unstrip.c6
-rw-r--r--elfutils/tests/ChangeLog74
-rw-r--r--elfutils/tests/Makefile.am36
-rw-r--r--elfutils/tests/Makefile.in120
-rw-r--r--elfutils/tests/alldts.c275
-rw-r--r--elfutils/tests/asm-tst4.c5
-rw-r--r--elfutils/tests/asm-tst5.c5
-rw-r--r--elfutils/tests/asm-tst6.c5
-rw-r--r--elfutils/tests/dwarf-getstring.c85
-rw-r--r--elfutils/tests/hello_i386.ko.bz2bin0 -> 47401 bytes
-rw-r--r--elfutils/tests/hello_ppc64.ko.bz2bin0 -> 68189 bytes
-rw-r--r--elfutils/tests/hello_s390.ko.bz2bin0 -> 109190 bytes
-rw-r--r--elfutils/tests/hello_x86_64.ko.bz2bin0 -> 35106 bytes
-rw-r--r--elfutils/tests/md5-sha1-test.c109
-rw-r--r--elfutils/tests/rerequest_tag.c54
-rwxr-xr-xelfutils/tests/run-alldts.sh106
-rwxr-xr-xelfutils/tests/run-dwarf-getstring.sh133
-rwxr-xr-xelfutils/tests/run-readelf-twofiles.sh32
-rwxr-xr-xelfutils/tests/run-rerequest_tag.sh33
-rwxr-xr-xelfutils/tests/run-strip-groups.sh63
-rwxr-xr-xelfutils/tests/run-strip-reloc.sh115
-rw-r--r--elfutils/tests/sha1-tst.c79
-rw-r--r--elfutils/tests/test-subr.sh5
-rwxr-xr-xelfutils/tests/test-wrapper.sh11
-rw-r--r--elfutils/tests/testfile56.bz2bin0 -> 2768 bytes
-rw-r--r--elfutils/tests/testfile57.bz2bin0 -> 593 bytes
-rw-r--r--elfutils/tests/testfile58.bz2bin0 -> 1680 bytes
-rw-r--r--elfutils/version.h2
130 files changed, 13474 insertions, 4716 deletions
diff --git a/elfutils-portability.patch b/elfutils-portability.patch
index d4fa95fc..ec78059b 100644
--- a/elfutils-portability.patch
+++ b/elfutils-portability.patch
@@ -1,6 +1,6 @@
--- elfutils/backends/ChangeLog
+++ elfutils/backends/ChangeLog
-@@ -111,6 +111,10 @@
+@@ -121,6 +121,10 @@
* ppc_attrs.c (ppc_check_object_attribute): Handle tag
GNU_Power_ABI_Struct_Return.
@@ -11,7 +11,7 @@
2008-10-04 Ulrich Drepper <drepper@redhat.com>
* i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
-@@ -438,6 +442,11 @@
+@@ -448,6 +452,11 @@
* sparc_init.c: Likewise.
* x86_64_init.c: Likewise.
@@ -23,7 +23,7 @@
2005-11-19 Roland McGrath <roland@redhat.com>
* ppc64_reloc.def: REL30 -> ADDR30.
-@@ -460,6 +469,9 @@
+@@ -470,6 +479,9 @@
* Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
(CLEANFILES): Add libebl_$(m).so.
@@ -46,7 +46,17 @@
libebl_i386.so: $(cpu_i386)
--- elfutils/backends/Makefile.in
+++ elfutils/backends/Makefile.in
-@@ -165,6 +165,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -38,7 +38,8 @@ build_triplet = @build@
+ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = backends
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -165,6 +166,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -54,7 +64,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -194,6 +195,7 @@ SHELL = @SHELL@
+@@ -194,6 +196,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -62,15 +72,19 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -257,7 +259,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -256,10 +259,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
-I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1)
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
@@ -698,7 +700,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
$(LINK) -shared -o $(@:.map=.so) \
-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
@@ -82,7 +96,17 @@
libebl_i386.so: $(cpu_i386)
--- elfutils/ChangeLog
+++ elfutils/ChangeLog
-@@ -13,6 +13,10 @@
+@@ -14,6 +14,9 @@
+
+ 2011-10-08 Mike Frysinger <vapier@gentoo.org>
+
++ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
++ automake option.
++
+ * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
+
+ 2011-10-02 Ulrich Drepper <drepper@gmail.com>
+@@ -35,6 +38,10 @@
* configure.ac (LOCALEDIR, DATADIRNAME): Removed.
@@ -93,7 +117,7 @@
2009-09-21 Ulrich Drepper <drepper@redhat.com>
* configure.ac: Update for more modern autoconf.
-@@ -21,6 +25,10 @@
+@@ -43,6 +50,10 @@
* configure.ac (zip_LIBS): Check for liblzma too.
@@ -104,7 +128,7 @@
2009-04-19 Roland McGrath <roland@redhat.com>
* configure.ac (eu_version): Round down here, not in version.h macros.
-@@ -32,6 +40,8 @@
+@@ -54,6 +65,8 @@
2009-01-23 Roland McGrath <roland@redhat.com>
@@ -113,7 +137,7 @@
* configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
* configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
-@@ -112,6 +122,10 @@
+@@ -134,6 +147,10 @@
* configure.ac: Add dummy automake conditional to get dependencies
for non-generic linker right. See src/Makefile.am.
@@ -124,7 +148,7 @@
2005-11-18 Roland McGrath <roland@redhat.com>
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
-@@ -159,6 +173,17 @@
+@@ -181,6 +198,17 @@
* Makefile.am (all_SUBDIRS): Add libdwfl.
* configure.ac: Write libdwfl/Makefile.
@@ -142,9 +166,30 @@
2005-05-19 Roland McGrath <roland@redhat.com>
* configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
+--- elfutils/config/ChangeLog
++++ elfutils/config/ChangeLog
+@@ -6,6 +6,10 @@
+
+ * known-dwarf.awk: Use gawk.
+
++2011-10-08 Mike Frysinger <vapier@gentoo.org>
++
++ * eu.am [BUILD_WERROR]: Conditionalize -Werror use on this.
++
+ 2010-07-02 Ulrich Drepper <drepper@redhat.com>
+
+ * elfutils.spec.in: Add more BuildRequires.
--- elfutils/config/eu.am
+++ elfutils/config/eu.am
-@@ -25,11 +25,14 @@
+@@ -1,6 +1,6 @@
+ ## Common automake fragments for elfutils subdirectory makefiles.
+ ##
+-## Copyright (C) 2010 Red Hat, Inc.
++## Copyright (C) 2010-2011 Red Hat, Inc.
+ ## This file is part of Red Hat elfutils.
+ ##
+ ## Red Hat elfutils is free software; you can redistribute it and/or modify
+@@ -25,14 +25,20 @@
## <http://www.openinventionnetwork.com>.
##
@@ -154,12 +199,19 @@
DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
- $(if $($(*F)_no_Werror),,-Werror) \
+- $(if $($(*F)_no_Werror),,-Werror) \
- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
$(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
$($(*F)_CFLAGS)
++if BUILD_WERROR
++AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror)
++endif
++
+ if MUDFLAP
+ AM_CFLAGS += -fmudflap
+ libmudflap = -lmudflap
--- elfutils/config/Makefile.in
+++ elfutils/config/Makefile.in
@@ -76,6 +76,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -180,8 +232,9 @@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
--- elfutils/config.h.in
+++ elfutils/config.h.in
-@@ -1,5 +1,8 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
+@@ -3,6 +3,9 @@
+ /* Should ar and ranlib use -D behavior by default? */
+ #undef DEFAULT_AR_DETERMINISTIC
+/* Have __builtin_popcount. */
+#undef HAVE_BUILTIN_POPCOUNT
@@ -189,7 +242,7 @@
/* $libdir subdirectory containing libebl modules. */
#undef LIBEBL_SUBDIR
-@@ -55,4 +58,7 @@
+@@ -61,4 +64,7 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
@@ -199,7 +252,16 @@
#include <eu-config.h>
--- elfutils/configure
+++ elfutils/configure
-@@ -602,6 +602,8 @@ NEVER_TRUE
+@@ -598,6 +598,8 @@ ZLIB_TRUE
+ LIBEBL_SUBDIR
+ TESTS_RPATH_FALSE
+ TESTS_RPATH_TRUE
++BUILD_WERROR_FALSE
++BUILD_WERROR_TRUE
+ BUILD_STATIC_FALSE
+ BUILD_STATIC_TRUE
+ GCOV_FALSE
+@@ -612,6 +614,8 @@ NEVER_TRUE
base_cpu
NATIVE_LD_FALSE
NATIVE_LD_TRUE
@@ -208,13 +270,29 @@
LEXLIB
LEX_OUTPUT_ROOT
LEX
-@@ -3856,6 +3858,130 @@ if test "x$ac_cv_c99" != xyes; then :
+@@ -722,6 +726,7 @@ enable_mudflap
+ enable_debugpred
+ enable_gprof
+ enable_gcov
++enable_werror
+ enable_tests_rpath
+ enable_libebl_subdir
+ with_zlib
+@@ -1373,6 +1378,7 @@ Optional Features:
+ prediction
+ --enable-gprof build binaries with gprof support
+ --enable-gcov build binaries with gcov support
++ --disable-werror do not build with -Werror
+ --enable-tests-rpath build $ORIGIN-using rpath into tests
+ --enable-libebl-subdir=DIR
+ install libebl_CPU modules in $(libdir)/DIR
+@@ -3890,6 +3896,130 @@ if test "x$ac_cv_c99" != xyes; then :
as_fn_error $? "gcc with C99 support required" "$LINENO" 5
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5
+$as_echo_n "checking for -Wextra option to $CC... " >&6; }
-+if test "${ac_cv_cc_wextra+set}" = set; then :
++if ${ac_cv_cc_wextra+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ old_CFLAGS="$CFLAGS"
@@ -242,7 +320,7 @@
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5
+$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; }
-+if test "${ac_cv_cc_gnu89_inline+set}" = set; then :
++if ${ac_cv_cc_gnu89_inline+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ old_CFLAGS="$CFLAGS"
@@ -274,7 +352,7 @@
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5
+$as_echo_n "checking for --as-needed linker option... " >&6; }
-+if test "${ac_cv_as_needed+set}" = set; then :
++if ${ac_cv_as_needed+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
@@ -306,7 +384,7 @@
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5
+$as_echo_n "checking for __builtin_popcount... " >&6; }
-+if test "${ac_cv_popcount+set}" = set; then :
++if ${ac_cv_popcount+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -338,8 +416,8 @@
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
$as_echo_n "checking for __thread support... " >&6; }
- if test "${ac_cv_tls+set}" = set; then :
-@@ -3892,7 +4018,13 @@ fi
+ if ${ac_cv_tls+:} false; then :
+@@ -3926,7 +4056,13 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
$as_echo "$ac_cv_tls" >&6; }
if test "x$ac_cv_tls" != xyes; then :
@@ -354,27 +432,52 @@
fi
# Check whether --enable-largefile was given.
-@@ -4878,7 +5010,7 @@ ac_config_files="$ac_config_files versio
+@@ -4275,6 +4411,22 @@ else
+ fi
- # 1.234<whatever> -> 1234<whatever>
- case "$PACKAGE_VERSION" in
--[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
-+[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
- *) as_fn_error $? "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
- esac
- case "$eu_version" in
-@@ -4907,7 +5039,7 @@ case "$eu_version" in
+
++# Check whether --enable-werror was given.
++if test "${enable_werror+set}" = set; then :
++ enableval=$enable_werror; enable_werror=$enableval
++else
++ enable_werror=yes
++fi
++
++ if test "$enable_werror" = yes; then
++ BUILD_WERROR_TRUE=
++ BUILD_WERROR_FALSE='#'
++else
++ BUILD_WERROR_TRUE='#'
++ BUILD_WERROR_FALSE=
++fi
++
++
+ # Check whether --enable-tests-rpath was given.
+ if test "${enable_tests_rpath+set}" = set; then :
+ enableval=$enable_tests_rpath; tests_use_rpath=$enableval
+@@ -4995,7 +5147,7 @@ case "$eu_version" in
esac
# Round up to the next release API (x.y) version.
--eu_version=$[($eu_version + 999) / 1000]
+-eu_version=$(( (eu_version + 999) / 1000 ))
+eu_version=`expr \( $eu_version + 999 \) / 1000`
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
+@@ -5154,6 +5306,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes
+ as_fn_error $? "conditional \"BUILD_STATIC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${BUILD_WERROR_TRUE}" && test -z "${BUILD_WERROR_FALSE}"; then
++ as_fn_error $? "conditional \"BUILD_WERROR\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${TESTS_RPATH_TRUE}" && test -z "${TESTS_RPATH_FALSE}"; then
+ as_fn_error $? "conditional \"TESTS_RPATH\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
--- elfutils/configure.ac
+++ elfutils/configure.ac
-@@ -70,6 +70,54 @@ CFLAGS="$old_CFLAGS"])
+@@ -81,6 +81,54 @@ CFLAGS="$old_CFLAGS"])
AS_IF([test "x$ac_cv_c99" != xyes],
AC_MSG_ERROR([gcc with C99 support required]))
@@ -429,7 +532,7 @@
AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
# Use the same flags that we use for our DSOs, so the test is representative.
# Some old compiler/linker/libc combinations fail some ways and not others.
-@@ -85,7 +133,10 @@ static __thread int a; int foo (int b) {
+@@ -96,7 +144,10 @@ static __thread int a; int foo (int b) {
CFLAGS="$save_CFLAGS"
LDFLAGS="$save_LDFLAGS"])
AS_IF([test "x$ac_cv_tls" != xyes],
@@ -441,26 +544,29 @@
dnl This test must come as early as possible after the compiler configuration
dnl tests, because the choice of the file model can (in principle) affect
-@@ -248,7 +299,7 @@ AC_SUBST([eu_version])
-
- # 1.234<whatever> -> 1234<whatever>
- case "$PACKAGE_VERSION" in
--[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;;
-+[[0-9]].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
- *) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;;
- esac
- case "$eu_version" in
-@@ -277,6 +328,6 @@ case "$eu_version" in
+@@ -184,6 +235,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" =
+ AM_CONDITIONAL(BUILD_STATIC, [dnl
+ test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
+
++AC_ARG_ENABLE([werror],
++AS_HELP_STRING([--disable-werror],[do not build with -Werror]),
++ [enable_werror=$enableval], [enable_werror=yes])
++AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes)
++
+ AC_ARG_ENABLE([tests-rpath],
+ AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
+ [tests_use_rpath=$enableval], [tests_use_rpath=no])
+@@ -295,6 +351,6 @@ case "$eu_version" in
esac
# Round up to the next release API (x.y) version.
--[eu_version=$[($eu_version + 999) / 1000]]
+-eu_version=$(( (eu_version + 999) / 1000 ))
+eu_version=`expr \( $eu_version + 999 \) / 1000`
AC_OUTPUT
--- elfutils/lib/ChangeLog
+++ elfutils/lib/ChangeLog
-@@ -14,6 +14,9 @@
+@@ -35,6 +35,9 @@
2009-01-23 Roland McGrath <roland@redhat.com>
@@ -470,7 +576,7 @@
* eu-config.h: Add multiple inclusion protection.
2009-01-17 Ulrich Drepper <drepper@redhat.com>
-@@ -70,6 +73,11 @@
+@@ -91,6 +94,11 @@
* Makefile.am (libeu_a_SOURCES): Add it.
* system.h: Declare crc32_file.
@@ -504,7 +610,17 @@
# define OLD_VERSION(name, version) \
--- elfutils/lib/Makefile.in
+++ elfutils/lib/Makefile.in
-@@ -99,6 +99,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -37,7 +37,8 @@ build_triplet = @build@
+ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = lib
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -100,6 +101,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -512,7 +628,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -128,6 +129,7 @@ SHELL = @SHELL@
+@@ -129,6 +131,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -520,15 +636,19 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -190,7 +192,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -190,10 +193,9 @@ zip_LIBS = @zip_LIBS@
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
-I$(srcdir)/../libelf
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1) -fpic
+- $(am__append_1) -fpic
++ $(am__append_1) $(am__append_2) -fpic
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
--- elfutils/libasm/ChangeLog
+++ elfutils/libasm/ChangeLog
@@ -71,6 +71,11 @@
@@ -545,7 +665,21 @@
* Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
--- elfutils/libasm/Makefile.in
+++ elfutils/libasm/Makefile.in
-@@ -147,6 +147,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -39,10 +39,11 @@ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libasm_pic_a_OBJECTS =
+-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_2 = -lpthread
++@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
+ subdir = libasm
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -147,6 +148,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -553,7 +687,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -176,6 +177,7 @@ SHELL = @SHELL@
+@@ -176,6 +178,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = 1
@@ -561,18 +695,31 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -239,7 +241,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -238,10 +241,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
-I$(top_srcdir)/libdw
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1)
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -270,7 +272,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort
+
+ @MUDFLAP_FALSE@libasm_pic_a_SOURCES =
+ @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
+-@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_2)
++@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_3)
+ @MUDFLAP_FALSE@libasm_so_SOURCES =
+ noinst_HEADERS = libasmP.h symbolhash.h
+ EXTRA_DIST = libasm.map
--- elfutils/libcpu/ChangeLog
+++ elfutils/libcpu/ChangeLog
-@@ -15,6 +15,9 @@
+@@ -29,6 +29,9 @@
2009-01-23 Roland McGrath <roland@redhat.com>
@@ -582,7 +729,7 @@
* Makefile.am (i386_parse_CFLAGS): Use quotes around command
substitution that can produce leading whitespace.
-@@ -344,6 +347,11 @@
+@@ -358,6 +361,11 @@
* defs/i386.doc: New file.
* defs/x86_64: New file.
@@ -596,7 +743,7 @@
* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
--- elfutils/libcpu/i386_disasm.c
+++ elfutils/libcpu/i386_disasm.c
-@@ -791,6 +791,7 @@ i386_disasm (const uint8_t **startp, con
+@@ -819,6 +819,7 @@ i386_disasm (const uint8_t **startp, con
default:
assert (! "INVALID not handled");
@@ -606,7 +753,17 @@
else
--- elfutils/libcpu/Makefile.in
+++ elfutils/libcpu/Makefile.in
-@@ -116,6 +116,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -39,7 +39,8 @@ host_triplet = @host@
+ DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
+ i386_lex.c i386_parse.c
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT)
+ subdir = libcpu
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -117,6 +118,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -614,7 +771,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
-@@ -145,6 +146,7 @@ SHELL = @SHELL@
+@@ -146,6 +148,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -622,18 +779,33 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -208,7 +210,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -208,10 +211,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
-I$(srcdir)/../libdw -I$(srcdir)/../libasm
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1) -fpic -fdollars-in-identifiers
+- $(am__append_1) -fpic -fdollars-in-identifiers
++ $(am__append_1) $(am__append_2) -fpic -fdollars-in-identifiers
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
--- elfutils/libdw/ChangeLog
+++ elfutils/libdw/ChangeLog
-@@ -308,6 +308,10 @@
+@@ -6,6 +6,10 @@
+
+ * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
+
++2011-07-20 Mark Wielaard <mjw@redhat.com>
++
++ * dwarf_begin_elf.c: Add fallback for be64toh if not defined.
++
+ 2011-07-14 Mark Wielaard <mjw@redhat.com>
+
+ * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
+@@ -365,6 +369,10 @@
* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
@@ -644,7 +816,7 @@
2009-08-10 Roland McGrath <roland@redhat.com>
* dwarf_getscopevar.c: Use dwarf_diename.
-@@ -1076,6 +1080,11 @@
+@@ -1133,6 +1141,11 @@
2005-05-31 Roland McGrath <roland@redhat.com>
@@ -656,6 +828,23 @@
* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
formref offset.
+--- elfutils/libdw/dwarf_begin_elf.c
++++ elfutils/libdw/dwarf_begin_elf.c
+@@ -64,6 +64,14 @@
+ #if USE_ZLIB
+ # include <endian.h>
+ # define crc32 loser_crc32
++# ifndef be64toh
++# include <byteswap.h>
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++# define be64toh(x) bswap_64 (x)
++# else
++# define be64toh(x) (x)
++# endif
++# endif
+ # include <zlib.h>
+ # undef crc32
+ #endif
--- elfutils/libdw/libdw.h
+++ elfutils/libdw/libdw.h
@@ -852,7 +852,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
@@ -669,7 +858,19 @@
dwarf_whatattr (Dwarf_Attribute *attr)
--- elfutils/libdw/Makefile.in
+++ elfutils/libdw/Makefile.in
-@@ -192,6 +192,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -39,8 +39,9 @@ host_triplet = @host@
+ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
+ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@BUILD_STATIC_TRUE@am__append_2 = -fpic
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@BUILD_STATIC_TRUE@am__append_3 = -fpic
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS =
+ subdir = libdw
+@@ -192,6 +193,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -677,7 +878,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -221,6 +222,7 @@ SHELL = @SHELL@
+@@ -221,6 +223,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = 1
@@ -685,18 +886,22 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -283,7 +285,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -282,10 +285,9 @@ zip_LIBS = @zip_LIBS@
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
-I$(srcdir)/../libelf
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1) $(am__append_2)
+- $(am__append_1) $(am__append_2)
++ $(am__append_1) $(am__append_2) $(am__append_3)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
--- elfutils/libdwfl/ChangeLog
+++ elfutils/libdwfl/ChangeLog
-@@ -1366,6 +1366,11 @@
+@@ -1409,6 +1409,11 @@
2005-07-21 Roland McGrath <roland@redhat.com>
@@ -710,7 +915,25 @@
* test2.c (main): Check sscanf result to quiet warning.
--- elfutils/libdwfl/Makefile.in
+++ elfutils/libdwfl/Makefile.in
-@@ -182,6 +182,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -38,11 +38,12 @@ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@MUDFLAP_FALSE@am__append_2 = libdwfl_pic.a
+-@ZLIB_TRUE@am__append_3 = gzip.c
+-@BZLIB_TRUE@am__append_4 = bzip2.c
+-@LZMA_TRUE@am__append_5 = lzma.c
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@MUDFLAP_FALSE@am__append_3 = libdwfl_pic.a
++@ZLIB_TRUE@am__append_4 = gzip.c
++@BZLIB_TRUE@am__append_5 = bzip2.c
++@LZMA_TRUE@am__append_6 = lzma.c
+ @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS =
+ subdir = libdwfl
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -182,6 +183,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -718,7 +941,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -211,6 +212,7 @@ SHELL = @SHELL@
+@@ -211,6 +213,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = 1
@@ -726,18 +949,42 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -274,7 +276,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -273,10 +276,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
-I$(srcdir)/../libdw
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1)
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -284,7 +286,7 @@ COMPILE.os = $(filter-out -fprofile-arcs
+
+ CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS)
+ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+-noinst_LIBRARIES = libdwfl.a $(am__append_2)
++noinst_LIBRARIES = libdwfl.a $(am__append_3)
+ pkginclude_HEADERS = libdwfl.h
+ libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \
+ dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \
+@@ -305,8 +307,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
+ dwfl_module_getsym.c dwfl_module_addrname.c \
+ dwfl_module_addrsym.c dwfl_module_return_value_location.c \
+ dwfl_module_register_names.c dwfl_segment_report_module.c \
+- link_map.c core-file.c open.c image-header.c $(am__append_3) \
+- $(am__append_4) $(am__append_5)
++ link_map.c core-file.c open.c image-header.c $(am__append_4) \
++ $(am__append_5) $(am__append_6)
+ @MUDFLAP_FALSE@libdwfl = $(libdw)
+ @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu)
+ @MUDFLAP_FALSE@libdw = ../libdw/libdw.so
--- elfutils/libebl/ChangeLog
+++ elfutils/libebl/ChangeLog
-@@ -628,6 +628,11 @@
+@@ -650,6 +650,11 @@
* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
tracking works right.
@@ -751,7 +998,17 @@
* libebl_x86_64.map: Add x86_64_core_note.
--- elfutils/libebl/Makefile.in
+++ elfutils/libebl/Makefile.in
-@@ -143,6 +143,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -38,7 +38,8 @@ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = libebl
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -144,6 +145,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -759,7 +1016,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -172,6 +173,7 @@ SHELL = @SHELL@
+@@ -173,6 +175,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = 1
@@ -767,18 +1024,31 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -235,7 +237,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -235,10 +238,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(srcdir)/../libelf -I$(srcdir)/../libdw \
-I$(srcdir)/../libasm
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1) -fpic
+- $(am__append_1) -fpic
++ $(am__append_1) $(am__append_2) -fpic
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
--- elfutils/libelf/ChangeLog
+++ elfutils/libelf/ChangeLog
-@@ -671,6 +671,11 @@
+@@ -1,3 +1,8 @@
++2011-03-10 Roland McGrath <roland@redhat.com>
++
++ * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32
++ argument, since some implementations are buggy macros.
++
+ 2011-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
+@@ -671,6 +676,11 @@
* elf.h: Update from glibc.
@@ -810,9 +1080,45 @@
: (sizeof (Var) == 4 \
? bswap_32 (Var) \
: bswap_64 (Var))))
+--- elfutils/libelf/gnuhash_xlate.h
++++ elfutils/libelf/gnuhash_xlate.h
+@@ -1,5 +1,5 @@
+ /* Conversion functions for versioning information.
+- Copyright (C) 2006, 2007 Red Hat, Inc.
++ Copyright (C) 2006-2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2006.
+
+@@ -89,7 +89,9 @@ elf_cvt_gnuhash (void *dest, const void
+ dest32 = (Elf32_Word *) &dest64[bitmask_words];
+ while (len >= 4)
+ {
+- *dest32++ = bswap_32 (*src32++);
++ *dest32 = bswap_32 (*src32);
++ ++dest32;
++ ++src32;
+ len -= 4;
+ }
+ }
--- elfutils/libelf/Makefile.in
+++ elfutils/libelf/Makefile.in
-@@ -189,6 +189,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -39,11 +39,12 @@ host_triplet = @host@
+ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
+ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@BUILD_STATIC_TRUE@am__append_2 = -fpic
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@BUILD_STATIC_TRUE@am__append_3 = -fpic
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
+-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
++@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_4 = -lpthread
+ subdir = libelf
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -189,6 +190,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -820,7 +1126,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -218,6 +219,7 @@ SHELL = @SHELL@
+@@ -218,6 +220,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = 1
@@ -828,15 +1134,28 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -279,7 +281,7 @@ zip_LIBS = @zip_LIBS@
+@@ -278,10 +281,9 @@ top_srcdir = @top_srcdir@
+ zip_LIBS = @zip_LIBS@
INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1) $(am__append_2)
+- $(am__append_1) $(am__append_2)
++ $(am__append_1) $(am__append_2) $(am__append_3)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -346,7 +348,7 @@ libelf_a_SOURCES = elf_version.c elf_has
+
+ @MUDFLAP_FALSE@libelf_pic_a_SOURCES =
+ @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
+-@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_3)
++@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_4)
+ @MUDFLAP_FALSE@libelf_so_SOURCES =
+ noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
+ version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
--- elfutils/m4/Makefile.in
+++ elfutils/m4/Makefile.in
@@ -75,6 +75,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -890,7 +1209,7 @@
break;
--- elfutils/src/ChangeLog
+++ elfutils/src/ChangeLog
-@@ -260,8 +260,16 @@
+@@ -490,8 +490,16 @@
* readelf.c (attr_callback): Use print_block only when we don't use
print_ops.
@@ -907,7 +1226,7 @@
* ar.c (do_oper_extract): Use pathconf instead of statfs.
2009-08-01 Ulrich Drepper <drepper@redhat.com>
-@@ -425,6 +433,8 @@
+@@ -655,6 +663,8 @@
* readelf.c (print_debug_frame_section): Use t instead of j formats
for ptrdiff_t OFFSET.
@@ -916,7 +1235,7 @@
2009-01-21 Ulrich Drepper <drepper@redhat.com>
* elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
-@@ -608,6 +618,11 @@
+@@ -838,6 +848,11 @@
that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
is valid in RELRO.
@@ -928,7 +1247,7 @@
2008-02-29 Roland McGrath <roland@redhat.com>
* readelf.c (print_attributes): Add a cast.
-@@ -859,6 +874,8 @@
+@@ -1089,6 +1104,8 @@
* readelf.c (hex_dump): Fix rounding error in whitespace calculation.
@@ -937,7 +1256,7 @@
2007-10-15 Roland McGrath <roland@redhat.com>
* make-debug-archive.in: New file.
-@@ -1298,6 +1315,10 @@
+@@ -1528,6 +1545,10 @@
* elflint.c (valid_e_machine): Add EM_ALPHA.
Reported by Christian Aichinger <Greek0@gmx.net>.
@@ -948,7 +1267,7 @@
2006-08-08 Ulrich Drepper <drepper@redhat.com>
* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
-@@ -1374,6 +1395,10 @@
+@@ -1604,6 +1625,10 @@
* Makefile.am: Add hacks to create dependency files for non-generic
linker.
@@ -959,7 +1278,7 @@
2006-06-12 Ulrich Drepper <drepper@redhat.com>
* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
-@@ -1722,6 +1747,11 @@
+@@ -1952,6 +1977,11 @@
* readelf.c (print_debug_loc_section): Fix indentation for larger
address size.
@@ -1005,7 +1324,7 @@
#endif /* ld.h */
--- elfutils/src/Makefile.am
+++ elfutils/src/Makefile.am
-@@ -99,6 +99,9 @@ addr2line_no_Wformat = yes
+@@ -103,6 +103,9 @@ addr2line_no_Wformat = yes
# XXX While the file is not finished, don't warn about this
ldgeneric_no_Wunused = yes
@@ -1013,11 +1332,42 @@
+readelf_no_Werror = yes
+
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- size_LDADD = $(libelf) $(libeu) $(libmudflap)
+ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
--- elfutils/src/Makefile.in
+++ elfutils/src/Makefile.in
-@@ -228,6 +228,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -40,7 +40,8 @@ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
+ ldlex.c ldscript.c ylwrap
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \
+ strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \
+ findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \
+@@ -49,9 +50,9 @@ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEE
+ @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ # We never build this library but we need to get the dependency files
+ # of all the linker backends that might be used in a non-generic linker.
+-@NEVER_TRUE@am__append_2 = libdummy.a
++@NEVER_TRUE@am__append_3 = libdummy.a
+ # -ldl is always needed for libebl.
+-@NATIVE_LD_TRUE@am__append_3 = libld_elf.a
++@NATIVE_LD_TRUE@am__append_4 = libld_elf.a
+ @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS =
+ subdir = src
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -115,7 +116,7 @@ am_ld_OBJECTS = ld.$(OBJEXT) ldgeneric.$
+ versionhash.$(OBJEXT)
+ ld_OBJECTS = $(am_ld_OBJECTS)
+ ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \
+- $(am__append_3)
++ $(am__append_4)
+ ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \
+ $@
+ am_libld_elf_i386_so_OBJECTS =
+@@ -229,6 +230,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -1025,7 +1375,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -257,6 +258,7 @@ SHELL = @SHELL@
+@@ -258,6 +260,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -1033,16 +1383,31 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -321,7 +323,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -321,10 +324,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+ -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
-I$(srcdir)/../libasm
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1)
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
@MUDFLAP_FALSE@libmudflap =
-@@ -368,6 +370,9 @@ strings_no_Wformat = yes
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -340,8 +342,8 @@ AM_LFLAGS = -Pld -olex.yy.c
+ native_ld = @native_ld@
+ ld_dsos = libld_elf_i386_pic.a
+ @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \
+-@NATIVE_LD_FALSE@ $(am__append_2)
+-@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2)
++@NATIVE_LD_FALSE@ $(am__append_3)
++@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3)
+ @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu)
+ @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c
+ ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
+@@ -370,6 +372,9 @@ strings_no_Wformat = yes
addr2line_no_Wformat = yes
# XXX While the file is not finished, don't warn about this
ldgeneric_no_Wunused = yes
@@ -1050,11 +1415,20 @@
+# Buggy old compilers.
+readelf_no_Werror = yes
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
+@@ -377,7 +382,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf)
size_LDADD = $(libelf) $(libeu) $(libmudflap)
+ strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+- $(am__append_3)
++ $(am__append_4)
+ ld_LDFLAGS = -rdynamic
+ elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
--- elfutils/src/readelf.c
+++ elfutils/src/readelf.c
-@@ -4274,10 +4274,11 @@ struct listptr
+@@ -4434,10 +4434,11 @@ struct listptr
#define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4)
#define listptr_address_size(p) ((p)->addr64 ? 8 : 4)
@@ -1068,7 +1442,7 @@
struct listptr *p1 = (void *) a;
struct listptr *p2 = (void *) b;
-@@ -4357,8 +4358,11 @@ static void
+@@ -4518,8 +4519,11 @@ static void
sort_listptr (struct listptr_table *table, const char *name)
{
if (table->n > 0)
@@ -1082,7 +1456,7 @@
}
static bool
-@@ -8098,7 +8102,7 @@ dump_archive_index (Elf *elf, const char
+@@ -8478,7 +8482,7 @@ dump_archive_index (Elf *elf, const char
if (unlikely (elf_rand (elf, as_off) == 0)
|| unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
== NULL))
@@ -1142,10 +1516,10 @@
+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
+#endif
+
+ typedef uint8_t GElf_Byte;
/* Name and version of program. */
- static void print_version (FILE *stream, struct argp_state *state);
-@@ -311,8 +317,18 @@ process_file (const char *fname)
+@@ -326,8 +332,18 @@ process_file (const char *fname)
/* If we have to preserve the timestamp, we need it in the
format utimes() understands. */
@@ -1164,7 +1538,7 @@
}
/* Open the file. */
-@@ -1809,7 +1825,7 @@ while computing checksum for debug infor
+@@ -2063,7 +2079,7 @@ while computing checksum for debug infor
/* If requested, preserve the timestamp. */
if (tvp != NULL)
{
@@ -1173,7 +1547,7 @@
{
error (0, errno, gettext ("\
cannot set access and modification date of '%s'"),
-@@ -1866,7 +1882,7 @@ handle_ar (int fd, Elf *elf, const char
+@@ -2120,7 +2136,7 @@ handle_ar (int fd, Elf *elf, const char
if (tvp != NULL)
{
@@ -1184,7 +1558,7 @@
cannot set access and modification date of '%s'"), fname);
--- elfutils/tests/ChangeLog
+++ elfutils/tests/ChangeLog
-@@ -205,6 +205,8 @@
+@@ -279,6 +279,8 @@
2008-01-21 Roland McGrath <roland@redhat.com>
@@ -1193,7 +1567,7 @@
* testfile45.S.bz2: Add tests for cltq, cqto.
* testfile45.expect.bz2: Adjust.
-@@ -913,6 +915,11 @@
+@@ -987,6 +989,11 @@
* Makefile.am (TESTS): Add run-elflint-test.sh.
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
@@ -1218,7 +1592,40 @@
case 0:
--- elfutils/tests/Makefile.in
+++ elfutils/tests/Makefile.in
-@@ -372,6 +372,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -36,14 +36,15 @@ build_triplet = @build@
+ host_triplet = @host@
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/lib -I..
+
+-@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf
+-@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
++@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf
++@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH)
+ noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
+ newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
+ sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
+@@ -87,10 +88,10 @@ TESTS = run-arextract.sh run-arsymtest.s
+ run-prelink-addr-test.sh run-dwarf-getstring.sh \
+ run-rerequest_tag.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
+ # run-show-ciefde.sh
+-@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
+ @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
+-@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
++@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test
+ @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
++@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS)
+ subdir = tests
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -391,6 +392,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
@@ -1226,7 +1633,7 @@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -401,6 +402,7 @@ SHELL = @SHELL@
+@@ -420,6 +422,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -1234,12 +1641,28 @@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -462,7 +464,7 @@ zip_LIBS = @zip_LIBS@
- INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
+@@ -478,12 +481,11 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ zip_LIBS = @zip_LIBS@
+-INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
++INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3)
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
- $(am__append_1)
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
@MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -493,7 +495,7 @@ CLEANFILES = *.gcno *.gcda
+ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+ @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
+ @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
+-AM_LDFLAGS = $(am__append_3) $(am__append_4)
++AM_LDFLAGS = $(am__append_4) $(am__append_5)
+ @TESTS_RPATH_FALSE@tests_rpath = no
+ @TESTS_RPATH_TRUE@tests_rpath = yes
+ asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
diff --git a/elfutils-robustify.patch b/elfutils-robustify.patch
index afed2f8a..d4ecbf01 100644
--- a/elfutils-robustify.patch
+++ b/elfutils-robustify.patch
@@ -1,3 +1,47 @@
+--- elfutils/libdwfl/ChangeLog
++++ elfutils/libdwfl/ChangeLog
+@@ -41,6 +41,11 @@
+ * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
+ Reported by Kurt Roeckx <kurt@roeckx.be>.
+
++2011-03-23 Petr Machata <pmachata@redhat.com>
++
++ * relocate.c (relocate_section): Use gelf_fsize instead of relying
++ on shdr->sh_entsize.
++
+ 2011-02-11 Roland McGrath <roland@redhat.com>
+
+ * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
+--- elfutils/libdwfl/relocate.c
++++ elfutils/libdwfl/relocate.c
+@@ -1,5 +1,5 @@
+ /* Relocate debug information.
+- Copyright (C) 2005-2010 Red Hat, Inc.
++ Copyright (C) 2005-2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+@@ -478,7 +478,10 @@ relocate_section (Dwfl_Module *mod, Elf
+ }
+ }
+
+- size_t nrels = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize
++ = gelf_fsize (relocated, shdr->sh_type == SHT_REL ? ELF_T_REL : ELF_T_RELA,
++ 1, EV_CURRENT);
++ size_t nrels = shdr->sh_size / sh_entsize;
+ size_t complete = 0;
+ if (shdr->sh_type == SHT_REL)
+ for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
+@@ -580,7 +583,7 @@ relocate_section (Dwfl_Module *mod, Elf
+ nrels = next;
+ }
+
+- shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
++ shdr->sh_size = reldata->d_size = nrels * sh_entsize;
+ gelf_update_shdr (scn, shdr);
+ }
+
--- elfutils/libelf/ChangeLog
+++ elfutils/libelf/ChangeLog
@@ -663,10 +663,53 @@
@@ -865,7 +909,20 @@
#endif /* libelfP.h */
--- elfutils/src/ChangeLog
+++ elfutils/src/ChangeLog
-@@ -1710,6 +1710,16 @@
+@@ -228,6 +228,12 @@
+
+ * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
+
++2011-03-23 Petr Machata <pmachata@redhat.com>
++
++ * readelf.c (handle_dynamic, handle_relocs_rel)
++ (handle_relocs_rela, handle_versym, print_liblist):
++ Use gelf_fsize instead of relying on shdr->sh_entsize.
++
+ 2011-02-11 Roland McGrath <roland@redhat.com>
+
+ * elfcmp.c (verbose): New variable.
+@@ -1940,6 +1946,16 @@
object symbols or symbols with unknown type.
(check_rel): Likewise.
@@ -882,7 +939,7 @@
2005-06-08 Roland McGrath <roland@redhat.com>
* readelf.c (print_ops): Add consts.
-@@ -1755,6 +1765,19 @@
+@@ -1985,6 +2001,19 @@
* readelf.c (dwarf_tag_string): Add new tags.
@@ -948,7 +1005,7 @@
static void
check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
{
-@@ -632,7 +640,8 @@ section [%2d] '%s': symbol table cannot
+@@ -632,7 +640,8 @@ section [%2d] '%s': symbol table cannot
}
}
@@ -967,7 +1024,7 @@
{
sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
if (sym == NULL)
-@@ -690,7 +699,8 @@ section [%2d] '%s': symbol %zu: invalid
+@@ -690,7 +699,8 @@ section [%2d] '%s': symbol %zu: invalid
else
{
name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
@@ -1062,7 +1119,7 @@
{
GElf_Dyn dyn_mem;
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
-@@ -1879,6 +1899,8 @@ section [%2d] '%s': entry size does not
+@@ -1879,6 +1899,8 @@ section [%2d] '%s': entry size does not
idx, section_name (ebl, idx));
if (symshdr != NULL
@@ -1165,7 +1222,7 @@
idx, section_name (ebl, idx), (long int) shdr->sh_size,
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
return;
-@@ -2707,8 +2755,9 @@ section [%2d] '%s' refers in sh_link to
+@@ -2707,8 +2755,9 @@ section [%2d] '%s' refers in sh_link to
/* The number of elements in the version symbol table must be the
same as the number of symbols. */
@@ -1179,7 +1236,7 @@
idx, section_name (ebl, idx),
--- elfutils/src/readelf.c
+++ elfutils/src/readelf.c
-@@ -1178,6 +1178,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
+@@ -1191,6 +1191,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
GElf_Sym sym_mem;
@@ -1188,7 +1245,7 @@
printf ((grpref[0] & GRP_COMDAT)
? ngettext ("\
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
-@@ -1190,8 +1192,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
+@@ -1203,8 +1205,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
data->d_size / sizeof (Elf32_Word) - 1),
elf_ndxscn (scn),
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
@@ -1199,7 +1256,7 @@
?: gettext ("<INVALID SYMBOL>"),
data->d_size / sizeof (Elf32_Word) - 1);
-@@ -1342,7 +1344,8 @@ static void
+@@ -1355,10 +1357,12 @@ static void
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
{
int class = gelf_getclass (ebl->elf);
@@ -1209,10 +1266,16 @@
Elf_Data *data;
size_t cnt;
size_t shstrndx;
-@@ -1357,6 +1360,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
++ size_t sh_entsize;
+
+ /* Get the data of the section. */
+ data = elf_getdata (scn, NULL);
+@@ -1370,21 +1374,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
++ sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
++
+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
+ if (glink == NULL)
+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
@@ -1221,7 +1284,11 @@
printf (ngettext ("\
\nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
-@@ -1366,9 +1374,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
+ \nDynamic segment contains %lu entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+- shdr->sh_size / shdr->sh_entsize),
+- (unsigned long int) (shdr->sh_size / shdr->sh_entsize),
++ shdr->sh_size / sh_entsize),
++ (unsigned long int) (shdr->sh_size / sh_entsize),
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(int) shdr->sh_link,
@@ -1231,8 +1298,32 @@
+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
fputs_unlocked (gettext (" Type Value\n"), stdout);
- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
-@@ -1951,6 +1957,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
+- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ GElf_Dyn dynmem;
+ GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
+@@ -1533,7 +1542,8 @@ static void
+ handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
+ {
+ int class = gelf_getclass (ebl->elf);
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+
+ /* Get the data of the section. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+@@ -1719,7 +1729,8 @@ static void
+ handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
+ {
+ int class = gelf_getclass (ebl->elf);
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+
+ /* Get the data of the section. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+@@ -1966,6 +1977,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1246,7 +1337,7 @@
/* Now we can compute the number of entries in the section. */
unsigned int nsyms = data->d_size / (class == ELFCLASS32
? sizeof (Elf32_Sym)
-@@ -1961,15 +1974,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
+@@ -1976,15 +1994,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
nsyms),
(unsigned int) elf_ndxscn (scn),
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
@@ -1263,7 +1354,7 @@
fputs_unlocked (class == ELFCLASS32
? gettext ("\
-@@ -2205,7 +2215,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
+@@ -2220,7 +2235,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1278,7 +1369,7 @@
printf (ngettext ("\
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
-@@ -2216,9 +2232,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
+@@ -2231,9 +2252,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1289,7 +1380,7 @@
unsigned int offset = 0;
for (int cnt = shdr->sh_info; --cnt >= 0; )
-@@ -2271,8 +2285,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
+@@ -2286,8 +2305,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1305,7 +1396,7 @@
printf (ngettext ("\
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
-@@ -2284,9 +2304,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
+@@ -2299,9 +2324,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1316,13 +1407,14 @@
unsigned int offset = 0;
for (int cnt = shdr->sh_info; --cnt >= 0; )
-@@ -2548,8 +2566,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
+@@ -2563,25 +2586,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
filename = NULL;
}
+ GElf_Shdr glink_mem;
+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+ &glink_mem);
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT);
+ if (glink == NULL)
+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
+ elf_ndxscn (scn));
@@ -1332,7 +1424,13 @@
printf (ngettext ("\
\nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
"\
-@@ -2561,9 +2585,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
+ \nVersion symbols section [%2u] '%s' contains %d entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
+- shdr->sh_size / shdr->sh_entsize),
++ shdr->sh_size / sh_entsize),
+ (unsigned int) elf_ndxscn (scn),
+ elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
+- (int) (shdr->sh_size / shdr->sh_entsize),
++ (int) (shdr->sh_size / sh_entsize),
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1342,8 +1440,12 @@
+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
/* Now we can finally look at the actual contents of this section. */
- for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
-@@ -2615,7 +2637,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
+- for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (unsigned int cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ if (cnt % 2 == 0)
+ printf ("\n %4d:", cnt);
+@@ -2630,7 +2658,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
++counts[lengths[cnt]];
@@ -1362,7 +1464,7 @@
printf (ngettext ("\
\nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
-@@ -2628,9 +2660,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
+@@ -2643,9 +2681,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1373,7 +1475,17 @@
if (extrastr != NULL)
fputs (extrastr, stdout);
-@@ -4486,6 +4516,16 @@ print_debug_aranges_section (Dwfl_Module
+@@ -2905,7 +2941,8 @@ print_liblist (Ebl *ebl)
+
+ if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
+ {
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+ printf (ngettext ("\
+ \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
+ "\
+@@ -4646,6 +4683,16 @@ print_debug_aranges_section (Dwfl_Module
return;
}
@@ -1392,7 +1504,7 @@
"\
--- elfutils/src/strip.c
+++ elfutils/src/strip.c
-@@ -555,6 +555,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -572,6 +572,11 @@ handle_elf (int fd, Elf *elf, const char
goto fail_close;
}
@@ -1404,7 +1516,7 @@
/* Storage for section information. We leave room for two more
entries since we unconditionally create a section header string
table. Maybe some weird tool created an ELF file without one.
-@@ -576,7 +581,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -593,7 +598,7 @@ handle_elf (int fd, Elf *elf, const char
{
/* This should always be true (i.e., there should not be any
holes in the numbering). */
@@ -1413,7 +1525,7 @@
shdr_info[cnt].scn = scn;
-@@ -589,6 +594,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -606,6 +611,7 @@ handle_elf (int fd, Elf *elf, const char
shdr_info[cnt].shdr.sh_name);
if (shdr_info[cnt].name == NULL)
{
@@ -1421,7 +1533,7 @@
error (0, 0, gettext ("illformed file '%s'"), fname);
goto fail_close;
}
-@@ -598,6 +604,8 @@ handle_elf (int fd, Elf *elf, const char
+@@ -615,6 +621,8 @@ handle_elf (int fd, Elf *elf, const char
/* Remember the shdr.sh_link value. */
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
@@ -1430,7 +1542,7 @@
/* Sections in files other than relocatable object files which
are not loaded can be freely moved by us. In relocatable
-@@ -610,7 +618,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -627,7 +635,7 @@ handle_elf (int fd, Elf *elf, const char
appropriate reference. */
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
{
@@ -1439,7 +1551,7 @@
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
}
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
-@@ -627,7 +635,12 @@ handle_elf (int fd, Elf *elf, const char
+@@ -644,7 +652,12 @@ handle_elf (int fd, Elf *elf, const char
for (inner = 1;
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
++inner)
@@ -1452,7 +1564,7 @@
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
/* If the section group contains only one element and this
-@@ -638,7 +651,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
}
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
{
@@ -1461,7 +1573,7 @@
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
}
-@@ -646,7 +659,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -663,7 +676,7 @@ handle_elf (int fd, Elf *elf, const char
discarded right away. */
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
{
@@ -1470,7 +1582,7 @@
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
{
-@@ -722,11 +735,15 @@ handle_elf (int fd, Elf *elf, const char
+@@ -739,10 +752,14 @@ handle_elf (int fd, Elf *elf, const char
{
/* If a relocation section is marked as being removed make
sure the section it is relocating is removed, too. */
@@ -1478,17 +1590,17 @@
+ if (shdr_info[cnt].shdr.sh_type == SHT_REL
|| shdr_info[cnt].shdr.sh_type == SHT_RELA)
- && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
+- shdr_info[cnt].idx = 1;
+ {
+ if (shdr_info[cnt].shdr.sh_info >= shnum)
+ goto illformed;
+ else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
- shdr_info[cnt].idx = 1;
- }
-+ }
++ shdr_info[cnt].idx = 1;
++ }
- if (shdr_info[cnt].idx == 1)
- {
-@@ -753,7 +770,7 @@ handle_elf (int fd, Elf *elf, const char
+ /* If a group section is marked as being removed make
+ sure all the sections it contains are being removed, too. */
+@@ -786,7 +803,7 @@ handle_elf (int fd, Elf *elf, const char
if (shdr_info[cnt].symtab_idx != 0
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
{
@@ -1497,7 +1609,7 @@
shdr_info[shdr_info[cnt].symtab_idx].data
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
-@@ -793,6 +810,9 @@ handle_elf (int fd, Elf *elf, const char
+@@ -826,6 +843,9 @@ handle_elf (int fd, Elf *elf, const char
else if (scnidx == SHN_XINDEX)
scnidx = xndx;
@@ -1507,7 +1619,7 @@
if (shdr_info[scnidx].idx == 0)
/* This symbol table has a real symbol in
a discarded section. So preserve the
-@@ -823,12 +843,16 @@ handle_elf (int fd, Elf *elf, const char
+@@ -856,12 +876,16 @@ handle_elf (int fd, Elf *elf, const char
}
/* Handle references through sh_info. */
@@ -1526,7 +1638,7 @@
/* Mark the section as investigated. */
shdr_info[cnt].idx = 2;
-@@ -967,7 +991,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1002,7 +1026,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
elf_errmsg (-1));
@@ -1535,7 +1647,7 @@
/* Add this name to the section header string table. */
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
-@@ -1004,7 +1028,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1039,7 +1063,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0,
gettext ("while create section header section: %s"),
elf_errmsg (-1));
@@ -1544,7 +1656,7 @@
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
if (shdr_info[cnt].data == NULL)
-@@ -1060,7 +1084,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1095,7 +1119,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0,
gettext ("while create section header section: %s"),
elf_errmsg (-1));
@@ -1553,7 +1665,7 @@
/* Finalize the string table and fill in the correct indices in the
section headers. */
-@@ -1150,20 +1174,20 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1185,20 +1209,20 @@ handle_elf (int fd, Elf *elf, const char
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
NULL);
@@ -1577,7 +1689,7 @@
>= shdr_info[cnt].data->d_size / elsize);
}
-@@ -1218,7 +1242,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1253,7 +1277,7 @@ handle_elf (int fd, Elf *elf, const char
sec = shdr_info[sym->st_shndx].idx;
else
{
@@ -1586,7 +1698,7 @@
sec = shdr_info[xshndx].idx;
}
-@@ -1239,7 +1263,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1274,7 +1298,7 @@ handle_elf (int fd, Elf *elf, const char
nxshndx = sec;
}
@@ -1595,16 +1707,22 @@
if ((inner != destidx || nshndx != sym->st_shndx
|| (shndxdata != NULL && nxshndx != xshndx))
-@@ -1263,7 +1287,7 @@ handle_elf (int fd, Elf *elf, const char
- || shdr_info[cnt].debug_data == NULL)
- /* This is a section symbol for a section which has
- been removed. */
-- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
-+ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
+@@ -1301,9 +1325,11 @@ handle_elf (int fd, Elf *elf, const char
+ {
+ size_t sidx = (sym->st_shndx != SHN_XINDEX
+ ? sym->st_shndx : xshndx);
+- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
+- || (shdr_info[sidx].shdr.sh_type == SHT_GROUP
+- && shdr_info[sidx].shdr.sh_info == inner));
++ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
++ || ((shdr_info[sidx].shdr.sh_type
++ == SHT_GROUP)
++ && (shdr_info[sidx].shdr.sh_info
++ == inner)));
+ }
}
- if (destidx != inner)
-@@ -1450,11 +1474,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1491,11 +1517,11 @@ handle_elf (int fd, Elf *elf, const char
{
GElf_Sym sym_mem;
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
@@ -1618,16 +1736,18 @@
size_t hidx = elf_hash (name) % nbucket;
if (bucket[hidx] == 0)
-@@ -1473,7 +1497,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1514,8 +1540,8 @@ handle_elf (int fd, Elf *elf, const char
else
{
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
- assert (shdr_info[cnt].shdr.sh_entsize
+- == sizeof (Elf64_Xword));
+ elf_assert (shdr_info[cnt].shdr.sh_entsize
- == sizeof (Elf64_Xword));
++ == sizeof (Elf64_Xword));
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
-@@ -1504,11 +1528,11 @@ handle_elf (int fd, Elf *elf, const char
+
+@@ -1545,11 +1571,11 @@ handle_elf (int fd, Elf *elf, const char
{
GElf_Sym sym_mem;
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
diff --git a/elfutils.spec b/elfutils.spec
index 62c8597c..00116c12 100644
--- a/elfutils.spec
+++ b/elfutils.spec
@@ -1,6 +1,6 @@
Name: elfutils
Summary: A collection of utilities and DSOs to handle compiled objects
-Version: 0.152
+Version: 0.153
%global baserelease 1
URL: https://fedorahosted.org/elfutils/
%global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/
@@ -215,9 +215,12 @@ RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-Wall/}
# Some older glibc headers can run afoul of -Werror all by themselves.
# Disabling the fancy inlines avoids those problems.
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D__NO_INLINE__"
+COMPAT_CONFIG_FLAGS="--disable-werror"
+%else
+COMPAT_CONFIG_FLAGS=""
%endif
-%configure CFLAGS="$RPM_OPT_FLAGS -fexceptions" || {
+%configure $COMPAT_CONFIG_FLAGS CFLAGS="$RPM_OPT_FLAGS -fexceptions" || {
cat config.log
exit 2
}
@@ -315,6 +318,21 @@ rm -rf ${RPM_BUILD_ROOT}
%{_libdir}/libelf.a
%changelog
+* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> - 0.153-1
+- Update to 0.153
+ - New --disable-werror for portability.
+ - Support for .zdebug sections (#679777)
+ - type_units and DW_AT_GNU_odr_signature support (#679815)
+ - low level support DW_OP_GNU_entry_value and DW_TAG_GNU_call_site (#688090)
+ - FTBFS on rawhide with gcc 4.7 (#783506)
+ - Remove gcc-4.7 patch
+
+* Fri Jan 20 2012 Mark Wielaard <mjw@redhat.com> - 0.152-3
+- Fixes for gcc-4.7 based on upstream commit 32899a (#783506).
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.152-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
* Tue Feb 15 2011 Roland McGrath <roland@redhat.com> - 0.152-1
- Update to 0.152
- Various build and warning nits fixed for newest GCC and Autoconf.
diff --git a/elfutils/ChangeLog b/elfutils/ChangeLog
index 0319e7e6..5d755956 100644
--- a/elfutils/ChangeLog
+++ b/elfutils/ChangeLog
@@ -1,3 +1,25 @@
+2012-01-23 Mark Wielaard <mjw@redhat.com>
+
+ * configure.ac: Set version to 0.153, update copyright years.
+
+2012-01-20 Roland McGrath <roland@hack.frob.com>
+
+ * configure.ac: Handle --enable-deterministic-archives.
+
+2011-10-08 Roland McGrath <roland@hack.frob.com>
+
+ * configure.ac (eu_version): Use sed instead of ${x/y/z} syntax.
+ Use POSIX.2 $((...)) syntax instead of $[...].
+ Reported by Mike Frysinger <vapier@gentoo.org>.
+
+2011-10-08 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
+
+2011-10-02 Ulrich Drepper <drepper@gmail.com>
+
+ * configure.ac: Check for __cxa_demangle in libstdc++.
+
2011-02-08 Roland McGrath <roland@redhat.com>
* configure.ac (C99 check): Use AC_LANG_SOURCE.
diff --git a/elfutils/NEWS b/elfutils/NEWS
index 115261e7..aa660a85 100644
--- a/elfutils/NEWS
+++ b/elfutils/NEWS
@@ -1,3 +1,25 @@
+Version 0.153
+
+libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
+
+libdwfl: Speed up dwfl_module_addrsym.
+
+nm: Support C++ demangling.
+
+ar: Support D modifier for "deterministic output" with no uid/gid/mtime info.
+ The U modifier is the inverse.
+ elfutils can be configured with the --enable-deterministic-archives
+ option to make the D behavior the default when U is not specified.
+
+ranlib: Support -D and -U flags with same meaning.
+
+readelf: Improve output of -wline. Add support for printing SDT elf notes.
+ Add printing of .gdb_index section.
+ Support for typed DWARF stack, call_site and entry_value.
+
+strip: Add --reloc-debug-sections option.
+ Improved SHT_GROUP sections handling.
+
Version 0.152
Various build and warning nits fixed for newest GCC and Autoconf.
@@ -93,8 +115,8 @@ libdwfl: Support automatic decompression of files in XZ format,
Version 0.142:
libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias
- for elf_getshstrndx and deprecate original names. Sun screwed up
- their implementation and asked for a solution.
+ for elf_getshstrndx and deprecate original names. Sun screwed up
+ their implementation and asked for a solution.
libebl: Add support for STB_GNU_UNIQUE.
@@ -131,7 +153,7 @@ Version 0.139:
libcpu: Add Intel SSE4 disassembler support
readelf: Implement call frame information and exception handling dumping.
- Add -e option. Enable it implicitly for -a.
+ Add -e option. Enable it implicitly for -a.
elflint: Check PT_GNU_EH_FRAME program header entry.
diff --git a/elfutils/aclocal.m4 b/elfutils/aclocal.m4
index cc84be9e..94f714a3 100644
--- a/elfutils/aclocal.m4
+++ b/elfutils/aclocal.m4
@@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],,
-[m4_warning([this file was generated for autoconf 2.66.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
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'.])])
diff --git a/elfutils/backends/ChangeLog b/elfutils/backends/ChangeLog
index 7865338f..744d1d55 100644
--- a/elfutils/backends/ChangeLog
+++ b/elfutils/backends/ChangeLog
@@ -1,3 +1,13 @@
+2011-03-09 Mark Wielaard <mjw@redhat.com>
+
+ * alpha_init.c (alpha_init): Initialize check_st_other_bits hook.
+ * alpha_symbol.c (alpha_check_st_other_bits): New function.
+
+2011-03-09 Roland McGrath <roland@redhat.com>
+
+ * alpha_symbol.c (alpha_check_special_symbol): New function.
+ * alpha_init.c (alpha_init): Initialize hook.
+
2010-11-08 Roland McGrath <roland@redhat.com>
* i386_retval.c (loc_intreg): Typo fix.
diff --git a/elfutils/backends/alpha_init.c b/elfutils/backends/alpha_init.c
index 1ca99abc..30fe5c6c 100644
--- a/elfutils/backends/alpha_init.c
+++ b/elfutils/backends/alpha_init.c
@@ -1,5 +1,5 @@
/* Initialization of Alpha specific backend library.
- Copyright (C) 2002, 2005, 2006, 2007, 2008 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -56,6 +56,8 @@ alpha_init (elf, machine, eh, ehlen)
HOOK (eh, return_value_location);
HOOK (eh, machine_section_flag_check);
HOOK (eh, check_special_section);
+ HOOK (eh, check_special_symbol);
+ HOOK (eh, check_st_other_bits);
HOOK (eh, register_info);
HOOK (eh, core_note);
HOOK (eh, auxv_info);
diff --git a/elfutils/backends/alpha_symbol.c b/elfutils/backends/alpha_symbol.c
index aa45c61e..5d25d3e4 100644
--- a/elfutils/backends/alpha_symbol.c
+++ b/elfutils/backends/alpha_symbol.c
@@ -1,5 +1,5 @@
/* Alpha specific symbolic name handling.
- Copyright (C) 2002,2005,2007,2008 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -30,6 +30,7 @@
#include <elf.h>
#include <stddef.h>
+#include <string.h>
#define BACKEND alpha_
#include "libebl_CPU.h"
@@ -121,3 +122,32 @@ alpha_check_special_section (Ebl *ebl,
return false;
}
+
+/* Check whether given symbol's st_value and st_size are OK despite failing
+ normal checks. */
+bool
+alpha_check_special_symbol (Elf *elf __attribute__ ((unused)),
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
+ const GElf_Sym *sym __attribute__ ((unused)),
+ const char *name,
+ const GElf_Shdr *destshdr __attribute__ ((unused)))
+{
+ if (name == NULL)
+ return false;
+
+ if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
+ /* On Alpha any place in the section is valid. */
+ return true;
+
+ return false;
+}
+
+/* Check whether only valid bits are set on the st_other symbol flag.
+ Standard ST_VISIBILITY have already been masked off. */
+bool
+alpha_check_st_other_bits (unsigned char st_other)
+{
+ return ((((st_other & STO_ALPHA_STD_GPLOAD) == STO_ALPHA_NOPV)
+ || ((st_other & STO_ALPHA_STD_GPLOAD) == STO_ALPHA_STD_GPLOAD))
+ && (st_other &~ STO_ALPHA_STD_GPLOAD) == 0);
+}
diff --git a/elfutils/config.h.in b/elfutils/config.h.in
index a63f1ae3..b44f89d0 100644
--- a/elfutils/config.h.in
+++ b/elfutils/config.h.in
@@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* Should ar and ranlib use -D behavior by default? */
+#undef DEFAULT_AR_DETERMINISTIC
+
/* $libdir subdirectory containing libebl modules. */
#undef LIBEBL_SUBDIR
@@ -33,6 +36,9 @@
/* Support bzip2 decompression via -lbz2. */
#undef USE_BZLIB
+/* Defined if demangling is enabled */
+#undef USE_DEMANGLE
+
/* Defined if libraries should be thread-safe. */
#undef USE_LOCKS
diff --git a/elfutils/config/ChangeLog b/elfutils/config/ChangeLog
index a9992c8d..849d1b35 100644
--- a/elfutils/config/ChangeLog
+++ b/elfutils/config/ChangeLog
@@ -1,3 +1,11 @@
+2012-02-23 Mark Wielaard <mjw@redhat.com>
+
+ * config/elfutils.spec.in: Update for 0.153.
+
+2011-10-31 Mark Wielaard <mjw@redhat.com>
+
+ * known-dwarf.awk: Use gawk.
+
2010-07-02 Ulrich Drepper <drepper@redhat.com>
* elfutils.spec.in: Add more BuildRequires.
diff --git a/elfutils/config/elfutils.spec.in b/elfutils/config/elfutils.spec.in
index 78a6e018..2156d270 100644
--- a/elfutils/config/elfutils.spec.in
+++ b/elfutils/config/elfutils.spec.in
@@ -9,6 +9,7 @@ Source: elfutils-%{version}.tar.bz2
Obsoletes: libelf libelf-devel
Requires: elfutils-libelf = %{version}-%{release}
Requires: glibc >= 2.7
+Requires: libstdc++
# ExcludeArch: xxx
@@ -23,6 +24,7 @@ BuildRequires: gettext
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: xz-devel
+BuildRequires: gcc-c++
%define _gnu %{nil}
%define _programprefix eu-
@@ -188,12 +190,27 @@ rm -rf ${RPM_BUILD_ROOT}
%{_libdir}/libelf.a
%changelog
+* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> 0.153-1
+- libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
+- libdwfl: Speed up dwfl_module_addrsym.
+- nm: Support C++ demangling.
+- ar: Support D modifier for "deterministic output" with no
+ uid/gid/mtime info. The U modifier is the inverse. elfutils
+ can be configured with the --enable-deterministic-archives option
+ to make the D behavior the default when U is not specified.
+- ranlib: Support -D and -U flags with same meaning.
+- readelf: Improve output of -wline. Add support for printing SDT elf
+ notes. Add printing of .gdb_index section. Support for
+ typed DWARF stack, call_site and entry_value.
+- strip: Add --reloc-debug-sections option. Improved SHT_GROUP
+ sections handling.
+
* Tue Feb 15 2011 <drepper@gmail.com> 0.152-1
- Various build and warning nits fixed for newest GCC and Autoconf.
-- libdwfl: Yet another prelink-related fix for another regression.
- Look for Linux kernel images in files named with compression
+- libdwfl: Yet another prelink-related fix for another regression.
+ Look for Linux kernel images in files named with compression
suffixes.
-- elfcmp: New flag --ignore-build-id to ignore differing build ID
+- elfcmp: New flag --ignore-build-id to ignore differing build ID
bits. New flag -l/--verbose to print all differences.
* Wed Jan 12 2011 <drepper@gmail.com> 0.151-1
@@ -204,23 +221,23 @@ rm -rf ${RPM_BUILD_ROOT}
- libdw: Fix for handling huge .debug_aranges section.
- libdwfl: Fix for handling prelinked DSO with separate debug file.
- findtextrel: Fix diagnostics to work with usual section ordering.
-- libebl: i386 backend fix for multi-register integer return value
+- libebl: i386 backend fix for multi-register integer return value
location.
* Mon Sep 13 2010 <drepper@redhat.com> 0.149-1
-- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new
+- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new
function dwarf_getlocation_implicit_pointer.
- libdwfl: New function dwfl_dwarf_line.
-- addr2line: New flag -F/--flags to print more DWARF line information
+- addr2line: New flag -F/--flags to print more DWARF line information
details.
- strip: -g recognizes .gdb_index as a debugging section.
* Mon Jun 28 2010 <drepper@redhat.com> 0.148-1
-- libdw: Accept DWARF 4 format: new functions dwarf_next_unit,
- dwarf_offdie_types. New functions dwarf_lineisa,
+- libdw: Accept DWARF 4 format: new functions dwarf_next_unit,
+ dwarf_offdie_types. New functions dwarf_lineisa,
dwarf_linediscriminator, dwarf_lineop_index.
-- libdwfl: Fixes in core-file handling, support cores from PIEs.
- When working from build IDs, don't open a named file that
+- libdwfl: Fixes in core-file handling, support cores from PIEs.
+ When working from build IDs, don't open a named file that
mismatches.
- readelf: Handle DWARF 4 formats.
@@ -238,26 +255,26 @@ rm -rf ${RPM_BUILD_ROOT}
- Fix build with most recent glibc headers.
- libelf: More robust to bogus section headers.
- libdw: Fix CFI decoding.
-- libdwfl: Fix address bias returned by CFI accessors. Fix core
+- libdwfl: Fix address bias returned by CFI accessors. Fix core
file module layout identification.
- readelf: Fix CFI decoding.
* Thu Jan 14 2010 <drepper@redhat.com> 0.144-1
-- libelf: New function elf_getphdrnum. Now support using more than
+- libelf: New function elf_getphdrnum. Now support using more than
65536 program headers in a file.
-- libdw: New function dwarf_aggregate_size for computing (constant)
- type sizes, including array_type cases with nontrivial
+- libdw: New function dwarf_aggregate_size for computing (constant)
+ type sizes, including array_type cases with nontrivial
calculation.
-- readelf: Don't give errors for missing info under -a.
+- readelf: Don't give errors for missing info under -a.
Handle Linux "VMCOREINFO" notes under -n.
* Mon Sep 21 2009 <drepper@redhat.com> 0.143-1
-- libdw: Various convenience functions for individual attributes now
- use dwarf_attr_integrate to look up indirect inherited
- attributes. Location expression handling now supports
+- libdw: Various convenience functions for individual attributes now
+ use dwarf_attr_integrate to look up indirect inherited
+ attributes. Location expression handling now supports
DW_OP_implicit_value.
-- libdwfl: Support automatic decompression of files in XZ format,
- and of Linux kernel images made with bzip2 or LZMA (as well
+- libdwfl: Support automatic decompression of files in XZ format,
+ and of Linux kernel images made with bzip2 or LZMA (as well
as gzip).
* Mon Jun 29 2009 <drepper@redhat.com> 0.142-1
@@ -269,25 +286,25 @@ rm -rf ${RPM_BUILD_ROOT}
- readelf: Add -N option, speeds up DWARF printing without address->name lookups.
- libdw: Add support for decoding DWARF CFI into location description form.
Handle some new DWARF 3 expression operations previously omitted.
- Basic handling of some new encodings slated for DWARF
+ Basic handling of some new encodings slated for DWARF
* Thu Apr 23 2009 Ulrich Drepper <drepper@redhat.com> 0.141-1
- libebl: sparc backend fixes; some more arm backend support
-- libdwfl: fix dwfl_module_build_id for prelinked DSO case;
- fixes in core file support; dwfl_module_getsym interface
+- libdwfl: fix dwfl_module_build_id for prelinked DSO case;
+ fixes in core file support; dwfl_module_getsym interface
improved for non-address symbols
- strip: fix infinite loop on strange inputs with -f
-- addr2line: take -j/--section=NAME option for binutils compatibility
+- addr2line: take -j/--section=NAME option for binutils compatibility
(same effect as '(NAME)0x123' syntax already supported)
* Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1
- libelf: Fix regression in creation of section header
-- libdwfl: Less strict behavior if DWARF reader ist just used to
+- libdwfl: Less strict behavior if DWARF reader ist just used to
display data
* Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1
- libcpu: Add Intel SSE4 disassembler support
-- readelf: Implement call frame information and exception handling
+- readelf: Implement call frame information and exception handling
dumping. Add -e option. Enable it implicitly for -a.
- elflint: Check PT_GNU_EH_FRAME program header entry.
- libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
diff --git a/elfutils/config/known-dwarf.awk b/elfutils/config/known-dwarf.awk
index 3089dd27..bd7f0261 100644
--- a/elfutils/config/known-dwarf.awk
+++ b/elfutils/config/known-dwarf.awk
@@ -1,4 +1,4 @@
-#!/bin/awk -f
+#!/bin/gawk -f
$1 == "enum" { set = ""; next }
diff --git a/elfutils/configure b/elfutils/configure
index 3a27a2ca..616d1615 100755
--- a/elfutils/configure
+++ b/elfutils/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.66 for Red Hat elfutils 0.152.
+# Generated by GNU Autoconf 2.68 for Red Hat elfutils 0.153.
#
# Report bugs to <http://bugzilla.redhat.com/bugzilla/>.
#
@@ -13,7 +13,7 @@
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
-# Copyright (C) 1996-2010 Red Hat, Inc.
+# Copyright (C) 1996-2012 Red Hat, Inc.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
@@ -93,6 +93,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
@@ -217,11 +218,18 @@ IFS=$as_save_IFS
# 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
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ 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+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -553,8 +561,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Red Hat elfutils'
PACKAGE_TARNAME='elfutils'
-PACKAGE_VERSION='0.152'
-PACKAGE_STRING='Red Hat elfutils 0.152'
+PACKAGE_VERSION='0.153'
+PACKAGE_STRING='Red Hat elfutils 0.153'
PACKAGE_BUGREPORT='http://bugzilla.redhat.com/bugzilla/'
PACKAGE_URL=''
@@ -578,6 +586,8 @@ STANDALONE_FALSE
STANDALONE_TRUE
HAVE_LIBASM_FALSE
HAVE_LIBASM_TRUE
+DEMANGLE_FALSE
+DEMANGLE_TRUE
zip_LIBS
LZMA_FALSE
LZMA_TRUE
@@ -703,6 +713,7 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_maintainer_mode
+enable_deterministic_archives
enable_thread_safety
enable_dependency_tracking
enable_largefile
@@ -790,8 +801,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.
@@ -1131,7 +1143,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
@@ -1269,7 +1281,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 Red Hat elfutils 0.152 to adapt to many kinds of systems.
+\`configure' configures Red Hat elfutils 0.153 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1339,7 +1351,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Red Hat elfutils 0.152:";;
+ short | recursive ) echo "Configuration of Red Hat elfutils 0.153:";;
esac
cat <<\_ACEOF
@@ -1349,6 +1361,8 @@ Optional Features:
--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-deterministic-archives
+ ar and ranlib default to -D behavior
--enable-thread-safety enable thread safety of libraries
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
@@ -1379,8 +1393,9 @@ Some influential environment variables:
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
- 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.
@@ -1451,14 +1466,14 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Red Hat elfutils configure 0.152
-generated by GNU Autoconf 2.66
+Red Hat elfutils configure 0.153
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (C) 1996-2010 Red Hat, Inc.
+Copyright (C) 1996-2012 Red Hat, Inc.
_ACEOF
exit
fi
@@ -1500,7 +1515,7 @@ 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;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1546,7 +1561,7 @@ 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;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -1554,8 +1569,8 @@ 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 Red Hat elfutils $as_me 0.152, which was
-generated by GNU Autoconf 2.66. Invocation command line was
+It was created by Red Hat elfutils $as_me 0.153, which was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -1956,7 +1971,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
@@ -2133,7 +2148,7 @@ if test "$cross_compiling" != no; 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
@@ -2173,7 +2188,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
@@ -2226,7 +2241,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ $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
@@ -2277,7 +2292,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
@@ -2317,7 +2332,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 eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -2375,7 +2390,7 @@ fi
# Define the identity of the package.
PACKAGE='elfutils'
- VERSION='0.152'
+ VERSION='0.153'
cat >>confdefs.h <<_ACEOF
@@ -2467,7 +2482,7 @@ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
{ $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
@@ -2501,7 +2516,7 @@ 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 :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
@@ -2533,9 +2548,27 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+# Check whether --enable-deterministic-archives was given.
+if test "${enable_deterministic_archives+set}" = set; then :
+ enableval=$enable_deterministic_archives;
+if test "${enableval}" = no; then
+ default_ar_deterministic=false
+else
+ default_ar_deterministic=true
+fi
+else
+ default_ar_deterministic=false
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_AR_DETERMINISTIC $default_ar_deterministic
+_ACEOF
+
+
# Check whether --enable-thread-safety was given.
if test "${enable_thread_safety+set}" = set; then :
- enableval=$enable_thread_safety; use_tls=locks
+ enableval=$enable_thread_safety; use_locks=$enableval
else
use_locks=no
fi
@@ -2565,7 +2598,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
@@ -2605,7 +2638,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
@@ -2658,7 +2691,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
@@ -2698,7 +2731,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
@@ -2757,7 +2790,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
@@ -2801,7 +2834,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
@@ -3084,7 +3117,7 @@ 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
@@ -3135,7 +3168,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
@@ -3172,7 +3205,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
@@ -3250,7 +3283,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
@@ -3411,7 +3444,7 @@ 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
@@ -3539,7 +3572,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
@@ -3579,7 +3612,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
@@ -3632,7 +3665,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
@@ -3676,7 +3709,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
@@ -3746,7 +3779,7 @@ $as_echo "$ac_try_echo"; } >&5
test $ac_status = 0; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
$as_echo_n "checking lex output file root... " >&6; }
-if test "${ac_cv_prog_lex_root+set}" = set; then :
+if ${ac_cv_prog_lex_root+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -3765,7 +3798,7 @@ LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
if test -z "${LEXLIB+set}"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
$as_echo_n "checking lex library... " >&6; }
-if test "${ac_cv_lib_lex+set}" = set; then :
+if ${ac_cv_lib_lex+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -3795,7 +3828,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
$as_echo_n "checking whether yytext is a pointer... " >&6; }
-if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then :
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
$as_echo_n "(cached) " >&6
else
# POSIX says lex can declare yytext either as a pointer or an array; the
@@ -3806,7 +3839,8 @@ ac_save_LIBS=$LIBS
LIBS="$LEXLIB $ac_save_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#define YYTEXT_POINTER 1
+
+ #define YYTEXT_POINTER 1
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -3833,7 +3867,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc with C99 support" >&5
$as_echo_n "checking for gcc with C99 support... " >&6; }
-if test "${ac_cv_c99+set}" = set; then :
+if ${ac_cv_c99+:} false; then :
$as_echo_n "(cached) " >&6
else
old_CFLAGS="$CFLAGS"
@@ -3858,7 +3892,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
$as_echo_n "checking for __thread support... " >&6; }
-if test "${ac_cv_tls+set}" = set; then :
+if ${ac_cv_tls+:} false; then :
$as_echo_n "(cached) " >&6
else
# Use the same flags that we use for our DSOs, so the test is representative.
@@ -3904,7 +3938,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
@@ -3955,7 +3989,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; }
{ $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
@@ -4024,7 +4058,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
@@ -4177,20 +4211,23 @@ else
fi
-use_debugpred=0
# Check whether --enable-debugpred was given.
if test "${enable_debugpred+set}" = set; then :
- enableval=$enable_debugpred; use_debugpred=1
+ enableval=$enable_debugpred; use_debugpred=$enableval
else
- use_debugpred=0
+ use_debugpred=no
fi
+case $use_debugpred in
+ yes) use_debugpred=1 ;;
+ *) use_debugpred=0 ;;
+esac
DEBUGPRED=$use_debugpred
# Check whether --enable-gprof was given.
if test "${enable_gprof+set}" = set; then :
- enableval=$enable_gprof; use_gprof=yes
+ enableval=$enable_gprof; use_gprof=$enableval
else
use_gprof=no
fi
@@ -4211,7 +4248,7 @@ fi
# Enable gcov suport.
# Check whether --enable-gcov was given.
if test "${enable_gcov+set}" = set; then :
- enableval=$enable_gcov; use_gcov=yes
+ enableval=$enable_gcov; use_gcov=$enableval
else
use_gcov=no
fi
@@ -4240,7 +4277,7 @@ fi
# Check whether --enable-tests-rpath was given.
if test "${enable_tests_rpath+set}" = set; then :
- enableval=$enable_tests_rpath; tests_use_rpath=yes
+ enableval=$enable_tests_rpath; tests_use_rpath=$enableval
else
tests_use_rpath=no
fi
@@ -4280,7 +4317,7 @@ fi
if test $with_zlib != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gzdirect" >&5
$as_echo_n "checking for library containing gzdirect... " >&6; }
-if test "${ac_cv_search_gzdirect+set}" = set; then :
+if ${ac_cv_search_gzdirect+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4314,11 +4351,11 @@ for ac_lib in '' z; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_gzdirect+set}" = set; then :
+ if ${ac_cv_search_gzdirect+:} false; then :
break
fi
done
-if test "${ac_cv_search_gzdirect+set}" = set; then :
+if ${ac_cv_search_gzdirect+:} false; then :
else
ac_cv_search_gzdirect=no
@@ -4362,7 +4399,7 @@ fi
if test $with_bzlib != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing BZ2_bzdopen" >&5
$as_echo_n "checking for library containing BZ2_bzdopen... " >&6; }
-if test "${ac_cv_search_BZ2_bzdopen+set}" = set; then :
+if ${ac_cv_search_BZ2_bzdopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4396,11 +4433,11 @@ for ac_lib in '' bz2; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_BZ2_bzdopen+set}" = set; then :
+ if ${ac_cv_search_BZ2_bzdopen+:} false; then :
break
fi
done
-if test "${ac_cv_search_BZ2_bzdopen+set}" = set; then :
+if ${ac_cv_search_BZ2_bzdopen+:} false; then :
else
ac_cv_search_BZ2_bzdopen=no
@@ -4444,7 +4481,7 @@ fi
if test $with_lzma != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing lzma_auto_decoder" >&5
$as_echo_n "checking for library containing lzma_auto_decoder... " >&6; }
-if test "${ac_cv_search_lzma_auto_decoder+set}" = set; then :
+if ${ac_cv_search_lzma_auto_decoder+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -4478,11 +4515,11 @@ for ac_lib in '' lzma; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_lzma_auto_decoder+set}" = set; then :
+ if ${ac_cv_search_lzma_auto_decoder+:} false; then :
break
fi
done
-if test "${ac_cv_search_lzma_auto_decoder+set}" = set; then :
+if ${ac_cv_search_lzma_auto_decoder+:} false; then :
else
ac_cv_search_lzma_auto_decoder=no
@@ -4519,6 +4556,57 @@ zip_LIBS="$LIBS"
LIBS="$save_LIBS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __cxa_demangle in -lstdc++" >&5
+$as_echo_n "checking for __cxa_demangle in -lstdc++... " >&6; }
+if ${ac_cv_lib_stdcpp___cxa_demangle+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lstdc++ $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 __cxa_demangle ();
+int
+main ()
+{
+return __cxa_demangle ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_stdcpp___cxa_demangle=yes
+else
+ ac_cv_lib_stdcpp___cxa_demangle=no
+fi
+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:${as_lineno-$LINENO}: result: $ac_cv_lib_stdcpp___cxa_demangle" >&5
+$as_echo "$ac_cv_lib_stdcpp___cxa_demangle" >&6; }
+if test "x$ac_cv_lib_stdcpp___cxa_demangle" = xyes; then :
+
+$as_echo "#define USE_DEMANGLE 1" >>confdefs.h
+
+fi
+
+ if test "$ac_cv_lib_stdcpp___cxa_demangle" = yes; then
+ DEMANGLE_TRUE=
+ DEMANGLE_FALSE='#'
+else
+ DEMANGLE_TRUE='#'
+ DEMANGLE_FALSE=
+fi
+
+
ac_config_files="$ac_config_files lib/Makefile"
@@ -4622,7 +4710,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
@@ -4663,7 +4751,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
@@ -4745,7 +4833,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
@@ -4823,7 +4911,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
@@ -4878,7 +4966,7 @@ ac_config_files="$ac_config_files version.h:config/version.h.in"
# 1.234<whatever> -> 1234<whatever>
case "$PACKAGE_VERSION" in
-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
+[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
*) as_fn_error $? "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
esac
case "$eu_version" in
@@ -4907,7 +4995,7 @@ case "$eu_version" in
esac
# Round up to the next release API (x.y) version.
-eu_version=$[($eu_version + 999) / 1000]
+eu_version=$(( (eu_version + 999) / 1000 ))
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -4973,10 +5061,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
: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;}
@@ -5071,6 +5170,10 @@ if test -z "${LZMA_TRUE}" && test -z "${LZMA_FALSE}"; then
as_fn_error $? "conditional \"LZMA\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${DEMANGLE_TRUE}" && test -z "${DEMANGLE_FALSE}"; then
+ as_fn_error $? "conditional \"DEMANGLE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_LIBASM_TRUE}" && test -z "${HAVE_LIBASM_FALSE}"; then
as_fn_error $? "conditional \"HAVE_LIBASM\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -5080,7 +5183,7 @@ if test -z "${STANDALONE_TRUE}" && test -z "${STANDALONE_FALSE}"; then
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"
@@ -5181,6 +5284,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
@@ -5487,8 +5591,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Red Hat elfutils $as_me 0.152, which was
-generated by GNU Autoconf 2.66. Invocation command line was
+This file was extended by Red Hat elfutils $as_me 0.153, which was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -5553,8 +5657,8 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Red Hat elfutils config.status 0.152
-configured by $0, generated by GNU Autoconf 2.66,
+Red Hat elfutils config.status 0.153
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -5575,11 +5679,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
@@ -5601,6 +5710,7 @@ do
$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;;
@@ -5726,9 +5836,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
}
@@ -5736,12 +5847,13 @@ $debug ||
{
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
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -5763,7 +5875,7 @@ else
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -5791,7 +5903,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
@@ -5839,7 +5951,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 = ""
@@ -5871,7 +5983,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
@@ -5905,7 +6017,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
@@ -5917,8 +6029,8 @@ _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
@@ -6038,7 +6150,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 `:'.
@@ -6073,7 +6185,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
@@ -6210,21 +6322,22 @@ 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
$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;}
- 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
;;
@@ -6235,20 +6348,20 @@ which seems to be undefined. Please make sure it is defined" >&2;}
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
+ && 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" "$tmp/config.h" >/dev/null 2>&1; then
+ 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" \
+ 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" \
+ && 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.
diff --git a/elfutils/configure.ac b/elfutils/configure.ac
index b68f543f..2e36e7c6 100644
--- a/elfutils/configure.ac
+++ b/elfutils/configure.ac
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
dnl Configure input file for elfutils. -*-autoconf-*-
dnl
-dnl Copyright (C) 1996-2011 Red Hat, Inc.
+dnl Copyright (C) 1996-2012 Red Hat, Inc.
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
@@ -16,12 +16,12 @@ 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 Foundation,
dnl Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
dnl
-AC_INIT([Red Hat elfutils],[0.152],[http://bugzilla.redhat.com/bugzilla/],[elfutils])
+AC_INIT([Red Hat elfutils],[0.153],[http://bugzilla.redhat.com/bugzilla/],[elfutils])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_FILES([config/Makefile])
-AC_COPYRIGHT([Copyright (C) 1996-2010 Red Hat, Inc.])
+AC_COPYRIGHT([Copyright (C) 1996-2012 Red Hat, Inc.])
AC_PREREQ(2.63) dnl Minimum Autoconf version required.
dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
@@ -47,9 +47,20 @@ AC_CONFIG_FILES([elfutils.spec:config/elfutils.spec.in])
AC_CANONICAL_HOST
+AC_ARG_ENABLE(deterministic-archives,
+[AS_HELP_STRING([--enable-deterministic-archives],
+ [ar and ranlib default to -D behavior])], [
+if test "${enableval}" = no; then
+ default_ar_deterministic=false
+else
+ default_ar_deterministic=true
+fi], [default_ar_deterministic=false])
+AC_DEFINE_UNQUOTED(DEFAULT_AR_DETERMINISTIC, $default_ar_deterministic,
+ [Should ar and ranlib use -D behavior by default?])
+
AC_ARG_ENABLE([thread-safety],
AS_HELP_STRING([--enable-thread-safety], [enable thread safety of libraries]),
-use_tls=locks, use_locks=no)
+use_locks=$enableval, use_locks=no)
AM_CONDITIONAL(USE_LOCKS, test "$use_locks" = yes)
AS_IF([test "$use_locks" = yes], [AC_DEFINE(USE_LOCKS)])
@@ -143,15 +154,18 @@ fi
AM_CONDITIONAL(MUDFLAP, test "$use_mudflap" = yes)
dnl enable debugging of branch prediction.
-use_debugpred=0
AC_ARG_ENABLE([debugpred],
AS_HELP_STRING([--enable-debugpred],[build binaries with support to debug branch prediction]),
-[use_debugpred=1], [use_debugpred=0])
+[use_debugpred=$enableval], [use_debugpred=no])
+case $use_debugpred in
+ yes) use_debugpred=1 ;;
+ *) use_debugpred=0 ;;
+esac
AC_SUBST([DEBUGPRED], $use_debugpred)
dnl Enable gprof suport.
AC_ARG_ENABLE([gprof],
-AS_HELP_STRING([--enable-gprof],[build binaries with gprof support]), [use_gprof=yes], [use_gprof=no])
+AS_HELP_STRING([--enable-gprof],[build binaries with gprof support]), [use_gprof=$enableval], [use_gprof=no])
if test "$use_gprof" = yes; then
CFLAGS="$CFLAGS -pg"
LDFLAGS="$LDFLAGS -pg"
@@ -160,7 +174,7 @@ AM_CONDITIONAL(GPROF, test "$use_gprof" = yes)
# Enable gcov suport.
AC_ARG_ENABLE([gcov],
-AS_HELP_STRING([--enable-gcov],[build binaries with gcov support]), [use_gcov=yes], [use_gcov=no])
+AS_HELP_STRING([--enable-gcov],[build binaries with gcov support]), [use_gcov=$enableval], [use_gcov=no])
if test "$use_gcov" = yes; then
CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
LDFLAGS="$LDFLAGS -fprofile-arcs"
@@ -172,7 +186,7 @@ test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
AC_ARG_ENABLE([tests-rpath],
AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
- [tests_use_rpath=yes], [tests_use_rpath=no])
+ [tests_use_rpath=$enableval], [tests_use_rpath=no])
AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes)
LIBEBL_SUBDIR="$PACKAGE"
@@ -195,6 +209,10 @@ zip_LIBS="$LIBS"
LIBS="$save_LIBS"
AC_SUBST([zip_LIBS])
+AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
+AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
+AM_CONDITIONAL(DEMANGLE, test "$ac_cv_lib_stdcpp___cxa_demangle" = yes)
+
dnl The directories with content.
dnl Documentation.
@@ -248,7 +266,7 @@ AC_SUBST([eu_version])
# 1.234<whatever> -> 1234<whatever>
case "$PACKAGE_VERSION" in
-[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;;
+[[0-9]].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;;
esac
case "$eu_version" in
@@ -277,6 +295,6 @@ case "$eu_version" in
esac
# Round up to the next release API (x.y) version.
-[eu_version=$[($eu_version + 999) / 1000]]
+eu_version=$(( (eu_version + 999) / 1000 ))
AC_OUTPUT
diff --git a/elfutils/elfutils.spec b/elfutils/elfutils.spec
index e4f18b10..29462ff1 100644
--- a/elfutils/elfutils.spec
+++ b/elfutils/elfutils.spec
@@ -1,7 +1,7 @@
# -*- rpm-spec-*-
Summary: A collection of utilities and DSOs to handle compiled objects
Name: elfutils
-Version: 0.152
+Version: 0.153
Release: 1
License: GPLv2 with exceptions
Group: Development/Tools
@@ -9,6 +9,7 @@ Source: elfutils-%{version}.tar.bz2
Obsoletes: libelf libelf-devel
Requires: elfutils-libelf = %{version}-%{release}
Requires: glibc >= 2.7
+Requires: libstdc++
# ExcludeArch: xxx
@@ -23,6 +24,7 @@ BuildRequires: gettext
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: xz-devel
+BuildRequires: gcc-c++
%define _gnu %{nil}
%define _programprefix eu-
@@ -188,12 +190,27 @@ rm -rf ${RPM_BUILD_ROOT}
%{_libdir}/libelf.a
%changelog
+* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> 0.153-1
+- libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
+- libdwfl: Speed up dwfl_module_addrsym.
+- nm: Support C++ demangling.
+- ar: Support D modifier for "deterministic output" with no
+ uid/gid/mtime info. The U modifier is the inverse. elfutils
+ can be configured with the --enable-deterministic-archives option
+ to make the D behavior the default when U is not specified.
+- ranlib: Support -D and -U flags with same meaning.
+- readelf: Improve output of -wline. Add support for printing SDT elf
+ notes. Add printing of .gdb_index section. Support for
+ typed DWARF stack, call_site and entry_value.
+- strip: Add --reloc-debug-sections option. Improved SHT_GROUP
+ sections handling.
+
* Tue Feb 15 2011 <drepper@gmail.com> 0.152-1
- Various build and warning nits fixed for newest GCC and Autoconf.
-- libdwfl: Yet another prelink-related fix for another regression.
- Look for Linux kernel images in files named with compression
+- libdwfl: Yet another prelink-related fix for another regression.
+ Look for Linux kernel images in files named with compression
suffixes.
-- elfcmp: New flag --ignore-build-id to ignore differing build ID
+- elfcmp: New flag --ignore-build-id to ignore differing build ID
bits. New flag -l/--verbose to print all differences.
* Wed Jan 12 2011 <drepper@gmail.com> 0.151-1
@@ -204,23 +221,23 @@ rm -rf ${RPM_BUILD_ROOT}
- libdw: Fix for handling huge .debug_aranges section.
- libdwfl: Fix for handling prelinked DSO with separate debug file.
- findtextrel: Fix diagnostics to work with usual section ordering.
-- libebl: i386 backend fix for multi-register integer return value
+- libebl: i386 backend fix for multi-register integer return value
location.
* Mon Sep 13 2010 <drepper@redhat.com> 0.149-1
-- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new
+- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new
function dwarf_getlocation_implicit_pointer.
- libdwfl: New function dwfl_dwarf_line.
-- addr2line: New flag -F/--flags to print more DWARF line information
+- addr2line: New flag -F/--flags to print more DWARF line information
details.
- strip: -g recognizes .gdb_index as a debugging section.
* Mon Jun 28 2010 <drepper@redhat.com> 0.148-1
-- libdw: Accept DWARF 4 format: new functions dwarf_next_unit,
- dwarf_offdie_types. New functions dwarf_lineisa,
+- libdw: Accept DWARF 4 format: new functions dwarf_next_unit,
+ dwarf_offdie_types. New functions dwarf_lineisa,
dwarf_linediscriminator, dwarf_lineop_index.
-- libdwfl: Fixes in core-file handling, support cores from PIEs.
- When working from build IDs, don't open a named file that
+- libdwfl: Fixes in core-file handling, support cores from PIEs.
+ When working from build IDs, don't open a named file that
mismatches.
- readelf: Handle DWARF 4 formats.
@@ -238,26 +255,26 @@ rm -rf ${RPM_BUILD_ROOT}
- Fix build with most recent glibc headers.
- libelf: More robust to bogus section headers.
- libdw: Fix CFI decoding.
-- libdwfl: Fix address bias returned by CFI accessors. Fix core
+- libdwfl: Fix address bias returned by CFI accessors. Fix core
file module layout identification.
- readelf: Fix CFI decoding.
* Thu Jan 14 2010 <drepper@redhat.com> 0.144-1
-- libelf: New function elf_getphdrnum. Now support using more than
+- libelf: New function elf_getphdrnum. Now support using more than
65536 program headers in a file.
-- libdw: New function dwarf_aggregate_size for computing (constant)
- type sizes, including array_type cases with nontrivial
+- libdw: New function dwarf_aggregate_size for computing (constant)
+ type sizes, including array_type cases with nontrivial
calculation.
-- readelf: Don't give errors for missing info under -a.
+- readelf: Don't give errors for missing info under -a.
Handle Linux "VMCOREINFO" notes under -n.
* Mon Sep 21 2009 <drepper@redhat.com> 0.143-1
-- libdw: Various convenience functions for individual attributes now
- use dwarf_attr_integrate to look up indirect inherited
- attributes. Location expression handling now supports
+- libdw: Various convenience functions for individual attributes now
+ use dwarf_attr_integrate to look up indirect inherited
+ attributes. Location expression handling now supports
DW_OP_implicit_value.
-- libdwfl: Support automatic decompression of files in XZ format,
- and of Linux kernel images made with bzip2 or LZMA (as well
+- libdwfl: Support automatic decompression of files in XZ format,
+ and of Linux kernel images made with bzip2 or LZMA (as well
as gzip).
* Mon Jun 29 2009 <drepper@redhat.com> 0.142-1
@@ -269,25 +286,25 @@ rm -rf ${RPM_BUILD_ROOT}
- readelf: Add -N option, speeds up DWARF printing without address->name lookups.
- libdw: Add support for decoding DWARF CFI into location description form.
Handle some new DWARF 3 expression operations previously omitted.
- Basic handling of some new encodings slated for DWARF
+ Basic handling of some new encodings slated for DWARF
* Thu Apr 23 2009 Ulrich Drepper <drepper@redhat.com> 0.141-1
- libebl: sparc backend fixes; some more arm backend support
-- libdwfl: fix dwfl_module_build_id for prelinked DSO case;
- fixes in core file support; dwfl_module_getsym interface
+- libdwfl: fix dwfl_module_build_id for prelinked DSO case;
+ fixes in core file support; dwfl_module_getsym interface
improved for non-address symbols
- strip: fix infinite loop on strange inputs with -f
-- addr2line: take -j/--section=NAME option for binutils compatibility
+- addr2line: take -j/--section=NAME option for binutils compatibility
(same effect as '(NAME)0x123' syntax already supported)
* Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1
- libelf: Fix regression in creation of section header
-- libdwfl: Less strict behavior if DWARF reader ist just used to
+- libdwfl: Less strict behavior if DWARF reader ist just used to
display data
* Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1
- libcpu: Add Intel SSE4 disassembler support
-- readelf: Implement call frame information and exception handling
+- readelf: Implement call frame information and exception handling
dumping. Add -e option. Enable it implicitly for -a.
- elflint: Check PT_GNU_EH_FRAME program header entry.
- libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
diff --git a/elfutils/lib/ChangeLog b/elfutils/lib/ChangeLog
index 1b8b42bc..47e831ea 100644
--- a/elfutils/lib/ChangeLog
+++ b/elfutils/lib/ChangeLog
@@ -1,3 +1,24 @@
+2012-01-21 Ulrich Drepper <drepper@gmail.com>
+
+ * Makefile.am (libeu_a_SOURCES): Add color.c.
+ * system.h: Declare color_argp. Define color_enum. Declare
+ color_* variables.
+ * color.c: New file.
+
+2011-10-02 Ulrich Drepper <drepper@gmail.com>
+
+ * system.h: Declare __cxa_demangle.
+
+2011-07-09 Roland McGrath <roland@hack.frob.com>
+
+ * sha1.c (be64_copy): New function.
+ (sha1_finish_ctx): Use it.
+ * md5.c (le64_copy): New function.
+ (md5_finish_ctx): Use it.
+ * system.h (LE32, BE32): New macros, using <endian.h> and <byteswap.h>.
+ * md5.c (SWAP): Use LE32.
+ * sha1.c (SWAP): Use BE32.
+
2010-06-16 Roland McGrath <roland@redhat.com>
* dynamicsizehash.h (HASHTYPE): New macro.
diff --git a/elfutils/lib/Makefile.am b/elfutils/lib/Makefile.am
index 50d55c56..4ea14361 100644
--- a/elfutils/lib/Makefile.am
+++ b/elfutils/lib/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 1996-2010 Red Hat, Inc.
+## Copyright (C) 1996-2011 Red Hat, Inc.
## This file is part of Red Hat elfutils.
##
## Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -30,8 +30,9 @@ INCLUDES += -I$(srcdir)/../libelf
noinst_LIBRARIES = libeu.a
-libeu_a_SOURCES = xstrndup.c xmalloc.c next_prime.c \
- crc32.c crc32_file.c md5.c sha1.c
+libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
+ crc32.c crc32_file.c md5.c sha1.c \
+ color.c
noinst_HEADERS = fixedsizehash.h system.h dynamicsizehash.h list.h md5.h \
sha1.h eu-config.h
diff --git a/elfutils/lib/Makefile.in b/elfutils/lib/Makefile.in
index 68f05504..54b04ade 100644
--- a/elfutils/lib/Makefile.in
+++ b/elfutils/lib/Makefile.in
@@ -54,9 +54,10 @@ AR = ar
ARFLAGS = cru
libeu_a_AR = $(AR) $(ARFLAGS)
libeu_a_LIBADD =
-am_libeu_a_OBJECTS = xstrndup.$(OBJEXT) xmalloc.$(OBJEXT) \
- next_prime.$(OBJEXT) crc32.$(OBJEXT) crc32_file.$(OBJEXT) \
- md5.$(OBJEXT) sha1.$(OBJEXT)
+am_libeu_a_OBJECTS = xstrdup.$(OBJEXT) xstrndup.$(OBJEXT) \
+ xmalloc.$(OBJEXT) next_prime.$(OBJEXT) crc32.$(OBJEXT) \
+ crc32_file.$(OBJEXT) md5.$(OBJEXT) sha1.$(OBJEXT) \
+ color.$(OBJEXT)
libeu_a_OBJECTS = $(am_libeu_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
@@ -201,8 +202,9 @@ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
CLEANFILES = *.gcno *.gcda
textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
noinst_LIBRARIES = libeu.a
-libeu_a_SOURCES = xstrndup.c xmalloc.c next_prime.c \
- crc32.c crc32_file.c md5.c sha1.c
+libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
+ crc32.c crc32_file.c md5.c sha1.c \
+ color.c
noinst_HEADERS = fixedsizehash.h system.h dynamicsizehash.h list.h md5.h \
sha1.h eu-config.h
@@ -257,12 +259,14 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32_file.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/next_prime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@
.c.o:
diff --git a/elfutils/lib/color.c b/elfutils/lib/color.c
new file mode 100644
index 00000000..ff824485
--- /dev/null
+++ b/elfutils/lib/color.c
@@ -0,0 +1,227 @@
+/* Handling of color output.
+ Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2011.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <argp.h>
+#include <error.h>
+#include <libintl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "system.h"
+
+
+/* Prototype for option handler. */
+static error_t parse_opt (int key, char *arg, struct argp_state *state);
+
+/* Option values. */
+#define OPT_COLOR 0x100100
+
+/* Definitions of arguments for argp functions. */
+static const struct argp_option options[] =
+{
+ { "color", OPT_COLOR, "WHEN", OPTION_ARG_OPTIONAL,
+ N_("colorize the output. WHEN defaults to 'always' or can be 'auto' or 'never'"), 0 },
+
+ { NULL, 0, NULL, 0, NULL, 0 }
+};
+
+/* Parser data structure. */
+const struct argp color_argp =
+ {
+ options, parse_opt, NULL, NULL, NULL, NULL, NULL
+ };
+
+/* Coloring mode. */
+enum color_enum color_mode;
+
+/* Colors to use for the various components. */
+char *color_address = "";
+char *color_bytes = "";
+char *color_mnemonic = "";
+char *color_operand = NULL;
+char *color_operand1 = "";
+char *color_operand2 = "";
+char *color_operand3 = "";
+char *color_label = "";
+char *color_undef = "";
+char *color_undef_tls = "";
+char *color_undef_weak = "";
+char *color_symbol = "";
+char *color_tls = "";
+char *color_weak = "";
+
+const char color_off[] = "\e[0m";
+
+
+/* Handle program arguments. */
+static error_t
+parse_opt (int key, char *arg,
+ struct argp_state *state __attribute__ ((unused)))
+{
+ switch (key)
+ {
+ case OPT_COLOR:
+ if (arg == NULL)
+ color_mode = color_always;
+ else
+ {
+ static const struct
+ {
+ const char str[7];
+ enum color_enum mode;
+ } values[] =
+ {
+ { "always", color_always },
+ { "yes", color_always },
+ { "force", color_always },
+ { "never", color_never },
+ { "no", color_never },
+ { "none", color_never },
+ { "auto", color_auto },
+ { "tty", color_auto },
+ { "if-tty", color_auto }
+ };
+ const int nvalues = sizeof (values) / sizeof (values[0]);
+ int i;
+ for (i = 0; i < nvalues; ++i)
+ if (strcmp (arg, values[i].str) == 0)
+ {
+ color_mode = values[i].mode;
+ if (color_mode == color_auto)
+ color_mode
+ = isatty (STDOUT_FILENO) ? color_always : color_never;
+ break;
+ }
+ if (i == nvalues)
+ {
+ error (0, 0, dgettext ("elfutils", "\
+%s: invalid argument '%s' for '--color'\n\
+valid arguments are:\n\
+ - 'always', 'yes', 'force'\n\
+ - 'never', 'no', 'none'\n\
+ - 'auto', 'tty', 'if-tty'\n"),
+ program_invocation_short_name, arg);
+ argp_help (&color_argp, stderr, ARGP_HELP_SEE,
+ program_invocation_short_name);
+ exit (EXIT_FAILURE);
+ }
+ }
+
+ if (color_mode == color_always)
+ {
+ const char *env = getenv ("ELFUTILS_COLORS");
+ if (env != NULL)
+ {
+ do
+ {
+ const char *start = env;
+ while (*env != '=' && *env != '\0')
+ ++env;
+ if (*env == '=' && env != start)
+ {
+ size_t name_len = env - start;
+ const char *val = ++env;
+ env = strchrnul (env, ':');
+ if (val != env)
+ {
+ static const struct
+ {
+ unsigned char len;
+ const char name[sizeof (char *) - 1];
+ char **varp;
+ } known[] =
+ {
+#define E(name, var) { sizeof (#name) - 1, #name, &color_##var }
+ E (a, address),
+ E (b, bytes),
+ E (m, mnemonic),
+ E (o, operand),
+ E (o1, operand1),
+ E (o1, operand2),
+ E (o1, operand3),
+ E (l, label),
+ E (u, undef),
+ E (ut, undef_tls),
+ E (uw, undef_weak),
+ E (sy, symbol),
+ E (st, tls),
+ E (sw, weak),
+ };
+ const size_t nknown = (sizeof (known)
+ / sizeof (known[0]));
+
+ for (size_t i = 0; i < nknown; ++i)
+ if (name_len == known[i].len
+ && memcmp (start, known[i].name, name_len) == 0)
+ {
+ if (asprintf (known[i].varp, "\e[%.*sm",
+ (int) (env - val), val) < 0)
+ error (EXIT_FAILURE, errno,
+ gettext ("cannot allocate memory"));
+ break;
+ }
+ }
+ if (*env == ':')
+ ++env;
+ }
+ }
+ while (*env != '\0');
+
+ if (color_operand != NULL)
+ {
+ if (color_operand1[0] == '\0')
+ color_operand1 = color_operand;
+ if (color_operand2[0] == '\0')
+ color_operand2 = color_operand;
+ if (color_operand3[0] == '\0')
+ color_operand3 = color_operand;
+ }
+ }
+#if 0
+ else
+ {
+ // XXX Just for testing.
+ color_address = xstrdup ("\e[38;5;166;1m");
+ color_bytes = xstrdup ("\e[38;5;141m");
+ color_mnemonic = xstrdup ("\e[38;5;202;1m");
+ color_operand1 = xstrdup ("\e[38;5;220m");
+ color_operand2 = xstrdup ("\e[38;5;48m");
+ color_operand3 = xstrdup ("\e[38;5;112m");
+ color_label = xstrdup ("\e[38;5;21m");
+ }
+#endif
+ }
+ break;
+
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+ return 0;
+}
diff --git a/elfutils/lib/md5.c b/elfutils/lib/md5.c
index 0770561c..1f2d5d32 100644
--- a/elfutils/lib/md5.c
+++ b/elfutils/lib/md5.c
@@ -1,6 +1,6 @@
/* 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,1996,1997,1999,2000,2001,2005 Red Hat, Inc.
+ Copyright (C) 1995-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1995.
@@ -29,20 +29,14 @@
# include <config.h>
#endif
-#include <endian.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "md5.h"
+#include "system.h"
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define SWAP(n) \
- (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
-#else
-# define SWAP(n) (n)
-#endif
-
+#define SWAP(n) LE32 (n)
/* This array contains the bytes used to pad the buffer to the next
64-byte boundary. (RFC 1321, 3.1: Step 1) */
@@ -82,6 +76,16 @@ md5_read_ctx (ctx, resbuf)
return resbuf;
}
+static void
+le64_copy (char *dest, uint64_t x)
+{
+ for (size_t i = 0; i < 8; ++i)
+ {
+ dest[i] = (uint8_t) x;
+ x >>= 8;
+ }
+}
+
/* Process the remaining bytes in the internal buffer and the usual
prolog according to the standard and write the result to RESBUF.
@@ -105,9 +109,10 @@ md5_finish_ctx (ctx, resbuf)
memcpy (&ctx->buffer[bytes], fillbuf, pad);
/* Put the 64-bit file length in *bits* at the end of the buffer. */
- *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
- *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
- (ctx->total[0] >> 29));
+ const uint64_t bit_length = ((ctx->total[0] << 3)
+ + ((uint64_t) ((ctx->total[1] << 3) |
+ (ctx->total[0] >> 29)) << 32));
+ le64_copy (&ctx->buffer[bytes + pad], bit_length);
/* Process last bytes. */
md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
diff --git a/elfutils/lib/sha1.c b/elfutils/lib/sha1.c
index 0459cd6d..53ddb782 100644
--- a/elfutils/lib/sha1.c
+++ b/elfutils/lib/sha1.c
@@ -1,6 +1,6 @@
/* Functions to compute SHA1 message digest of files or memory blocks.
according to the definition of SHA1 in FIPS 180-1 from April 1997.
- Copyright (C) 2008 Red Hat, Inc.
+ Copyright (C) 2008-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2008.
@@ -29,20 +29,14 @@
# include <config.h>
#endif
-#include <endian.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "sha1.h"
+#include "system.h"
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# include <byteswap.h>
-# define SWAP(n) bswap_32 (n)
-#else
-# define SWAP(n) (n)
-#endif
-
+#define SWAP(n) BE32 (n)
/* This array contains the bytes used to pad the buffer to the next
64-byte boundary. */
@@ -83,6 +77,13 @@ sha1_read_ctx (ctx, resbuf)
return resbuf;
}
+static void
+be64_copy (char *dest, uint64_t x)
+{
+ for (size_t i = 8; i-- > 0; x >>= 8)
+ dest[i] = (uint8_t) x;
+}
+
/* Process the remaining bytes in the internal buffer and the usual
prolog according to the standard and write the result to RESBUF.
@@ -106,9 +107,10 @@ sha1_finish_ctx (ctx, resbuf)
memcpy (&ctx->buffer[bytes], fillbuf, pad);
/* Put the 64-bit file length in *bits* at the end of the buffer. */
- *(sha1_uint32 *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) |
- (ctx->total[0] >> 29));
- *(sha1_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3);
+ const uint64_t bit_length = ((ctx->total[0] << 3)
+ + ((uint64_t) ((ctx->total[1] << 3) |
+ (ctx->total[0] >> 29)) << 32));
+ be64_copy (&ctx->buffer[bytes + pad], bit_length);
/* Process last bytes. */
sha1_process_block (ctx->buffer, bytes + pad + 8, ctx);
diff --git a/elfutils/lib/system.h b/elfutils/lib/system.h
index 10b4734a..3f9f0af5 100644
--- a/elfutils/lib/system.h
+++ b/elfutils/lib/system.h
@@ -1,5 +1,5 @@
/* Declarations for common convenience functions.
- Copyright (C) 2006, 2009 Red Hat, Inc.
+ Copyright (C) 2006-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -49,8 +49,21 @@
#ifndef LIB_SYSTEM_H
#define LIB_SYSTEM_H 1
+#include <argp.h>
#include <stddef.h>
#include <stdint.h>
+#include <endian.h>
+#include <byteswap.h>
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define LE32(n) (n)
+# define BE32(n) bswap_32 (n)
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define BE32(n) (n)
+# define LE32(n) bswap_32 (n)
+#else
+# error "Unknown byte order"
+#endif
extern void *xmalloc (size_t) __attribute__ ((__malloc__));
extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
@@ -90,4 +103,42 @@ extern int crc32_file (int fd, uint32_t *resp);
#define ARGP_PROGRAM_BUG_ADDRESS_DEF \
const char *const apba__ __asm ("argp_program_bug_address")
+
+/* The demangler from libstdc++. */
+extern char *__cxa_demangle (const char *mangled_name, char *output_buffer,
+ size_t *length, int *status);
+
+
+
+/* Color handling. */
+
+/* Command line parser. */
+extern const struct argp color_argp;
+
+/* Coloring mode. */
+enum color_enum
+ {
+ color_never = 0,
+ color_always,
+ color_auto
+ } __attribute__ ((packed));
+extern enum color_enum color_mode;
+
+/* Colors to use for the various components. */
+extern char *color_address;
+extern char *color_bytes;
+extern char *color_mnemonic;
+extern char *color_operand1;
+extern char *color_operand2;
+extern char *color_operand3;
+extern char *color_label;
+extern char *color_undef;
+extern char *color_undef_tls;
+extern char *color_undef_weak;
+extern char *color_symbol;
+extern char *color_tls;
+extern char *color_weak;
+
+extern const char color_off[];
+
#endif /* system.h */
diff --git a/elfutils/lib/xstrdup.c b/elfutils/lib/xstrdup.c
new file mode 100644
index 00000000..c4e7a528
--- /dev/null
+++ b/elfutils/lib/xstrdup.c
@@ -0,0 +1,40 @@
+/* Convenience function for string allocation.
+ Copyright (C) 2006 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+#include "system.h"
+
+
+/* Return a newly allocated copy of STRING. */
+char *
+xstrdup (string)
+ const char *string;
+{
+ return strcpy (xmalloc (strlen (string) + 1), string);
+}
diff --git a/elfutils/libcpu/ChangeLog b/elfutils/libcpu/ChangeLog
index c49f8b9c..76340a13 100644
--- a/elfutils/libcpu/ChangeLog
+++ b/elfutils/libcpu/ChangeLog
@@ -1,3 +1,17 @@
+2012-01-21 Ulrich Drepper <drepper@gmail.com>
+
+ * i386_disasm.c (ADD_NSTRING): Define.
+ (i386_disasm): Print color codes in the appropriate places.
+
+2011-10-16 Roland McGrath <roland@hack.frob.com>
+
+ * Makefile.am (libcpu_i386_a_SOURCES): Add i386_dis.h.
+ (libcpu_x86_64_a_SOURCES): Add x86_64_dis.h.
+ (i386_disasm.o, x86_64_disasm.o): Depend on those in $(srcdir).
+ (%_dis.h): Renamed target pattern to ...
+ ($(srcdir)/%_dis.h): ... this.
+ (noinst_HEADERS, noinst_PROGRAMS): Put under [MAINTAINER_MODE].
+
2010-08-16 Roland McGrath <roland@redhat.com>
* Makefile.am (%_defs): New pattern rule.
diff --git a/elfutils/libcpu/Makefile.am b/elfutils/libcpu/Makefile.am
index c62db6d0..7dd25610 100644
--- a/elfutils/libcpu/Makefile.am
+++ b/elfutils/libcpu/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 2002-2010 Red Hat, Inc.
+## Copyright (C) 2002-2011 Red Hat, Inc.
## This file is part of Red Hat elfutils.
##
## Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -33,21 +33,26 @@ LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
AM_YFLAGS = -p$(<F:parse.y=)
noinst_LIBRARIES = libcpu_i386.a libcpu_x86_64.a
-noinst_PROGRAMS = i386_gendis
-libcpu_i386_a_SOURCES = i386_disasm.c
-libcpu_x86_64_a_SOURCES = x86_64_disasm.c
+libcpu_i386_a_SOURCES = i386_disasm.c i386_dis.h
+libcpu_x86_64_a_SOURCES = x86_64_disasm.c x86_64_dis.h
i386_gendis_SOURCES = i386_gendis.c i386_lex.l i386_parse.y
-i386_disasm.o: i386.mnemonics i386_dis.h
-x86_64_disasm.o: x86_64.mnemonics x86_64_dis.h i386_disasm.c
+i386_disasm.o: i386.mnemonics $(srcdir)/i386_dis.h
+x86_64_disasm.o: x86_64.mnemonics $(srcdir)/x86_64_dis.h
%_defs: $(srcdir)/defs/i386
m4 -D$* -DDISASSEMBLER $< > $@
-%_dis.h: %_defs i386_gendis
+if MAINTAINER_MODE
+noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
+
+noinst_PROGRAMS = i386_gendis
+
+$(srcdir)/%_dis.h: %_defs i386_gendis
./i386_gendis $< > $@
+endif
%.mnemonics: %_defs
sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \
@@ -65,8 +70,6 @@ i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
i386_parse.h: i386_parse.c ;
-noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
-
EXTRA_DIST = defs/i386
CLEANFILES += $(foreach P,i386 x86_64,$P_defs $P.mnemonics $P_dis.h)
diff --git a/elfutils/libcpu/Makefile.in b/elfutils/libcpu/Makefile.in
index 8da99357..1565505e 100644
--- a/elfutils/libcpu/Makefile.in
+++ b/elfutils/libcpu/Makefile.in
@@ -36,11 +36,11 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
i386_lex.c i386_parse.c
@MUDFLAP_TRUE@am__append_1 = -fmudflap
-noinst_PROGRAMS = i386_gendis$(EXEEXT)
+@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT)
subdir = libcpu
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
@@ -85,6 +85,7 @@ SOURCES = $(libcpu_i386_a_SOURCES) $(libcpu_x86_64_a_SOURCES) \
$(i386_gendis_SOURCES)
DIST_SOURCES = $(libcpu_i386_a_SOURCES) $(libcpu_x86_64_a_SOURCES) \
$(i386_gendis_SOURCES)
+am__noinst_HEADERS_DIST = memory-access.h i386_parse.h i386_data.h
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
@@ -222,15 +223,15 @@ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -P$(<F:lex.l=)
AM_YFLAGS = -p$(<F:parse.y=)
noinst_LIBRARIES = libcpu_i386.a libcpu_x86_64.a
-libcpu_i386_a_SOURCES = i386_disasm.c
-libcpu_x86_64_a_SOURCES = x86_64_disasm.c
+libcpu_i386_a_SOURCES = i386_disasm.c i386_dis.h
+libcpu_x86_64_a_SOURCES = x86_64_disasm.c x86_64_dis.h
i386_gendis_SOURCES = i386_gendis.c i386_lex.l i386_parse.y
+@MAINTAINER_MODE_TRUE@noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
i386_lex_no_Werror = yes
libeu = ../lib/libeu.a
i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare
i386_parse_CFLAGS = -DNMNES="`wc -l < i386.mnemonics`"
i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
-noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
EXTRA_DIST = defs/i386
all: all-am
@@ -525,14 +526,14 @@ uninstall-am:
@AMDEP_TRUE@ fi
@AMDEP_FALSE@ $(COMPILE.os) -c -o $@ -fpic -DPIC -DSHARED $<
-i386_disasm.o: i386.mnemonics i386_dis.h
-x86_64_disasm.o: x86_64.mnemonics x86_64_dis.h i386_disasm.c
+i386_disasm.o: i386.mnemonics $(srcdir)/i386_dis.h
+x86_64_disasm.o: x86_64.mnemonics $(srcdir)/x86_64_dis.h
%_defs: $(srcdir)/defs/i386
m4 -D$* -DDISASSEMBLER $< > $@
-%_dis.h: %_defs i386_gendis
- ./i386_gendis $< > $@
+@MAINTAINER_MODE_TRUE@$(srcdir)/%_dis.h: %_defs i386_gendis
+@MAINTAINER_MODE_TRUE@ ./i386_gendis $< > $@
%.mnemonics: %_defs
sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \
diff --git a/elfutils/libcpu/i386_dis.h b/elfutils/libcpu/i386_dis.h
new file mode 100644
index 00000000..a5cc01f9
--- /dev/null
+++ b/elfutils/libcpu/i386_dis.h
@@ -0,0 +1,1657 @@
+#define MNEMONIC_BITS 10
+#define SUFFIX_BITS 3
+#define FCT1_BITS 7
+#define STR1_BITS 4
+#define OFF1_1_BITS 7
+#define OFF1_1_BIAS 3
+#define OFF1_2_BITS 7
+#define OFF1_2_BIAS 4
+#define OFF1_3_BITS 1
+#define OFF1_3_BIAS 7
+#define FCT2_BITS 6
+#define STR2_BITS 2
+#define OFF2_1_BITS 7
+#define OFF2_1_BIAS 5
+#define OFF2_2_BITS 7
+#define OFF2_2_BIAS 4
+#define OFF2_3_BITS 4
+#define OFF2_3_BIAS 7
+#define FCT3_BITS 4
+#define STR3_BITS 1
+#define OFF3_1_BITS 6
+#define OFF3_1_BIAS 10
+#define OFF3_2_BITS 1
+#define OFF3_2_BIAS 21
+
+#include <i386_data.h>
+
+#define suffix_none 0
+#define suffix_w 1
+#define suffix_w0 2
+#define suffix_W 3
+#define suffix_tttn 4
+#define suffix_D 7
+#define suffix_w1 5
+#define suffix_W1 6
+
+static const opfct_t op1_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_ax,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_disp8,
+ FCT_ds_bx,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm$s,
+ FCT_imm$w,
+ FCT_imm16,
+ FCT_imm8,
+ FCT_imms8,
+ FCT_mmxreg,
+ FCT_mod$16r_m,
+ FCT_mod$64r_m,
+ FCT_mod$8r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg16,
+ FCT_reg64,
+ FCT_rel,
+ FCT_sel,
+ FCT_sreg2,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op1_str[] =
+ "%ax\0"
+ "%cl\0"
+ "%eax\0"
+ "%st\0"
+ "%xmm0\0"
+ "*";
+static const uint8_t op1_str_idx[] = {
+ 0,
+ 4,
+ 8,
+ 13,
+ 17,
+ 23,
+};
+static const opfct_t op2_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_absval,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm8,
+ FCT_mmxreg,
+ FCT_mod$64r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_moda$r_m,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op2_str[] =
+ "%ecx\0"
+ "%st";
+static const uint8_t op2_str_idx[] = {
+ 0,
+ 5,
+};
+static const opfct_t op3_fct[] =
+{
+ NULL,
+ FCT_mmxreg,
+ FCT_mod$r_m,
+ FCT_reg,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op3_str[] =
+ "%edx";
+static const uint8_t op3_str_idx[] = {
+ 0,
+};
+static const struct instr_enc instrtab[] =
+{
+ { .mnemonic = MNE_aaa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aas, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_arpl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bound, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg8b, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_daa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_das, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_into, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lds, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_les, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pusha, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popa, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sgdtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sidtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+};
+static const uint8_t match_data[] =
+{
+ 0x11, 0x37,
+ 0x22, 0xd5, 0xa,
+ 0x22, 0xd4, 0xa,
+ 0x11, 0x3f,
+ 0x1, 0xfe, 0x14,
+ 0x2, 0xfe, 0x80, 0x38, 0x10,
+ 0x2, 0xfe, 0x82, 0x38, 0x10,
+ 0x2, 0xfe, 0x10, 0, 0,
+ 0x2, 0xfe, 0x12, 0, 0,
+ 0x1, 0xfe, 0x4,
+ 0x2, 0xfe, 0x80, 0x38, 0,
+ 0x12, 0x83, 0x38, 0,
+ 0x2, 0xfe, 0, 0, 0,
+ 0x2, 0xfe, 0x2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd0, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd0, 0, 0,
+ 0x1, 0xfe, 0x24,
+ 0x2, 0xfe, 0x80, 0x38, 0x20,
+ 0x2, 0xfe, 0x82, 0x38, 0x20,
+ 0x2, 0xfe, 0x20, 0, 0,
+ 0x2, 0xfe, 0x22, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x12, 0x63, 0, 0,
+ 0x12, 0x62, 0, 0,
+ 0x23, 0xf, 0xbc, 0, 0,
+ 0x23, 0xf, 0xbd, 0, 0,
+ 0x12, 0xf, 0xf8, 0xc8,
+ 0x23, 0xf, 0xa3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x20,
+ 0x23, 0xf, 0xbb, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x38,
+ 0x23, 0xf, 0xb3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x30,
+ 0x23, 0xf, 0xab, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x28,
+ 0x11, 0xe8,
+ 0x12, 0xff, 0x38, 0x10,
+ 0x11, 0x9a,
+ 0x12, 0xff, 0x38, 0x18,
+ 0x11, 0x98,
+ 0x11, 0x99,
+ 0x11, 0xf8,
+ 0x11, 0xfc,
+ 0x11, 0xfa,
+ 0x22, 0xf, 0x5,
+ 0x22, 0xf, 0x6,
+ 0x22, 0xf, 0x7,
+ 0x22, 0xf, 0x34,
+ 0x22, 0xf, 0x35,
+ 0x11, 0xf5,
+ 0x13, 0xf, 0xf0, 0x40, 0, 0,
+ 0x1, 0xfe, 0x3c,
+ 0x2, 0xfe, 0x80, 0x38, 0x38,
+ 0x12, 0x83, 0x38, 0x38,
+ 0x2, 0xfe, 0x38, 0, 0,
+ 0x2, 0xfe, 0x3a, 0, 0,
+ 0x34, 0xf2, 0xf, 0xc2, 0, 0,
+ 0x34, 0xf3, 0xf, 0xc2, 0, 0,
+ 0x34, 0x66, 0xf, 0xc2, 0, 0,
+ 0x23, 0xf, 0xc2, 0, 0,
+ 0x1, 0xfe, 0xa6,
+ 0x13, 0xf, 0xfe, 0xb0, 0, 0,
+ 0x23, 0xf, 0xc7, 0x38, 0x8,
+ 0x22, 0xf, 0xa2,
+ 0x34, 0xf3, 0xf, 0xe6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xe6, 0, 0,
+ 0x34, 0x66, 0xf, 0xe6, 0, 0,
+ 0x11, 0x27,
+ 0x11, 0x2f,
+ 0x2, 0xfe, 0xfe, 0x38, 0x8,
+ 0x1, 0xf8, 0x48,
+ 0x2, 0xfe, 0xf6, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x11, 0xc8,
+ 0x22, 0xd9, 0xd0,
+ 0x22, 0xd9, 0xe0,
+ 0x22, 0xd9, 0xe1,
+ 0x22, 0xd9, 0xe4,
+ 0x22, 0xd9, 0xe5,
+ 0x22, 0xd9, 0xe8,
+ 0x22, 0xd9, 0xe9,
+ 0x22, 0xd9, 0xea,
+ 0x22, 0xd9, 0xeb,
+ 0x22, 0xd9, 0xec,
+ 0x22, 0xd9, 0xed,
+ 0x22, 0xd9, 0xee,
+ 0x22, 0xd9, 0xf0,
+ 0x22, 0xd9, 0xf1,
+ 0x22, 0xd9, 0xf2,
+ 0x22, 0xd9, 0xf3,
+ 0x22, 0xd9, 0xf4,
+ 0x22, 0xd9, 0xf5,
+ 0x22, 0xd9, 0xf6,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xd9, 0xf8,
+ 0x22, 0xd9, 0xf9,
+ 0x22, 0xd9, 0xfa,
+ 0x22, 0xd9, 0xfb,
+ 0x22, 0xd9, 0xfc,
+ 0x22, 0xd9, 0xfd,
+ 0x22, 0xd9, 0xfe,
+ 0x22, 0xd9, 0xff,
+ 0x12, 0xd8, 0xf8, 0xc0,
+ 0x12, 0xdc, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd8, 0x38, 0,
+ 0x12, 0xd8, 0xf8, 0xc8,
+ 0x12, 0xdc, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x8,
+ 0x12, 0xd8, 0xf8, 0xe0,
+ 0x12, 0xdc, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x20,
+ 0x12, 0xd8, 0xf8, 0xe8,
+ 0x12, 0xdc, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x28,
+ 0x12, 0xdd, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd9, 0x38, 0x10,
+ 0x12, 0xdd, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd9, 0x38, 0x18,
+ 0x12, 0xd9, 0x38, 0x20,
+ 0x12, 0xd9, 0x38, 0x28,
+ 0x12, 0xd9, 0x38, 0x30,
+ 0x12, 0xd9, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xda, 0x38, 0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xda, 0x38, 0x8,
+ 0x12, 0xde, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xda, 0x38, 0x20,
+ 0x12, 0xde, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xda, 0x38, 0x28,
+ 0x22, 0xdf, 0xe0,
+ 0x12, 0xdf, 0x38, 0x20,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdf, 0x38, 0x30,
+ 0x22, 0xd9, 0xe0,
+ 0x33, 0x9b, 0xdb, 0xe2,
+ 0x33, 0x9b, 0xdb, 0xe3,
+ 0x11, 0x9b,
+ 0x22, 0xdb, 0xe2,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x12, 0xdb, 0xf8, 0xc0,
+ 0x12, 0xdb, 0xf8, 0xc8,
+ 0x12, 0xdb, 0xf8, 0xd0,
+ 0x12, 0xdb, 0xf8, 0xd8,
+ 0x12, 0xd8, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x10,
+ 0x12, 0xd8, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x18,
+ 0x22, 0xde, 0xd9,
+ 0x12, 0xdb, 0xf8, 0xf0,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdb, 0xf8, 0xe8,
+ 0x12, 0xdf, 0xf8, 0xe8,
+ 0x22, 0xd9, 0xff,
+ 0x22, 0xd9, 0xf6,
+ 0x12, 0xd8, 0xf8, 0xf0,
+ 0x12, 0xdc, 0xf8, 0xf0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x30,
+ 0x12, 0xda, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xde, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf8,
+ 0x12, 0xd8, 0xf8, 0xf8,
+ 0x12, 0xdc, 0xf8, 0xf8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x38,
+ 0x12, 0xda, 0x38, 0x38,
+ 0x12, 0xde, 0x38, 0x38,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xdd, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xda, 0x38, 0x10,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xda, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0,
+ 0x12, 0xdb, 0x38, 0,
+ 0x12, 0xdf, 0x38, 0x28,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xdb, 0xe3,
+ 0x2, 0xfb, 0xdb, 0x38, 0x10,
+ 0x2, 0xfb, 0xdb, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0x38,
+ 0x2, 0xfb, 0xdb, 0x38, 0x8,
+ 0x12, 0xdd, 0x38, 0x8,
+ 0x12, 0xdb, 0x38, 0x28,
+ 0x12, 0xdb, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd9, 0x38, 0,
+ 0x12, 0xdd, 0xf8, 0xe0,
+ 0x12, 0xdd, 0x38, 0x20,
+ 0x12, 0xdd, 0xf8, 0xe8,
+ 0x12, 0xdd, 0x38, 0x30,
+ 0x12, 0xdd, 0x38, 0x38,
+ 0x11, 0xf4,
+ 0x2, 0xfe, 0xf6, 0x38, 0x38,
+ 0x2, 0xfe, 0xf6, 0x38, 0x28,
+ 0x23, 0xf, 0xaf, 0, 0,
+ 0x2, 0xfd, 0x69, 0, 0,
+ 0x1, 0xfe, 0xe4,
+ 0x1, 0xfe, 0xec,
+ 0x2, 0xfe, 0xfe, 0x38, 0,
+ 0x1, 0xf8, 0x40,
+ 0x1, 0xfe, 0x6c,
+ 0x11, 0xcd,
+ 0x11, 0xcc,
+ 0x11, 0xce,
+ 0x22, 0xf, 0x8,
+ 0x33, 0xf, 0x1, 0xf8,
+ 0x23, 0xf, 0x1, 0x38, 0x38,
+ 0x11, 0xcf,
+ 0x1, 0xf0, 0x70,
+ 0x12, 0xf, 0xf0, 0x80,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x11, 0xe3,
+ 0x11, 0xeb,
+ 0x11, 0xe9,
+ 0x12, 0xff, 0x38, 0x20,
+ 0x11, 0xea,
+ 0x12, 0xff, 0x38, 0x28,
+ 0x11, 0x9f,
+ 0x23, 0xf, 0x2, 0, 0,
+ 0x12, 0xc5, 0, 0,
+ 0x12, 0x8d, 0, 0,
+ 0x11, 0xc9,
+ 0x12, 0xc4, 0, 0,
+ 0x23, 0xf, 0xb4, 0, 0,
+ 0x23, 0xf, 0xb5, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x18,
+ 0x23, 0xf, 0, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x30,
+ 0x11, 0xf0,
+ 0x1, 0xfe, 0xac,
+ 0x11, 0xe2,
+ 0x11, 0xe1,
+ 0x11, 0xe0,
+ 0x23, 0xf, 0x3, 0, 0,
+ 0x23, 0xf, 0xb2, 0, 0,
+ 0x23, 0xf, 0, 0x38, 0x18,
+ 0x2, 0xfe, 0x88, 0, 0,
+ 0x2, 0xfe, 0x8a, 0, 0,
+ 0x2, 0xfe, 0xc6, 0x38, 0,
+ 0x1, 0xf0, 0xb0,
+ 0x1, 0xfe, 0xa0,
+ 0x1, 0xfe, 0xa2,
+ 0x23, 0xf, 0x20, 0xc0, 0xc0,
+ 0x23, 0xf, 0x22, 0xc0, 0xc0,
+ 0x23, 0xf, 0x21, 0xc0, 0xc0,
+ 0x23, 0xf, 0x23, 0xc0, 0xc0,
+ 0x12, 0x8c, 0, 0,
+ 0x12, 0x8e, 0, 0,
+ 0x1, 0xfe, 0xa4,
+ 0x23, 0xf, 0xbe, 0, 0,
+ 0x23, 0xf, 0xbf, 0, 0,
+ 0x23, 0xf, 0xb6, 0, 0,
+ 0x23, 0xf, 0xb7, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x20,
+ 0x2, 0xfe, 0xf6, 0x38, 0x18,
+ 0x22, 0xf3, 0x90,
+ 0x11, 0x90,
+ 0x34, 0xf3, 0xf, 0xb8, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x10,
+ 0x2, 0xfe, 0x8, 0, 0,
+ 0x2, 0xfe, 0xa, 0, 0,
+ 0x2, 0xfe, 0x80, 0x38, 0x8,
+ 0x2, 0xfe, 0x82, 0x38, 0x8,
+ 0x1, 0xfe, 0xc,
+ 0x1, 0xfe, 0xe6,
+ 0x1, 0xfe, 0xee,
+ 0x1, 0xfe, 0x6e,
+ 0x12, 0x8f, 0x38, 0,
+ 0x12, 0xf, 0xc7, 0x81,
+ 0x11, 0x9d,
+ 0x12, 0xff, 0x38, 0x30,
+ 0x1, 0xf8, 0x50,
+ 0x1, 0xf8, 0x58,
+ 0x1, 0xfd, 0x68,
+ 0x1, 0xe7, 0x6,
+ 0x12, 0xf, 0xc7, 0x80,
+ 0x11, 0x60,
+ 0x11, 0x61,
+ 0x11, 0x9c,
+ 0x2, 0xfe, 0xd0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd2, 0x38, 0x10,
+ 0x2, 0xfe, 0xc0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd0, 0x38, 0x18,
+ 0x2, 0xfe, 0xd2, 0x38, 0x18,
+ 0x2, 0xfe, 0xc0, 0x38, 0x18,
+ 0x22, 0xf, 0x32,
+ 0x22, 0xf, 0x33,
+ 0x22, 0xf, 0x31,
+ 0x11, 0xc3,
+ 0x11, 0xc2,
+ 0x11, 0xcb,
+ 0x11, 0xca,
+ 0x2, 0xfe, 0xd0, 0x38, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0,
+ 0x2, 0xfe, 0xc0, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x8,
+ 0x2, 0xfe, 0xd2, 0x38, 0x8,
+ 0x2, 0xfe, 0xc0, 0x38, 0x8,
+ 0x22, 0xf, 0xaa,
+ 0x11, 0x9e,
+ 0x2, 0xfe, 0xd0, 0x38, 0x38,
+ 0x2, 0xfe, 0xd2, 0x38, 0x38,
+ 0x2, 0xfe, 0xc0, 0x38, 0x38,
+ 0x2, 0xfe, 0x18, 0, 0,
+ 0x2, 0xfe, 0x1a, 0, 0,
+ 0x1, 0xfe, 0x1c,
+ 0x2, 0xfe, 0x80, 0x38, 0x18,
+ 0x2, 0xfe, 0x82, 0x38, 0x18,
+ 0x1, 0xfe, 0xae,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd2, 0x38, 0x20,
+ 0x2, 0xfe, 0xc0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd0, 0x38, 0x28,
+ 0x23, 0xf, 0xa4, 0, 0,
+ 0x23, 0xf, 0xa5, 0, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0x28,
+ 0x2, 0xfe, 0xc0, 0x38, 0x28,
+ 0x23, 0xf, 0xac, 0, 0,
+ 0x23, 0xf, 0xad, 0, 0,
+ 0x33, 0xf, 0x1, 0xc1,
+ 0x33, 0xf, 0x1, 0xc2,
+ 0x33, 0xf, 0x1, 0xc3,
+ 0x33, 0xf, 0x1, 0xc4,
+ 0x23, 0xf, 0x78, 0, 0,
+ 0x23, 0xf, 0x79, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0,
+ 0x33, 0xf, 0x1, 0xc8,
+ 0x33, 0xf, 0x1, 0xc9,
+ 0x23, 0xf, 0x1, 0x38, 0x8,
+ 0x23, 0xf, 0, 0x38, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x20,
+ 0x11, 0xf9,
+ 0x11, 0xfd,
+ 0x11, 0xfb,
+ 0x1, 0xfe, 0xaa,
+ 0x23, 0xf, 0, 0x38, 0x8,
+ 0x2, 0xfe, 0x28, 0, 0,
+ 0x2, 0xfe, 0x2a, 0, 0,
+ 0x1, 0xfe, 0x2c,
+ 0x2, 0xfe, 0x80, 0x38, 0x28,
+ 0x2, 0xfe, 0x82, 0x38, 0x28,
+ 0x2, 0xfe, 0x84, 0, 0,
+ 0x1, 0xfe, 0xa8,
+ 0x2, 0xfe, 0xf6, 0x38, 0,
+ 0x22, 0xf, 0xb,
+ 0x23, 0xf, 0, 0x38, 0x20,
+ 0x23, 0xf, 0, 0x38, 0x28,
+ 0x22, 0xf, 0x9,
+ 0x23, 0xf, 0xd, 0x38, 0,
+ 0x23, 0xf, 0xd, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0,
+ 0x23, 0xf, 0x18, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0x10,
+ 0x23, 0xf, 0x18, 0x38, 0x18,
+ 0x23, 0xf, 0x1f, 0, 0,
+ 0x22, 0xf, 0x30,
+ 0x13, 0xf, 0xfe, 0xc0, 0, 0,
+ 0x2, 0xfe, 0x86, 0, 0,
+ 0x1, 0xf8, 0x90,
+ 0x11, 0xd7,
+ 0x2, 0xfe, 0x30, 0, 0,
+ 0x2, 0xfe, 0x32, 0, 0,
+ 0x1, 0xfe, 0x34,
+ 0x2, 0xfe, 0x80, 0x38, 0x30,
+ 0x2, 0xfe, 0x82, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x34, 0x66, 0xf, 0xdb, 0, 0,
+ 0x23, 0xf, 0xdb, 0, 0,
+ 0x34, 0x66, 0xf, 0xdf, 0, 0,
+ 0x23, 0xf, 0xdf, 0, 0,
+ 0x34, 0x66, 0xf, 0xf5, 0, 0,
+ 0x23, 0xf, 0xf5, 0, 0,
+ 0x34, 0x66, 0xf, 0xeb, 0, 0,
+ 0x23, 0xf, 0xeb, 0, 0,
+ 0x34, 0x66, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x23, 0xf, 0xae, 0x38, 0x8,
+ 0x23, 0xf, 0xae, 0x38, 0,
+ 0x23, 0xf, 0xae, 0x38, 0x10,
+ 0x23, 0xf, 0xae, 0x38, 0x18,
+ 0x34, 0xf2, 0xf, 0x10, 0, 0,
+ 0x34, 0xf3, 0xf, 0x10, 0, 0,
+ 0x34, 0x66, 0xf, 0x10, 0, 0,
+ 0x23, 0xf, 0x10, 0, 0,
+ 0x34, 0xf2, 0xf, 0x11, 0, 0,
+ 0x34, 0xf3, 0xf, 0x11, 0, 0,
+ 0x34, 0x66, 0xf, 0x11, 0, 0,
+ 0x23, 0xf, 0x11, 0, 0,
+ 0x34, 0xf2, 0xf, 0x12, 0, 0,
+ 0x34, 0xf3, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x12, 0, 0,
+ 0x23, 0xf, 0x12, 0xc0, 0xc0,
+ 0x23, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
+ 0x23, 0xf, 0x13, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x13, 0, 0,
+ 0x23, 0xf, 0x13, 0, 0,
+ 0x34, 0x66, 0xf, 0x14, 0, 0,
+ 0x23, 0xf, 0x14, 0, 0,
+ 0x34, 0x66, 0xf, 0x15, 0, 0,
+ 0x23, 0xf, 0x15, 0, 0,
+ 0x34, 0xf3, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x16, 0, 0,
+ 0x23, 0xf, 0x16, 0xc0, 0xc0,
+ 0x23, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
+ 0x23, 0xf, 0x17, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x17, 0, 0,
+ 0x23, 0xf, 0x17, 0, 0,
+ 0x34, 0x66, 0xf, 0x28, 0, 0,
+ 0x23, 0xf, 0x28, 0, 0,
+ 0x34, 0x66, 0xf, 0x29, 0, 0,
+ 0x23, 0xf, 0x29, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2a, 0, 0,
+ 0x23, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2b, 0, 0,
+ 0x23, 0xf, 0x2b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2c, 0, 0,
+ 0x23, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2d, 0, 0,
+ 0x23, 0xf, 0x2d, 0, 0,
+ 0x34, 0x66, 0xf, 0x2e, 0, 0,
+ 0x23, 0xf, 0x2e, 0, 0,
+ 0x34, 0x66, 0xf, 0x2f, 0, 0,
+ 0x23, 0xf, 0x2f, 0, 0,
+ 0x22, 0xf, 0x37,
+ 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
+ 0x23, 0xf, 0x50, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x51, 0, 0,
+ 0x34, 0xf2, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x51, 0, 0,
+ 0x23, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x52, 0, 0,
+ 0x23, 0xf, 0x52, 0, 0,
+ 0x34, 0xf3, 0xf, 0x53, 0, 0,
+ 0x23, 0xf, 0x53, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x34, 0x66, 0xf, 0x56, 0, 0,
+ 0x23, 0xf, 0x56, 0, 0,
+ 0x34, 0x66, 0xf, 0x57, 0, 0,
+ 0x23, 0xf, 0x57, 0, 0,
+ 0x34, 0xf2, 0xf, 0x58, 0, 0,
+ 0x34, 0xf3, 0xf, 0x58, 0, 0,
+ 0x34, 0x66, 0xf, 0x58, 0, 0,
+ 0x23, 0xf, 0x58, 0, 0,
+ 0x34, 0xf2, 0xf, 0x59, 0, 0,
+ 0x34, 0xf3, 0xf, 0x59, 0, 0,
+ 0x34, 0x66, 0xf, 0x59, 0, 0,
+ 0x23, 0xf, 0x59, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5a, 0, 0,
+ 0x23, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5b, 0, 0,
+ 0x23, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5c, 0, 0,
+ 0x34, 0x66, 0xf, 0x5c, 0, 0,
+ 0x23, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5d, 0, 0,
+ 0x34, 0x66, 0xf, 0x5d, 0, 0,
+ 0x23, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5e, 0, 0,
+ 0x34, 0x66, 0xf, 0x5e, 0, 0,
+ 0x23, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x5f, 0, 0,
+ 0x23, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x60, 0, 0,
+ 0x23, 0xf, 0x60, 0, 0,
+ 0x34, 0x66, 0xf, 0x61, 0, 0,
+ 0x23, 0xf, 0x61, 0, 0,
+ 0x34, 0x66, 0xf, 0x62, 0, 0,
+ 0x23, 0xf, 0x62, 0, 0,
+ 0x34, 0x66, 0xf, 0x63, 0, 0,
+ 0x23, 0xf, 0x63, 0, 0,
+ 0x34, 0x66, 0xf, 0x64, 0, 0,
+ 0x23, 0xf, 0x64, 0, 0,
+ 0x34, 0x66, 0xf, 0x65, 0, 0,
+ 0x23, 0xf, 0x65, 0, 0,
+ 0x34, 0x66, 0xf, 0x66, 0, 0,
+ 0x23, 0xf, 0x66, 0, 0,
+ 0x34, 0x66, 0xf, 0x67, 0, 0,
+ 0x23, 0xf, 0x67, 0, 0,
+ 0x34, 0x66, 0xf, 0x68, 0, 0,
+ 0x23, 0xf, 0x68, 0, 0,
+ 0x34, 0x66, 0xf, 0x69, 0, 0,
+ 0x23, 0xf, 0x69, 0, 0,
+ 0x34, 0x66, 0xf, 0x6a, 0, 0,
+ 0x23, 0xf, 0x6a, 0, 0,
+ 0x34, 0x66, 0xf, 0x6b, 0, 0,
+ 0x23, 0xf, 0x6b, 0, 0,
+ 0x34, 0x66, 0xf, 0x6c, 0, 0,
+ 0x34, 0x66, 0xf, 0x6d, 0, 0,
+ 0x34, 0x66, 0xf, 0x6e, 0, 0,
+ 0x23, 0xf, 0x6e, 0, 0,
+ 0x34, 0x66, 0xf, 0x6f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x6f, 0, 0,
+ 0x23, 0xf, 0x6f, 0, 0,
+ 0x34, 0x66, 0xf, 0x70, 0, 0,
+ 0x34, 0xf2, 0xf, 0x70, 0, 0,
+ 0x34, 0xf3, 0xf, 0x70, 0, 0,
+ 0x23, 0xf, 0x70, 0, 0,
+ 0x34, 0x66, 0xf, 0x74, 0, 0,
+ 0x23, 0xf, 0x74, 0, 0,
+ 0x34, 0x66, 0xf, 0x75, 0, 0,
+ 0x23, 0xf, 0x75, 0, 0,
+ 0x34, 0x66, 0xf, 0x76, 0, 0,
+ 0x23, 0xf, 0x76, 0, 0,
+ 0x34, 0x66, 0xf, 0x7c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7c, 0, 0,
+ 0x34, 0x66, 0xf, 0x7d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7d, 0, 0,
+ 0x34, 0x66, 0xf, 0x7e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7e, 0, 0,
+ 0x23, 0xf, 0x7e, 0, 0,
+ 0x34, 0x66, 0xf, 0x7f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0xc3, 0, 0,
+ 0x34, 0x66, 0xf, 0xc4, 0, 0,
+ 0x23, 0xf, 0xc4, 0, 0,
+ 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x23, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xc6, 0, 0,
+ 0x23, 0xf, 0xc6, 0, 0,
+ 0x34, 0x66, 0xf, 0xd1, 0, 0,
+ 0x23, 0xf, 0xd1, 0, 0,
+ 0x34, 0x66, 0xf, 0xd2, 0, 0,
+ 0x23, 0xf, 0xd2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd3, 0, 0,
+ 0x23, 0xf, 0xd3, 0, 0,
+ 0x34, 0x66, 0xf, 0xd4, 0, 0,
+ 0x23, 0xf, 0xd4, 0, 0,
+ 0x34, 0x66, 0xf, 0xd5, 0, 0,
+ 0x23, 0xf, 0xd5, 0, 0,
+ 0x34, 0x66, 0xf, 0xd6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd8, 0, 0,
+ 0x23, 0xf, 0xd8, 0, 0,
+ 0x34, 0x66, 0xf, 0xd9, 0, 0,
+ 0x23, 0xf, 0xd9, 0, 0,
+ 0x34, 0x66, 0xf, 0xda, 0, 0,
+ 0x23, 0xf, 0xda, 0, 0,
+ 0x34, 0x66, 0xf, 0xdc, 0, 0,
+ 0x23, 0xf, 0xdc, 0, 0,
+ 0x34, 0x66, 0xf, 0xdd, 0, 0,
+ 0x23, 0xf, 0xdd, 0, 0,
+ 0x34, 0x66, 0xf, 0xde, 0, 0,
+ 0x23, 0xf, 0xde, 0, 0,
+ 0x34, 0x66, 0xf, 0xe0, 0, 0,
+ 0x23, 0xf, 0xe0, 0, 0,
+ 0x34, 0x66, 0xf, 0xe1, 0, 0,
+ 0x23, 0xf, 0xe1, 0, 0,
+ 0x34, 0x66, 0xf, 0xe2, 0, 0,
+ 0x23, 0xf, 0xe2, 0, 0,
+ 0x34, 0x66, 0xf, 0xe3, 0, 0,
+ 0x23, 0xf, 0xe3, 0, 0,
+ 0x34, 0x66, 0xf, 0xe4, 0, 0,
+ 0x23, 0xf, 0xe4, 0, 0,
+ 0x34, 0x66, 0xf, 0xe5, 0, 0,
+ 0x23, 0xf, 0xe5, 0, 0,
+ 0x34, 0x66, 0xf, 0xe7, 0, 0,
+ 0x23, 0xf, 0xe7, 0, 0,
+ 0x34, 0x66, 0xf, 0xe8, 0, 0,
+ 0x23, 0xf, 0xe8, 0, 0,
+ 0x34, 0x66, 0xf, 0xe9, 0, 0,
+ 0x23, 0xf, 0xe9, 0, 0,
+ 0x34, 0x66, 0xf, 0xea, 0, 0,
+ 0x23, 0xf, 0xea, 0, 0,
+ 0x34, 0x66, 0xf, 0xec, 0, 0,
+ 0x23, 0xf, 0xec, 0, 0,
+ 0x34, 0x66, 0xf, 0xed, 0, 0,
+ 0x23, 0xf, 0xed, 0, 0,
+ 0x34, 0x66, 0xf, 0xee, 0, 0,
+ 0x23, 0xf, 0xee, 0, 0,
+ 0x34, 0xf2, 0xf, 0xf0, 0, 0,
+ 0x34, 0x66, 0xf, 0xf1, 0, 0,
+ 0x23, 0xf, 0xf1, 0, 0,
+ 0x34, 0x66, 0xf, 0xf2, 0, 0,
+ 0x23, 0xf, 0xf2, 0, 0,
+ 0x34, 0x66, 0xf, 0xf3, 0, 0,
+ 0x23, 0xf, 0xf3, 0, 0,
+ 0x34, 0x66, 0xf, 0xf4, 0, 0,
+ 0x23, 0xf, 0xf4, 0, 0,
+ 0x34, 0x66, 0xf, 0xf6, 0, 0,
+ 0x23, 0xf, 0xf6, 0, 0,
+ 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xf8, 0, 0,
+ 0x23, 0xf, 0xf8, 0, 0,
+ 0x34, 0x66, 0xf, 0xf9, 0, 0,
+ 0x23, 0xf, 0xf9, 0, 0,
+ 0x34, 0x66, 0xf, 0xfa, 0, 0,
+ 0x23, 0xf, 0xfa, 0, 0,
+ 0x34, 0x66, 0xf, 0xfb, 0, 0,
+ 0x23, 0xf, 0xfb, 0, 0,
+ 0x34, 0x66, 0xf, 0xfc, 0, 0,
+ 0x23, 0xf, 0xfc, 0, 0,
+ 0x34, 0x66, 0xf, 0xfd, 0, 0,
+ 0x23, 0xf, 0xfd, 0, 0,
+ 0x34, 0x66, 0xf, 0xfe, 0, 0,
+ 0x23, 0xf, 0xfe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
+ 0x34, 0xf, 0x38, 0, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
+ 0x34, 0xf, 0x38, 0x1, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
+ 0x34, 0xf, 0x38, 0x2, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
+ 0x34, 0xf, 0x38, 0x3, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
+ 0x34, 0xf, 0x38, 0x4, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
+ 0x34, 0xf, 0x38, 0x5, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
+ 0x34, 0xf, 0x38, 0x6, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
+ 0x34, 0xf, 0x38, 0x7, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
+ 0x34, 0xf, 0x38, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
+ 0x34, 0xf, 0x38, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
+ 0x34, 0xf, 0x38, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
+ 0x34, 0xf, 0x38, 0xb, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
+ 0x34, 0xf, 0x38, 0x1c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
+ 0x34, 0xf, 0x38, 0x1d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
+ 0x34, 0xf, 0x38, 0x1e, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
+ 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x38,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
+ 0x23, 0xf, 0x71, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
+ 0x23, 0xf, 0x71, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
+ 0x23, 0xf, 0x71, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
+ 0x23, 0xf, 0x72, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
+ 0x23, 0xf, 0x72, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
+ 0x23, 0xf, 0x72, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
+ 0x23, 0xf, 0x73, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
+ 0x23, 0xf, 0x73, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
+ 0x33, 0xf, 0xae, 0xe8,
+ 0x33, 0xf, 0xae, 0xf0,
+ 0x33, 0xf, 0xae, 0xf8,
+ 0x23, 0xf, 0xae, 0x38, 0x38,
+ 0x23, 0xf, 0xf, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
+ 0x1, 0xe7, 0x7,
+};
diff --git a/elfutils/libcpu/i386_disasm.c b/elfutils/libcpu/i386_disasm.c
index c6bb0a58..6d58f0ea 100644
--- a/elfutils/libcpu/i386_disasm.c
+++ b/elfutils/libcpu/i386_disasm.c
@@ -1,5 +1,5 @@
/* Disassembler for x86.
- Copyright (C) 2007, 2008, 2009 Red Hat, Inc.
+ Copyright (C) 2007, 2008, 2009, 2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2007.
@@ -293,11 +293,18 @@ struct output_data
#define ADD_STRING(str) \
do { \
+ const char *_str0 = (str); \
+ size_t _len0 = strlen (_str0); \
+ ADD_NSTRING (_str0, _len0); \
+ } while (0)
+
+#define ADD_NSTRING(str, len) \
+ do { \
const char *_str = (str); \
- size_t _len = strlen (_str); \
+ size_t _len = (len); \
if (unlikely (bufcnt + _len > bufsize)) \
goto enomem; \
- memcpy (buf + bufcnt, str, _len); \
+ memcpy (buf + bufcnt, _str, _len); \
bufcnt += _len; \
} while (0)
@@ -615,6 +622,10 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
unsigned long string_end_idx = 0;
fmt = save_fmt;
+ const char *deferred_start = NULL;
+ size_t deferred_len = 0;
+ // XXX Can we get this from color.c?
+ static const char color_off[] = "\e[0m";
while (*fmt != '\0')
{
if (*fmt != '%')
@@ -657,6 +668,22 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
goto do_ret;
}
}
+ else if (ch == '\e' && *fmt == '[')
+ {
+ deferred_start = fmt - 1;
+ do
+ ++fmt;
+ while (*fmt != 'm' && *fmt != '\0');
+
+ if (*fmt == 'm')
+ {
+ deferred_len = ++fmt - deferred_start;
+ continue;
+ }
+
+ fmt = deferred_start + 1;
+ deferred_start = NULL;
+ }
ADD_CHAR (ch);
continue;
}
@@ -672,6 +699,7 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
prec = prec * 10 + (*fmt - '0');
size_t start_idx = bufcnt;
+ size_t non_printing = 0;
switch (*fmt++)
{
char mnebuf[16];
@@ -796,6 +824,12 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
else
str = mnestr.str + mneidx[instrtab[cnt].mnemonic];
+ if (deferred_start != NULL)
+ {
+ ADD_NSTRING (deferred_start, deferred_len);
+ non_printing += deferred_len;
+ }
+
ADD_STRING (str);
switch (instrtab[cnt].suffix)
@@ -879,6 +913,12 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
abort ();
}
+ if (deferred_start != NULL)
+ {
+ ADD_STRING (color_off);
+ non_printing += strlen (color_off);
+ }
+
string_end_idx = bufcnt;
break;
@@ -886,6 +926,12 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
if (prec == 1 && instrtab[cnt].fct1 != 0)
{
/* First parameter. */
+ if (deferred_start != NULL)
+ {
+ ADD_NSTRING (deferred_start, deferred_len);
+ non_printing += deferred_len;
+ }
+
if (instrtab[cnt].str1 != 0)
ADD_STRING (op1_str
+ op1_str_idx[instrtab[cnt].str1 - 1]);
@@ -902,11 +948,23 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
if (r > 0)
goto enomem;
+ if (deferred_start != NULL)
+ {
+ ADD_STRING (color_off);
+ non_printing += strlen (color_off);
+ }
+
string_end_idx = bufcnt;
}
else if (prec == 2 && instrtab[cnt].fct2 != 0)
{
/* Second parameter. */
+ if (deferred_start != NULL)
+ {
+ ADD_NSTRING (deferred_start, deferred_len);
+ non_printing += deferred_len;
+ }
+
if (instrtab[cnt].str2 != 0)
ADD_STRING (op2_str
+ op2_str_idx[instrtab[cnt].str2 - 1]);
@@ -923,11 +981,23 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
if (r > 0)
goto enomem;
+ if (deferred_start != NULL)
+ {
+ ADD_STRING (color_off);
+ non_printing += strlen (color_off);
+ }
+
string_end_idx = bufcnt;
}
else if (prec == 3 && instrtab[cnt].fct3 != 0)
{
/* Third parameter. */
+ if (deferred_start != NULL)
+ {
+ ADD_NSTRING (deferred_start, deferred_len);
+ non_printing += deferred_len;
+ }
+
if (instrtab[cnt].str3 != 0)
ADD_STRING (op3_str
+ op3_str_idx[instrtab[cnt].str3 - 1]);
@@ -948,6 +1018,12 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
if (r > 0)
goto enomem;
+ if (deferred_start != NULL)
+ {
+ ADD_STRING (color_off);
+ non_printing += strlen (color_off);
+ }
+
string_end_idx = bufcnt;
}
else
@@ -960,12 +1036,18 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
case 'a':
/* Pad to requested column. */
- while (bufcnt < (size_t) width)
+ while (bufcnt - non_printing < (size_t) width)
ADD_CHAR (' ');
width = 0;
break;
case 'l':
+ if (deferred_start != NULL)
+ {
+ ADD_NSTRING (deferred_start, deferred_len);
+ non_printing += deferred_len;
+ }
+
if (output_data.labelbuf != NULL
&& output_data.labelbuf[0] != '\0')
{
@@ -1005,11 +1087,21 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
output_data.symaddr_use = addr_none;
}
+ if (deferred_start != NULL)
+ {
+ ADD_STRING (color_off);
+ non_printing += strlen (color_off);
+ }
break;
+
+ default:
+ abort ();
}
+ deferred_start = NULL;
+
/* Pad according to the specified width. */
- while (bufcnt + prefix_size < start_idx + width)
+ while (bufcnt + prefix_size - non_printing < start_idx + width)
ADD_CHAR (' ');
prefix_size = 0;
}
diff --git a/elfutils/libcpu/i386_parse.c b/elfutils/libcpu/i386_parse.c
index 68e957b2..575fcc52 100644
--- a/elfutils/libcpu/i386_parse.c
+++ b/elfutils/libcpu/i386_parse.c
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2011 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
@@ -45,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.3"
+#define YYBISON_VERSION "2.5"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -74,7 +73,7 @@
/* Copy the first part of user declarations. */
-/* Line 189 of yacc.c */
+/* Line 268 of yacc.c */
#line 1 "i386_parse.y"
/* Parser for i386 CPU description.
@@ -289,8 +288,8 @@ static size_t best_mnemonic_bits;
#endif
-/* Line 189 of yacc.c */
-#line 294 "i386_parse.c"
+/* Line 268 of yacc.c */
+#line 293 "i386_parse.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -348,7 +347,7 @@ static size_t best_mnemonic_bits;
typedef union YYSTYPE
{
-/* Line 214 of yacc.c */
+/* Line 293 of yacc.c */
#line 214 "i386_parse.y"
unsigned long int num;
@@ -361,8 +360,8 @@ typedef union YYSTYPE
-/* Line 214 of yacc.c */
-#line 366 "i386_parse.c"
+/* Line 293 of yacc.c */
+#line 365 "i386_parse.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -373,8 +372,8 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
-/* Line 264 of yacc.c */
-#line 378 "i386_parse.c"
+/* Line 343 of yacc.c */
+#line 377 "i386_parse.c"
#ifdef short
# undef short
@@ -477,11 +476,11 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# endif
@@ -504,24 +503,24 @@ YYID (yyi)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@@ -550,23 +549,7 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
+# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
@@ -586,6 +569,26 @@ union yyalloc
#endif
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (YYID (0))
+# endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 12
/* YYLAST -- Last index in YYTABLE. */
@@ -715,8 +718,8 @@ static const yytype_uint8 yyr2[] =
1, 1, 1
};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
@@ -755,8 +758,7 @@ static const yytype_int8 yypgoto[] =
/* 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. */
+ number is the opposite. If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
@@ -766,6 +768,12 @@ static const yytype_uint8 yytable[] =
27, 48, 37, 34, 36, 0, 46, 18
};
+#define yypact_value_is_default(yystate) \
+ ((yystate) == (-35))
+
+#define yytable_value_is_error(yytable_value) \
+ YYID (0)
+
static const yytype_int8 yycheck[] =
{
25, 7, 14, 15, 10, 11, 10, 9, 14, 34,
@@ -818,7 +826,6 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@@ -860,19 +867,10 @@ while (YYID (0))
#endif
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
+/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
@@ -1064,7 +1062,6 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
-
#if YYERROR_VERBOSE
@@ -1167,115 +1164,142 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = 0;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - Assume YYFAIL is not used. It's too flawed to consider. See
+ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+ for details. YYERROR is fine as it does not invoke this
+ function.
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
{
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
+ yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
}
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
}
#endif /* YYERROR_VERBOSE */
-
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -1308,6 +1332,7 @@ yydestruct (yymsg, yytype, yyvaluep)
}
}
+
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
@@ -1334,10 +1359,9 @@ YYSTYPE yylval;
int yynerrs;
-
-/*-------------------------.
-| yyparse or yypush_parse. |
-`-------------------------*/
+/*----------.
+| yyparse. |
+`----------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1361,8 +1385,6 @@ yyparse ()
#endif
#endif
{
-
-
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -1517,7 +1539,7 @@ yybackup:
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
+ if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
@@ -1548,8 +1570,8 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
@@ -1604,7 +1626,7 @@ yyreduce:
{
case 2:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 245 "i386_parse.y"
{
if (error_message_count != 0)
@@ -1617,28 +1639,28 @@ yyreduce:
case 5:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 259 "i386_parse.y"
{ new_bitfield ((yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].num)); }
break;
case 6:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 261 "i386_parse.y"
{ new_bitfield ((yyvsp[(2) - (2)].str), -1); }
break;
case 7:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 263 "i386_parse.y"
{ new_bitfield ((yyvsp[(2) - (2)].str), -2); }
break;
case 8:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 265 "i386_parse.y"
{
struct synonym *newp = xmalloc (sizeof (*newp));
@@ -1655,7 +1677,7 @@ yyreduce:
case 12:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 284 "i386_parse.y"
{
if ((yyvsp[(3) - (6)].field) != NULL && strcmp ((yyvsp[(3) - (6)].field)->name, "RE") != 0
@@ -1743,7 +1765,7 @@ yyreduce:
case 14:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 370 "i386_parse.y"
{
struct known_bitfield search;
@@ -1763,14 +1785,14 @@ yyreduce:
case 15:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 385 "i386_parse.y"
{ (yyval.field) = NULL; }
break;
case 16:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 389 "i386_parse.y"
{
check_bits ((yyvsp[(3) - (3)].bit));
@@ -1785,7 +1807,7 @@ yyreduce:
case 17:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 399 "i386_parse.y"
{
check_bits ((yyvsp[(1) - (1)].bit));
@@ -1795,7 +1817,7 @@ yyreduce:
case 18:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 406 "i386_parse.y"
{
struct bitvalue *runp = (yyvsp[(1) - (2)].bit);
@@ -1808,14 +1830,14 @@ yyreduce:
case 19:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 414 "i386_parse.y"
{ (yyval.bit) = (yyvsp[(1) - (1)].bit); }
break;
case 20:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 418 "i386_parse.y"
{
(yyval.bit) = xmalloc (sizeof (struct bitvalue));
@@ -1827,7 +1849,7 @@ yyreduce:
case 21:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 425 "i386_parse.y"
{
(yyval.bit) = xmalloc (sizeof (struct bitvalue));
@@ -1839,7 +1861,7 @@ yyreduce:
case 22:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 432 "i386_parse.y"
{
(yyval.bit) = xmalloc (sizeof (struct bitvalue));
@@ -1864,21 +1886,21 @@ yyreduce:
case 23:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 454 "i386_parse.y"
{ (yyval.arg) = (yyvsp[(2) - (2)].arg); }
break;
case 24:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 456 "i386_parse.y"
{ (yyval.arg) = NULL; }
break;
case 25:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 460 "i386_parse.y"
{
struct argument *runp = (yyvsp[(1) - (3)].arg);
@@ -1893,7 +1915,7 @@ yyreduce:
case 26:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 470 "i386_parse.y"
{
(yyval.arg) = xmalloc (sizeof (struct argument));
@@ -1904,7 +1926,7 @@ yyreduce:
case 27:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 478 "i386_parse.y"
{
struct argname *runp = (yyvsp[(1) - (2)].name);
@@ -1917,14 +1939,14 @@ yyreduce:
case 28:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 486 "i386_parse.y"
{ (yyval.name) = (yyvsp[(1) - (1)].name); }
break;
case 29:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 489 "i386_parse.y"
{
(yyval.name) = xmalloc (sizeof (struct argname));
@@ -1961,7 +1983,7 @@ yyreduce:
case 30:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 521 "i386_parse.y"
{
(yyval.name) = xmalloc (sizeof (struct argname));
@@ -1975,7 +1997,7 @@ yyreduce:
case 31:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 530 "i386_parse.y"
{
(yyval.name) = xmalloc (sizeof (struct argname));
@@ -1987,7 +2009,7 @@ yyreduce:
case 32:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 537 "i386_parse.y"
{
(yyval.name) = xmalloc (sizeof (struct argname));
@@ -2001,10 +2023,21 @@ yyreduce:
-/* Line 1464 of yacc.c */
-#line 2006 "i386_parse.c"
+/* Line 1806 of yacc.c */
+#line 2028 "i386_parse.c"
default: break;
}
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@@ -2032,6 +2065,10 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@@ -2039,37 +2076,36 @@ yyerrlab:
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
{
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (yymsg);
- }
- else
- {
- yyerror (YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
}
+# undef YYSYNTAX_ERROR
#endif
}
@@ -2128,7 +2164,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
+ if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@@ -2187,8 +2223,13 @@ yyexhaustedlab:
yyreturn:
if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ }
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@@ -2213,7 +2254,7 @@ yyreturn:
-/* Line 1684 of yacc.c */
+/* Line 2067 of yacc.c */
#line 547 "i386_parse.y"
diff --git a/elfutils/libcpu/i386_parse.h b/elfutils/libcpu/i386_parse.h
index 6b5df630..a9486e32 100644
--- a/elfutils/libcpu/i386_parse.h
+++ b/elfutils/libcpu/i386_parse.h
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2011 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
@@ -69,7 +68,7 @@
typedef union YYSTYPE
{
-/* Line 1685 of yacc.c */
+/* Line 2068 of yacc.c */
#line 214 "i386_parse.y"
unsigned long int num;
@@ -82,8 +81,8 @@ typedef union YYSTYPE
-/* Line 1685 of yacc.c */
-#line 87 "i386_parse.h"
+/* Line 2068 of yacc.c */
+#line 86 "i386_parse.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/elfutils/libcpu/x86_64_dis.h b/elfutils/libcpu/x86_64_dis.h
new file mode 100644
index 00000000..a0198bed
--- /dev/null
+++ b/elfutils/libcpu/x86_64_dis.h
@@ -0,0 +1,1632 @@
+#define MNEMONIC_BITS 10
+#define SUFFIX_BITS 3
+#define FCT1_BITS 7
+#define STR1_BITS 4
+#define OFF1_1_BITS 7
+#define OFF1_1_BIAS 3
+#define OFF1_2_BITS 7
+#define OFF1_2_BIAS 4
+#define OFF1_3_BITS 1
+#define OFF1_3_BIAS 7
+#define FCT2_BITS 6
+#define STR2_BITS 2
+#define OFF2_1_BITS 7
+#define OFF2_1_BIAS 5
+#define OFF2_2_BITS 7
+#define OFF2_2_BIAS 4
+#define OFF2_3_BITS 4
+#define OFF2_3_BIAS 7
+#define FCT3_BITS 4
+#define STR3_BITS 1
+#define OFF3_1_BITS 6
+#define OFF3_1_BIAS 10
+#define OFF3_2_BITS 1
+#define OFF3_2_BIAS 21
+
+#include <i386_data.h>
+
+#define suffix_none 0
+#define suffix_w 1
+#define suffix_w0 2
+#define suffix_W 3
+#define suffix_tttn 4
+#define suffix_D 7
+#define suffix_w1 5
+#define suffix_W1 6
+
+static const opfct_t op1_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_ax,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_disp8,
+ FCT_ds_bx,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm$s,
+ FCT_imm$w,
+ FCT_imm16,
+ FCT_imm64$w,
+ FCT_imm8,
+ FCT_imms8,
+ FCT_mmxreg,
+ FCT_mod$16r_m,
+ FCT_mod$64r_m,
+ FCT_mod$8r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_rel,
+ FCT_sel,
+ FCT_sreg2,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op1_str[] =
+ "%ax\0"
+ "%cl\0"
+ "%rax\0"
+ "%st\0"
+ "%xmm0\0"
+ "*";
+static const uint8_t op1_str_idx[] = {
+ 0,
+ 4,
+ 8,
+ 13,
+ 17,
+ 23,
+};
+static const opfct_t op2_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_absval,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm8,
+ FCT_mmxreg,
+ FCT_mod$64r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_oreg,
+ FCT_oreg$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op2_str[] =
+ "%rcx\0"
+ "%st";
+static const uint8_t op2_str_idx[] = {
+ 0,
+ 5,
+};
+static const opfct_t op3_fct[] =
+{
+ NULL,
+ FCT_mmxreg,
+ FCT_mod$r_m,
+ FCT_reg,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op3_str[] =
+ "%rdx";
+static const uint8_t op3_str_idx[] = {
+ 0,
+};
+static const struct instr_enc instrtab[] =
+{
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movslq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 26, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 22, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+};
+static const uint8_t match_data[] =
+{
+ 0x1, 0xfe, 0x14,
+ 0x2, 0xfe, 0x80, 0x38, 0x10,
+ 0x2, 0xfe, 0x82, 0x38, 0x10,
+ 0x2, 0xfe, 0x10, 0, 0,
+ 0x2, 0xfe, 0x12, 0, 0,
+ 0x1, 0xfe, 0x4,
+ 0x2, 0xfe, 0x80, 0x38, 0,
+ 0x12, 0x83, 0x38, 0,
+ 0x2, 0xfe, 0, 0, 0,
+ 0x2, 0xfe, 0x2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd0, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd0, 0, 0,
+ 0x1, 0xfe, 0x24,
+ 0x2, 0xfe, 0x80, 0x38, 0x20,
+ 0x2, 0xfe, 0x82, 0x38, 0x20,
+ 0x2, 0xfe, 0x20, 0, 0,
+ 0x2, 0xfe, 0x22, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x12, 0x63, 0, 0,
+ 0x23, 0xf, 0xbc, 0, 0,
+ 0x23, 0xf, 0xbd, 0, 0,
+ 0x12, 0xf, 0xf8, 0xc8,
+ 0x23, 0xf, 0xa3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x20,
+ 0x23, 0xf, 0xbb, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x38,
+ 0x23, 0xf, 0xb3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x30,
+ 0x23, 0xf, 0xab, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x28,
+ 0x11, 0xe8,
+ 0x12, 0xff, 0x38, 0x10,
+ 0x12, 0xff, 0x38, 0x18,
+ 0x11, 0x98,
+ 0x11, 0x99,
+ 0x11, 0xf8,
+ 0x11, 0xfc,
+ 0x11, 0xfa,
+ 0x22, 0xf, 0x5,
+ 0x22, 0xf, 0x6,
+ 0x22, 0xf, 0x7,
+ 0x22, 0xf, 0x34,
+ 0x22, 0xf, 0x35,
+ 0x11, 0xf5,
+ 0x13, 0xf, 0xf0, 0x40, 0, 0,
+ 0x1, 0xfe, 0x3c,
+ 0x2, 0xfe, 0x80, 0x38, 0x38,
+ 0x12, 0x83, 0x38, 0x38,
+ 0x2, 0xfe, 0x38, 0, 0,
+ 0x2, 0xfe, 0x3a, 0, 0,
+ 0x34, 0xf2, 0xf, 0xc2, 0, 0,
+ 0x34, 0xf3, 0xf, 0xc2, 0, 0,
+ 0x34, 0x66, 0xf, 0xc2, 0, 0,
+ 0x23, 0xf, 0xc2, 0, 0,
+ 0x1, 0xfe, 0xa6,
+ 0x13, 0xf, 0xfe, 0xb0, 0, 0,
+ 0x23, 0xf, 0xc7, 0x38, 0x8,
+ 0x22, 0xf, 0xa2,
+ 0x34, 0xf3, 0xf, 0xe6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xe6, 0, 0,
+ 0x34, 0x66, 0xf, 0xe6, 0, 0,
+ 0x2, 0xfe, 0xfe, 0x38, 0x8,
+ 0x2, 0xfe, 0xf6, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x11, 0xc8,
+ 0x22, 0xd9, 0xd0,
+ 0x22, 0xd9, 0xe0,
+ 0x22, 0xd9, 0xe1,
+ 0x22, 0xd9, 0xe4,
+ 0x22, 0xd9, 0xe5,
+ 0x22, 0xd9, 0xe8,
+ 0x22, 0xd9, 0xe9,
+ 0x22, 0xd9, 0xea,
+ 0x22, 0xd9, 0xeb,
+ 0x22, 0xd9, 0xec,
+ 0x22, 0xd9, 0xed,
+ 0x22, 0xd9, 0xee,
+ 0x22, 0xd9, 0xf0,
+ 0x22, 0xd9, 0xf1,
+ 0x22, 0xd9, 0xf2,
+ 0x22, 0xd9, 0xf3,
+ 0x22, 0xd9, 0xf4,
+ 0x22, 0xd9, 0xf5,
+ 0x22, 0xd9, 0xf6,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xd9, 0xf8,
+ 0x22, 0xd9, 0xf9,
+ 0x22, 0xd9, 0xfa,
+ 0x22, 0xd9, 0xfb,
+ 0x22, 0xd9, 0xfc,
+ 0x22, 0xd9, 0xfd,
+ 0x22, 0xd9, 0xfe,
+ 0x22, 0xd9, 0xff,
+ 0x12, 0xd8, 0xf8, 0xc0,
+ 0x12, 0xdc, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd8, 0x38, 0,
+ 0x12, 0xd8, 0xf8, 0xc8,
+ 0x12, 0xdc, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x8,
+ 0x12, 0xd8, 0xf8, 0xe0,
+ 0x12, 0xdc, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x20,
+ 0x12, 0xd8, 0xf8, 0xe8,
+ 0x12, 0xdc, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x28,
+ 0x12, 0xdd, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd9, 0x38, 0x10,
+ 0x12, 0xdd, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd9, 0x38, 0x18,
+ 0x12, 0xd9, 0x38, 0x20,
+ 0x12, 0xd9, 0x38, 0x28,
+ 0x12, 0xd9, 0x38, 0x30,
+ 0x12, 0xd9, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xda, 0x38, 0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xda, 0x38, 0x8,
+ 0x12, 0xde, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xda, 0x38, 0x20,
+ 0x12, 0xde, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xda, 0x38, 0x28,
+ 0x22, 0xdf, 0xe0,
+ 0x12, 0xdf, 0x38, 0x20,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdf, 0x38, 0x30,
+ 0x22, 0xd9, 0xe0,
+ 0x33, 0x9b, 0xdb, 0xe2,
+ 0x33, 0x9b, 0xdb, 0xe3,
+ 0x11, 0x9b,
+ 0x22, 0xdb, 0xe2,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x12, 0xdb, 0xf8, 0xc0,
+ 0x12, 0xdb, 0xf8, 0xc8,
+ 0x12, 0xdb, 0xf8, 0xd0,
+ 0x12, 0xdb, 0xf8, 0xd8,
+ 0x12, 0xd8, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x10,
+ 0x12, 0xd8, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x18,
+ 0x22, 0xde, 0xd9,
+ 0x12, 0xdb, 0xf8, 0xf0,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdb, 0xf8, 0xe8,
+ 0x12, 0xdf, 0xf8, 0xe8,
+ 0x22, 0xd9, 0xff,
+ 0x22, 0xd9, 0xf6,
+ 0x12, 0xd8, 0xf8, 0xf0,
+ 0x12, 0xdc, 0xf8, 0xf0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x30,
+ 0x12, 0xda, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xde, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf8,
+ 0x12, 0xd8, 0xf8, 0xf8,
+ 0x12, 0xdc, 0xf8, 0xf8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x38,
+ 0x12, 0xda, 0x38, 0x38,
+ 0x12, 0xde, 0x38, 0x38,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xdd, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xda, 0x38, 0x10,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xda, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0,
+ 0x12, 0xdb, 0x38, 0,
+ 0x12, 0xdf, 0x38, 0x28,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xdb, 0xe3,
+ 0x2, 0xfb, 0xdb, 0x38, 0x10,
+ 0x2, 0xfb, 0xdb, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0x38,
+ 0x2, 0xfb, 0xdb, 0x38, 0x8,
+ 0x12, 0xdd, 0x38, 0x8,
+ 0x12, 0xdb, 0x38, 0x28,
+ 0x12, 0xdb, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd9, 0x38, 0,
+ 0x12, 0xdd, 0xf8, 0xe0,
+ 0x12, 0xdd, 0x38, 0x20,
+ 0x12, 0xdd, 0xf8, 0xe8,
+ 0x12, 0xdd, 0x38, 0x30,
+ 0x12, 0xdd, 0x38, 0x38,
+ 0x11, 0xf4,
+ 0x2, 0xfe, 0xf6, 0x38, 0x38,
+ 0x2, 0xfe, 0xf6, 0x38, 0x28,
+ 0x23, 0xf, 0xaf, 0, 0,
+ 0x2, 0xfd, 0x69, 0, 0,
+ 0x1, 0xfe, 0xe4,
+ 0x1, 0xfe, 0xec,
+ 0x2, 0xfe, 0xfe, 0x38, 0,
+ 0x1, 0xfe, 0x6c,
+ 0x11, 0xcd,
+ 0x11, 0xcc,
+ 0x22, 0xf, 0x8,
+ 0x33, 0xf, 0x1, 0xf8,
+ 0x23, 0xf, 0x1, 0x38, 0x38,
+ 0x11, 0xcf,
+ 0x1, 0xf0, 0x70,
+ 0x12, 0xf, 0xf0, 0x80,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x11, 0xe3,
+ 0x11, 0xeb,
+ 0x11, 0xe9,
+ 0x12, 0xff, 0x38, 0x20,
+ 0x11, 0xea,
+ 0x12, 0xff, 0x38, 0x28,
+ 0x11, 0x9f,
+ 0x23, 0xf, 0x2, 0, 0,
+ 0x12, 0x8d, 0, 0,
+ 0x11, 0xc9,
+ 0x23, 0xf, 0xb4, 0, 0,
+ 0x23, 0xf, 0xb5, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x18,
+ 0x23, 0xf, 0, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x30,
+ 0x11, 0xf0,
+ 0x1, 0xfe, 0xac,
+ 0x11, 0xe2,
+ 0x11, 0xe1,
+ 0x11, 0xe0,
+ 0x23, 0xf, 0x3, 0, 0,
+ 0x23, 0xf, 0xb2, 0, 0,
+ 0x23, 0xf, 0, 0x38, 0x18,
+ 0x2, 0xfe, 0x88, 0, 0,
+ 0x2, 0xfe, 0x8a, 0, 0,
+ 0x2, 0xfe, 0xc6, 0x38, 0,
+ 0x1, 0xf0, 0xb0,
+ 0x1, 0xfe, 0xa0,
+ 0x1, 0xfe, 0xa2,
+ 0x23, 0xf, 0x20, 0xc0, 0xc0,
+ 0x23, 0xf, 0x22, 0xc0, 0xc0,
+ 0x23, 0xf, 0x21, 0xc0, 0xc0,
+ 0x23, 0xf, 0x23, 0xc0, 0xc0,
+ 0x12, 0x8c, 0, 0,
+ 0x12, 0x8e, 0, 0,
+ 0x1, 0xfe, 0xa4,
+ 0x23, 0xf, 0xbe, 0, 0,
+ 0x23, 0xf, 0xbf, 0, 0,
+ 0x23, 0xf, 0xb6, 0, 0,
+ 0x23, 0xf, 0xb7, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x20,
+ 0x2, 0xfe, 0xf6, 0x38, 0x18,
+ 0x22, 0xf3, 0x90,
+ 0x11, 0x90,
+ 0x34, 0xf3, 0xf, 0xb8, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x10,
+ 0x2, 0xfe, 0x8, 0, 0,
+ 0x2, 0xfe, 0xa, 0, 0,
+ 0x2, 0xfe, 0x80, 0x38, 0x8,
+ 0x2, 0xfe, 0x82, 0x38, 0x8,
+ 0x1, 0xfe, 0xc,
+ 0x1, 0xfe, 0xe6,
+ 0x1, 0xfe, 0xee,
+ 0x1, 0xfe, 0x6e,
+ 0x12, 0x8f, 0xf8, 0xc0,
+ 0x12, 0x8f, 0x38, 0,
+ 0x12, 0xf, 0xc7, 0x81,
+ 0x11, 0x9d,
+ 0x12, 0xff, 0xf8, 0xf0,
+ 0x12, 0xff, 0x38, 0x30,
+ 0x1, 0xf8, 0x50,
+ 0x1, 0xf8, 0x58,
+ 0x1, 0xfd, 0x68,
+ 0x1, 0xe7, 0x6,
+ 0x12, 0xf, 0xc7, 0x80,
+ 0x11, 0x9c,
+ 0x2, 0xfe, 0xd0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd2, 0x38, 0x10,
+ 0x2, 0xfe, 0xc0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd0, 0x38, 0x18,
+ 0x2, 0xfe, 0xd2, 0x38, 0x18,
+ 0x2, 0xfe, 0xc0, 0x38, 0x18,
+ 0x22, 0xf, 0x32,
+ 0x22, 0xf, 0x33,
+ 0x22, 0xf, 0x31,
+ 0x11, 0xc3,
+ 0x11, 0xc2,
+ 0x11, 0xcb,
+ 0x11, 0xca,
+ 0x2, 0xfe, 0xd0, 0x38, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0,
+ 0x2, 0xfe, 0xc0, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x8,
+ 0x2, 0xfe, 0xd2, 0x38, 0x8,
+ 0x2, 0xfe, 0xc0, 0x38, 0x8,
+ 0x22, 0xf, 0xaa,
+ 0x11, 0x9e,
+ 0x2, 0xfe, 0xd0, 0x38, 0x38,
+ 0x2, 0xfe, 0xd2, 0x38, 0x38,
+ 0x2, 0xfe, 0xc0, 0x38, 0x38,
+ 0x2, 0xfe, 0x18, 0, 0,
+ 0x2, 0xfe, 0x1a, 0, 0,
+ 0x1, 0xfe, 0x1c,
+ 0x2, 0xfe, 0x80, 0x38, 0x18,
+ 0x2, 0xfe, 0x82, 0x38, 0x18,
+ 0x1, 0xfe, 0xae,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd2, 0x38, 0x20,
+ 0x2, 0xfe, 0xc0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd0, 0x38, 0x28,
+ 0x23, 0xf, 0xa4, 0, 0,
+ 0x23, 0xf, 0xa5, 0, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0x28,
+ 0x2, 0xfe, 0xc0, 0x38, 0x28,
+ 0x23, 0xf, 0xac, 0, 0,
+ 0x23, 0xf, 0xad, 0, 0,
+ 0x33, 0xf, 0x1, 0xc1,
+ 0x33, 0xf, 0x1, 0xc2,
+ 0x33, 0xf, 0x1, 0xc3,
+ 0x33, 0xf, 0x1, 0xc4,
+ 0x23, 0xf, 0x78, 0, 0,
+ 0x23, 0xf, 0x79, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0,
+ 0x33, 0xf, 0x1, 0xc8,
+ 0x33, 0xf, 0x1, 0xc9,
+ 0x23, 0xf, 0x1, 0x38, 0x8,
+ 0x23, 0xf, 0, 0x38, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x20,
+ 0x11, 0xf9,
+ 0x11, 0xfd,
+ 0x11, 0xfb,
+ 0x1, 0xfe, 0xaa,
+ 0x23, 0xf, 0, 0x38, 0x8,
+ 0x2, 0xfe, 0x28, 0, 0,
+ 0x2, 0xfe, 0x2a, 0, 0,
+ 0x1, 0xfe, 0x2c,
+ 0x2, 0xfe, 0x80, 0x38, 0x28,
+ 0x2, 0xfe, 0x82, 0x38, 0x28,
+ 0x2, 0xfe, 0x84, 0, 0,
+ 0x1, 0xfe, 0xa8,
+ 0x2, 0xfe, 0xf6, 0x38, 0,
+ 0x22, 0xf, 0xb,
+ 0x23, 0xf, 0, 0x38, 0x20,
+ 0x23, 0xf, 0, 0x38, 0x28,
+ 0x22, 0xf, 0x9,
+ 0x23, 0xf, 0xd, 0x38, 0,
+ 0x23, 0xf, 0xd, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0,
+ 0x23, 0xf, 0x18, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0x10,
+ 0x23, 0xf, 0x18, 0x38, 0x18,
+ 0x23, 0xf, 0x1f, 0, 0,
+ 0x22, 0xf, 0x30,
+ 0x13, 0xf, 0xfe, 0xc0, 0, 0,
+ 0x2, 0xfe, 0x86, 0, 0,
+ 0x1, 0xf8, 0x90,
+ 0x11, 0xd7,
+ 0x2, 0xfe, 0x30, 0, 0,
+ 0x2, 0xfe, 0x32, 0, 0,
+ 0x1, 0xfe, 0x34,
+ 0x2, 0xfe, 0x80, 0x38, 0x30,
+ 0x2, 0xfe, 0x82, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x34, 0x66, 0xf, 0xdb, 0, 0,
+ 0x23, 0xf, 0xdb, 0, 0,
+ 0x34, 0x66, 0xf, 0xdf, 0, 0,
+ 0x23, 0xf, 0xdf, 0, 0,
+ 0x34, 0x66, 0xf, 0xf5, 0, 0,
+ 0x23, 0xf, 0xf5, 0, 0,
+ 0x34, 0x66, 0xf, 0xeb, 0, 0,
+ 0x23, 0xf, 0xeb, 0, 0,
+ 0x34, 0x66, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x23, 0xf, 0xae, 0x38, 0x8,
+ 0x23, 0xf, 0xae, 0x38, 0,
+ 0x23, 0xf, 0xae, 0x38, 0x10,
+ 0x23, 0xf, 0xae, 0x38, 0x18,
+ 0x34, 0xf2, 0xf, 0x10, 0, 0,
+ 0x34, 0xf3, 0xf, 0x10, 0, 0,
+ 0x34, 0x66, 0xf, 0x10, 0, 0,
+ 0x23, 0xf, 0x10, 0, 0,
+ 0x34, 0xf2, 0xf, 0x11, 0, 0,
+ 0x34, 0xf3, 0xf, 0x11, 0, 0,
+ 0x34, 0x66, 0xf, 0x11, 0, 0,
+ 0x23, 0xf, 0x11, 0, 0,
+ 0x34, 0xf2, 0xf, 0x12, 0, 0,
+ 0x34, 0xf3, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x12, 0, 0,
+ 0x23, 0xf, 0x12, 0xc0, 0xc0,
+ 0x23, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
+ 0x23, 0xf, 0x13, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x13, 0, 0,
+ 0x23, 0xf, 0x13, 0, 0,
+ 0x34, 0x66, 0xf, 0x14, 0, 0,
+ 0x23, 0xf, 0x14, 0, 0,
+ 0x34, 0x66, 0xf, 0x15, 0, 0,
+ 0x23, 0xf, 0x15, 0, 0,
+ 0x34, 0xf3, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x16, 0, 0,
+ 0x23, 0xf, 0x16, 0xc0, 0xc0,
+ 0x23, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
+ 0x23, 0xf, 0x17, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x17, 0, 0,
+ 0x23, 0xf, 0x17, 0, 0,
+ 0x34, 0x66, 0xf, 0x28, 0, 0,
+ 0x23, 0xf, 0x28, 0, 0,
+ 0x34, 0x66, 0xf, 0x29, 0, 0,
+ 0x23, 0xf, 0x29, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2a, 0, 0,
+ 0x23, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2b, 0, 0,
+ 0x23, 0xf, 0x2b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2c, 0, 0,
+ 0x23, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2d, 0, 0,
+ 0x23, 0xf, 0x2d, 0, 0,
+ 0x34, 0x66, 0xf, 0x2e, 0, 0,
+ 0x23, 0xf, 0x2e, 0, 0,
+ 0x34, 0x66, 0xf, 0x2f, 0, 0,
+ 0x23, 0xf, 0x2f, 0, 0,
+ 0x22, 0xf, 0x37,
+ 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
+ 0x23, 0xf, 0x50, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x51, 0, 0,
+ 0x34, 0xf2, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x51, 0, 0,
+ 0x23, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x52, 0, 0,
+ 0x23, 0xf, 0x52, 0, 0,
+ 0x34, 0xf3, 0xf, 0x53, 0, 0,
+ 0x23, 0xf, 0x53, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x34, 0x66, 0xf, 0x56, 0, 0,
+ 0x23, 0xf, 0x56, 0, 0,
+ 0x34, 0x66, 0xf, 0x57, 0, 0,
+ 0x23, 0xf, 0x57, 0, 0,
+ 0x34, 0xf2, 0xf, 0x58, 0, 0,
+ 0x34, 0xf3, 0xf, 0x58, 0, 0,
+ 0x34, 0x66, 0xf, 0x58, 0, 0,
+ 0x23, 0xf, 0x58, 0, 0,
+ 0x34, 0xf2, 0xf, 0x59, 0, 0,
+ 0x34, 0xf3, 0xf, 0x59, 0, 0,
+ 0x34, 0x66, 0xf, 0x59, 0, 0,
+ 0x23, 0xf, 0x59, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5a, 0, 0,
+ 0x23, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5b, 0, 0,
+ 0x23, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5c, 0, 0,
+ 0x34, 0x66, 0xf, 0x5c, 0, 0,
+ 0x23, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5d, 0, 0,
+ 0x34, 0x66, 0xf, 0x5d, 0, 0,
+ 0x23, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5e, 0, 0,
+ 0x34, 0x66, 0xf, 0x5e, 0, 0,
+ 0x23, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x5f, 0, 0,
+ 0x23, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x60, 0, 0,
+ 0x23, 0xf, 0x60, 0, 0,
+ 0x34, 0x66, 0xf, 0x61, 0, 0,
+ 0x23, 0xf, 0x61, 0, 0,
+ 0x34, 0x66, 0xf, 0x62, 0, 0,
+ 0x23, 0xf, 0x62, 0, 0,
+ 0x34, 0x66, 0xf, 0x63, 0, 0,
+ 0x23, 0xf, 0x63, 0, 0,
+ 0x34, 0x66, 0xf, 0x64, 0, 0,
+ 0x23, 0xf, 0x64, 0, 0,
+ 0x34, 0x66, 0xf, 0x65, 0, 0,
+ 0x23, 0xf, 0x65, 0, 0,
+ 0x34, 0x66, 0xf, 0x66, 0, 0,
+ 0x23, 0xf, 0x66, 0, 0,
+ 0x34, 0x66, 0xf, 0x67, 0, 0,
+ 0x23, 0xf, 0x67, 0, 0,
+ 0x34, 0x66, 0xf, 0x68, 0, 0,
+ 0x23, 0xf, 0x68, 0, 0,
+ 0x34, 0x66, 0xf, 0x69, 0, 0,
+ 0x23, 0xf, 0x69, 0, 0,
+ 0x34, 0x66, 0xf, 0x6a, 0, 0,
+ 0x23, 0xf, 0x6a, 0, 0,
+ 0x34, 0x66, 0xf, 0x6b, 0, 0,
+ 0x23, 0xf, 0x6b, 0, 0,
+ 0x34, 0x66, 0xf, 0x6c, 0, 0,
+ 0x34, 0x66, 0xf, 0x6d, 0, 0,
+ 0x34, 0x66, 0xf, 0x6e, 0, 0,
+ 0x23, 0xf, 0x6e, 0, 0,
+ 0x34, 0x66, 0xf, 0x6f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x6f, 0, 0,
+ 0x23, 0xf, 0x6f, 0, 0,
+ 0x34, 0x66, 0xf, 0x70, 0, 0,
+ 0x34, 0xf2, 0xf, 0x70, 0, 0,
+ 0x34, 0xf3, 0xf, 0x70, 0, 0,
+ 0x23, 0xf, 0x70, 0, 0,
+ 0x34, 0x66, 0xf, 0x74, 0, 0,
+ 0x23, 0xf, 0x74, 0, 0,
+ 0x34, 0x66, 0xf, 0x75, 0, 0,
+ 0x23, 0xf, 0x75, 0, 0,
+ 0x34, 0x66, 0xf, 0x76, 0, 0,
+ 0x23, 0xf, 0x76, 0, 0,
+ 0x34, 0x66, 0xf, 0x7c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7c, 0, 0,
+ 0x34, 0x66, 0xf, 0x7d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7d, 0, 0,
+ 0x34, 0x66, 0xf, 0x7e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7e, 0, 0,
+ 0x23, 0xf, 0x7e, 0, 0,
+ 0x34, 0x66, 0xf, 0x7f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0xc3, 0, 0,
+ 0x34, 0x66, 0xf, 0xc4, 0, 0,
+ 0x23, 0xf, 0xc4, 0, 0,
+ 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x23, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xc6, 0, 0,
+ 0x23, 0xf, 0xc6, 0, 0,
+ 0x34, 0x66, 0xf, 0xd1, 0, 0,
+ 0x23, 0xf, 0xd1, 0, 0,
+ 0x34, 0x66, 0xf, 0xd2, 0, 0,
+ 0x23, 0xf, 0xd2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd3, 0, 0,
+ 0x23, 0xf, 0xd3, 0, 0,
+ 0x34, 0x66, 0xf, 0xd4, 0, 0,
+ 0x23, 0xf, 0xd4, 0, 0,
+ 0x34, 0x66, 0xf, 0xd5, 0, 0,
+ 0x23, 0xf, 0xd5, 0, 0,
+ 0x34, 0x66, 0xf, 0xd6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd8, 0, 0,
+ 0x23, 0xf, 0xd8, 0, 0,
+ 0x34, 0x66, 0xf, 0xd9, 0, 0,
+ 0x23, 0xf, 0xd9, 0, 0,
+ 0x34, 0x66, 0xf, 0xda, 0, 0,
+ 0x23, 0xf, 0xda, 0, 0,
+ 0x34, 0x66, 0xf, 0xdc, 0, 0,
+ 0x23, 0xf, 0xdc, 0, 0,
+ 0x34, 0x66, 0xf, 0xdd, 0, 0,
+ 0x23, 0xf, 0xdd, 0, 0,
+ 0x34, 0x66, 0xf, 0xde, 0, 0,
+ 0x23, 0xf, 0xde, 0, 0,
+ 0x34, 0x66, 0xf, 0xe0, 0, 0,
+ 0x23, 0xf, 0xe0, 0, 0,
+ 0x34, 0x66, 0xf, 0xe1, 0, 0,
+ 0x23, 0xf, 0xe1, 0, 0,
+ 0x34, 0x66, 0xf, 0xe2, 0, 0,
+ 0x23, 0xf, 0xe2, 0, 0,
+ 0x34, 0x66, 0xf, 0xe3, 0, 0,
+ 0x23, 0xf, 0xe3, 0, 0,
+ 0x34, 0x66, 0xf, 0xe4, 0, 0,
+ 0x23, 0xf, 0xe4, 0, 0,
+ 0x34, 0x66, 0xf, 0xe5, 0, 0,
+ 0x23, 0xf, 0xe5, 0, 0,
+ 0x34, 0x66, 0xf, 0xe7, 0, 0,
+ 0x23, 0xf, 0xe7, 0, 0,
+ 0x34, 0x66, 0xf, 0xe8, 0, 0,
+ 0x23, 0xf, 0xe8, 0, 0,
+ 0x34, 0x66, 0xf, 0xe9, 0, 0,
+ 0x23, 0xf, 0xe9, 0, 0,
+ 0x34, 0x66, 0xf, 0xea, 0, 0,
+ 0x23, 0xf, 0xea, 0, 0,
+ 0x34, 0x66, 0xf, 0xec, 0, 0,
+ 0x23, 0xf, 0xec, 0, 0,
+ 0x34, 0x66, 0xf, 0xed, 0, 0,
+ 0x23, 0xf, 0xed, 0, 0,
+ 0x34, 0x66, 0xf, 0xee, 0, 0,
+ 0x23, 0xf, 0xee, 0, 0,
+ 0x34, 0xf2, 0xf, 0xf0, 0, 0,
+ 0x34, 0x66, 0xf, 0xf1, 0, 0,
+ 0x23, 0xf, 0xf1, 0, 0,
+ 0x34, 0x66, 0xf, 0xf2, 0, 0,
+ 0x23, 0xf, 0xf2, 0, 0,
+ 0x34, 0x66, 0xf, 0xf3, 0, 0,
+ 0x23, 0xf, 0xf3, 0, 0,
+ 0x34, 0x66, 0xf, 0xf4, 0, 0,
+ 0x23, 0xf, 0xf4, 0, 0,
+ 0x34, 0x66, 0xf, 0xf6, 0, 0,
+ 0x23, 0xf, 0xf6, 0, 0,
+ 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xf8, 0, 0,
+ 0x23, 0xf, 0xf8, 0, 0,
+ 0x34, 0x66, 0xf, 0xf9, 0, 0,
+ 0x23, 0xf, 0xf9, 0, 0,
+ 0x34, 0x66, 0xf, 0xfa, 0, 0,
+ 0x23, 0xf, 0xfa, 0, 0,
+ 0x34, 0x66, 0xf, 0xfb, 0, 0,
+ 0x23, 0xf, 0xfb, 0, 0,
+ 0x34, 0x66, 0xf, 0xfc, 0, 0,
+ 0x23, 0xf, 0xfc, 0, 0,
+ 0x34, 0x66, 0xf, 0xfd, 0, 0,
+ 0x23, 0xf, 0xfd, 0, 0,
+ 0x34, 0x66, 0xf, 0xfe, 0, 0,
+ 0x23, 0xf, 0xfe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
+ 0x34, 0xf, 0x38, 0, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
+ 0x34, 0xf, 0x38, 0x1, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
+ 0x34, 0xf, 0x38, 0x2, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
+ 0x34, 0xf, 0x38, 0x3, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
+ 0x34, 0xf, 0x38, 0x4, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
+ 0x34, 0xf, 0x38, 0x5, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
+ 0x34, 0xf, 0x38, 0x6, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
+ 0x34, 0xf, 0x38, 0x7, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
+ 0x34, 0xf, 0x38, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
+ 0x34, 0xf, 0x38, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
+ 0x34, 0xf, 0x38, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
+ 0x34, 0xf, 0x38, 0xb, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
+ 0x34, 0xf, 0x38, 0x1c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
+ 0x34, 0xf, 0x38, 0x1d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
+ 0x34, 0xf, 0x38, 0x1e, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
+ 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x38,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
+ 0x23, 0xf, 0x71, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
+ 0x23, 0xf, 0x71, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
+ 0x23, 0xf, 0x71, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
+ 0x23, 0xf, 0x72, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
+ 0x23, 0xf, 0x72, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
+ 0x23, 0xf, 0x72, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
+ 0x23, 0xf, 0x73, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
+ 0x23, 0xf, 0x73, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
+ 0x33, 0xf, 0xae, 0xe8,
+ 0x33, 0xf, 0xae, 0xf0,
+ 0x33, 0xf, 0xae, 0xf8,
+ 0x23, 0xf, 0xae, 0x38, 0x38,
+ 0x23, 0xf, 0xf, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
+ 0x1, 0xe7, 0x7,
+};
diff --git a/elfutils/libdw/ChangeLog b/elfutils/libdw/ChangeLog
index 8ec74857..98b67f4a 100644
--- a/elfutils/libdw/ChangeLog
+++ b/elfutils/libdw/ChangeLog
@@ -1,3 +1,60 @@
+2012-01-31 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset.
+
+2011-11-31 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
+
+2011-07-14 Mark Wielaard <mjw@redhat.com>
+
+ * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
+
+2011-05-16 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
+ DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret):
+ New.
+
+2011-04-26 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf_child (dwarf_child): Sanity check end of section against
+ cu_data () of die->cu.
+
+2011-03-22 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf.h: Add DW_TAG_GNU_call_site,
+ DW_TAG_GNU_call_site_parameter,
+ DW_AT_GNU_call_site_value,
+ DW_AT_GNU_call_site_data_value,
+ DW_AT_GNU_call_site_target,
+ DW_AT_GNU_call_site_target_clobbered,
+ DW_AT_GNU_tail_call,
+ DW_AT_GNU_all_tail_call_sites,
+ DW_AT_GNU_all_call_sites,
+ DW_AT_GNU_all_source_call_sites,
+ and DW_OP_GNU_entry_value.
+
+2011-03-10 Petr Machata <pmachata@redhat.com>
+
+ * libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for
+ abbreviation with code 0.
+
+2011-03-09 Petr Machata <pmachata@redhat.com>
+
+ * libdw/dwarf_child.c (dwarf_child): Check for section overrun.
+
+2011-02-23 Roland McGrath <roland@redhat.com>
+
+ * libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask.
+ Declare __libdw_free_zdata.
+ * dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function.
+ (dwarf_end): Call it.
+
+ * dwarf_begin_elf.c (valid_p): Likewise.
+ (check_section, scngrp_read): Likewise.
+ (check_section) [USE_ZLIB]: Grok .z* flavors of sections.
+
2010-10-13 Roland McGrath <roland@redhat.com>
* dwarf.h: Add DW_LANG_Go.
diff --git a/elfutils/libdw/Makefile.am b/elfutils/libdw/Makefile.am
index 598bdd1f..1efda358 100644
--- a/elfutils/libdw/Makefile.am
+++ b/elfutils/libdw/Makefile.am
@@ -90,7 +90,7 @@ if MAINTAINER_MODE
BUILT_SOURCES = $(srcdir)/known-dwarf.h
MAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
$(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
- $(AWK) -f $^ > $@.new
+ gawk -f $^ > $@.new
mv -f $@.new $@
endif
diff --git a/elfutils/libdw/Makefile.in b/elfutils/libdw/Makefile.in
index 9b3c03e1..6cbfeaaf 100644
--- a/elfutils/libdw/Makefile.in
+++ b/elfutils/libdw/Makefile.in
@@ -826,7 +826,7 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES \
@AMDEP_TRUE@ fi
@AMDEP_FALSE@ $(COMPILE.os) -c -o $@ -fpic -DPIC -DSHARED $<
@MAINTAINER_MODE_TRUE@$(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
-@MAINTAINER_MODE_TRUE@ $(AWK) -f $^ > $@.new
+@MAINTAINER_MODE_TRUE@ gawk -f $^ > $@.new
@MAINTAINER_MODE_TRUE@ mv -f $@.new $@
@MUDFLAP_FALSE@libdw.so: $(srcdir)/libdw.map libdw_pic.a \
@MUDFLAP_FALSE@ ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
diff --git a/elfutils/libdw/dwarf.h b/elfutils/libdw/dwarf.h
index 940ffe33..e6a83670 100644
--- a/elfutils/libdw/dwarf.h
+++ b/elfutils/libdw/dwarf.h
@@ -1,5 +1,5 @@
/* This file defines standard DWARF types, structures, and macros.
- Copyright (C) 2000-2010 Red Hat, Inc.
+ Copyright (C) 2000-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -128,6 +128,8 @@ enum
DW_TAG_GNU_template_template_param = 0x4106,
DW_TAG_GNU_template_parameter_pack = 0x4107,
DW_TAG_GNU_formal_parameter_pack = 0x4108,
+ DW_TAG_GNU_call_site = 0x4109,
+ DW_TAG_GNU_call_site_parameter = 0x410a,
DW_TAG_hi_user = 0xffff
};
@@ -277,6 +279,14 @@ enum
DW_AT_GNU_shared_locks_required = 0x210e,
DW_AT_GNU_odr_signature = 0x210f,
DW_AT_GNU_template_name = 0x2110,
+ DW_AT_GNU_call_site_value = 0x2111,
+ DW_AT_GNU_call_site_data_value = 0x2112,
+ DW_AT_GNU_call_site_target = 0x2113,
+ DW_AT_GNU_call_site_target_clobbered = 0x2114,
+ DW_AT_GNU_tail_call = 0x2115,
+ DW_AT_GNU_all_tail_call_sites = 0x2116,
+ DW_AT_GNU_all_call_sites = 0x2117,
+ DW_AT_GNU_all_source_call_sites = 0x2118,
DW_AT_hi_user = 0x3fff
};
@@ -476,6 +486,12 @@ enum
DW_OP_GNU_uninit = 0xf0,
DW_OP_GNU_encoded_addr = 0xf1,
DW_OP_GNU_implicit_pointer = 0xf2,
+ DW_OP_GNU_entry_value = 0xf3,
+ DW_OP_GNU_const_type = 0xf4,
+ DW_OP_GNU_regval_type = 0xf5,
+ DW_OP_GNU_deref_type = 0xf6,
+ DW_OP_GNU_convert = 0xf7,
+ DW_OP_GNU_reinterpret = 0xf9,
DW_OP_lo_user = 0xe0, /* Implementation-defined range start. */
DW_OP_hi_user = 0xff /* Implementation-defined range end. */
diff --git a/elfutils/libdw/dwarf_begin_elf.c b/elfutils/libdw/dwarf_begin_elf.c
index b5fb7c91..9ec7d51f 100644
--- a/elfutils/libdw/dwarf_begin_elf.c
+++ b/elfutils/libdw/dwarf_begin_elf.c
@@ -1,5 +1,5 @@
/* Create descriptor from ELF descriptor for processing file.
- Copyright (C) 2002-2010 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -61,6 +61,13 @@
#include "libdwP.h"
+#if USE_ZLIB
+# include <endian.h>
+# define crc32 loser_crc32
+# include <zlib.h>
+# undef crc32
+#endif
+
/* Section names. */
static const char dwarf_scnnames[IDX_last][17] =
@@ -117,6 +124,7 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
{
/* The section name must be valid. Otherwise is the ELF file
invalid. */
+ __libdw_free_zdata (result);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
return NULL;
@@ -141,6 +149,76 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
break;
}
+#if USE_ZLIB
+ else if (scnname[0] == '.' && scnname[1] == 'z'
+ && strcmp (&scnname[2], &dwarf_scnnames[cnt][1]) == 0)
+ {
+ /* A compressed section. */
+
+ if (unlikely (result->sectiondata[cnt] != NULL))
+ /* A section appears twice. That's bad. We ignore the section. */
+ break;
+
+ /* Get the section data. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+ if (data != NULL && data->d_size != 0)
+ {
+ /* There is a 12-byte header of "ZLIB" followed by
+ an 8-byte big-endian size. */
+
+ if (unlikely (data->d_size < 4 + 8)
+ || unlikely (memcmp (data->d_buf, "ZLIB", 4) != 0))
+ break;
+
+ uint64_t size;
+ memcpy (&size, data->d_buf + 4, sizeof size);
+ size = be64toh (size);
+
+ Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
+ if (unlikely (zdata == NULL))
+ break;
+
+ zdata->d_buf = &zdata[1];
+ zdata->d_type = ELF_T_BYTE;
+ zdata->d_version = EV_CURRENT;
+ zdata->d_size = size;
+ zdata->d_off = 0;
+ zdata->d_align = 1;
+
+ z_stream z =
+ {
+ .next_in = data->d_buf + 4 + 8,
+ .avail_in = data->d_size - 4 - 8,
+ .next_out = zdata->d_buf,
+ .avail_out = zdata->d_size
+ };
+ int zrc = inflateInit (&z);
+ while (z.avail_in > 0 && likely (zrc == Z_OK))
+ {
+ z.next_out = zdata->d_buf + (zdata->d_size - z.avail_out);
+ zrc = inflate (&z, Z_FINISH);
+ if (unlikely (zrc != Z_STREAM_END))
+ {
+ zrc = Z_DATA_ERROR;
+ break;
+ }
+ zrc = inflateReset (&z);
+ }
+ if (likely (zrc == Z_OK))
+ zrc = inflateEnd (&z);
+
+ if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0))
+ free (zdata);
+ else
+ {
+ result->sectiondata[cnt] = zdata;
+ result->sectiondata_gzip_mask |= 1U << cnt;
+ }
+ }
+
+ break;
+ }
+#endif
return result;
}
@@ -159,6 +237,7 @@ valid_p (Dwarf *result)
if (likely (result != NULL)
&& unlikely (result->sectiondata[IDX_debug_info] == NULL))
{
+ __libdw_free_zdata (result);
__libdw_seterrno (DWARF_E_NO_DWARF);
free (result);
result = NULL;
@@ -189,6 +268,7 @@ scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp)
if (data == NULL)
{
/* We cannot read the section content. Fail! */
+ __libdw_free_zdata (result);
free (result);
return NULL;
}
@@ -204,6 +284,7 @@ scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp)
{
/* A section group refers to a non-existing section. Should
never happen. */
+ __libdw_free_zdata (result);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
return NULL;
diff --git a/elfutils/libdw/dwarf_child.c b/elfutils/libdw/dwarf_child.c
index 0080cf9d..0c2df004 100644
--- a/elfutils/libdw/dwarf_child.c
+++ b/elfutils/libdw/dwarf_child.c
@@ -1,5 +1,5 @@
/* Return child of current DIE.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
+ Copyright (C) 2003-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -175,18 +175,27 @@ dwarf_child (die, result)
if (addr == NULL)
return -1;
+ /* RESULT can be the same as DIE. So preserve what we need. */
+ struct Dwarf_CU *cu = die->cu;
+ Elf_Data *cu_sec = cu_data (cu);
+
/* It's kosher (just suboptimal) to have a null entry first thing (7.5.3).
So if this starts with ULEB128 of 0 (even with silly encoding of 0),
it is a kosher null entry and we do not really have any children. */
const unsigned char *code = addr;
- while (unlikely (*code == 0x80))
- ++code;
+ const unsigned char *endp = (cu_sec->d_buf + cu_sec->d_size);
+ while (1)
+ {
+ if (unlikely (code >= endp)) /* Truncated section. */
+ return 1;
+ if (unlikely (*code == 0x80))
+ ++code;
+ else
+ break;
+ }
if (unlikely (*code == '\0'))
return 1;
- /* RESULT can be the same as DIE. So preserve what we need. */
- struct Dwarf_CU *cu = die->cu;
-
/* Clear the entire DIE structure. This signals we have not yet
determined any of the information. */
memset (result, '\0', sizeof (Dwarf_Die));
diff --git a/elfutils/libdw/dwarf_end.c b/elfutils/libdw/dwarf_end.c
index ec10542e..1e733cae 100644
--- a/elfutils/libdw/dwarf_end.c
+++ b/elfutils/libdw/dwarf_end.c
@@ -1,5 +1,5 @@
/* Release debugging handling context.
- Copyright (C) 2002-2010 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -54,6 +54,8 @@
#include <search.h>
#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
#include "libdwP.h"
#include "cfi.h"
@@ -76,6 +78,24 @@ cu_free (void *arg)
}
+#if USE_ZLIB
+void
+internal_function
+__libdw_free_zdata (Dwarf *dwarf)
+{
+ unsigned int gzip_mask = dwarf->sectiondata_gzip_mask;
+ while (gzip_mask != 0)
+ {
+ int i = ffs (gzip_mask);
+ assert (i > 0);
+ --i;
+ assert (i < IDX_last);
+ free (dwarf->sectiondata[i]);
+ gzip_mask &= ~(1U << i);
+ }
+}
+#endif
+
int
dwarf_end (dwarf)
Dwarf *dwarf;
@@ -106,6 +126,8 @@ dwarf_end (dwarf)
/* Free the pubnames helper structure. */
free (dwarf->pubnames_sets);
+ __libdw_free_zdata (dwarf);
+
/* Free the ELF descriptor if necessary. */
if (dwarf->free_elf)
elf_end (dwarf->elf);
diff --git a/elfutils/libdw/dwarf_formudata.c b/elfutils/libdw/dwarf_formudata.c
index 573a5783..07efbe0b 100644
--- a/elfutils/libdw/dwarf_formudata.c
+++ b/elfutils/libdw/dwarf_formudata.c
@@ -1,5 +1,5 @@
/* Return unsigned constant represented by attribute.
- Copyright (C) 2003-2010 Red Hat, Inc.
+ Copyright (C) 2003-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -134,11 +134,83 @@ dwarf_formudata (attr, return_uval)
case DW_FORM_data4:
case DW_FORM_data8:
- if (__libdw_read_address (attr->cu->dbg, cu_sec_idx (attr->cu),
- attr->valp,
- attr->form == DW_FORM_data4 ? 4 : 8,
- return_uval))
- return -1;
+ case DW_FORM_sec_offset:
+ /* Before DWARF4 data4 and data8 are pure constants unless the
+ attribute also allows offsets (*ptr classes), since DWARF4
+ they are always just constants (start_scope is special though,
+ since it only could express a rangelist since DWARF4). */
+ if (attr->form == DW_FORM_sec_offset
+ || (attr->cu->version < 4 && attr->code != DW_AT_start_scope))
+ {
+ switch (attr->code)
+ {
+ case DW_AT_data_member_location:
+ case DW_AT_frame_base:
+ case DW_AT_location:
+ case DW_AT_return_addr:
+ case DW_AT_segment:
+ case DW_AT_static_link:
+ case DW_AT_string_length:
+ case DW_AT_use_location:
+ case DW_AT_vtable_elem_location:
+ /* loclistptr */
+ if (__libdw_formptr (attr, IDX_debug_loc,
+ DWARF_E_NO_LOCLIST, NULL,
+ return_uval) == NULL)
+ return -1;
+ break;
+
+ case DW_AT_macro_info:
+ /* macptr */
+ if (__libdw_formptr (attr, IDX_debug_macinfo,
+ DWARF_E_NO_ENTRY, NULL,
+ return_uval) == NULL)
+ return -1;
+ break;
+
+ case DW_AT_ranges:
+ case DW_AT_start_scope:
+ /* rangelistptr */
+ if (__libdw_formptr (attr, IDX_debug_ranges,
+ DWARF_E_NO_DEBUG_RANGES, NULL,
+ return_uval) == NULL)
+ return -1;
+ break;
+
+ case DW_AT_stmt_list:
+ /* lineptr */
+ if (__libdw_formptr (attr, IDX_debug_line,
+ DWARF_E_NO_DEBUG_LINE, NULL,
+ return_uval) == NULL)
+ return -1;
+ break;
+
+ default:
+ /* sec_offset can only be used by one of the above attrs. */
+ if (attr->form == DW_FORM_sec_offset)
+ {
+ __libdw_seterrno (DWARF_E_INVALID_DWARF);
+ return -1;
+ }
+
+ /* Not one of the special attributes, just a constant. */
+ if (__libdw_read_address (attr->cu->dbg, cu_sec_idx (attr->cu),
+ attr->valp,
+ attr->form == DW_FORM_data4 ? 4 : 8,
+ return_uval))
+ return -1;
+ break;
+ }
+ }
+ else
+ {
+ /* We are dealing with a constant data4 or data8. */
+ if (__libdw_read_address (attr->cu->dbg, cu_sec_idx (attr->cu),
+ attr->valp,
+ attr->form == DW_FORM_data4 ? 4 : 8,
+ return_uval))
+ return -1;
+ }
break;
case DW_FORM_sdata:
diff --git a/elfutils/libdw/dwarf_tag.c b/elfutils/libdw/dwarf_tag.c
index 15183d2d..fa8b384c 100644
--- a/elfutils/libdw/dwarf_tag.c
+++ b/elfutils/libdw/dwarf_tag.c
@@ -1,5 +1,5 @@
/* Return tag of given DIE.
- Copyright (C) 2003, 2004, 2005, 2006, 2008 Red Hat, Inc.
+ Copyright (C) 2003-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -61,6 +61,10 @@ __libdw_findabbrev (struct Dwarf_CU *cu, unsigned int code)
{
Dwarf_Abbrev *abb;
+ /* Abbreviation code can never have a value of 0. */
+ if (unlikely (code == 0))
+ return DWARF_END_ABBREV;
+
/* See whether the entry is already in the hash table. */
abb = Dwarf_Abbrev_Hash_find (&cu->abbrev_hash, code, NULL);
if (abb == NULL)
@@ -86,6 +90,11 @@ __libdw_findabbrev (struct Dwarf_CU *cu, unsigned int code)
break;
}
+ /* This is our second (or third, etc.) call to __libdw_findabbrev
+ and the code is invalid. */
+ if (unlikely (abb == NULL))
+ abb = DWARF_END_ABBREV;
+
return abb;
}
diff --git a/elfutils/libdw/libdw.h b/elfutils/libdw/libdw.h
index d36238ed..e001b7a4 100644
--- a/elfutils/libdw/libdw.h
+++ b/elfutils/libdw/libdw.h
@@ -346,7 +346,7 @@ extern Dwarf_CFI *dwarf_getcfi_elf (Elf *elf);
extern int dwarf_cfi_end (Dwarf_CFI *cache);
-/* Return DIE at given offset in .debug_types section. */
+/* Return DIE at given offset in .debug_info section. */
extern Dwarf_Die *dwarf_offdie (Dwarf *dbg, Dwarf_Off offset,
Dwarf_Die *result) __nonnull_attribute__ (3);
diff --git a/elfutils/libdw/libdwP.h b/elfutils/libdw/libdwP.h
index da6efc53..b84bf02c 100644
--- a/elfutils/libdw/libdwP.h
+++ b/elfutils/libdw/libdwP.h
@@ -1,5 +1,5 @@
/* Internal definitions for libdwarf.
- Copyright (C) 2002-2010 Red Hat, Inc.
+ Copyright (C) 2002-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -150,6 +150,11 @@ struct Dwarf
/* The section data. */
Elf_Data *sectiondata[IDX_last];
+#if USE_ZLIB
+ /* The 1 << N bit is set if sectiondata[N] is malloc'd decompressed data. */
+ unsigned int sectiondata_gzip_mask:IDX_last;
+#endif
+
/* True if the file has a byte order different from the host. */
bool other_byte_order;
@@ -385,6 +390,12 @@ extern void *__libdw_allocate (Dwarf *dbg, size_t minsize, size_t align)
/* Default OOM handler. */
extern void __libdw_oom (void) __attribute ((noreturn, visibility ("hidden")));
+#if USE_ZLIB
+extern void __libdw_free_zdata (Dwarf *dwarf) internal_function;
+#else
+# define __libdw_free_zdata(dwarf) ((void) (dwarf))
+#endif
+
/* Allocate the internal data for a unit not seen before. */
extern struct Dwarf_CU *__libdw_intern_next_unit (Dwarf *dbg, bool debug_types)
__nonnull_attribute__ (1) internal_function;
diff --git a/elfutils/libdwfl/ChangeLog b/elfutils/libdwfl/ChangeLog
index 0cbeb850..87a05550 100644
--- a/elfutils/libdwfl/ChangeLog
+++ b/elfutils/libdwfl/ChangeLog
@@ -1,3 +1,46 @@
+2011-12-02 Roland McGrath <roland@hack.frob.com>
+
+ * elf-from-memory.c (elf_from_remote_memory): Fix ELFCLASS64 case
+ to use elf64_xlatetom and PHDRS.p64.
+ Reported by Serge Pavlov <serge.pavlov.at.gnu@gmail.com>.
+
+2011-11-31 Mark Wielaard <mjw@redhat.com>
+
+ * dwfl_module_addrsym.c (dwfl_module_addrsym): First search all
+ global symbols. Then only when that doesn't provide a match search
+ all local symbols too.
+ * dwfl_module_getdwarf.c (load_symtab): Take first_global int arg
+ and fill it in.
+ (find_symtab): Initialize mod->first_global and pass it to load_symtab.
+ * libdwfl/libdwflP.h (Dwfl_Module): Add first_global field.
+
+2011-11-31 Mark Wielaard <mjw@redhat.com>
+
+ * dwfl_module_addrsym.c (dwfl_module_addrsym): Only update
+ sizeless_sym if needed and closer to desired addr.
+
+2011-10-20 Mark Wielaard <mjw@redhat.com>
+
+ * derelocate.c (cache_sections): Intern mod->reloc_info check.
+ (dwfl_module_relocations): Don't check mod->reloc_info.
+ (dwfl_module_relocation_info): Likewise.
+ (find_section): Likewise.
+
+2011-07-09 Roland McGrath <roland@hack.frob.com>
+
+ * image-header.c (LE32): Macro removed (now in lib/system.h).
+
+2011-04-11 Mark Wielaard <mjw@redhat.com>
+
+ * linux-kernel-modules.c (vmlinux_suffixes): Guard definition
+ by check for zlib, bzlib or lzma defines to check it isn't empty.
+ (try_kernel_name): Use same guard for use of vmlinux_suffixes.
+
+2011-03-08 Roland McGrath <roland@redhat.com>
+
+ * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
+ Reported by Kurt Roeckx <kurt@roeckx.be>.
+
2011-02-11 Roland McGrath <roland@redhat.com>
* linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
diff --git a/elfutils/libdwfl/derelocate.c b/elfutils/libdwfl/derelocate.c
index ba6d9db4..b8c8dd73 100644
--- a/elfutils/libdwfl/derelocate.c
+++ b/elfutils/libdwfl/derelocate.c
@@ -90,6 +90,9 @@ compare_secrefs (const void *a, const void *b)
static int
cache_sections (Dwfl_Module *mod)
{
+ if (likely (mod->reloc_info != NULL))
+ return mod->reloc_info->count;
+
struct secref *refs = NULL;
size_t nrefs = 0;
@@ -227,9 +230,6 @@ dwfl_module_relocations (Dwfl_Module *mod)
if (mod == NULL)
return -1;
- if (mod->reloc_info != NULL)
- return mod->reloc_info->count;
-
switch (mod->e_type)
{
case ET_REL:
@@ -269,7 +269,7 @@ dwfl_module_relocation_info (Dwfl_Module *mod, unsigned int idx,
return NULL;
}
- if (unlikely (mod->reloc_info == NULL) && cache_sections (mod) < 0)
+ if (cache_sections (mod) < 0)
return NULL;
struct dwfl_relocation *sections = mod->reloc_info;
@@ -318,7 +318,7 @@ check_module (Dwfl_Module *mod)
static int
find_section (Dwfl_Module *mod, Dwarf_Addr *addr)
{
- if (unlikely (mod->reloc_info == NULL) && cache_sections (mod) < 0)
+ if (cache_sections (mod) < 0)
return -1;
struct dwfl_relocation *sections = mod->reloc_info;
diff --git a/elfutils/libdwfl/dwfl_module_addrsym.c b/elfutils/libdwfl/dwfl_module_addrsym.c
index a9f98f44..9ced0cfb 100644
--- a/elfutils/libdwfl/dwfl_module_addrsym.c
+++ b/elfutils/libdwfl/dwfl_module_addrsym.c
@@ -1,5 +1,5 @@
/* Find debugging and symbol information for a module in libdwfl.
- Copyright (C) 2005-2010 Red Hat, Inc.
+ Copyright (C) 2005-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -105,67 +105,84 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
GElf_Addr min_label = 0;
/* Look through the symbol table for a matching symbol. */
- for (int i = 1; i < syments; ++i)
+ inline void search_table (int start, int end)
{
- GElf_Sym sym;
- GElf_Word shndx;
- const char *name = INTUSE(dwfl_module_getsym) (mod, i, &sym, &shndx);
- if (name != NULL && name[0] != '\0'
- && sym.st_shndx != SHN_UNDEF
- && sym.st_value <= addr
- && GELF_ST_TYPE (sym.st_info) != STT_SECTION
- && GELF_ST_TYPE (sym.st_info) != STT_FILE
- && GELF_ST_TYPE (sym.st_info) != STT_TLS)
+ for (int i = start; i < end; ++i)
{
- /* Even if we don't choose this symbol, its existence excludes
- any sizeless symbol (assembly label) that is below its upper
- bound. */
- if (sym.st_value + sym.st_size > min_label)
- min_label = sym.st_value + sym.st_size;
-
- if (sym.st_size == 0 || addr - sym.st_value < sym.st_size)
+ GElf_Sym sym;
+ GElf_Word shndx;
+ const char *name = INTUSE(dwfl_module_getsym) (mod, i, &sym, &shndx);
+ if (name != NULL && name[0] != '\0'
+ && sym.st_shndx != SHN_UNDEF
+ && sym.st_value <= addr
+ && GELF_ST_TYPE (sym.st_info) != STT_SECTION
+ && GELF_ST_TYPE (sym.st_info) != STT_FILE
+ && GELF_ST_TYPE (sym.st_info) != STT_TLS)
{
- /* This symbol is a better candidate than the current one
- if it's closer to ADDR or is global when it was local. */
- if (closest_name == NULL
- || closest_sym->st_value < sym.st_value
- || (GELF_ST_BIND (closest_sym->st_info)
- < GELF_ST_BIND (sym.st_info)))
+ /* Even if we don't choose this symbol, its existence excludes
+ any sizeless symbol (assembly label) that is below its upper
+ bound. */
+ if (sym.st_value + sym.st_size > min_label)
+ min_label = sym.st_value + sym.st_size;
+
+ if (sym.st_size == 0 || addr - sym.st_value < sym.st_size)
{
- if (sym.st_size != 0)
+ /* This symbol is a better candidate than the current one
+ if it's closer to ADDR or is global when it was local. */
+ if (closest_name == NULL
+ || closest_sym->st_value < sym.st_value
+ || (GELF_ST_BIND (closest_sym->st_info)
+ < GELF_ST_BIND (sym.st_info)))
+ {
+ if (sym.st_size != 0)
+ {
+ *closest_sym = sym;
+ closest_shndx = shndx;
+ closest_name = name;
+ }
+ else if (closest_name == NULL
+ && sym.st_value >= min_label
+ && same_section (&sym, shndx))
+ {
+ /* Handwritten assembly symbols sometimes have no
+ st_size. If no symbol with proper size includes
+ the address, we'll use the closest one that is in
+ the same section as ADDR. */
+ sizeless_sym = sym;
+ sizeless_shndx = shndx;
+ sizeless_name = name;
+ }
+ }
+ /* When the beginning of its range is no closer,
+ the end of its range might be. But do not
+ replace a global symbol with a local! */
+ else if (sym.st_size != 0
+ && closest_sym->st_value == sym.st_value
+ && closest_sym->st_size > sym.st_size
+ && (GELF_ST_BIND (closest_sym->st_info)
+ <= GELF_ST_BIND (sym.st_info)))
{
*closest_sym = sym;
closest_shndx = shndx;
closest_name = name;
}
- else if (same_section (&sym, shndx))
- {
- /* Handwritten assembly symbols sometimes have no
- st_size. If no symbol with proper size includes
- the address, we'll use the closest one that is in
- the same section as ADDR. */
- sizeless_sym = sym;
- sizeless_shndx = shndx;
- sizeless_name = name;
- }
- }
- /* When the beginning of its range is no closer,
- the end of its range might be. But do not
- replace a global symbol with a local! */
- else if (sym.st_size != 0
- && closest_sym->st_value == sym.st_value
- && closest_sym->st_size > sym.st_size
- && (GELF_ST_BIND (closest_sym->st_info)
- <= GELF_ST_BIND (sym.st_info)))
- {
- *closest_sym = sym;
- closest_shndx = shndx;
- closest_name = name;
}
}
}
}
+ /* First go through global symbols. mod->first_global is setup by
+ dwfl_module_getsymtab to the index of the first global symbol in
+ the module's symbol table, or -1 when unknown. All symbols with
+ local binding come first in the symbol table, then all globals. */
+ search_table (mod->first_global < 0 ? 1 : mod->first_global, syments);
+
+ /* If we found nothing searching the global symbols, then try the locals.
+ Unless we have a global sizeless symbol that matches exactly. */
+ if (closest_name == NULL && mod->first_global > 1
+ && (sizeless_name == NULL || sizeless_sym.st_value != addr))
+ search_table (1, mod->first_global);
+
/* If we found no proper sized symbol to use, fall back to the best
candidate sizeless symbol we found, if any. */
if (closest_name == NULL
diff --git a/elfutils/libdwfl/dwfl_module_getdwarf.c b/elfutils/libdwfl/dwfl_module_getdwarf.c
index dbb1d604..14fcd550 100644
--- a/elfutils/libdwfl/dwfl_module_getdwarf.c
+++ b/elfutils/libdwfl/dwfl_module_getdwarf.c
@@ -61,6 +61,10 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
{
if (file->elf == NULL)
{
+ /* CBFAIL uses errno if it's set, so clear it first in case we don't
+ set it with an open failure below. */
+ errno = 0;
+
/* If there was a pre-primed file name left that the callback left
behind, try to open that file name. */
if (file->fd < 0 && file->name != NULL)
@@ -564,7 +568,7 @@ find_debuginfo (Dwfl_Module *mod)
static Dwfl_Error
load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
Elf_Scn **symscn, Elf_Scn **xndxscn,
- size_t *syments, GElf_Word *strshndx)
+ size_t *syments, int *first_global, GElf_Word *strshndx)
{
bool symtab = false;
Elf_Scn *scn = NULL;
@@ -580,6 +584,7 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
*symfile = file;
*strshndx = shdr->sh_link;
*syments = shdr->sh_size / shdr->sh_entsize;
+ *first_global = shdr->sh_info;
if (*xndxscn != NULL)
return DWFL_E_NOERROR;
break;
@@ -840,11 +845,14 @@ find_symtab (Dwfl_Module *mod)
if (mod->symerr != DWFL_E_NOERROR)
return;
+ mod->first_global = -1; /* Unknown, unless explicitly set by load_symtab. */
+
/* First see if the main ELF file has the debugging information. */
Elf_Scn *symscn = NULL, *xndxscn = NULL;
GElf_Word strshndx;
mod->symerr = load_symtab (&mod->main, &mod->symfile, &symscn,
- &xndxscn, &mod->syments, &strshndx);
+ &xndxscn, &mod->syments, &mod->first_global,
+ &strshndx);
switch (mod->symerr)
{
default:
@@ -863,7 +871,8 @@ find_symtab (Dwfl_Module *mod)
case DWFL_E_NOERROR:
mod->symerr = load_symtab (&mod->debug, &mod->symfile, &symscn,
- &xndxscn, &mod->syments, &strshndx);
+ &xndxscn, &mod->syments,
+ &mod->first_global, &strshndx);
break;
case DWFL_E_CB: /* The find_debuginfo hook failed. */
@@ -902,7 +911,7 @@ find_symtab (Dwfl_Module *mod)
return;
}
- /* Cache the data; MOD->syments was set above. */
+ /* Cache the data; MOD->syments and MOD->first_global were set above. */
mod->symstrdata = elf_getdata (elf_getscn (mod->symfile->elf, strshndx),
NULL);
diff --git a/elfutils/libdwfl/elf-from-memory.c b/elfutils/libdwfl/elf-from-memory.c
index c0e7c46d..0fb5f8a3 100644
--- a/elfutils/libdwfl/elf-from-memory.c
+++ b/elfutils/libdwfl/elf-from-memory.c
@@ -1,5 +1,5 @@
/* Reconstruct an ELF file by reading the segments out of remote memory.
- Copyright (C) 2005, 2006, 2007 Red Hat, Inc.
+ Copyright (C) 2005-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -244,11 +244,11 @@ elf_from_remote_memory (GElf_Addr ehdr_vma,
break;
case ELFCLASS64:
- if (elf32_xlatetom (&xlateto, &xlatefrom,
- ehdr.e32.e_ident[EI_DATA]) == NULL)
+ if (elf64_xlatetom (&xlateto, &xlatefrom,
+ ehdr.e64.e_ident[EI_DATA]) == NULL)
goto libelf_error;
for (uint_fast16_t i = 0; i < phnum; ++i)
- if (phdrs.p32[i].p_type == PT_LOAD)
+ if (phdrs.p64[i].p_type == PT_LOAD)
handle_segment (phdrs.p64[i].p_vaddr, phdrs.p64[i].p_offset,
phdrs.p64[i].p_filesz, phdrs.p64[i].p_align);
break;
diff --git a/elfutils/libdwfl/image-header.c b/elfutils/libdwfl/image-header.c
index 6341fc8c..c36d10c1 100644
--- a/elfutils/libdwfl/image-header.c
+++ b/elfutils/libdwfl/image-header.c
@@ -1,5 +1,5 @@
/* Linux kernel image support for libdwfl.
- Copyright (C) 2009 Red Hat, Inc.
+ Copyright (C) 2009-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -55,10 +55,8 @@
#if BYTE_ORDER == LITTLE_ENDIAN
# define LE16(x) (x)
-# define LE32(x) (x)
#else
# define LE16(x) bswap_16 (x)
-# define LE32(x) bswap_32 (x)
#endif
/* See Documentation/x86/boot.txt in Linux kernel sources
diff --git a/elfutils/libdwfl/libdwflP.h b/elfutils/libdwfl/libdwflP.h
index 1f7532bf..bca82d2e 100644
--- a/elfutils/libdwfl/libdwflP.h
+++ b/elfutils/libdwfl/libdwflP.h
@@ -172,6 +172,7 @@ struct Dwfl_Module
struct dwfl_file *symfile; /* Either main or debug. */
Elf_Data *symdata; /* Data in the ELF symbol table section. */
size_t syments; /* sh_size / sh_entsize of that section. */
+ int first_global; /* Index of first global symbol of table. */
Elf_Data *symstrdata; /* Data for its string table. */
Elf_Data *symxndxdata; /* Data in the extended section index table. */
diff --git a/elfutils/libdwfl/linux-kernel-modules.c b/elfutils/libdwfl/linux-kernel-modules.c
index f3d9af10..ae74a497 100644
--- a/elfutils/libdwfl/linux-kernel-modules.c
+++ b/elfutils/libdwfl/linux-kernel-modules.c
@@ -78,6 +78,7 @@
#define MODULE_SECT_NAME_LEN 32 /* Minimum any linux/module.h has had. */
+#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA)
static const char *vmlinux_suffixes[] =
{
#ifdef USE_ZLIB
@@ -90,6 +91,7 @@ static const char *vmlinux_suffixes[] =
".xz",
#endif
};
+#endif
/* Try to open the given file as it is or under the debuginfo directory. */
static int
@@ -127,6 +129,7 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
}
}
+#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA)
if (fd < 0)
for (size_t i = 0;
i < sizeof vmlinux_suffixes / sizeof vmlinux_suffixes[0];
@@ -145,6 +148,7 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
}
}
}
+#endif
if (fd < 0)
{
diff --git a/elfutils/libebl/ChangeLog b/elfutils/libebl/ChangeLog
index 96f70ff8..ac2160de 100644
--- a/elfutils/libebl/ChangeLog
+++ b/elfutils/libebl/ChangeLog
@@ -1,3 +1,25 @@
+2011-04-26 Mark Wielaard <mjw@redhat.com>
+
+ * libebl.h (ebl_object_note_type_name): Add const char *name arg.
+ * eblhooks.h (object_note_type_name): Likewise.
+ * eblopenbackend.c (default_object_note_type_name): Likewise.
+ * eblobjnotetypename.c (ebl_object_note_type_name): Likewise.
+ And print version if name is "stapsdt".
+ * eblobjnote.c (ebl_object_note): Add output for "stapsdt" notes.
+
+2011-03-21 Marek Polacek <mpolacek@redhat.com>
+
+ * ebldynamictagname.c: Fix typo in TLSDESC_GOT.
+
+2011-03-10 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (gen_SOURCES): Add eblstother.c.
+ * eblstother.c: New file.
+ * ebl-hooks.h: Add check_st_other_bits hook.
+ * eblopenbackend.c (default_check_st_other_bits): New function.
+ (fill_defaults): Hook default_check_st_other_bits.
+ * libebl.h (ebl_check_st_other_bits): New prototype.
+
2010-07-07 Roland McGrath <roland@redhat.com>
* eblopenbackend.c (default_debugscn_p): Match .gdb_index section.
diff --git a/elfutils/libebl/Makefile.am b/elfutils/libebl/Makefile.am
index d157195e..ced5668b 100644
--- a/elfutils/libebl/Makefile.am
+++ b/elfutils/libebl/Makefile.am
@@ -50,7 +50,8 @@ gen_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \
ebl_check_special_symbol.c eblbsspltp.c eblretval.c \
eblreginfo.c eblnonerelocp.c eblrelativerelocp.c \
eblsysvhashentrysize.c eblauxvinfo.c eblcheckobjattr.c \
- ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c
+ ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c \
+ eblstother.c
libebl_a_SOURCES = $(gen_SOURCES)
diff --git a/elfutils/libebl/Makefile.in b/elfutils/libebl/Makefile.in
index 92237aa5..40edc5aa 100644
--- a/elfutils/libebl/Makefile.in
+++ b/elfutils/libebl/Makefile.in
@@ -99,7 +99,8 @@ am__objects_1 = eblopenbackend.$(OBJEXT) eblclosebackend.$(OBJEXT) \
eblnonerelocp.$(OBJEXT) eblrelativerelocp.$(OBJEXT) \
eblsysvhashentrysize.$(OBJEXT) eblauxvinfo.$(OBJEXT) \
eblcheckobjattr.$(OBJEXT) ebl_check_special_section.$(OBJEXT) \
- ebl_syscall_abi.$(OBJEXT) eblabicfi.$(OBJEXT)
+ ebl_syscall_abi.$(OBJEXT) eblabicfi.$(OBJEXT) \
+ eblstother.$(OBJEXT)
am_libebl_a_OBJECTS = $(am__objects_1)
libebl_a_OBJECTS = $(am_libebl_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
@@ -263,7 +264,8 @@ gen_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \
ebl_check_special_symbol.c eblbsspltp.c eblretval.c \
eblreginfo.c eblnonerelocp.c eblrelativerelocp.c \
eblsysvhashentrysize.c eblauxvinfo.c eblcheckobjattr.c \
- ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c
+ ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c \
+ eblstother.c
libebl_a_SOURCES = $(gen_SOURCES)
noinst_HEADERS = libeblP.h ebl-hooks.h
@@ -385,6 +387,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblsectiontypename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblsegmenttypename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblshflagscombine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblstother.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblstrtab.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblsymbolbindingname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eblsymboltypename.Po@am__quote@
diff --git a/elfutils/libebl/ebl-hooks.h b/elfutils/libebl/ebl-hooks.h
index 59e73c54..a04b3db0 100644
--- a/elfutils/libebl/ebl-hooks.h
+++ b/elfutils/libebl/ebl-hooks.h
@@ -1,5 +1,5 @@
/* Backend hook signatures internal interface for libebl.
- Copyright (C) 2000-2010 Red Hat, Inc.
+ Copyright (C) 2000-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -111,7 +111,8 @@ const char *EBLHOOK(osabi_name) (int, char *, size_t);
const char *EBLHOOK(core_note_type_name) (uint32_t, char *, size_t);
/* Name of a note entry type for object files. */
-const char *EBLHOOK(object_note_type_name) (uint32_t, char *, size_t);
+const char *EBLHOOK(object_note_type_name) (const char *, uint32_t,
+ char *, size_t);
/* Describe core note format. */
int EBLHOOK(core_note) (const GElf_Nhdr *, const char *,
@@ -144,6 +145,10 @@ bool EBLHOOK(relative_reloc_p) (int);
bool EBLHOOK(check_special_symbol) (Elf *, GElf_Ehdr *, const GElf_Sym *,
const char *, const GElf_Shdr *);
+/* Check whether only valid bits are set on the st_other symbol flag.
+ Standard ST_VISIBILITY have already been masked off. */
+bool EBLHOOK(check_st_other_bits) (unsigned char st_other);
+
/* Check if backend uses a bss PLT in this file. */
bool EBLHOOK(bss_plt_p) (Elf *, GElf_Ehdr *);
diff --git a/elfutils/libebl/ebldynamictagname.c b/elfutils/libebl/ebldynamictagname.c
index e0972ede..cb65b929 100644
--- a/elfutils/libebl/ebldynamictagname.c
+++ b/elfutils/libebl/ebldynamictagname.c
@@ -100,7 +100,7 @@ ebl_dynamic_tag_name (ebl, tag, buf, len)
{
static const char *addrrntags[] =
{
- "GNU_HASH", "TLSDESC_PLT", "TLSDESC_DOT",
+ "GNU_HASH", "TLSDESC_PLT", "TLSDESC_GOT",
"GNU_CONFLICT", "GNU_LIBLIST", "CONFIG", "DEPAUDIT", "AUDIT",
"PLTPAD", "MOVETAB", "SYMINFO"
};
diff --git a/elfutils/libebl/eblobjnote.c b/elfutils/libebl/eblobjnote.c
index b56c6cbc..ec5bb7da 100644
--- a/elfutils/libebl/eblobjnote.c
+++ b/elfutils/libebl/eblobjnote.c
@@ -1,5 +1,5 @@
/* Print contents of object file note.
- Copyright (C) 2002, 2007, 2009 Red Hat, Inc.
+ Copyright (C) 2002, 2007, 2009, 2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -68,6 +68,94 @@ ebl_object_note (ebl, name, type, descsz, desc)
{
if (! ebl->object_note (name, type, descsz, desc))
/* The machine specific function did not know this type. */
+
+ if (strcmp ("stapsdt", name) == 0)
+ {
+ if (type != 3)
+ {
+ printf (gettext ("unknown SDT version %u\n"), type);
+ return;
+ }
+
+ /* Descriptor starts with three addresses, pc, base ref and
+ semaphore. Then three zero terminated strings provider,
+ name and arguments. */
+
+ union
+ {
+ Elf64_Addr a64[3];
+ Elf32_Addr a32[3];
+ } addrs;
+
+ size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
+ if (descsz < addrs_size + 3)
+ {
+ invalid_sdt:
+ printf (gettext ("invalid SDT probe descriptor\n"));
+ return;
+ }
+
+ Elf_Data src =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = (void *) desc, .d_size = addrs_size
+ };
+
+ Elf_Data dst =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = &addrs, .d_size = addrs_size
+ };
+
+ if (gelf_xlatetom (ebl->elf, &dst, &src,
+ elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
+
+ const char *provider = desc + addrs_size;
+ const char *pname = memchr (provider, '\0', desc + descsz - provider);
+ if (pname == NULL)
+ goto invalid_sdt;
+
+ ++pname;
+ const char *args = memchr (pname, '\0', desc + descsz - pname);
+ if (args == NULL ||
+ memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
+ goto invalid_sdt;
+
+ GElf_Addr pc;
+ GElf_Addr base;
+ GElf_Addr sem;
+ if (gelf_getclass (ebl->elf) == ELFCLASS32)
+ {
+ pc = addrs.a32[0];
+ base = addrs.a32[1];
+ sem = addrs.a32[2];
+ }
+ else
+ {
+ pc = addrs.a64[0];
+ base = addrs.a64[1];
+ sem = addrs.a64[2];
+ }
+
+ printf (gettext (" PC: "));
+ printf ("%#" PRIx64 ",", pc);
+ printf (gettext (" Base: "));
+ printf ("%#" PRIx64 ",", base);
+ printf (gettext (" Semaphore: "));
+ printf ("%#" PRIx64 "\n", sem);
+ printf (gettext (" Provider: "));
+ printf ("%s,", provider);
+ printf (gettext (" Name: "));
+ printf ("%s,", pname);
+ printf (gettext (" Args: "));
+ printf ("'%s'\n", args);
+ return;
+ }
+
switch (type)
{
case NT_GNU_BUILD_ID:
diff --git a/elfutils/libebl/eblobjnotetypename.c b/elfutils/libebl/eblobjnotetypename.c
index 8e99dbb4..0ceb5a87 100644
--- a/elfutils/libebl/eblobjnotetypename.c
+++ b/elfutils/libebl/eblobjnotetypename.c
@@ -1,5 +1,5 @@
/* Return note type name.
- Copyright (C) 2002, 2007, 2009 Red Hat, Inc.
+ Copyright (C) 2002, 2007, 2009, 2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -54,20 +54,28 @@
#include <inttypes.h>
#include <stdio.h>
+#include <string.h>
#include <libeblP.h>
const char *
-ebl_object_note_type_name (ebl, type, buf, len)
+ebl_object_note_type_name (ebl, name, type, buf, len)
Ebl *ebl;
+ const char *name;
uint32_t type;
char *buf;
size_t len;
{
- const char *res = ebl->object_note_type_name (type, buf, len);
+ const char *res = ebl->object_note_type_name (name, type, buf, len);
if (res == NULL)
{
+ if (strcmp (name, "stapsdt") == 0)
+ {
+ snprintf (buf, len, "Version: %" PRIu32, type);
+ return buf;
+ }
+
static const char *knowntypes[] =
{
#define KNOWNSTYPE(name) [NT_##name] = #name
diff --git a/elfutils/libebl/eblopenbackend.c b/elfutils/libebl/eblopenbackend.c
index e11ff067..60e7f84a 100644
--- a/elfutils/libebl/eblopenbackend.c
+++ b/elfutils/libebl/eblopenbackend.c
@@ -1,5 +1,5 @@
/* Generate ELF backend handle.
- Copyright (C) 2000-2010 Red Hat, Inc.
+ Copyright (C) 2000-2011 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -184,8 +184,8 @@ static const char *default_osabi_name (int ignore, char *buf, size_t len);
static void default_destr (struct ebl *ignore);
static const char *default_core_note_type_name (uint32_t, char *buf,
size_t len);
-static const char *default_object_note_type_name (uint32_t, char *buf,
- size_t len);
+static const char *default_object_note_type_name (const char *name, uint32_t,
+ char *buf, size_t len);
static int default_core_note (const GElf_Nhdr *nhdr, const char *name,
GElf_Word *regs_offset, size_t *nregloc,
const Ebl_Register_Location **reglocs,
@@ -202,6 +202,7 @@ static bool default_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr,
const GElf_Sym *sym,
const char *name,
const GElf_Shdr *destshdr);
+static bool default_check_st_other_bits (unsigned char st_other);
static bool default_check_special_section (Ebl *, int,
const GElf_Shdr *, const char *);
static bool default_bss_plt_p (Elf *elf, GElf_Ehdr *ehdr);
@@ -253,6 +254,7 @@ fill_defaults (Ebl *result)
result->none_reloc_p = default_none_reloc_p;
result->relative_reloc_p = default_relative_reloc_p;
result->check_special_symbol = default_check_special_symbol;
+ result->check_st_other_bits = default_check_st_other_bits;
result->bss_plt_p = default_bss_plt_p;
result->return_value_location = default_return_value_location;
result->register_info = default_register_info;
@@ -617,7 +619,8 @@ default_core_note (const GElf_Nhdr *nhdr __attribute__ ((unused)),
}
static const char *
-default_object_note_type_name (uint32_t ignore __attribute__ ((unused)),
+default_object_note_type_name (const char *name __attribute__ ((unused)),
+ uint32_t ignore __attribute__ ((unused)),
char *buf __attribute__ ((unused)),
size_t len __attribute__ ((unused)))
{
@@ -698,6 +701,13 @@ default_check_special_symbol (Elf *elf __attribute__ ((unused)),
}
static bool
+default_check_st_other_bits (unsigned char st_other __attribute__ ((unused)))
+{
+ return false;
+}
+
+
+static bool
default_bss_plt_p (Elf *elf __attribute__ ((unused)),
GElf_Ehdr *ehdr __attribute__ ((unused)))
{
diff --git a/elfutils/libebl/eblrelativerelocp.c b/elfutils/libebl/eblrelativerelocp.c
index 8ea97b88..9c28b59c 100644
--- a/elfutils/libebl/eblrelativerelocp.c
+++ b/elfutils/libebl/eblrelativerelocp.c
@@ -1,4 +1,4 @@
-/* Check whether given relocation is a relocation relocation.
+/* Check whether given relocation is a relative relocation.
Copyright (C) 2006 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2006.
diff --git a/elfutils/libebl/eblstother.c b/elfutils/libebl/eblstother.c
new file mode 100644
index 00000000..ba8c9dac
--- /dev/null
+++ b/elfutils/libebl/eblstother.c
@@ -0,0 +1,64 @@
+/* Check st_other flag.
+ Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ In addition, as a special exception, Red Hat, Inc. gives You the
+ additional right to link the code of Red Hat elfutils with code licensed
+ under any Open Source Initiative certified open source license
+ (http://www.opensource.org/licenses/index.php) which requires the
+ distribution of source code with any binary distribution and to
+ distribute linked combinations of the two. Non-GPL Code permitted under
+ this exception must only link to the code of Red Hat elfutils through
+ those well defined interfaces identified in the file named EXCEPTION
+ found in the source code files (the "Approved Interfaces"). The files
+ of Non-GPL Code may instantiate templates or use macros or inline
+ functions from the Approved Interfaces without causing the resulting
+ work to be covered by the GNU General Public License. Only Red Hat,
+ Inc. may make changes or additions to the list of Approved Interfaces.
+ Red Hat's grant of this exception is conditioned upon your not adding
+ any new exceptions. If you wish to add a new Approved Interface or
+ exception, please contact Red Hat. You must obey the GNU General Public
+ License in all respects for all of the Red Hat elfutils code and other
+ code used in conjunction with Red Hat elfutils except the Non-GPL Code
+ covered by this exception. If you modify this file, you may extend this
+ exception to your version of the file, but you are not obligated to do
+ so. If you do not wish to provide this exception without modification,
+ you must delete this exception statement from your version and license
+ this file solely under the GPL without exception.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <libeblP.h>
+
+
+bool
+ebl_check_st_other_bits (ebl, st_other)
+ Ebl *ebl;
+ unsigned char st_other;
+{
+ return ((st_other ^ GELF_ST_VISIBILITY (st_other)) == 0
+ || ebl->check_st_other_bits (st_other ^ GELF_ST_VISIBILITY (st_other)));
+}
diff --git a/elfutils/libebl/libebl.h b/elfutils/libebl/libebl.h
index c94ad78f..3a334024 100644
--- a/elfutils/libebl/libebl.h
+++ b/elfutils/libebl/libebl.h
@@ -168,6 +168,9 @@ extern bool ebl_check_special_symbol (Ebl *ebl, GElf_Ehdr *ehdr,
const GElf_Sym *sym, const char *name,
const GElf_Shdr *destshdr);
+/* Check whether only valid bits are set on the st_other symbol flag. */
+extern bool ebl_check_st_other_bits (Ebl *ebl, unsigned char st_other);
+
/* Return combined section header flags value. */
extern GElf_Word ebl_sh_flags_combine (Ebl *ebl, GElf_Word flags1,
GElf_Word flags2);
@@ -181,8 +184,9 @@ extern const char *ebl_core_note_type_name (Ebl *ebl, uint32_t type, char *buf,
size_t len);
/* Return name of the note section type for an object file. */
-extern const char *ebl_object_note_type_name (Ebl *ebl, uint32_t type,
- char *buf, size_t len);
+extern const char *ebl_object_note_type_name (Ebl *ebl, const char *name,
+ uint32_t type, char *buf,
+ size_t len);
/* Print information about object note if available. */
extern void ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
diff --git a/elfutils/libelf/libelfP.h b/elfutils/libelf/libelfP.h
index 2b8391bd..8f2f33a4 100644
--- a/elfutils/libelf/libelfP.h
+++ b/elfutils/libelf/libelfP.h
@@ -251,7 +251,7 @@ struct Elf_Scn
char *rawdata_base; /* The unmodified data of the section. */
char *data_base; /* The converted data of the section. */
- struct Elf_ScnList *list; /* Pointer the the section list element the
+ struct Elf_ScnList *list; /* Pointer to the section list element the
data is in. */
};
diff --git a/elfutils/po/ChangeLog b/elfutils/po/ChangeLog
index 294a2eb0..a2a933cd 100644
--- a/elfutils/po/ChangeLog
+++ b/elfutils/po/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-23 Mark Wielaard <mjw@redhat.com>
+
+ * *.po: Update for 0.153.
+
2010-04-21 Ulrich Drepper <drepper@redhat.com>
* LINGUAS: Remove fr.po, it.po, nl.po, ru.po, zh_CN. The files
diff --git a/elfutils/po/de.gmo b/elfutils/po/de.gmo
index 286cf033..cfa7f658 100644
--- a/elfutils/po/de.gmo
+++ b/elfutils/po/de.gmo
Binary files differ
diff --git a/elfutils/po/de.po b/elfutils/po/de.po
index 780c04c7..9177c3d0 100644
--- a/elfutils/po/de.po
+++ b/elfutils/po/de.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils VERSION\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
"PO-Revision-Date: 2009-06-29 15:15+0200\n"
"Last-Translator: Michael Münch <micm@fedoraproject.org>\n"
"Language-Team: German\n"
@@ -22,8 +22,8 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 0.3\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "Kein Speicher mehr verfügbar"
@@ -51,7 +51,7 @@ msgstr "ungültiger Parameter"
msgid "cannot change mode of output file"
msgstr "konnte Modus der Ausgabedatei nicht ändern"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "Ausgangsdatei konnte nicht umbenannt werden"
@@ -377,7 +377,7 @@ msgid "No backend"
msgstr "Kein Backend"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -389,16 +389,56 @@ msgid "<unknown>: %#<PRIx64>"
msgstr "<Unbekannt>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
+#, fuzzy, c-format
+msgid "unknown SDT version %u\n"
+msgstr "unbekannte Version"
+
+#: libebl/eblobjnote.c:94
+#, fuzzy, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "ungültiger Datei-Deskriptor"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -432,7 +472,7 @@ msgstr "ungültige Grösse des Quell-Operanden"
msgid "invalid size of destination operand"
msgstr "ungültige Grösse des Ziel-Operanden"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "ungültige Kodierung"
@@ -515,7 +555,8 @@ msgstr "data/scn Unterschied"
msgid "invalid section header"
msgstr "ungültiger Abschnitts-Header"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "Ungültige Daten"
@@ -585,7 +626,7 @@ msgstr ""
msgid "Treat addresses as offsets relative to NAME section."
msgstr ""
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Verschiedenes:"
@@ -599,10 +640,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr ""
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -614,10 +655,10 @@ msgstr ""
"GARANTIE,\n"
"auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Geschrieben von %s.\n"
@@ -770,127 +811,132 @@ msgstr "'%' ist nur mit der Option 'x' von Bedeutung"
msgid "archive name required"
msgstr "Archivname erforderlich"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "Mehr als eine Operation angegeben"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "Konnte Archiv '%s' nicht öffnen"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "Konnte Archiv '%s': %s nicht öffnen"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: Keine Archiv-Datei"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr ""
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "Kein Eintrag %s in Archiv\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "Konnte Hash-Tabelle nicht erstellen"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "Konnte nicht in Hash-Tabelle einfügen"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr ""
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "Konnte Inhalt von %s: %s nicht lesen"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "Konnte %.*s nicht öffnen"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "Konnte %s nicht schreiben"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr ""
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "Konnte Bearbeitungszeit von %s nicht ändern"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "Konnte temporäre Datei nicht in %.*s umbenennen"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "neue Datei konnte nicht angelegt werden"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr ""
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: Kein Eintrag %s in dem Archiv!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "Konnte %s nicht öffnen"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr ""
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s ist keine reguläre Datei"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr ""
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "Konnte %s: %s nicht lesen"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "Das Archiv '%s' ist zu groß"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "\"Konnte ELF-Kopf von %s(%s): %s nicht lesen"
@@ -1070,8 +1116,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1124,11 +1170,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "DATEI..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "Kann Eingabedatei nicht öffnen"
@@ -1147,7 +1193,7 @@ msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
msgid "No errors"
msgstr "Keine Fehler"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Dateiname fehlt.\n"
@@ -2734,8 +2780,8 @@ msgstr ""
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr ""
@@ -3221,7 +3267,7 @@ msgstr ""
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr ""
@@ -3396,7 +3442,7 @@ msgid "cannot read enough data for UUID"
msgstr ""
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr ""
@@ -3416,75 +3462,75 @@ msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
msgid "cannot create dynamic symbol table for output file: %s"
msgstr ""
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "konnte Versionierungsdaten nicht erstellen: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr ""
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr ""
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr ""
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr ""
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr ""
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr ""
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr ""
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr ""
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr ""
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr ""
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr ""
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr ""
@@ -3518,7 +3564,7 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "Standard-Sichtbarkeit auf lokal und global gesetzt"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr ""
@@ -3576,94 +3622,105 @@ msgid "Use RADIX for printing symbol values"
msgstr "Benutze RADIX zur Ausgabe von Symbolwerten"
#: src/nm.c:95
-msgid "Mark weak symbols"
+#, fuzzy
+msgid "Mark special symbols"
msgstr "Kennzeichne schwache Symbole"
-#: src/nm.c:96
+#: src/nm.c:97
#, fuzzy
msgid "Print size of defined symbols"
msgstr "Zeige Grösse der definierten Symbole"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Ausgabeoptionen:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "Symbole anhand der Adresse numerisch sortieren"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "Symbole nicht sortieren"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Sortierreihenfolge umkehren"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr ""
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+#, fuzzy
+msgid "Output formatting"
+msgstr "Ausgabeformat:"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: INTERNER FEHLER %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: Dateiformat nicht erkannt"
-#: src/nm.c:442
+#: src/nm.c:468
+#, fuzzy
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
"Archiv-Index:"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "ungültiger Offset %zu für Symbol %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr ""
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr ""
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: Dateiformat nicht erkannt"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "Kann Suchbaum nicht erstellen"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr ""
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3676,42 +3733,29 @@ msgstr ""
"Symbole aus %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Symbole aus %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
"\n"
msgstr ""
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: entry size in section `%s' is not what we expect"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr ""
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Ungültige Operation"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: keine Symbole"
@@ -3733,8 +3777,9 @@ msgid "Display assembler code of executable sections"
msgstr ""
#: src/objdump.c:68
-msgid "Output option selection:"
-msgstr ""
+#, fuzzy
+msgid "Output content selection:"
+msgstr "Eingabeauswahloptionen:"
#: src/objdump.c:70
msgid "Only display information for section NAME."
@@ -3744,24 +3789,24 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "Keine Operation angegeben.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr ""
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr ""
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -3769,20 +3814,25 @@ msgid ""
"%-*s TYPE VALUE\n"
msgstr ""
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "OFFSET"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "Inhalt des Abschnitts %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "Disassemblieren nicht möglich"
+#: src/objdump.c:744
+#, fuzzy, c-format
+msgid "cannot allocate memory"
+msgstr "konnte Verzeichnis nicht erstellen: %s"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr "Erstelle einen Index zur Beschleunigung des Zugriffs auf Archive."
@@ -3869,7 +3919,8 @@ msgstr ""
#: src/readelf.c:95
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
#: src/readelf.c:99
@@ -3892,256 +3943,260 @@ msgstr "Ausgabekontrolle:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "Informationen aus der ELF-Datei in menschenlesbarer Form ausgeben."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr ""
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr ""
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr ""
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr ""
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr ""
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "Konnte '%s' nicht lesen: %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr ""
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr ""
-#: src/readelf.c:642
+#: src/readelf.c:648
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr ""
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr ""
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr ""
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr ""
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr ""
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
msgstr ""
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
" Class: %s\n"
msgstr ""
-#: src/readelf.c:758
+#: src/readelf.c:764
#, fuzzy, c-format
msgid " Data: %s\n"
msgstr " Daten: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr ""
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(aktuell)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr ""
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr ""
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr ""
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(Bytes)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr ""
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr ""
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr ""
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr ""
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
"\n"
msgstr ""
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr ""
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
"\n"
msgstr ""
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr ""
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
msgstr ""
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4150,39 +4205,39 @@ msgstr ""
msgid "cannot get section header: %s"
msgstr ""
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "Programm-Köpfe:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr ""
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr ""
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4193,7 +4248,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4204,15 +4259,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr ""
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr ""
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4225,43 +4280,43 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr ""
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr ""
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr ""
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr ""
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4274,7 +4329,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4285,29 +4340,29 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr ""
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4318,40 +4373,40 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr ""
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr ""
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "keine"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <unbekannt>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4364,17 +4419,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, fuzzy, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu Datei: %s Cnt: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4387,17 +4442,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4410,15 +4465,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *lokal* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4433,41 +4488,41 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr ""
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
msgstr ""
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr ""
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
msgstr ""
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4478,13 +4533,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
msgstr ""
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4492,160 +4547,160 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr ""
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "unbekannter Tag %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "unbekannter Benutzer-Tag %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "unbekanntes Attribut %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "unbekanntes Benutzer-Attribut %hx"
-#: src/readelf.c:3569
-#, c-format
-msgid "unknown form %<PRIx64>"
+#: src/readelf.c:3657
+#, fuzzy, c-format
+msgid "unknown form %#<PRIx64>"
msgstr "unbekannte Form %<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr ""
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr ""
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr ""
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -4653,37 +4708,37 @@ msgid ""
" [ Code]\n"
msgstr ""
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
msgstr ""
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr ""
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr ""
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "ja"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "nein"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ""
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -4694,123 +4749,123 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ""
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr ""
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
" [%6tx] Zero terminator\n"
msgstr ""
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ungültige Abschnittsausrichtung"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr ""
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr ""
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr ""
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr ""
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr ""
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -4818,7 +4873,7 @@ msgid ""
" [Offset]\n"
msgstr ""
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -4827,7 +4882,7 @@ msgid ""
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -4835,44 +4890,44 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr ""
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr ""
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr ""
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr ""
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
"Table at offset %Zu:\n"
msgstr ""
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -4889,183 +4944,184 @@ msgid ""
"Opcodes:\n"
msgstr ""
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
msgstr ""
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
" Entry Dir Time Size Name"
msgstr ""
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
msgstr ""
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr ""
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+msgid " end of sequence"
msgstr ""
-#: src/readelf.c:6107
+#: src/readelf.c:6275
#, c-format
-msgid "set address to %s\n"
+msgid " set address to %s\n"
msgstr ""
-#: src/readelf.c:6128
+#: src/readelf.c:6296
#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr ""
-#: src/readelf.c:6146
-msgid "unknown opcode"
-msgstr ""
+#: src/readelf.c:6314
+#, fuzzy
+msgid " unknown opcode"
+msgstr "unbekannter Typ"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr ""
-#: src/readelf.c:6169
+#: src/readelf.c:6337
#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6173
+#: src/readelf.c:6341
#, c-format
-msgid "advance address by %u to %s\n"
+msgid " advance address by %u to %s\n"
msgstr ""
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr ""
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr ""
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr ""
-#: src/readelf.c:6224
+#: src/readelf.c:6392
#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6228
+#: src/readelf.c:6396
#, c-format
-msgid "advance address by constant %u to %s\n"
+msgid " advance address by constant %u to %s\n"
msgstr ""
-#: src/readelf.c:6246
+#: src/readelf.c:6414
#, c-format
-msgid "advance address by fixed value %u to %s\n"
+msgid " advance address by fixed value %u to %s\n"
msgstr ""
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr ""
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr ""
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr ""
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ""
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr ""
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr ""
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5073,47 +5129,47 @@ msgid ""
" %*s String\n"
msgstr ""
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr ""
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr ""
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr ""
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr ""
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
msgstr ""
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5122,128 +5178,198 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+
+#: src/readelf.c:7118
+#, fuzzy, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7140
+#, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7147
+#, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7154
+#, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7161
+#, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7168
+#, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7190
+#, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7216
+#, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7243
+#, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr ""
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
"Section [%Zu] '%s' has no data to dump.\n"
msgstr ""
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr ""
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
"Section [%Zu] '%s' has no strings to dump.\n"
msgstr ""
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
"Index of archive '%s' has %Zu entries:\n"
msgstr ""
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr ""
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -5373,158 +5499,175 @@ msgstr "re-mmap fehlgeschlagen"
msgid "mprotect failed"
msgstr "mprotect fehlgeschlagen"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr ""
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr ""
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr ""
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr ""
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr ""
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr ""
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr ""
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr ""
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr ""
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr ""
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr ""
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr ""
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr ""
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr ""
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr ""
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr ""
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr ""
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr ""
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr ""
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr ""
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr ""
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr ""
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr ""
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr ""
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr ""
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Relocations anzeigen"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr ""
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr ""
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr ""
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr ""
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr ""
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr ""
@@ -5846,5 +5989,16 @@ msgid ""
"was found, or . if FILE contains the debug information."
msgstr ""
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Symbols from %s[%s]:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Symbole aus %s[%s]:\n"
+#~ "\n"
+
#~ msgid "Equivalent to: -e -h -l"
#~ msgstr "Entspricht: -e -h -l"
diff --git a/elfutils/po/elfutils.pot b/elfutils/po/elfutils.pot
index 4d18950d..4b2f264c 100644
--- a/elfutils/po/elfutils.pot
+++ b/elfutils/po/elfutils.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: elfutils 0.152\n"
+"Project-Id-Version: elfutils 0.153\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+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"
@@ -18,8 +18,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr ""
@@ -47,7 +47,7 @@ msgstr ""
msgid "cannot change mode of output file"
msgstr ""
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr ""
@@ -365,7 +365,7 @@ msgid "No backend"
msgstr ""
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -378,15 +378,55 @@ msgstr ""
#: libebl/eblobjnote.c:76
#, c-format
+msgid "unknown SDT version %u\n"
+msgstr ""
+
+#: libebl/eblobjnote.c:94
+#, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr ""
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
+#, c-format
msgid " Build ID: "
msgstr ""
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr ""
@@ -420,7 +460,7 @@ msgstr ""
msgid "invalid size of destination operand"
msgstr ""
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr ""
@@ -501,7 +541,8 @@ msgstr ""
msgid "invalid section header"
msgstr ""
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr ""
@@ -571,7 +612,7 @@ msgstr ""
msgid "Treat addresses as offsets relative to NAME section."
msgstr ""
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr ""
@@ -585,10 +626,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr ""
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -596,10 +637,10 @@ msgid ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr ""
@@ -751,127 +792,132 @@ msgstr ""
msgid "archive name required"
msgstr ""
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr ""
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr ""
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr ""
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr ""
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr ""
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr ""
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr ""
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr ""
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr ""
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr ""
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr ""
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr ""
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr ""
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr ""
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr ""
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr ""
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr ""
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr ""
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr ""
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr ""
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr ""
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr ""
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr ""
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr ""
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr ""
@@ -1050,8 +1096,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1104,11 +1150,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr ""
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr ""
@@ -1127,7 +1173,7 @@ msgstr ""
msgid "No errors"
msgstr ""
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr ""
@@ -2714,8 +2760,8 @@ msgstr ""
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr ""
@@ -3201,7 +3247,7 @@ msgstr ""
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr ""
@@ -3376,7 +3422,7 @@ msgid "cannot read enough data for UUID"
msgstr ""
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr ""
@@ -3396,75 +3442,75 @@ msgstr ""
msgid "cannot create dynamic symbol table for output file: %s"
msgstr ""
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr ""
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr ""
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr ""
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr ""
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr ""
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr ""
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr ""
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr ""
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr ""
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr ""
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr ""
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr ""
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr ""
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr ""
@@ -3498,7 +3544,7 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr ""
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr ""
@@ -3553,91 +3599,99 @@ msgid "Use RADIX for printing symbol values"
msgstr ""
#: src/nm.c:95
-msgid "Mark weak symbols"
+msgid "Mark special symbols"
msgstr ""
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr ""
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr ""
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr ""
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr ""
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr ""
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr ""
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+msgid "Output formatting"
+msgstr ""
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr ""
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr ""
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr ""
-#: src/nm.c:442
+#: src/nm.c:468
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr ""
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr ""
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr ""
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr ""
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr ""
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr ""
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3646,38 +3700,29 @@ msgid ""
"\n"
msgstr ""
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
"\n"
msgstr ""
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr ""
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr ""
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr ""
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr ""
@@ -3699,7 +3744,7 @@ msgid "Display assembler code of executable sections"
msgstr ""
#: src/objdump.c:68
-msgid "Output option selection:"
+msgid "Output content selection:"
msgstr ""
#: src/objdump.c:70
@@ -3710,24 +3755,24 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr ""
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr ""
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr ""
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -3735,20 +3780,25 @@ msgid ""
"%-*s TYPE VALUE\n"
msgstr ""
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr ""
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr ""
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr ""
+#: src/objdump.c:744
+#, c-format
+msgid "cannot allocate memory"
+msgstr ""
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr ""
@@ -3831,7 +3881,8 @@ msgstr ""
#: src/readelf.c:95
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
#: src/readelf.c:99
@@ -3854,256 +3905,260 @@ msgstr ""
msgid "Do not find symbol names for addresses in DWARF data"
msgstr ""
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr ""
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr ""
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr ""
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr ""
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr ""
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr ""
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr ""
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr ""
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr ""
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr ""
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr ""
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr ""
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr ""
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr ""
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr ""
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr ""
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
msgstr ""
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
" Class: %s\n"
msgstr ""
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr ""
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr ""
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr ""
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr ""
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr ""
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr ""
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr ""
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr ""
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr ""
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr ""
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr ""
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr ""
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
"\n"
msgstr ""
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr ""
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
"\n"
msgstr ""
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr ""
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
msgstr ""
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4112,39 +4167,39 @@ msgstr ""
msgid "cannot get section header: %s"
msgstr ""
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr ""
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr ""
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr ""
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4155,7 +4210,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4166,15 +4221,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr ""
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr ""
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4187,43 +4242,43 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr ""
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr ""
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr ""
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr ""
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4236,7 +4291,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4247,29 +4302,29 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr ""
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4280,40 +4335,40 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr ""
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr ""
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr ""
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr ""
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4326,17 +4381,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr ""
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr ""
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4349,17 +4404,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4372,15 +4427,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr ""
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr ""
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4395,41 +4450,41 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr ""
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr ""
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr ""
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
msgstr ""
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr ""
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
msgstr ""
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4440,13 +4495,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
msgstr ""
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4454,160 +4509,160 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr ""
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr ""
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr ""
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr ""
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr ""
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr ""
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr ""
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr ""
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr ""
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr ""
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr ""
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr ""
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr ""
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr ""
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr ""
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr ""
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr ""
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr ""
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr ""
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr ""
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr ""
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr ""
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr ""
-#: src/readelf.c:3569
+#: src/readelf.c:3657
#, c-format
-msgid "unknown form %<PRIx64>"
+msgid "unknown form %#<PRIx64>"
msgstr ""
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr ""
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr ""
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr ""
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -4615,37 +4670,37 @@ msgid ""
" [ Code]\n"
msgstr ""
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
msgstr ""
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr ""
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr ""
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr ""
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr ""
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ""
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -4656,123 +4711,123 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr ""
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ""
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr ""
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr ""
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr ""
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr ""
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
" [%6tx] Zero terminator\n"
msgstr ""
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr ""
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr ""
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr ""
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr ""
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr ""
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr ""
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -4780,7 +4835,7 @@ msgid ""
" [Offset]\n"
msgstr ""
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -4789,7 +4844,7 @@ msgid ""
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -4797,44 +4852,44 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr ""
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr ""
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr ""
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr ""
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
"Table at offset %Zu:\n"
msgstr ""
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -4851,183 +4906,183 @@ msgid ""
"Opcodes:\n"
msgstr ""
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
msgstr ""
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
" Entry Dir Time Size Name"
msgstr ""
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
msgstr ""
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr ""
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+msgid " end of sequence"
msgstr ""
-#: src/readelf.c:6107
+#: src/readelf.c:6275
#, c-format
-msgid "set address to %s\n"
+msgid " set address to %s\n"
msgstr ""
-#: src/readelf.c:6128
+#: src/readelf.c:6296
#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr ""
-#: src/readelf.c:6146
-msgid "unknown opcode"
+#: src/readelf.c:6314
+msgid " unknown opcode"
msgstr ""
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr ""
-#: src/readelf.c:6169
+#: src/readelf.c:6337
#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6173
+#: src/readelf.c:6341
#, c-format
-msgid "advance address by %u to %s\n"
+msgid " advance address by %u to %s\n"
msgstr ""
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr ""
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr ""
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr ""
-#: src/readelf.c:6224
+#: src/readelf.c:6392
#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6228
+#: src/readelf.c:6396
#, c-format
-msgid "advance address by constant %u to %s\n"
+msgid " advance address by constant %u to %s\n"
msgstr ""
-#: src/readelf.c:6246
+#: src/readelf.c:6414
#, c-format
-msgid "advance address by fixed value %u to %s\n"
+msgid " advance address by fixed value %u to %s\n"
msgstr ""
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr ""
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr ""
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr ""
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ""
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr ""
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr ""
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr ""
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr ""
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5035,47 +5090,47 @@ msgid ""
" %*s String\n"
msgstr ""
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr ""
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr ""
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr ""
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr ""
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
msgstr ""
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5084,128 +5139,198 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+
+#: src/readelf.c:7118
+#, c-format
+msgid " Version: %<PRId32>\n"
+msgstr ""
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7140
+#, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7147
+#, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7154
+#, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7161
+#, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr ""
+
+#: src/readelf.c:7168
+#, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7190
+#, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7216
+#, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+
+#: src/readelf.c:7243
+#, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr ""
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
"Section [%Zu] '%s' has no data to dump.\n"
msgstr ""
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr ""
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
"Section [%Zu] '%s' has no strings to dump.\n"
msgstr ""
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
"Index of archive '%s' has %Zu entries:\n"
msgstr ""
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr ""
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -5335,158 +5460,175 @@ msgstr ""
msgid "mprotect failed"
msgstr ""
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr ""
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr ""
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr ""
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr ""
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr ""
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr ""
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr ""
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr ""
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr ""
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr ""
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr ""
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr ""
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr ""
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr ""
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr ""
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr ""
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr ""
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr ""
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr ""
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr ""
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr ""
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr ""
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr ""
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr ""
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr ""
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, c-format
+msgid "bad relocation"
+msgstr ""
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr ""
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr ""
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr ""
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr ""
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr ""
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr ""
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr ""
diff --git a/elfutils/po/en@boldquot.gmo b/elfutils/po/en@boldquot.gmo
index 1edc0d7f..e36dba62 100644
--- a/elfutils/po/en@boldquot.gmo
+++ b/elfutils/po/en@boldquot.gmo
Binary files differ
diff --git a/elfutils/po/en@boldquot.po b/elfutils/po/en@boldquot.po
index 3d1446ef..7bdcd14f 100644
--- a/elfutils/po/en@boldquot.po
+++ b/elfutils/po/en@boldquot.po
@@ -1,7 +1,7 @@
# English translations for elfutils package.
-# Copyright (C) 2011 Red Hat, Inc.
+# Copyright (C) 2012 Red Hat, Inc.
# This file is distributed under the same license as the elfutils package.
-# Automatically generated, 2011.
+# Automatically generated, 2012.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -30,10 +30,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: elfutils 0.152\n"
+"Project-Id-Version: elfutils 0.153\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
-"PO-Revision-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
+"PO-Revision-Date: 2012-02-16 13:21+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en\n"
@@ -42,8 +42,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "memory exhausted"
@@ -71,7 +71,7 @@ msgstr "invalid parameter"
msgid "cannot change mode of output file"
msgstr "cannot change mode of output file"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "cannot rename output file"
@@ -391,7 +391,7 @@ msgid "No backend"
msgstr "No backend"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -404,15 +404,55 @@ msgstr "<unknown>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
#, c-format
+msgid "unknown SDT version %u\n"
+msgstr "unknown SDT version %u\n"
+
+#: libebl/eblobjnote.c:94
+#, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "invalid SDT probe descriptor\n"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr " PC: "
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr " Base: "
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr " Semaphore: "
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr " Provider: "
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr " Name: "
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr " Args: "
+
+#: libebl/eblobjnote.c:164
+#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Linker version: %.*s\n"
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -446,7 +486,7 @@ msgstr "invalid size of source operand"
msgid "invalid size of destination operand"
msgstr "invalid size of destination operand"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "invalid encoding"
@@ -527,7 +567,8 @@ msgstr "data/scn mismatch"
msgid "invalid section header"
msgstr "invalid section header"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "invalid data"
@@ -598,7 +639,7 @@ msgstr "Also show line table flags"
msgid "Treat addresses as offsets relative to NAME section."
msgstr "Treat addresses as offsets relative to NAME section."
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Miscellaneous:"
@@ -613,10 +654,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr "[ADDR...]"
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -627,10 +668,10 @@ msgstr ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Written by %s.\n"
@@ -784,127 +825,132 @@ msgstr "‘%c’ is only meaningful with the ‘x’ option"
msgid "archive name required"
msgstr "archive name required"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr "command option required"
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "More than one operation specified"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "cannot open archive ‘%s’"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "cannot open archive '%s': %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: not an archive file"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "cannot stat archive ‘%s’"
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "no entry %s in archive\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "cannot create hash table"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "cannot insert into hash table"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "cannot stat ‘%s’"
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "cannot read content of %s: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "cannot open %.*s"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "failed to write %s"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "cannot change mode of %s"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "cannot change modification time of %s"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "cannot rename temporary file to %.*s"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "cannot create new file"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "position member %s not found"
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: no entry %s in archive!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "cannot open %s"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "cannot stat %s"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s is no regular file"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "cannot get ELF descriptor for %s: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "cannot read %s: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "the archive ‘%s’ is too large"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "cannot read ELF header of %s(%s): %s"
@@ -1085,8 +1131,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Invalid value ‘%s’ for --gaps parameter."
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1141,11 +1187,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "Pedantic checking of ELF files compliance with gABI/psABI spec."
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "FILE..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "cannot open input file"
@@ -1164,7 +1210,7 @@ msgstr "error while closing Elf descriptor: %s\n"
msgid "No errors"
msgstr "No errors"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Missing file name.\n"
@@ -2895,8 +2941,8 @@ msgstr "Use PATH as root of debuginfo hierarchy"
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Locate source of text relocations in FILEs (a.out by default)."
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[FILE...]"
@@ -3391,7 +3437,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
"Warning: size of ‘%s’ changed from %<PRIu64> in %s to %<PRIu64> in %s"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "cannot determine number of sections: %s"
@@ -3571,7 +3617,7 @@ msgid "cannot read enough data for UUID"
msgstr "cannot read enough data for UUID"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "cannot create symbol table for output file: %s"
@@ -3591,75 +3637,75 @@ msgstr "cannot create versioning section: %s"
msgid "cannot create dynamic symbol table for output file: %s"
msgstr "cannot create dynamic symbol table for output file: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "cannot create versioning data: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "cannot create section header string section: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "cannot create section header string section"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "cannot create program header: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "while determining file layout: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "internal error: non-nobits section follows nobits section"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "cannot get header of 0th section: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "cannot update ELF header: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr "linker backend didn't specify function to relocate section"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "while writing output file: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "while finishing output file: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "cannot stat output file"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr "WARNING: temporary output file overwritten before linking finished"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "no machine specific ‘%s’ implementation"
@@ -3695,7 +3741,7 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "default visibility set as local and global"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "Output selection:"
@@ -3752,93 +3798,101 @@ msgid "Use RADIX for printing symbol values"
msgstr "Use RADIX for printing symbol values"
#: src/nm.c:95
-msgid "Mark weak symbols"
-msgstr "Mark weak symbols"
+msgid "Mark special symbols"
+msgstr "Mark special symbols"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "Print size of defined symbols"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Output options:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "Sort symbols numerically by address"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "Do not sort the symbols"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Reverse the sense of the sort"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr "Decode low-level symbol names into source code names"
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "List symbols from FILEs (a.out by default)."
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+msgid "Output formatting"
+msgstr "Output formatting"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: INTERNAL ERROR %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "while closing ‘%s’"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: File format not recognized"
-#: src/nm.c:442
+#: src/nm.c:468
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
-"Archive index:"
+"Archive index:\n"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "invalid offset %zu for symbol %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%s in %s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "cannot reset archive offset to beginning"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: file format not recognized"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "cannot create search tree"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "cannot get section header string table index"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3851,20 +3905,7 @@ msgstr ""
"Symbols from %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -3873,22 +3914,22 @@ msgstr ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: entry size in section ‘%s’ is not what we expect"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: size of section ‘%s’ is not multiple of entry size"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Invalid operation"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: no symbols"
@@ -3910,8 +3951,8 @@ msgid "Display assembler code of executable sections"
msgstr "Display assembler code of executable sections"
#: src/objdump.c:68
-msgid "Output option selection:"
-msgstr "Output option selection:"
+msgid "Output content selection:"
+msgstr "Output content selection:"
#: src/objdump.c:70
msgid "Only display information for section NAME."
@@ -3921,24 +3962,24 @@ msgstr "Only display information for section NAME."
msgid "Show information from FILEs (a.out by default)."
msgstr "Show information from FILEs (a.out by default)."
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "No operation specified.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr "while close ‘%s’"
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "INVALID SYMBOL"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "INVALID SECTION"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -3949,20 +3990,25 @@ msgstr ""
"RELOCATION RECORDS FOR [%s]:\n"
"%-*s TYPE VALUE\n"
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "OFFSET"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "Contents of section %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "cannot disassemble"
+#: src/objdump.c:744
+#, c-format
+msgid "cannot allocate memory"
+msgstr "cannot allocate memory"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr "Generate an index to speed access to archives."
@@ -4045,10 +4091,12 @@ msgstr "Additional output selection:"
#: src/readelf.c:95
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
#: src/readelf.c:99
msgid "Dump the uninterpreted contents of SECTION, by number or name"
@@ -4070,91 +4118,95 @@ msgstr "Output control:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Do not find symbol names for addresses in DWARF data"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr "Ignored for compatibility (lines always wide)"
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "Print information from ELF file in human-readable form."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Unknown DWARF debug section ‘%s’.\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "cannot generate Elf descriptor: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "‘%s’ is not an archive, cannot print archive index"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "error while closing Elf descriptor: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "cannot stat input file"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "input file is empty"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "failed reading '%s': %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "cannot read ELF header: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "cannot create EBL handle"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "cannot determine number of program headers: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "NONE (None)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (Relocatable file)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "EXEC (Executable file)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (Shared object file)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (Core file)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Processor Specific: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4162,7 +4214,7 @@ msgstr ""
"ELF Header:\n"
" Magic: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4171,117 +4223,117 @@ msgstr ""
"\n"
" Class: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " Data: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Ident Version: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(current)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI Version: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Type: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " Machine: %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " Version: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Entry point address: %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Start of program headers: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr "(bytes into file)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Start of section headers: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " Flags: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Size of this header: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Size of program header entries: %<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Number of program headers entries: %<PRId16>"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr " ([0] not available)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Size of section header entries: %<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Number of section headers entries: %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> in [0].sh_size)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> in [0].sh_link)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4290,7 +4342,7 @@ msgstr ""
" Section header string table index: XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4299,7 +4351,7 @@ msgstr ""
" Section header string table index: %<PRId16>\n"
"\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4308,11 +4360,11 @@ msgstr ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "Section Headers:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4320,7 +4372,7 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4328,12 +4380,12 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "cannot get section: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4342,17 +4394,17 @@ msgstr "cannot get section: %s"
msgid "cannot get section header: %s"
msgstr "cannot get section header: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "Program Headers:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4360,12 +4412,12 @@ msgstr ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Requesting program interpreter: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4375,12 +4427,12 @@ msgstr ""
" Section to Segment mapping:\n"
" Segment Sections..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "cannot get program header: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4397,7 +4449,7 @@ msgstr[1] ""
"COMDAT section group [%2zu] ‘%s’ with signature ‘%s’ contains "
"%zu entries:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4414,15 +4466,15 @@ msgstr[1] ""
"Section group [%2zu] ‘%s’ with signature ‘%s’ contains %zu "
"entries:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<INVALID SYMBOL>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<INVALID SECTION>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4443,36 +4495,36 @@ msgstr[1] ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s"
"[0m’\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " Type Value\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Shared library: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Library soname: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Library rpath: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Library runpath: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4481,7 +4533,7 @@ msgstr ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4500,7 +4552,7 @@ msgstr[1] ""
"Relocation section [%2zu] ‘%s’ for section [%2u] ‘%s’ at offset "
"%#0<PRIx64> contains %d entries:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4517,30 +4569,30 @@ msgstr[1] ""
"Relocation section [%2u] ‘%s’ at offset %#0<PRIx64> contains %d "
"entries:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " Offset Type Value Name\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " Offset Type Value Name\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<INVALID RELOC>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Type Value Addend Name\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Type Value Addend Name\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4555,40 +4607,40 @@ msgstr[1] ""
"\n"
"Symbol table [%2u] ‘%s’ contains %u entries:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] " %lu local symbol String table: [%2u] ‘%s’\n"
msgstr[1] " %lu local symbols String table: [%2u] ‘%s’\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Value Size Type Bind Vis Ndx Name\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Value Size Type Bind Vis Ndx Name\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "bad dynamic symbol"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "none"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <unknown>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4609,17 +4661,17 @@ msgstr[1] ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s"
"[0m’\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu File: %s Cnt: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4640,17 +4692,17 @@ msgstr[1] ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s"
"[0m’\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Parent %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4669,15 +4721,15 @@ msgstr[1] ""
"Version symbols section [%2u] ‘%s’ contains %d entries:\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’"
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4702,22 +4754,22 @@ msgstr[1] ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s"
"[0m’\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Length Number % of total Coverage\n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4726,12 +4778,12 @@ msgstr ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "cannot get data for section %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4740,7 +4792,7 @@ msgstr ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4757,7 +4809,7 @@ msgstr[1] ""
"Library list section [%2zu] ‘%s’ at offset %#0<PRIx64> contains %d "
"entries:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4765,7 +4817,7 @@ msgstr ""
" Library Time Stamp Checksum Version "
"Flags"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4776,160 +4828,160 @@ msgstr ""
"Object attributes section [%2zu] ‘%s’ of %<PRIu64> bytes at offset "
"%#0<PRIx64>:\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " Owner Size\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "unknown tag %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "unknown user tag %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "unknown attribute %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "unknown user attribute %hx"
-#: src/readelf.c:3569
+#: src/readelf.c:3657
#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr "unknown form %<PRIx64>"
+msgid "unknown form %#<PRIx64>"
+msgstr "unknown form %#<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "empty block"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "%zu byte block:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> used with different address sizes"
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> used with different offset sizes"
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -4940,7 +4992,7 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" [ Code]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -4949,30 +5001,30 @@ msgstr ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error while reading abbreviation: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "yes"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "no"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "cannot get .debug_aranges content: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -4987,25 +5039,25 @@ msgstr[1] ""
"\n"
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64> contains %zu entries:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "cannot get .debug_ranges content: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -5014,37 +5066,37 @@ msgstr ""
"\n"
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <INVALID DATA>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] base address %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] empty list\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "cannot get %s content: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -5053,12 +5105,12 @@ msgstr ""
"\n"
"Call frame information section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "invalid data in section [%zu] ‘%s’"
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -5067,50 +5119,50 @@ msgstr ""
"\n"
" [%6tx] Zero terminator\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr "invalid augmentation length"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "FDE address encoding: "
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "LSDA pointer encoding: "
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (end offset: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA pointer: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "cannot get attribute code: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "cannot get attribute form: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "cannot get attribute value: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -5121,7 +5173,7 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5134,7 +5186,7 @@ msgstr ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5145,37 +5197,37 @@ msgstr ""
" Version: %<PRIu16>, Abbreviation section offset: %<PRIu64>, Address size: "
"%<PRIu8>, Offset size: %<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "cannot get DIE offset: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "cannot get next DIE: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "cannot get next DIE: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "cannot get line data section data: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5184,7 +5236,7 @@ msgstr ""
"\n"
"Table at offset %Zu:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -5213,19 +5265,19 @@ msgstr ""
"\n"
"Opcodes:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "invalid data at offset %tu in section [%zu] ‘%s’"
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu argument\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu arguments\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5233,7 +5285,7 @@ msgstr ""
"\n"
"Directory table:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5243,7 +5295,7 @@ msgstr ""
"File name table:\n"
" Entry Dir Time Size Name"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5251,152 +5303,152 @@ msgstr ""
"\n"
"Line number statements:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " special opcode %u: address+%u = %s, line%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " extended opcode %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
-msgstr "end of sequence"
+#: src/readelf.c:6258
+msgid " end of sequence"
+msgstr " end of sequence"
-#: src/readelf.c:6107
+#: src/readelf.c:6275
#, c-format
-msgid "set address to %s\n"
-msgstr "set address to %s\n"
+msgid " set address to %s\n"
+msgstr " set address to %s\n"
-#: src/readelf.c:6128
+#: src/readelf.c:6296
#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgstr " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr " set discriminator to %u\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
-msgstr "unknown opcode"
+#: src/readelf.c:6314
+msgid " unknown opcode"
+msgstr " unknown opcode"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr " copy"
-#: src/readelf.c:6169
+#: src/readelf.c:6337
#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
-msgstr "advance address by %u to %s, op_index to %u\n"
+msgid " advance address by %u to %s, op_index to %u\n"
+msgstr " advance address by %u to %s, op_index to %u\n"
-#: src/readelf.c:6173
+#: src/readelf.c:6341
#, c-format
-msgid "advance address by %u to %s\n"
-msgstr "advance address by %u to %s\n"
+msgid " advance address by %u to %s\n"
+msgstr " advance address by %u to %s\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " advance line by constant %d to %<PRId64>\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " set file to %<PRIu64>\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " set column to %<PRIu64>\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " set ‘%s’ to %<PRIuFAST8>\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr " set basic block flag"
-#: src/readelf.c:6224
+#: src/readelf.c:6392
#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
-msgstr "advance address by constant %u to %s, op_index to %u\n"
+msgid " advance address by constant %u to %s, op_index to %u\n"
+msgstr " advance address by constant %u to %s, op_index to %u\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6396
#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr "advance address by constant %u to %s\n"
+msgid " advance address by constant %u to %s\n"
+msgstr " advance address by constant %u to %s\n"
-#: src/readelf.c:6246
+#: src/readelf.c:6414
#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr "advance address by fixed value %u to %s\n"
+msgid " advance address by fixed value %u to %s\n"
+msgstr " advance address by fixed value %u to %s\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr " set prologue end flag"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr " set epilogue begin flag"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr " set isa to %u\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " unknown opcode with %<PRIu8> parameter:"
msgstr[1] " unknown opcode with %<PRIu8> parameters:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "cannot get .debug_loc content: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr " <INVALID DATA>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "cannot get macro information section data: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** non-terminated string at end of section"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5407,12 +5459,12 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" %*s String\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** error while reading strings: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5421,7 +5473,7 @@ msgstr ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5430,22 +5482,22 @@ msgstr ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart encoding: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr " TType encoding: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr " Call site encoding: %#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5453,7 +5505,7 @@ msgstr ""
"\n"
" Call site table:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5466,22 +5518,103 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "invalid TType encoding"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"GDB section [%2zu] ‘%s’ at offset %#<PRIx64> contains %<PRId64> "
+"bytes :\n"
+
+#: src/readelf.c:7118
+#, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " Version: %<PRId32>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr " unknown version, cannot parse section\n"
+
+#: src/readelf.c:7133
+#, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " CU offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7140
+#, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " TU offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7147
+#, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " address offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7154
+#, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " symbol offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7161
+#, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " constant offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7168
+#, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7190
+#, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7216
+#, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7243
+#, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "cannot get debug context descriptor: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "cannot convert core note data: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5490,21 +5623,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "cannot get content of note section: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5513,7 +5646,7 @@ msgstr ""
"\n"
"Note section [%2zu] ‘%s’ of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5522,7 +5655,7 @@ msgstr ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5531,12 +5664,12 @@ msgstr ""
"\n"
"Section [%Zu] ‘%s’ has no data to dump.\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "cannot get data for section [%Zu] '%s': %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5545,7 +5678,7 @@ msgstr ""
"\n"
"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
@@ -5554,7 +5687,7 @@ msgstr ""
"\n"
"Section [%Zu] ‘%s’ has no strings to dump.\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5564,7 +5697,7 @@ msgstr ""
"String section [%Zu] ‘%s’ contains %<PRIu64> bytes at offset "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5573,7 +5706,7 @@ msgstr ""
"\n"
"section [%lu] does not exist"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5582,12 +5715,12 @@ msgstr ""
"\n"
"section ‘%s’ does not exist"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "cannot get symbol index of archive '%s': %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5596,7 +5729,7 @@ msgstr ""
"\n"
"Archive ‘%s’ has no symbol index\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5605,12 +5738,12 @@ msgstr ""
"\n"
"Index of archive ‘%s’ has %Zu entries:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "cannot extract member at offset %Zu in '%s': %s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Archive member ‘%s’ contains:\n"
@@ -5745,158 +5878,178 @@ msgstr "re-mmap failed"
msgid "mprotect failed"
msgstr "mprotect failed"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "Place stripped output into FILE"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "Extract the removed sections into FILE"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "Embed name FILE instead of -f argument"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "Remove all debugging symbols"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr "Remove section headers (not recommended)"
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "Copy modified/access timestamps to the output"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr "Remove .comment section"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Relax a few rules to handle slightly broken ELF files"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "Discard symbols from object files."
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr "--reloc-debug-sections used without -f"
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Only one input file allowed together with ‘-o’ and ‘-f’"
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "-f option specified twice"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "-F option specified twice"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "-o option specified twice"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "-R option supports only .comment section"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "cannot stat input file ‘%s’"
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "while opening ‘%s’"
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: cannot use -o or -f when stripping archive"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "cannot open EBL backend"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "cannot create new file '%s': %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "illformed file ‘%s’"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "while generating output file: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: error while creating ELF header: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "while preparing output for ‘%s’"
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "while create section header section: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "cannot allocate section data: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "while create section header string table: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, c-format
+msgid "bad relocation"
+msgstr "bad relocation"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "while writing '%s': %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "while creating ‘%s’"
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "while computing checksum for debug information"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error while reading the file: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr "while writing ‘%s’"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "error while finishing '%s': %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "cannot set access and modification date of ‘%s’"
diff --git a/elfutils/po/en@quot.gmo b/elfutils/po/en@quot.gmo
index c3a09415..42ff5aaf 100644
--- a/elfutils/po/en@quot.gmo
+++ b/elfutils/po/en@quot.gmo
Binary files differ
diff --git a/elfutils/po/en@quot.po b/elfutils/po/en@quot.po
index 297309ab..367e10b5 100644
--- a/elfutils/po/en@quot.po
+++ b/elfutils/po/en@quot.po
@@ -1,7 +1,7 @@
# English translations for elfutils package.
-# Copyright (C) 2011 Red Hat, Inc.
+# Copyright (C) 2012 Red Hat, Inc.
# This file is distributed under the same license as the elfutils package.
-# Automatically generated, 2011.
+# Automatically generated, 2012.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -27,10 +27,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: elfutils 0.152\n"
+"Project-Id-Version: elfutils 0.153\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
-"PO-Revision-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
+"PO-Revision-Date: 2012-02-16 13:21+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en\n"
@@ -39,8 +39,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "memory exhausted"
@@ -68,7 +68,7 @@ msgstr "invalid parameter"
msgid "cannot change mode of output file"
msgstr "cannot change mode of output file"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "cannot rename output file"
@@ -388,7 +388,7 @@ msgid "No backend"
msgstr "No backend"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -401,15 +401,55 @@ msgstr "<unknown>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
#, c-format
+msgid "unknown SDT version %u\n"
+msgstr "unknown SDT version %u\n"
+
+#: libebl/eblobjnote.c:94
+#, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "invalid SDT probe descriptor\n"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr " PC: "
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr " Base: "
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr " Semaphore: "
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr " Provider: "
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr " Name: "
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr " Args: "
+
+#: libebl/eblobjnote.c:164
+#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Linker version: %.*s\n"
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -443,7 +483,7 @@ msgstr "invalid size of source operand"
msgid "invalid size of destination operand"
msgstr "invalid size of destination operand"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "invalid encoding"
@@ -524,7 +564,8 @@ msgstr "data/scn mismatch"
msgid "invalid section header"
msgstr "invalid section header"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "invalid data"
@@ -595,7 +636,7 @@ msgstr "Also show line table flags"
msgid "Treat addresses as offsets relative to NAME section."
msgstr "Treat addresses as offsets relative to NAME section."
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Miscellaneous:"
@@ -610,10 +651,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr "[ADDR...]"
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -624,10 +665,10 @@ msgstr ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Written by %s.\n"
@@ -779,127 +820,132 @@ msgstr "‘%c’ is only meaningful with the ‘x’ option"
msgid "archive name required"
msgstr "archive name required"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr "command option required"
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "More than one operation specified"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "cannot open archive ‘%s’"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "cannot open archive '%s': %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: not an archive file"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "cannot stat archive ‘%s’"
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "no entry %s in archive\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "cannot create hash table"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "cannot insert into hash table"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "cannot stat ‘%s’"
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "cannot read content of %s: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "cannot open %.*s"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "failed to write %s"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "cannot change mode of %s"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "cannot change modification time of %s"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "cannot rename temporary file to %.*s"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "cannot create new file"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "position member %s not found"
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: no entry %s in archive!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "cannot open %s"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "cannot stat %s"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s is no regular file"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "cannot get ELF descriptor for %s: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "cannot read %s: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "the archive ‘%s’ is too large"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "cannot read ELF header of %s(%s): %s"
@@ -1080,8 +1126,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Invalid value ‘%s’ for --gaps parameter."
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1136,11 +1182,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "Pedantic checking of ELF files compliance with gABI/psABI spec."
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "FILE..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "cannot open input file"
@@ -1159,7 +1205,7 @@ msgstr "error while closing Elf descriptor: %s\n"
msgid "No errors"
msgstr "No errors"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Missing file name.\n"
@@ -2881,8 +2927,8 @@ msgstr "Use PATH as root of debuginfo hierarchy"
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Locate source of text relocations in FILEs (a.out by default)."
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[FILE...]"
@@ -3375,7 +3421,7 @@ msgstr "Warning: type of ‘%s’ changed from %s in %s to %s in %s"
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr "Warning: size of ‘%s’ changed from %<PRIu64> in %s to %<PRIu64> in %s"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "cannot determine number of sections: %s"
@@ -3554,7 +3600,7 @@ msgid "cannot read enough data for UUID"
msgstr "cannot read enough data for UUID"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "cannot create symbol table for output file: %s"
@@ -3574,75 +3620,75 @@ msgstr "cannot create versioning section: %s"
msgid "cannot create dynamic symbol table for output file: %s"
msgstr "cannot create dynamic symbol table for output file: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "cannot create versioning data: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "cannot create section header string section: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "cannot create section header string section"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "cannot create program header: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "while determining file layout: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "internal error: non-nobits section follows nobits section"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "cannot get header of 0th section: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "cannot update ELF header: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr "linker backend didn't specify function to relocate section"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "while writing output file: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "while finishing output file: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "cannot stat output file"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr "WARNING: temporary output file overwritten before linking finished"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "no machine specific ‘%s’ implementation"
@@ -3676,7 +3722,7 @@ msgstr "symbol ‘%s’ is declared both local and global for version ‘%s’"
msgid "default visibility set as local and global"
msgstr "default visibility set as local and global"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "Output selection:"
@@ -3733,93 +3779,101 @@ msgid "Use RADIX for printing symbol values"
msgstr "Use RADIX for printing symbol values"
#: src/nm.c:95
-msgid "Mark weak symbols"
-msgstr "Mark weak symbols"
+msgid "Mark special symbols"
+msgstr "Mark special symbols"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "Print size of defined symbols"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Output options:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "Sort symbols numerically by address"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "Do not sort the symbols"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Reverse the sense of the sort"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr "Decode low-level symbol names into source code names"
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "List symbols from FILEs (a.out by default)."
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+msgid "Output formatting"
+msgstr "Output formatting"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: INTERNAL ERROR %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "while closing ‘%s’"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: File format not recognized"
-#: src/nm.c:442
+#: src/nm.c:468
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
-"Archive index:"
+"Archive index:\n"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "invalid offset %zu for symbol %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%s in %s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "cannot reset archive offset to beginning"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: file format not recognized"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "cannot create search tree"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "cannot get section header string table index"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3832,20 +3886,7 @@ msgstr ""
"Symbols from %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -3854,22 +3895,22 @@ msgstr ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: entry size in section ‘%s’ is not what we expect"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: size of section ‘%s’ is not multiple of entry size"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Invalid operation"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: no symbols"
@@ -3891,8 +3932,8 @@ msgid "Display assembler code of executable sections"
msgstr "Display assembler code of executable sections"
#: src/objdump.c:68
-msgid "Output option selection:"
-msgstr "Output option selection:"
+msgid "Output content selection:"
+msgstr "Output content selection:"
#: src/objdump.c:70
msgid "Only display information for section NAME."
@@ -3902,24 +3943,24 @@ msgstr "Only display information for section NAME."
msgid "Show information from FILEs (a.out by default)."
msgstr "Show information from FILEs (a.out by default)."
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "No operation specified.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr "while close ‘%s’"
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "INVALID SYMBOL"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "INVALID SECTION"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -3930,20 +3971,25 @@ msgstr ""
"RELOCATION RECORDS FOR [%s]:\n"
"%-*s TYPE VALUE\n"
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "OFFSET"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "Contents of section %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "cannot disassemble"
+#: src/objdump.c:744
+#, c-format
+msgid "cannot allocate memory"
+msgstr "cannot allocate memory"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr "Generate an index to speed access to archives."
@@ -4026,10 +4072,12 @@ msgstr "Additional output selection:"
#: src/readelf.c:95
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
#: src/readelf.c:99
msgid "Dump the uninterpreted contents of SECTION, by number or name"
@@ -4051,91 +4099,95 @@ msgstr "Output control:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Do not find symbol names for addresses in DWARF data"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr "Ignored for compatibility (lines always wide)"
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "Print information from ELF file in human-readable form."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Unknown DWARF debug section ‘%s’.\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "cannot generate Elf descriptor: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "‘%s’ is not an archive, cannot print archive index"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "error while closing Elf descriptor: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "cannot stat input file"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "input file is empty"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "failed reading '%s': %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "cannot read ELF header: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "cannot create EBL handle"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "cannot determine number of program headers: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "NONE (None)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (Relocatable file)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "EXEC (Executable file)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (Shared object file)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (Core file)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Processor Specific: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4143,7 +4195,7 @@ msgstr ""
"ELF Header:\n"
" Magic: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4152,117 +4204,117 @@ msgstr ""
"\n"
" Class: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " Data: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Ident Version: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(current)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI Version: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Type: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " Machine: %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " Version: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Entry point address: %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Start of program headers: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr "(bytes into file)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Start of section headers: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " Flags: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Size of this header: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Size of program header entries: %<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Number of program headers entries: %<PRId16>"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr " ([0] not available)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Size of section header entries: %<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Number of section headers entries: %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> in [0].sh_size)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> in [0].sh_link)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4271,7 +4323,7 @@ msgstr ""
" Section header string table index: XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4280,7 +4332,7 @@ msgstr ""
" Section header string table index: %<PRId16>\n"
"\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4289,11 +4341,11 @@ msgstr ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "Section Headers:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4301,7 +4353,7 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4309,12 +4361,12 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "cannot get section: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4323,17 +4375,17 @@ msgstr "cannot get section: %s"
msgid "cannot get section header: %s"
msgstr "cannot get section header: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "Program Headers:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4341,12 +4393,12 @@ msgstr ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Requesting program interpreter: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4356,12 +4408,12 @@ msgstr ""
" Section to Segment mapping:\n"
" Segment Sections..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "cannot get program header: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4376,7 +4428,7 @@ msgstr[1] ""
"\n"
"COMDAT section group [%2zu] ‘%s’ with signature ‘%s’ contains %zu entries:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4391,15 +4443,15 @@ msgstr[1] ""
"\n"
"Section group [%2zu] ‘%s’ with signature ‘%s’ contains %zu entries:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<INVALID SYMBOL>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<INVALID SECTION>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4418,36 +4470,36 @@ msgstr[1] ""
"Dynamic segment contains %lu entries:\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " Type Value\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Shared library: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Library soname: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Library rpath: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Library runpath: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4456,7 +4508,7 @@ msgstr ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4475,7 +4527,7 @@ msgstr[1] ""
"Relocation section [%2zu] ‘%s’ for section [%2u] ‘%s’ at offset %#0<PRIx64> "
"contains %d entries:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4490,30 +4542,30 @@ msgstr[1] ""
"\n"
"Relocation section [%2u] ‘%s’ at offset %#0<PRIx64> contains %d entries:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " Offset Type Value Name\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " Offset Type Value Name\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<INVALID RELOC>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Type Value Addend Name\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Type Value Addend Name\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4528,40 +4580,40 @@ msgstr[1] ""
"\n"
"Symbol table [%2u] ‘%s’ contains %u entries:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] " %lu local symbol String table: [%2u] ‘%s’\n"
msgstr[1] " %lu local symbols String table: [%2u] ‘%s’\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Value Size Type Bind Vis Ndx Name\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Value Size Type Bind Vis Ndx Name\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "bad dynamic symbol"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "none"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <unknown>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4580,17 +4632,17 @@ msgstr[1] ""
"Version needs section [%2u] ‘%s’ contains %d entries:\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu File: %s Cnt: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4609,17 +4661,17 @@ msgstr[1] ""
"Version definition section [%2u] ‘%s’ contains %d entries:\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Parent %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4638,15 +4690,15 @@ msgstr[1] ""
"Version symbols section [%2u] ‘%s’ contains %d entries:\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’"
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4669,22 +4721,22 @@ msgstr[1] ""
"buckets):\n"
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘%s’\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Length Number % of total Coverage\n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4693,12 +4745,12 @@ msgstr ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "cannot get data for section %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4707,7 +4759,7 @@ msgstr ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4722,7 +4774,7 @@ msgstr[1] ""
"\n"
"Library list section [%2zu] ‘%s’ at offset %#0<PRIx64> contains %d entries:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4730,7 +4782,7 @@ msgstr ""
" Library Time Stamp Checksum Version "
"Flags"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4741,160 +4793,160 @@ msgstr ""
"Object attributes section [%2zu] ‘%s’ of %<PRIu64> bytes at offset "
"%#0<PRIx64>:\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " Owner Size\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "unknown tag %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "unknown user tag %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "unknown attribute %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "unknown user attribute %hx"
-#: src/readelf.c:3569
+#: src/readelf.c:3657
#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr "unknown form %<PRIx64>"
+msgid "unknown form %#<PRIx64>"
+msgstr "unknown form %#<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "empty block"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "%zu byte block:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> used with different address sizes"
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> used with different offset sizes"
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -4905,7 +4957,7 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" [ Code]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -4914,30 +4966,30 @@ msgstr ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error while reading abbreviation: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "yes"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "no"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "cannot get .debug_aranges content: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -4952,25 +5004,25 @@ msgstr[1] ""
"\n"
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64> contains %zu entries:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "cannot get .debug_ranges content: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -4979,37 +5031,37 @@ msgstr ""
"\n"
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <INVALID DATA>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] base address %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] empty list\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "cannot get %s content: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -5018,12 +5070,12 @@ msgstr ""
"\n"
"Call frame information section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "invalid data in section [%zu] ‘%s’"
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -5032,50 +5084,50 @@ msgstr ""
"\n"
" [%6tx] Zero terminator\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr "invalid augmentation length"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "FDE address encoding: "
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "LSDA pointer encoding: "
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (end offset: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA pointer: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "cannot get attribute code: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "cannot get attribute form: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "cannot get attribute value: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -5086,7 +5138,7 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5099,7 +5151,7 @@ msgstr ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5110,37 +5162,37 @@ msgstr ""
" Version: %<PRIu16>, Abbreviation section offset: %<PRIu64>, Address size: "
"%<PRIu8>, Offset size: %<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "cannot get DIE offset: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "cannot get next DIE: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "cannot get next DIE: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "cannot get line data section data: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5149,7 +5201,7 @@ msgstr ""
"\n"
"Table at offset %Zu:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -5178,19 +5230,19 @@ msgstr ""
"\n"
"Opcodes:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "invalid data at offset %tu in section [%zu] ‘%s’"
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu argument\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu arguments\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5198,7 +5250,7 @@ msgstr ""
"\n"
"Directory table:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5208,7 +5260,7 @@ msgstr ""
"File name table:\n"
" Entry Dir Time Size Name"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5216,152 +5268,152 @@ msgstr ""
"\n"
"Line number statements:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " special opcode %u: address+%u = %s, line%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " extended opcode %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
-msgstr "end of sequence"
+#: src/readelf.c:6258
+msgid " end of sequence"
+msgstr " end of sequence"
-#: src/readelf.c:6107
+#: src/readelf.c:6275
#, c-format
-msgid "set address to %s\n"
-msgstr "set address to %s\n"
+msgid " set address to %s\n"
+msgstr " set address to %s\n"
-#: src/readelf.c:6128
+#: src/readelf.c:6296
#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgstr " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr " set discriminator to %u\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
-msgstr "unknown opcode"
+#: src/readelf.c:6314
+msgid " unknown opcode"
+msgstr " unknown opcode"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr " copy"
-#: src/readelf.c:6169
+#: src/readelf.c:6337
#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
-msgstr "advance address by %u to %s, op_index to %u\n"
+msgid " advance address by %u to %s, op_index to %u\n"
+msgstr " advance address by %u to %s, op_index to %u\n"
-#: src/readelf.c:6173
+#: src/readelf.c:6341
#, c-format
-msgid "advance address by %u to %s\n"
-msgstr "advance address by %u to %s\n"
+msgid " advance address by %u to %s\n"
+msgstr " advance address by %u to %s\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " advance line by constant %d to %<PRId64>\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " set file to %<PRIu64>\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " set column to %<PRIu64>\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " set ‘%s’ to %<PRIuFAST8>\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr " set basic block flag"
-#: src/readelf.c:6224
+#: src/readelf.c:6392
#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
-msgstr "advance address by constant %u to %s, op_index to %u\n"
+msgid " advance address by constant %u to %s, op_index to %u\n"
+msgstr " advance address by constant %u to %s, op_index to %u\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6396
#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr "advance address by constant %u to %s\n"
+msgid " advance address by constant %u to %s\n"
+msgstr " advance address by constant %u to %s\n"
-#: src/readelf.c:6246
+#: src/readelf.c:6414
#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr "advance address by fixed value %u to %s\n"
+msgid " advance address by fixed value %u to %s\n"
+msgstr " advance address by fixed value %u to %s\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr " set prologue end flag"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr " set epilogue begin flag"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr " set isa to %u\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " unknown opcode with %<PRIu8> parameter:"
msgstr[1] " unknown opcode with %<PRIu8> parameters:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "cannot get .debug_loc content: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr " <INVALID DATA>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "cannot get macro information section data: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** non-terminated string at end of section"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5372,12 +5424,12 @@ msgstr ""
"DWARF section [%2zu] ‘%s’ at offset %#<PRIx64>:\n"
" %*s String\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** error while reading strings: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5386,7 +5438,7 @@ msgstr ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5395,22 +5447,22 @@ msgstr ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart encoding: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr " TType encoding: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr " Call site encoding: %#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5418,7 +5470,7 @@ msgstr ""
"\n"
" Call site table:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5431,22 +5483,102 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "invalid TType encoding"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"GDB section [%2zu] ‘%s’ at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+
+#: src/readelf.c:7118
+#, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " Version: %<PRId32>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr " unknown version, cannot parse section\n"
+
+#: src/readelf.c:7133
+#, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " CU offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7140
+#, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " TU offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7147
+#, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " address offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7154
+#, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " symbol offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7161
+#, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " constant offset: %#<PRIx32>\n"
+
+#: src/readelf.c:7168
+#, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7190
+#, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7216
+#, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+
+#: src/readelf.c:7243
+#, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "cannot get debug context descriptor: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "cannot convert core note data: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5455,21 +5587,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "cannot get content of note section: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5478,7 +5610,7 @@ msgstr ""
"\n"
"Note section [%2zu] ‘%s’ of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5487,7 +5619,7 @@ msgstr ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5496,12 +5628,12 @@ msgstr ""
"\n"
"Section [%Zu] ‘%s’ has no data to dump.\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "cannot get data for section [%Zu] '%s': %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5510,7 +5642,7 @@ msgstr ""
"\n"
"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
@@ -5519,7 +5651,7 @@ msgstr ""
"\n"
"Section [%Zu] ‘%s’ has no strings to dump.\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5528,7 +5660,7 @@ msgstr ""
"\n"
"String section [%Zu] ‘%s’ contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5537,7 +5669,7 @@ msgstr ""
"\n"
"section [%lu] does not exist"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5546,12 +5678,12 @@ msgstr ""
"\n"
"section ‘%s’ does not exist"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "cannot get symbol index of archive '%s': %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5560,7 +5692,7 @@ msgstr ""
"\n"
"Archive ‘%s’ has no symbol index\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5569,12 +5701,12 @@ msgstr ""
"\n"
"Index of archive ‘%s’ has %Zu entries:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "cannot extract member at offset %Zu in '%s': %s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Archive member ‘%s’ contains:\n"
@@ -5709,158 +5841,178 @@ msgstr "re-mmap failed"
msgid "mprotect failed"
msgstr "mprotect failed"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "Place stripped output into FILE"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "Extract the removed sections into FILE"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "Embed name FILE instead of -f argument"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "Remove all debugging symbols"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr "Remove section headers (not recommended)"
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "Copy modified/access timestamps to the output"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr "Remove .comment section"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Relax a few rules to handle slightly broken ELF files"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "Discard symbols from object files."
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr "--reloc-debug-sections used without -f"
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Only one input file allowed together with ‘-o’ and ‘-f’"
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "-f option specified twice"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "-F option specified twice"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "-o option specified twice"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "-R option supports only .comment section"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "cannot stat input file ‘%s’"
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "while opening ‘%s’"
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: cannot use -o or -f when stripping archive"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "cannot open EBL backend"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "cannot create new file '%s': %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "illformed file ‘%s’"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "while generating output file: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: error while creating ELF header: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "while preparing output for ‘%s’"
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "while create section header section: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "cannot allocate section data: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "while create section header string table: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, c-format
+msgid "bad relocation"
+msgstr "bad relocation"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "while writing '%s': %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "while creating ‘%s’"
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "while computing checksum for debug information"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error while reading the file: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr "while writing ‘%s’"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "error while finishing '%s': %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "cannot set access and modification date of ‘%s’"
diff --git a/elfutils/po/es.gmo b/elfutils/po/es.gmo
index 8b8c8eda..bc9b4b88 100644
--- a/elfutils/po/es.gmo
+++ b/elfutils/po/es.gmo
Binary files differ
diff --git a/elfutils/po/es.po b/elfutils/po/es.po
index 8e15590e..89ca50d6 100644
--- a/elfutils/po/es.po
+++ b/elfutils/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils.master.es\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
"PO-Revision-Date: 2011-01-10 15:17-0300\n"
"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz."
"com.ar>\n"
@@ -24,8 +24,8 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Country: ARGENTINA\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "memoria agotada"
@@ -53,7 +53,7 @@ msgstr "Parámetro inválido"
msgid "cannot change mode of output file"
msgstr "no sepuede cambiar modo de archivo de salida"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "no se puede renombrar el archivo de salida"
@@ -374,7 +374,7 @@ msgid "No backend"
msgstr "No hay segundo plano (Backend)"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -386,16 +386,56 @@ msgid "<unknown>: %#<PRIx64>"
msgstr "<desconocido>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
+#, fuzzy, c-format
+msgid "unknown SDT version %u\n"
+msgstr "versión desconocida"
+
+#: libebl/eblobjnote.c:94
+#, fuzzy, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "descriptor de archivo inválido"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Versión del Enlazador: %.*s\n"
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -429,7 +469,7 @@ msgstr "tamaño inválido del operando fuente"
msgid "invalid size of destination operand"
msgstr "tamaño inválido del operando destino"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "codificación inválida"
@@ -510,7 +550,8 @@ msgstr "no coinciden los datos/scn"
msgid "invalid section header"
msgstr "encabezamiento de sección inválida"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "datos inválidos"
@@ -583,7 +624,7 @@ msgstr "También mostrar marcas de líneas de tabla"
msgid "Treat addresses as offsets relative to NAME section."
msgstr "Manejar direcciones como compensaciones relativas a sección de NOMBRE."
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Misceláneos:"
@@ -599,10 +640,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr "[DIREC...]"
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -615,10 +656,10 @@ msgstr ""
"garantía, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN "
"DETERMINADO.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Escrito por %s.\n"
@@ -770,127 +811,132 @@ msgstr "'%c' es sólo significativo con la opción 'x'"
msgid "archive name required"
msgstr "nombre de archivo requerido"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "Más de una operación especificada"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "Imposible abrir el archivo '%s'"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "Imposible abrir el archivo '%s': %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: no es un fichero de archivo"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "no sepuede stat el archivo '%s'"
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "no hay entrada %s en archivo\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "Falló al crear la tabla de dispersión"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "no sepuede insertar en tabla de dispersión"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "no se puede stat '%s'"
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "no se puede leer el contenido de %s: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr " Imposible abrir %.*s"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "Falló al escribir %s"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "No se puede cambiar el modo de %s"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "No puede cambiar tiempo de modificación de %s"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "no sepuede renombrar fichero temporal para %.*s"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "no sepuede crear fichero nuevo"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "no se encuentra miembro de posición %s "
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: ¡no hay entrada %s en archive!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "no sepuede abrir %s"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "no sepuede efectuar stat %s"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr " %s no es un fichero ordinario "
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "no sepuede obtener descriptor ELF para %s: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "no sepuede leer %s: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr " El archivo '%s' es demasiado grande"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "no se puede leer el encabezamiento ELF de %s(%s): %s"
@@ -1072,8 +1118,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Valor inválido '%s' para parámetro --gaps"
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1128,11 +1174,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "Chequeo minucioso de ficheros ELF de acuerdo con gABI/psABI "
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "FICHERO..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "no se puede abrir el fichero de entrada"
@@ -1151,7 +1197,7 @@ msgstr "error al cerrar el descriptor ELF: %s\n"
msgid "No errors"
msgstr "No hay errores"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Falta el nombre de archivo.\n"
@@ -3007,8 +3053,8 @@ msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
"Localizar origen de reubicaciones de texto en FICHEROS (a.out por defecto)."
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[FICHERO...]"
@@ -3519,7 +3565,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
"Advertencia: el tamaño de `%s' cambió de %<PRIu64> en %s a %<PRIu64> en %s"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
@@ -3716,7 +3762,7 @@ msgid "cannot read enough data for UUID"
msgstr "no es posible leer suficientes datos para el UUID"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "no es posible crear tabla de símbolo para el comando de salida: %s"
@@ -3739,77 +3785,77 @@ msgid "cannot create dynamic symbol table for output file: %s"
msgstr ""
"no es posible crear tabla de símbolos dinámicos para el archivo de salida: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "no se pueden crear datos de versión: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "no se puede crear sección de cadenas de encabezamiento de sección: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "no se puede crear sección de cadenas de encabezamiento de sección"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "no se puede crear encabezamiento de programa: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "al determinar diseño de fichero: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "error interno: sección non-nobits sigue a sección nobits"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "No se puede obtener encabezamiento de sección 0th: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "No se puede actualizar encabezamiento ELF: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr "enlazador de segundo plano no especificó función para reubicar sección"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "Ocurrió un error de fichero de salida: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "error al cerrar el fichero de salida: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "no se puede generar stat de fichero de salida"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr ""
"ADVERTENCIA: archivo de salida temporal sobreescrito antes que haya "
"concluido el enlazamiento"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "no hay máquina específica de implementación '%s'"
@@ -3846,7 +3892,7 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "la visibilidad establecida por defecto establecida como local y global"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "Selección de salida:"
@@ -3903,93 +3949,104 @@ msgid "Use RADIX for printing symbol values"
msgstr "Utilizar RADIX para imprimir valores de símbolo"
#: src/nm.c:95
-msgid "Mark weak symbols"
+#, fuzzy
+msgid "Mark special symbols"
msgstr "Marcar símbolos débiles"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "Tamaño de impresión de símbolos definidos"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Opciones de salida:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "Ordenar los símbolos numéricos por dirección"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "No ordenar los símbolos"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Invertir el orden"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "Listar símbolos de FICHEROS (a.out por defecto)."
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+#, fuzzy
+msgid "Output formatting"
+msgstr "Formato de salida:"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: ERROR INTERNO %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "error al cerrar '%s'"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: No se reconoce el formato del fichero"
-#: src/nm.c:442
+#: src/nm.c:468
+#, fuzzy
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
"Ãndice de archivo:"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "Compensación %zu inválida para símbolo %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%s en %s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "imposible restablecer compensación de archivo al inicio"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: no se reconoció el formato de fichero"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "No se puede crear el árbol de búsqueda"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -4002,20 +4059,7 @@ msgstr ""
"Símbolos de %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Símbolos de %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -4024,23 +4068,23 @@ msgstr ""
"%*s%-*s %-*s Clase Tipo %-*s %*s Sección\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr ""
"%s: el tamaño de la entrada en la sección `%s' no es el que esperábamos "
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: Tamaño de sección `%s' no es múltiplo de tamaño de entrada"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Operación inválida"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: No hay símbolos"
@@ -4062,7 +4106,8 @@ msgid "Display assembler code of executable sections"
msgstr "Mostrar código de ensamblador de secciones ejecutables"
#: src/objdump.c:68
-msgid "Output option selection:"
+#, fuzzy
+msgid "Output content selection:"
msgstr "Selección de opción de salida:"
#: src/objdump.c:70
@@ -4073,24 +4118,24 @@ msgstr "Sólo muestra información para NOMBRE de sección."
msgid "Show information from FILEs (a.out by default)."
msgstr "Muestra información de FICHEROS (a.out por defecto)."
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "No se especificó una operación.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr "mientras cierra `%s'"
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "SÃMBOLO INVÃLIDO"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "SECCIÓN INVÃLIDA"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -4101,20 +4146,25 @@ msgstr ""
"REUBICACIÓN DE REGISTROS PARA [%s]:\n"
"%-*s TIPO VALOR\n"
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "COMPENSACIÓN"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "Contenido de la sección %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "No se puede desensamblar"
+#: src/objdump.c:744
+#, fuzzy, c-format
+msgid "cannot allocate memory"
+msgstr "No se puede asignar sección PLT: %s"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr " Generar un índice para acelerar el acceso a los archivos."
@@ -4195,9 +4245,11 @@ msgid "Additional output selection:"
msgstr "Selección de salida adicional:"
#: src/readelf.c:95
+#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"Mostrar el contenido de la sección DWARF. SECCIÓN puede ser algo de lo "
"siguiente: abbrev, aranges, frame, info, loc, line, ranges, pubnames, str, "
@@ -4224,93 +4276,97 @@ msgid "Do not find symbol names for addresses in DWARF data"
msgstr ""
"No se encuentran los nombres de símbolos para direcciones en datos DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr ""
"Imprimir información del fichero ELF en una forma comprensible para los "
"seres humanos."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Sección de depuración DWARF desconocida `%s'.\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "no se puede crear descriptor ELF: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' no es un archivo, no se puede imprimir índice de archivo"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "error al cerrar el descriptor ELF: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "no sepudo stat archivo de entrada"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "archivo de entrada vacío"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "Falló lectura de '%s': %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "no se pudo leer encabezamiento ELF: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "no se puede crear EBL"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "NONE (Ninguno)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (Fichero reubicable)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "EXEC (Fichero ejecutable)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (Fichero objeto compartido)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (Fichero núcleo)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Específico del procesador: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4318,7 +4374,7 @@ msgstr ""
"Encabezamiento ELF:\n"
" Mágico: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4327,119 +4383,119 @@ msgstr ""
"\n"
" Clase: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " Datos: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Versión ident: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(actual)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Versión ABI: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Tipo: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " Máquina: %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " Versión: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de programa: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr " (bytes en el archivo)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de sección: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " Indicadores: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Tamaño de este encabezamiento: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
" Tamaño de las entradas en encabezamiento del programa: %<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Cantidad de entradas de encabezados de programa: %<PRId16>"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr " ([0] no disponible)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
" Tamaño de las entradas en el encabezamiento de sección: %<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Cantidad de entradas en los encabezamientos de sección: %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> en [0].sh_size)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> en [0].sh_link)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4448,14 +4504,14 @@ msgstr ""
" Ãndice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr " Ãndice de tabla de cadenas de sección de encabezamiento: %<PRId16>\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4464,11 +4520,11 @@ msgstr ""
"Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "encabezamientos de sección:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4476,7 +4532,7 @@ msgstr ""
"[Nr] Nombre Tipo Dirección Off Tamaño Inf Al "
"Enlace banderas ES"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4484,12 +4540,12 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4498,18 +4554,18 @@ msgstr "No se puede encontrar la sección: %s"
msgid "cannot get section header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "encabezamientos de programa:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Tipo Compensación Dirección Virtual Dirección "
"Física Tamaño de Fichero Tamaño de Memoria Alineación de bandera"
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4517,12 +4573,12 @@ msgstr ""
" Tipo Compensación Dirección Virtual Dirección "
"Física Tamaño de Fichero Tamaño de Memoria Alineación de bandera"
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Solicitando intérprete de programa: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4532,12 +4588,12 @@ msgstr ""
" Sección para asignación de segmento:\n"
" Secciones de segmento..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4552,7 +4608,7 @@ msgstr[1] ""
"\n"
"Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4567,15 +4623,15 @@ msgstr[1] ""
"\n"
"Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<SÃMBOLO INVÃLIDO>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<SECCIÓN INVÃLIDA>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4596,36 +4652,36 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " Tipo Valor\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteca compartida: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Nombre-so de la biblioteca: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath de la biblioteca: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Ruta de ejecución de la biblioteca: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4634,7 +4690,7 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4653,7 +4709,7 @@ msgstr[1] ""
"Sección de reubicación [%2zu] '%s' para sección [%2u] '%s' en compensación "
"%#0<PRIx64> contiene entradas %d:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4670,29 +4726,29 @@ msgstr[1] ""
"Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene "
"entradas %d:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<REUBIC INVÃLIDA>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4707,40 +4763,40 @@ msgstr[1] ""
"\n"
"La tabla de símbolos [%2u] '%s' contiene entradas %u:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] "símbolos locales %lu Tabla de cadena: [%2u] '%s'\n"
msgstr[1] " Símbolos locales %lu Tabla de cadenas: [%2u] '%s'\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Núm: Valor Tamaño Tipo Unión Vis Nombre Ndx\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Valor Tamaño Tipo Unión Vis Nombre Ndx\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "símbolo dinámico erróneo"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "nada"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <desconocido>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4761,17 +4817,17 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Versión: %hu Fichero: %s Conteo: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nombre: %s Banderas: %s Versión: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4792,18 +4848,18 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
" %#06x: Versión: %hd Banderas: %s Ãndice: %hd Conteo: %hd Nombre: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Principal %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4824,15 +4880,15 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'"
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4857,22 +4913,22 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Longitud Número % of total Cobertura\n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4881,12 +4937,12 @@ msgstr ""
" Número promedio de pruebas: búsqueda exitosa: %f\n"
" búsqueda sin éxito: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "No se pueden obtener datos para la sección %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4896,7 +4952,7 @@ msgstr ""
" Tamaño de Bitmask: %zu bytes %<PRIuFAST32>%% bits establecen segundo "
"cambio de dispersión: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4913,7 +4969,7 @@ msgstr[1] ""
"Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> "
"contiene entradas %d:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4921,7 +4977,7 @@ msgstr ""
" Biblioteca Marca de tiempo Indicadores "
"de versión de suma de verificación"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4932,160 +4988,160 @@ msgstr ""
"Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con "
"desplazamiento %#0<PRIx64>:\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "etiqueta %hx desconocida"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "Usuario de etiqueta %hx desconocido "
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "atributo de sección %hx desconocido"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "Atributo de usuario desconocido %hx"
-#: src/readelf.c:3569
-#, c-format
-msgid "unknown form %<PRIx64>"
+#: src/readelf.c:3657
+#, fuzzy, c-format
+msgid "unknown form %#<PRIx64>"
msgstr "Forma %<PRIx64> desconocida"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "bloque vacío"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "bloque de byte %zu:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño"
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <MATERIAL INUTIL SIN UTILIZAR EN EL RESTO DE LA SECCION>\n"
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -5096,7 +5152,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [ Código]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -5105,30 +5161,30 @@ msgstr ""
"\n"
"Sección de abreviatura en compensación %<PRIu64>:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error en lectura de abreviatura: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "sí"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "no"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_aranges: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -5143,12 +5199,12 @@ msgstr[1] ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5156,13 +5212,13 @@ msgstr ""
" Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -5171,37 +5227,37 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] (dirección base) %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] lista vacía\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "No se puede obtener el contenido %s: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -5211,12 +5267,12 @@ msgstr ""
"Sección de información de marco de llamada [%2zu] '%s' en compensación "
"%#<PRIx64>:\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -5225,50 +5281,50 @@ msgstr ""
"\n"
" [%6tx] Terminator cero\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr "longitud de aumento inválida"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "Codificación de dirección FDE:"
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "Codificación de puntero LSDA:"
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr "Puntero %-26sLSDA: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "No se puede obtener código de atributo: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "No se puede obtener forma de atributo: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "No se puede obtener valor: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -5279,7 +5335,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5292,7 +5348,7 @@ msgstr ""
"Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
" Tipo de firma: %#<PRIx64>, Tipo de compensación: %#<PRIx64>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5303,39 +5359,39 @@ msgstr ""
" Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>, "
"Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "no se puede obtener DIE en compensación %<PRIu64> en sección '%s': %s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "no se puede obtener DIE en compensación: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"no se ha podido obtener etiqueta de DIE en compensación%<PRIu64> en sección "
"'%s': %s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "No se puede obtener próximo DIE: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "No se puede obtener sección de datos de línea: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5344,7 +5400,7 @@ msgstr ""
"\n"
"Tabla en compensación %Zu:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -5373,19 +5429,19 @@ msgstr ""
"\n"
"Códigos operativos:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "datos inválidos en compensación %tu en sección [%zu] '%s'"
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] argumento %hhu \n"
msgstr[1] " [%*<PRIuFAST8>] argumento %hhu\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5393,7 +5449,7 @@ msgstr ""
"\n"
"Tabla de Directorio:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5403,7 +5459,7 @@ msgstr ""
"Tabla de nombre de archivo:\n"
" Directorio de entrada Tiempo Tamaño Nombre"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5411,157 +5467,159 @@ msgstr ""
"\n"
" Declaraciones de número de Línea:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
" opcode especial %u: dirección+%u = %s, op_index = %u, línea%+d = %zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " opcode especial %u: dirección+%u = %s, línea%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " Código operativo extendido %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+#, fuzzy
+msgid " end of sequence"
msgstr "Fin de secuencia"
-#: src/readelf.c:6107
-#, c-format
-msgid "set address to %s\n"
+#: src/readelf.c:6275
+#, fuzzy, c-format
+msgid " set address to %s\n"
msgstr "Establecer dirección a %s\n"
-#: src/readelf.c:6128
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+#: src/readelf.c:6296
+#, fuzzy, c-format
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"definir nuevo archivo: dir=%u, mtime=%<PRIu64>, longitud=%<PRIu64>, nombre="
"%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr " establecer discriminador a %u\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
+#: src/readelf.c:6314
+#, fuzzy
+msgid " unknown opcode"
msgstr "código operativo desconocido "
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr "Copiar"
-#: src/readelf.c:6169
-#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+#: src/readelf.c:6337
+#, fuzzy, c-format
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr "dirección avanzada por %u a %s, op_index a %u\n"
-#: src/readelf.c:6173
-#, c-format
-msgid "advance address by %u to %s\n"
+#: src/readelf.c:6341
+#, fuzzy, c-format
+msgid " advance address by %u to %s\n"
msgstr "Dirección de avance por %u a %s\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " línea de avance por la constante %d a %<PRId64>\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " Establecer columna a %<PRIu64>\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr "Establecer '%s' a %<PRIuFAST8>\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr "Establecer bandera de bloque básico"
-#: src/readelf.c:6224
-#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+#: src/readelf.c:6392
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "dirección avanzada por constante %u a %s, op_index a %u\n"
-#: src/readelf.c:6228
-#, c-format
-msgid "advance address by constant %u to %s\n"
+#: src/readelf.c:6396
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s\n"
msgstr "Dirección de avance por constante %u a %s\n"
-#: src/readelf.c:6246
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
+#: src/readelf.c:6414
+#, fuzzy, c-format
+msgid " advance address by fixed value %u to %s\n"
msgstr "dirección de avance por valor corregido %u a %s\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr " Establecer bandera prologue_end"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr " Establecer bandera epilogue_begin"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr " establecer isa para %u\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " opcódigo con parámetro %<PRIu8> desconocido:"
msgstr[1] " opcódigo con parámetros %<PRIu8> desconocido:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "no es posible obtener contenido de .debug_loc: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "no es posible obtener datos de la sección de macro información: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** cadena no finalizada al final de la sección"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
" Compensación [%5d] DIE: %6<PRId64>, Compensación CU DIE: %6<PRId64>, "
"nombre: %s\n"
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5572,12 +5630,12 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" %*s String\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** error en lectura de cadenas: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5586,7 +5644,7 @@ msgstr ""
"\n"
"Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5595,22 +5653,22 @@ msgstr ""
"\n"
"Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr "Codificación LPStart: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr "Codificación TType: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr "Codificación de sitio de llamada: %#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5618,7 +5676,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5631,22 +5689,102 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "Codificación TType inválida"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, fuzzy, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
+
+#: src/readelf.c:7118
+#, fuzzy, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, fuzzy, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " (compensación: %#<PRIx64>)"
+
+#: src/readelf.c:7140
+#, fuzzy, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " (compensación: %#<PRIx64>)"
+
+#: src/readelf.c:7147
+#, fuzzy, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " (fin de compensación: %#<PRIx64>)"
+
+#: src/readelf.c:7154
+#, fuzzy, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " (compensación: %#<PRIx64>)"
+
+#: src/readelf.c:7161
+#, fuzzy, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " (fin de compensación: %#<PRIx64>)"
+
+#: src/readelf.c:7168
+#, fuzzy, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
+
+#: src/readelf.c:7190
+#, fuzzy, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
+
+#: src/readelf.c:7216
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
+
+#: src/readelf.c:7243
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "no se puede depurar descriptor de contexto: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "no es posible convertir datos de la nota principal: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5655,21 +5793,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "no se puede obtener el contenido de sección de nota: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5678,7 +5816,7 @@ msgstr ""
"\n"
"Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5687,7 +5825,7 @@ msgstr ""
"\n"
"Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5696,12 +5834,12 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "no se pueden obtener datos para sección [%Zu] '%s': %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5711,7 +5849,7 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
@@ -5720,7 +5858,7 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5730,7 +5868,7 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5739,7 +5877,7 @@ msgstr ""
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5748,12 +5886,12 @@ msgstr ""
"\n"
"sección '%s' no existe"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "no se puede obtener el índice de símbolo de archivo '%s': %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5762,7 +5900,7 @@ msgstr ""
"\n"
"Archivo '%s' no tiene índice de símbolo\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5771,12 +5909,12 @@ msgstr ""
"\n"
"Ãndice de archivo '%s' tiene %Zu entradas:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "no es posible extraer miembro en compensación %Zu en '%s': %s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Miembro de archivo contiene '%s':\n"
@@ -5912,158 +6050,175 @@ msgstr "re-mmap falló"
msgid "mprotect failed"
msgstr "mprotect falló"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "Colocar la salida obtenida en FICHERO"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "Extraer secciones eliminadas en FICHERO"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "Incorporar nombre FILE en lugar de argumento -f"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "Elimina todos los símbolos de depuración"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr "Quitar sección de cabeceras (no recomendado)"
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "Copiar marcas de tiempo modificadas/acceso a la salida"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr "Quitar sección de comentario"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Relaja algunas reglas para manejar ficheros ELF rotos"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "Descarta símbolos de archivos objeto."
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Sólo se permite ingresar un archivo junto con '-o' y '-f'"
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "opción -f especificada dos veces"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "opción -F especificada dos veces"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "opción -o especificada dos veces"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "la opción -R soporta únicamente. sección de comentario"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "no sepuede stat fichero de entrada '%s'"
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "mientras se abría '%s'"
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "No se puede abrir el segundo plano EBL"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "no se puede crear fichero nuevo '%s': %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "Fichero illformed '%s'"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "al generar fichero de salida: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "al preparar salida para '%s'"
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "al crear sección de encabezamiento de sección: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "no se puede asignar espacio para los datos: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Mostrar reubicaciones"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "al escribir '%s': %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "al crear '%s'"
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "al computar la suma de verificación para información de depuración"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error al leer el fichero: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr "al escribir '%s'"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "Error al terminar '%s': %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "no es posible establecer acceso y fecha de modificación de '%s'"
@@ -6423,6 +6578,17 @@ msgstr ""
"file. DEBUGFILE is the separate debuginfo file name, or - if no debuginfo "
"was found, or . if FILE contains the debug information."
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Symbols from %s[%s]:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Símbolos de %s[%s]:\n"
+#~ "\n"
+
#~ msgid "%s %s differ: section header"
#~ msgstr "%s %s differ: encabezamiento de sección"
diff --git a/elfutils/po/ja.gmo b/elfutils/po/ja.gmo
index c3f0d59f..4c1d5ef9 100644
--- a/elfutils/po/ja.gmo
+++ b/elfutils/po/ja.gmo
Binary files differ
diff --git a/elfutils/po/ja.po b/elfutils/po/ja.po
index 03613cac..6299fe0e 100644
--- a/elfutils/po/ja.po
+++ b/elfutils/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ja\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
"PO-Revision-Date: 2009-09-20 15:32+0900\n"
"Last-Translator: Hyu_gabaru Ryu_ichi <hyu_gabaru@yahoo.co.jp>\n"
"Language-Team: Japanese <jp@li.org>\n"
@@ -19,8 +19,8 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "メモリー消費済ã¿"
@@ -48,7 +48,7 @@ msgstr "ä¸å½“ãªãƒ‘ラメーター"
msgid "cannot change mode of output file"
msgstr "出力ファイルã®ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã§ãã¾ã›ã‚“"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "出力ファイルã®åå‰ã‚’変更ã§ãã¾ã›ã‚“"
@@ -375,7 +375,7 @@ msgid "No backend"
msgstr "ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒã‚ã‚Šã¾ã›ã‚“"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -387,16 +387,56 @@ msgid "<unknown>: %#<PRIx64>"
msgstr "<ä¸æ˜Ž>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
+#, fuzzy, c-format
+msgid "unknown SDT version %u\n"
+msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³"
+
+#: libebl/eblobjnote.c:94
+#, fuzzy, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
#, c-format
msgid " Build ID: "
msgstr " ビルト ID: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %sã€ABI: "
@@ -430,7 +470,7 @@ msgstr "ソース演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
msgid "invalid size of destination operand"
msgstr "宛先演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "無効ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
@@ -512,7 +552,8 @@ msgstr "データ/scnãŒä¸æ•´åˆã§ã™"
msgid "invalid section header"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
@@ -584,7 +625,7 @@ msgstr ""
msgid "Treat addresses as offsets relative to NAME section."
msgstr ""
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "雑則:"
@@ -598,10 +639,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr ""
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -612,10 +653,10 @@ msgstr ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "%s ã«ã‚ˆã£ã¦æ›¸ã‹ã‚Œã¾ã—ãŸã€‚\n"
@@ -767,127 +808,132 @@ msgstr "'%c' 㯠'x' オプションã¨ä¸€ç·’ã®æ™‚ã®ã¿æ„味をæŒã¡ã¾ã™"
msgid "archive name required"
msgstr "アーカイブåãŒå¿…è¦ã§ã™"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "1ã¤ã‚’越ãˆã‚‹æ“作ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸ"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "アーカイブ '%s' ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "アーカイブ '%s' ã‚’é–‹ã‘ã¾ã›ã‚“: %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: アーカイブファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "アーカイブ㫠stat ã§ãã¾ã›ã‚“: '%s'"
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "アーカイブã«é …ç›® %s ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルを生æˆã§ãã¾ã›ã‚“"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "ãƒãƒƒã‚·ãƒ¥ã«æŒ¿å…¥ã§ãã¾ã›ã‚“"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "'%s' ã« stat ã§ãã¾ã›ã‚“"
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "%s ã®å†…容を読むã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "%.*s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "%s ã¸ã®æ›¸è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã§ãã¾ã›ã‚“"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "%s ã®æ›´æ–°æ™‚間を変更ã§ãã¾ã›ã‚“"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "一時ファイルを %.*s ã«åå‰å¤‰æ›´ã§ãã¾ã›ã‚“"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "æ–°ã—ã„ファイルを生æˆã§ãã¾ã›ã‚“"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "ä½ç½®ãƒ¡ãƒ³ãƒãƒ¼ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: é …ç›® %s ãŒã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«ã‚ã‚Šã¾ã›ã‚“!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "%s ã‚’ stat ã§ãã¾ã›ã‚“"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s ã¯ä¸€èˆ¬ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "%s ã® ELF 記述å­ã‚’得られã¾ã›ã‚“: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "%s を読ã¿ã¾ã›ã‚“: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "アーカイブ '%s' ã¯å¤§ãã™ãŽã¾ã™"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "%s(%s) ã® ELF ヘッダーを読ã‚ã¾ã›ã‚“: %s"
@@ -1066,8 +1112,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1121,11 +1167,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "ELF ファイル㌠gABI/psABI 仕様ã¸æº–æ‹ ã—ã¦ã„ã‚‹ã‹ã®åŽ³å¯†ãªãƒã‚§ãƒƒã‚¯ã€‚"
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "ãµãã„ã‚‹..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "入力ファイルを開ã‘ã¾ã›ã‚“"
@@ -1144,7 +1190,7 @@ msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s\n"
msgid "No errors"
msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "ファイルåãŒã‚ã‚Šã¾ã›ã‚“。\n"
@@ -2803,8 +2849,8 @@ msgstr ""
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[ãµãã„ã‚‹...]"
@@ -3297,7 +3343,7 @@ msgstr ""
"警告: `%1$s ã®å¤§ãã•ãŒ %3$s ã® %2$<PRIu64> ã‹ã‚‰ %5$s ã® %4$<PRIu64> ã«å¤‰æ›´ã•"
"ã‚Œã¾ã—ãŸ"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
@@ -3479,7 +3525,7 @@ msgid "cannot read enough data for UUID"
msgstr "UUID ã«å分ãªãƒ‡ãƒ¼ã‚¿ã‚’読ã‚ã¾ã›ã‚“"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "出力ファイル用ã®ã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ルを生æˆã§ãã¾ã›ã‚“: %s"
@@ -3499,76 +3545,76 @@ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’生æˆã§ãã¾ã›ã‚“: %s"
msgid "cannot create dynamic symbol table for output file: %s"
msgstr "出力ファイル用ã®å‹•çš„シンボルテーブルを生æˆã§ãã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ãƒ‡ãƒ¼ã‚¿ã‚’生æˆã§ãã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "プログラムヘッダーを生æˆã§ãã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "ファイルレイアウトを決定中: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "内部エラー: éž nobits セクション㌠nobits セクションã«ç¶šãã¾ã™"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "0番目ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "ELF ヘッダーを更新ã§ãã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr ""
"リンカーãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’リロケートã™ã‚‹ãŸã‚ã®æ©Ÿèƒ½ã‚’指定ã—ã¦ã„ã¾ã›ã‚“"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "出力ファイルã«æ›¸è¾¼ã¿ä¸­: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "出力ファイルã®ä»•ä¸Šã’中: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "出力ファイルを stat ã§ãã¾ã›ã‚“"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr "警告: リンクを仕上ã’ã‚‹å‰ã«ä¸€æ™‚出力ファイルãŒä¸Šæ›¸ãã•ã‚Œã¾ã—ãŸ"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "マシン固有㮠'%s' 実装ã¯ã‚ã‚Šã¾ã›ã‚“"
@@ -3602,7 +3648,7 @@ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%2$s' 用ã®ãƒ­ãƒ¼ã‚«ãƒ«ã¨ã‚°ãƒ­ãƒ¼ãƒãƒ«ã§å®£è¨€ã•ã
msgid "default visibility set as local and global"
msgstr "ローカルã¨ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«è¨­å®šã•ã‚ŒãŸãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å¯è¦–性"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "出力é¸æŠž:"
@@ -3659,93 +3705,104 @@ msgid "Use RADIX for printing symbol values"
msgstr "シンボル値をå°åˆ·ã™ã‚‹ãŸã‚ã« RADIX を使ã†"
#: src/nm.c:95
-msgid "Mark weak symbols"
+#, fuzzy
+msgid "Mark special symbols"
msgstr "å¼±ã„シンボルã«å°ã‚’点ã‘ã‚‹"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®å°åˆ·ã‚µã‚¤ã‚º"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "出力オプション:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "シンボルをアドレスã«ã‚ˆã‚Šæ•°å€¤çš„ã«ä¸¦ã¹æ›¿ãˆã‚‹"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "シンボルを並ã¹æ›¿ãˆãªã„"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "並ã¹æ›¿ãˆã®æ„味を逆ã«ã™ã‚‹"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "ãµãã„ã‚‹ ã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’表示 (デフォルトã§ã¯a.out)。"
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+#, fuzzy
+msgid "Output formatting"
+msgstr "出力形å¼:"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: 内部エラー %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "'%s' ã‚’é–‰ã˜ã¦ã„る最中"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/nm.c:442
+#: src/nm.c:468
+#, fuzzy
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
"アーカイブ索引:"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "シンボル %2$sã®ä¸æ­£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu "
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%2$s ã®ä¸­ã® %1$s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "アーカイブã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã‚’最åˆã«ãƒªã‚»ãƒƒãƒˆã§ãã¾ã›ã‚“"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "検索ツリーを生æˆã§ãã¾ã›ã‚“"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3758,20 +3815,7 @@ msgstr ""
"%s ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"%s[%s]ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -3780,22 +3824,22 @@ msgstr ""
"%*s%-*s %-*s クラス タイプ %-*s %*s セクション\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: セクションã®é …ç›®ã®å¤§ãã• `%s' ã¯äºˆæœŸã—ãŸã‚‚ã®ã¨ã¯ç•°ãªã‚Šã¾ã™"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: セクション `%s' ã®å¤§ãã•ã¯é …ç›®ã®å¤§ãã•ã®æ•´æ•°å€ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: ä¸å½“ãªæ“作"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: シンボルãŒã‚ã‚Šã¾ã›ã‚“"
@@ -3817,8 +3861,9 @@ msgid "Display assembler code of executable sections"
msgstr ""
#: src/objdump.c:68
-msgid "Output option selection:"
-msgstr ""
+#, fuzzy
+msgid "Output content selection:"
+msgstr "出力é¸æŠž:"
#: src/objdump.c:70
msgid "Only display information for section NAME."
@@ -3828,24 +3873,24 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -3853,20 +3898,25 @@ msgid ""
"%-*s TYPE VALUE\n"
msgstr ""
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr ""
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr ""
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr ""
+#: src/objdump.c:744
+#, fuzzy, c-format
+msgid "cannot allocate memory"
+msgstr "PLT セクションを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr ""
@@ -3952,9 +4002,11 @@ msgid "Additional output selection:"
msgstr "出力é¸æŠž:"
#: src/readelf.c:95
+#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"DWARF セクションã®å†…容を表示。SECTION 㯠addrevã‹ã€arangesã€frameã€infoã€"
"locã€rangesã€pubnamesã€strã€macinfoã€exception ã®ã„ãšã‚Œã‹ã§ã™"
@@ -3979,91 +4031,95 @@ msgstr "出力制御:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "DWARFデータ中ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "ELF ファイルã‹ã‚‰äººé–“ãŒèª­ã‚ã‚‹å½¢ã§æƒ…報をå°åˆ·ã™ã‚‹ã€‚"
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "ä¸æ˜Žãª DWARF デãƒãƒƒã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ `%s'.\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' ã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã§ã¯ãªãã€ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–索引をå°åˆ·ã§ãã¾ã›ã‚“"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "入力ファイルを stat ã§ãã¾ã›ã‚“"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "入力ファイルãŒç©ºã§ã™"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "'%s' ã®èª­è¾¼ã¿ã«å¤±æ•—: %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "ELF ヘッダーãŒèª­ã‚ã¾ã›ã‚“: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "EBL ヘッダーを生æˆã§ãã¾ã›ã‚“"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "ãªã— (ãªã—)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (リロケータブルファイル)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "(EXEC (実行ファイル)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (共用オブジェクトファイル)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (コアファイル)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS 固有: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "プロセッサー固有: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4071,7 +4127,7 @@ msgstr ""
"ELF ヘッダー:\n"
" マジック: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4080,117 +4136,117 @@ msgstr ""
"\n"
" クラス: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " データ: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " 識別ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(ç¾åœ¨)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " タイプ: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " マシン : %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " プログラムヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr "(ファイルã¸ã®ãƒã‚¤ãƒˆæ•°)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " セクションヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " フラグ: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " ã“ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã®å¤§ãã•: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(ãƒã‚¤ãƒˆ)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " プログラムヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, fuzzy, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " プログラムヘッダー項目ã®æ•° : %<PRId16>\n"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, fuzzy, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr "([0]ã¯ä½¿ãˆã¾ã›ã‚“)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " セクションヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " セクションヘッダー項目ã®æ•° : %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " ([0].sh_size ã® %<PRIu32>)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4199,7 +4255,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4208,7 +4264,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: %<PRId16>\n"
"\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4217,11 +4273,11 @@ msgstr ""
"オフセット %2$#<PRIx64> ã‹ã‚‰å§‹ã¾ã‚‹ %1$d 個ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãŒã‚ã‚Šã¾ã™:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "セクションヘッダー:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4229,7 +4285,7 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES フラグLk "
"Inf Al"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4237,12 +4293,12 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES "
"フラグLk Inf Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4251,17 +4307,17 @@ msgstr "セクションを得られã¾ã›ã‚“: %s"
msgid "cannot get section header: %s"
msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "プログラムヘッダー:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" タイプ オフセ 仮アドレス 物アドレス ãƒ•ã‚¡ã‚¤é‡ ãƒ¡ãƒ¢é‡ Flg 調整 "
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4269,12 +4325,12 @@ msgstr ""
" タイプ オフセ 仮想アドレス 物ç†ã‚¢ãƒ‰ãƒ¬ã‚¹ ファイルé‡ãƒ¡ãƒ¢"
"é‡ Flg 調整 "
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[プログラム割込ã¿ã‚’è¦æ±‚: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4284,12 +4340,12 @@ msgstr ""
" セクションã‹ã‚‰ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¸ã®ãƒžãƒƒãƒ“ング:\n"
" セグメント セクション..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4302,7 +4358,7 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ COMDAT セクショングループ [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®"
"é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4315,15 +4371,15 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ— [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …ç›®ãŒã‚"
"ã‚Šã¾ã™:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4339,36 +4395,36 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " タイプ 値\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "共用ライブラリー: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "ライブラリー so å: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "ライブラリー rパス: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "ライブラリー run パス: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (ãƒã‚¤ãƒˆ)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4377,7 +4433,7 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4392,7 +4448,7 @@ msgstr[0] ""
"オフセット %5$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%3$2u] '%4$s' 用ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯"
"ション [%1$2zu] '%2$s' ã«ã¯ %6$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4405,29 +4461,29 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2u] '%2$s' ã«ã¯ %4$d "
"個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<ä¸å½“ãªRELOC>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4439,39 +4495,39 @@ msgstr[0] ""
"\n"
"シンボルテーブル [%2u] '%s' ã«ã¯ %u 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] " %lu ローカルシンボル文字列テーブル: [%2u] '%s'\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "ä¸æ­£ãªå‹•çš„シンボル"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "ãªã—"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <ä¸æ˜Ž>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4487,17 +4543,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu ファイル: %s æ•°: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: åå‰: %s フラグ: %s ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4513,17 +4569,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hd フラグ: %s 索引: %hd æ•°: %hd åå‰: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: 親 %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4539,15 +4595,15 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'"
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *ローカル* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *グローãƒãƒ«* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4565,22 +4621,22 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, fuzzy, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " é•·ã• æ•° 全体ã®% 範囲 \n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, fuzzy, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4589,12 +4645,12 @@ msgstr ""
" テストã®å¹³å‡æ•°: 検索æˆåŠŸ: %f\n"
" 検索失敗: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4604,7 +4660,7 @@ msgstr ""
" ビットマスクã®å¤§ãã•: %zu ãƒã‚¤ãƒˆ %<PRIuFAST32>%% ビット設定 第2ãƒãƒƒã‚·ãƒ¥ã‚·ãƒ•"
"ト: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4617,7 +4673,7 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒ©ã‚¤ãƒ–ラリー一覧セクション [%1$2zu] '%2$s' ã«ã¯ "
"%4$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4625,7 +4681,7 @@ msgstr ""
" ライブラリー タイムスタンプ ãƒã‚§ãƒƒã‚¯ã‚µãƒ  ãƒãƒ¼"
"ジョン フラグ"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4636,160 +4692,160 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ã‚ªãƒ–ジェクト属性セクション "
"[%1$2zu] '%2$s':\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " ファイル: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>ã€%s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "ä¸æ˜Žãªã‚¿ã‚° %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "ä¸æ˜Žãªåˆ©ç”¨è€…ã‚¿ã‚° %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "ä¸æ˜Žãªå±žæ€§ %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "ä¸æ˜Žãªåˆ©ç”¨è€…属性 %hx"
-#: src/readelf.c:3569
-#, c-format
-msgid "unknown form %<PRIx64>"
+#: src/readelf.c:3657
+#, fuzzy, c-format
+msgid "unknown form %#<PRIx64>"
msgstr "ä¸æ˜Žãªæ§˜å¼ %<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "空ブロック"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "%zu ãƒã‚¤ãƒˆã®ãƒ–ロック:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -4800,7 +4856,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [ コード]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -4809,30 +4865,30 @@ msgstr ""
"\n"
"オフセット %<PRIu64> ã®ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** 略語を読んã§ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] オフセット: %<PRId64>ã€å­: %sã€ã‚¿ã‚°: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "ã¯ã„"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "ã„ã„ãˆ"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ".debug_aragnes ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -4845,25 +4901,25 @@ msgstr[0] ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
" [%*zu] 開始: %0#*<PRIx64>ã€é•·ã•: %5<PRIu64>ã€CU DIE オフセット: %6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -4872,39 +4928,39 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] ベースアドレス %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "%s ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -4913,12 +4969,12 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠フレーム情報呼出ã—セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -4927,50 +4983,50 @@ msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ä¸å½“ãªæ‹¡å¤§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "FDE アドレスエンコード"
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "LSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "属性コードを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "属性様å¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "属性値を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -4981,7 +5037,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [オフセット]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -4993,7 +5049,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5004,40 +5060,40 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"セクション '%2$s' 㮠オフセット %1$<PRIu64> ã® DIE を得られã¾ã›ã‚“: %3$s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "DIE オフセットを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"セクション '%2$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$<PRIu64> ã® DIE ã®ã‚¿ã‚°ã‚’得られã¾ã›ã‚“: "
"%3$s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "ラインデータセクションデータを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5046,7 +5102,7 @@ msgstr ""
"\n"
"オフセット %Zu ã®ãƒ†ãƒ¼ãƒ–ル:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, fuzzy, c-format
msgid ""
"\n"
@@ -5074,18 +5130,18 @@ msgstr ""
"\n"
"命令コード:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "セクション [%2$zu] '%3$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$tu ã«ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5093,7 +5149,7 @@ msgstr ""
"\n"
"ディレクトリーテーブル:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5103,7 +5159,7 @@ msgstr ""
"ファイルåテーブル:\n"
" Entry Dir 時刻 大ãã• åå‰"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5111,148 +5167,150 @@ msgstr ""
"\n"
"è¡Œ ç•ªå· æ–‡:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, fuzzy, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " 拡張命令コード %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+#, fuzzy
+msgid " end of sequence"
msgstr "列ã®çµ‚ã‚ã‚Š"
-#: src/readelf.c:6107
-#, c-format
-msgid "set address to %s\n"
+#: src/readelf.c:6275
+#, fuzzy, c-format
+msgid " set address to %s\n"
msgstr "アドレスを %s ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6128
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+#: src/readelf.c:6296
+#, fuzzy, c-format
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"新ファイルを定義ã™ã‚‹: dir=%uã€mtime=%<PRIu64>ã€é•·ã•h=%<PRIu64>ã€åå‰=%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, fuzzy, c-format
msgid " set discriminator to %u\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
+#: src/readelf.c:6314
+#, fuzzy
+msgid " unknown opcode"
msgstr "ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr "複写"
-#: src/readelf.c:6169
+#: src/readelf.c:6337
#, fuzzy, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6173
-#, c-format
-msgid "advance address by %u to %s\n"
+#: src/readelf.c:6341
+#, fuzzy, c-format
+msgid " advance address by %u to %s\n"
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr "行を定数 %d ã ã‘進ã‚㦠%<PRId64> ã«ã™ã‚‹\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " '%s' ã‚’ %<PRIuFAST8> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr "基本ブロックフラグを設定ã™ã‚‹"
-#: src/readelf.c:6224
+#: src/readelf.c:6392
#, fuzzy, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6228
-#, c-format
-msgid "advance address by constant %u to %s\n"
+#: src/readelf.c:6396
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s\n"
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6246
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
+#: src/readelf.c:6414
+#, fuzzy, c-format
+msgid " advance address by fixed value %u to %s\n"
msgstr "アドレスを固定値 %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr "プロローグ終了フラグを設定ã™ã‚‹"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr "エピローグ開始フラグを設定ã™ã‚‹"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, fuzzy, c-format
msgid " set isa to %u\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ".debug_loc ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "マクロ情報セクションã®ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
@@ -5260,7 +5318,7 @@ msgstr ""
# # "オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
# # " %4$*s 文字列\n" ãŒã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã®ã¯ä½•æ•…? å–ã‚Šæ•¢ãˆãš fuzzy扱ã„
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, fuzzy, c-format
msgid ""
"\n"
@@ -5271,12 +5329,12 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" %4$*s 文字列\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** 文字列ã®èª­è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5285,7 +5343,7 @@ msgstr ""
"\n"
"呼出ã—フレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5294,22 +5352,22 @@ msgstr ""
"\n"
"例外å–扱ã„テーブルセクション [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart コード化: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr "TType コード化: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr "呼出ã—サイトコード化: %#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5317,7 +5375,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5330,22 +5388,106 @@ msgstr ""
" 離ç€é™¸å ´: %#<PRIx64>\n"
" 行動: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "ä¸å½“㪠TType コード化"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, fuzzy, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
+"ç›®ãŒã‚ã‚Šã¾ã™:\n"
+
+#: src/readelf.c:7118
+#, fuzzy, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, fuzzy, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " (オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:7140
+#, fuzzy, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " (オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:7147
+#, fuzzy, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " (終了オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:7154
+#, fuzzy, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " (オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:7161
+#, fuzzy, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " (終了オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:7168
+#, fuzzy, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
+"ç›®ãŒã‚ã‚Šã¾ã™:\n"
+
+#: src/readelf.c:7190
+#, fuzzy, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
+"ç›®ãŒã‚ã‚Šã¾ã™:\n"
+
+#: src/readelf.c:7216
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
+"ç›®ãŒã‚ã‚Šã¾ã™:\n"
+
+#: src/readelf.c:7243
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "デãƒãƒƒã‚°å†…容記述å­ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "コアノートデータã®å¤‰æ›ãŒã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5354,21 +5496,21 @@ msgstr ""
"\n"
"%*s... < %u 回ã®ç¹°è¿”ã—> ..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " 所有者 データ大ãã•ã‚¿ã‚¤ãƒ—\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "ノートセクションã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5378,7 +5520,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2zu] "
"'%2$s':\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5387,7 +5529,7 @@ msgstr ""
"\n"
"オフセット %2$#0<PRIx64> ã® %1$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚°ãƒ¡ãƒ³ãƒˆ:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5396,12 +5538,12 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5411,7 +5553,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, fuzzy, c-format
msgid ""
"\n"
@@ -5420,7 +5562,7 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5430,7 +5572,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5439,7 +5581,7 @@ msgstr ""
"\n"
"セクション [%lu] ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5448,12 +5590,12 @@ msgstr ""
"\n"
"セクション '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼• '%s' を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5462,7 +5604,7 @@ msgstr ""
"\n"
"アーカイブ '%s' ã«ã¯ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5471,12 +5613,12 @@ msgstr ""
"\n"
"アーカイブ '%s' ã®ç´¢å¼•ã«ã¯ %Zu é …ç›®ã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "'%2$s' 㮠オフセット %1$Zu ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’抽出ã§ãã¾ã›ã‚“: %3$s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "アーカイブメンãƒãƒ¼ '%s' ã«ã¯ä»¥ä¸‹ãŒã‚ã‚Šã¾ã™:\n"
@@ -5608,158 +5750,175 @@ msgstr ""
msgid "mprotect failed"
msgstr ""
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "ã¯ãŽå–ã£ãŸå‡ºåŠ›ã‚’ ãµãã„ã‚‹ ã«ç½®ã"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "抽出ã—ãŸå–り除ã„ãŸã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’ ãµãã„ã‚‹ ã«ç½®ã"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "-f パラメーターã®ä»£ã‚ã‚Šã« åå‰ ãµãã„ã‚‹ を有効ã«ã™ã‚‹"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "デãƒãƒƒã‚°ç”¨ã®ã‚·ãƒ³ãƒœãƒ«ã‚’å…¨ã¦å–り除ã"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr ""
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "修正/アクセスタイムスタンプを出力ã¸è¤‡å†™ã™ã‚‹"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr ".comment セクションをå–り除ã"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "å°‘ã—壊れ㟠ELF ファイルをå–り扱ã†ãŸã‚ã«ãƒ«ãƒ¼ãƒ«ã‚’å°‘ã—ç·©å’Œã™ã‚‹"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "オブジェクトファイルã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’破棄ã™ã‚‹"
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "'-o' 㨠'-f' ã¨ä¸€ç·’ã®å ´åˆã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¯ 1 ã¤ã—ã‹èªã‚られã¾ã›ã‚“"
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "-f オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "-F オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "-o オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "-R オプション㯠.comment セクションã®ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "入力ファイル '%s' ã‚’ stat ã§ãã¾ã›ã‚“"
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "'%s' ã‚’é–‹ã„ã¦ã„ã‚‹é–“"
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: アーカイブã‹ã‚‰æŠœã出ã—ã¦ã„る時㯠-o ã‚„ -f ã¯ä½¿ãˆã¾ã›ã‚“"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "EBL ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "æ–°ã—ã„ファイル '%s' を生æˆã§ãã¾ã›ã‚“: %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "ä¸é©æ ¼ãªãƒ•ã‚¡ã‚¤ãƒ« '%s'"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "出力ファイルを生æˆã—ã¦ã„ã‚‹é–“: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "'%s' ã®ãŸã‚ã®å‡ºåŠ›ã‚’準備ã—ã¦ã„ã‚‹é–“"
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "セクションヘッダーセクションを生æˆã—ã¦ã„ã‚‹é–“: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "セクションヘッダー文字列テーブルを生æˆä¸­: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "リロケーションを表示"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "'%s' を書込ã¿ä¸­: %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "'%s' を生æˆä¸­"
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "デãƒãƒƒã‚°æƒ…å ±ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’計算中"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "'%s' を書込ã¿ä¸­: %s"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "'%s' ã®çµ‚了中ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "'%s' ã®ã‚¢ã‚¯ã‚»ã‚¹ã¨å¤‰æ›´æ—¥ä»˜ã‚’設定ã§ãã¾ã›ã‚“"
@@ -6081,6 +6240,17 @@ msgid ""
"was found, or . if FILE contains the debug information."
msgstr ""
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Symbols from %s[%s]:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "%s[%s]ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«:\n"
+#~ "\n"
+
#~ msgid " Version String: "
#~ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æ–‡å­—列:"
diff --git a/elfutils/po/pl.gmo b/elfutils/po/pl.gmo
index 5003730f..5ffb8f73 100644
--- a/elfutils/po/pl.gmo
+++ b/elfutils/po/pl.gmo
Binary files differ
diff --git a/elfutils/po/pl.po b/elfutils/po/pl.po
index d479fc5f..82a62281 100644
--- a/elfutils/po/pl.po
+++ b/elfutils/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
"PO-Revision-Date: 2011-02-13 16:25+0100\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -17,8 +17,8 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"
@@ -46,7 +46,7 @@ msgstr "nieprawidłowy parametr"
msgid "cannot change mode of output file"
msgstr "nie można zmienić trybu pliku wyjściowego"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "nie można zmienić nazwy pliku wyjściowego"
@@ -366,7 +366,7 @@ msgid "No backend"
msgstr "Brak zaplecza"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -378,16 +378,56 @@ msgid "<unknown>: %#<PRIx64>"
msgstr "<nieznany>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
+#, fuzzy, c-format
+msgid "unknown SDT version %u\n"
+msgstr "nieznana wersja"
+
+#: libebl/eblobjnote.c:94
+#, fuzzy, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "nieprawidłowy deskryptor pliku"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
#, c-format
msgid " Build ID: "
msgstr " Identyfikator kopii: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Wersja konsolidatora: %.*s\n"
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " System operacyjny: %s, ABI: "
@@ -421,7 +461,7 @@ msgstr "nieprawidłowy rozmiar operanda źródłowego"
msgid "invalid size of destination operand"
msgstr "nieprawidłowy rozmiar operanda docelowego"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "nieprawidłowe kodowanie"
@@ -502,7 +542,8 @@ msgstr "dane/scn nie zgadzajÄ… siÄ™"
msgid "invalid section header"
msgstr "nieprawidłowy nagłówek sekcji"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "nieprawidłowe dane"
@@ -574,7 +615,7 @@ msgstr "Wyświetla także flagi tabeli wierszy"
msgid "Treat addresses as offsets relative to NAME section."
msgstr "Traktuje adresy jako offsety względne do sekcji NAZWA."
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Różne:"
@@ -590,10 +631,10 @@ msgstr ""
msgid "[ADDR...]"
msgstr "[ADRES...]"
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -606,10 +647,10 @@ msgstr ""
"BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI\n"
"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Napisane przez %s.\n"
@@ -761,127 +802,132 @@ msgstr "\"%c\" ma znaczenie tylko z opcjÄ… \"x\""
msgid "archive name required"
msgstr "wymagana jest nazwa archiwum"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "Podano więcej niż jedno działanie"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "nie można otworzyć archiwum \"%s\""
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "nie można otworzyć archiwum \"%s\": %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: nie jest plikiem archiwum"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "nie można wykonać stat na archiwum \"%s\""
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "brak wpisu %s w archiwum\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "nie można utworzyć tabeli mieszającej"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "nie można umieścić w tabeli mieszającej"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "nie można wykonać stat na \"%s\""
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "nie można odczytać zawartości %s: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "nie można otworzyć %.*s"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "zapisanie %s nie powiodło się"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "nie można zmienić trybu %s"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "nie można zmienić czasu modyfikacji %s"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "nie można zmienić nazwy pliku tymczasowego na %.*s"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "nie można utworzyć nowego pliku"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "nie odnaleziono położenia elementu %s"
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: brak wpisu %s w archiwum.\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "nie można otworzyć %s"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "nie można wykonać stat na %s"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s nie jest zwykłym plikiem"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "nie można uzyskać deskryptora ELF dla %s: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "nie można odczytać %s: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "archiwum \"%s\" jest za duże"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "nie można odczytać nagłówka ELF %s(%s): %s"
@@ -1062,8 +1108,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Nieprawidłowa wartość \"%s\" dla parametru --gaps."
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1119,11 +1165,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Szczegółowe sprawdzanie zgodności plików ELF ze specyfikacją gABI/psABI."
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "PLIK..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "nie można otworzyć pliku wejściowego"
@@ -1142,7 +1188,7 @@ msgstr "błąd podczas zamykania deskryptora ELF: %s\n"
msgid "No errors"
msgstr "Brak błędów"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Brak nazwy pliku.\n"
@@ -2959,8 +3005,8 @@ msgstr "Używa ŚCIEŻKI jako korzenia dla hierarchii debuginfo"
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Odnajduje źródło relokacji tekstu w PLIKACH (domyślnie a.out)."
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[PLIK...]"
@@ -3458,7 +3504,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
"Ostrzeżenie: rozmiar \"%s\" zmienił się z %<PRIu64> w %s na %<PRIu64> w %s"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "nie można określić liczby sekcji: %s"
@@ -3640,7 +3686,7 @@ msgid "cannot read enough data for UUID"
msgstr "nie można odczytać danych wystarczających dla UUID"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "nie można utworzyć tabeli symboli dla pliku wyjściowego: %s"
@@ -3661,77 +3707,77 @@ msgid "cannot create dynamic symbol table for output file: %s"
msgstr ""
"nie można utworzyć tabeli symboli dynamicznych dla pliku wyjściowego: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "nie można utworzyć danych wersjonowania: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "nie można utworzyć sekcji ciągów nagłówków sekcji: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "nie można utworzyć sekcji ciągów nagłówków sekcji"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "nie można utworzyć nagłówka programu: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "podczas określania układu pliku: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "błąd wewnętrzny: sekcja nie będąca nobits po sekcji nobits"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "nie można uzyskać nagłówka zerowej sekcji: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "nie można zaktualizować nagłówka ELF: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr "zaplecze konsolidatora nie określiło funkcji dla sekcji relokacji"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "podczas zapisywania pliku wyjściowego: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "podczas kończenia pliku wyjściowego: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "nie można wykonać stat na pliku wyjściowym"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr ""
"OSTRZEŻENIE: tymczasowy plik wyjściowy został zastąpiony przed ukończeniem "
"konsolidowania"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "brak implementacji \"%s\" specyficznej dla maszyny"
@@ -3769,7 +3815,7 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "domyślna widoczność ustawiona jako lokalna i globalna"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "Wybór wyjścia:"
@@ -3826,93 +3872,104 @@ msgid "Use RADIX for printing symbol values"
msgstr "Używa BAZY do wypisywania wartości symboli"
#: src/nm.c:95
-msgid "Mark weak symbols"
+#, fuzzy
+msgid "Mark special symbols"
msgstr "Oznacza słabe symbole"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "Wyświetla rozmiar określonych symboli"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Opcje wyjścia:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "Porządkuje symbole numerycznie według adresu"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "Bez porzÄ…dkowania symboli"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Odwraca kierunek porzÄ…dkowania"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "Wyświetla listę symboli z PLIKU (domyślnie a.out)."
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+#, fuzzy
+msgid "Output formatting"
+msgstr "Format wyjścia:"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: BÅÄ„D WEWNĘTRZNY %d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "podczas zamykania \"%s\""
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: nie rozpoznano formatu pliku"
-#: src/nm.c:442
+#: src/nm.c:468
+#, fuzzy
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
"Indeks archiwum:"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "nieprawidłowy offset %zu dla symbolu %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%s w %s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "nie można przywrócić offsetu w archiwum na początek"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: nie rozpoznano formatu pliku"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "nie można utworzyć drzewa wyszukiwania"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3925,20 +3982,7 @@ msgstr ""
"Symbole z %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Symbole z %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -3947,22 +3991,22 @@ msgstr ""
"%*s%-*s %-*s Klasa Typ %-*s %*s Sekcja\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: rozmiar wpisu w sekcji \"%s\" nie jest tym, czego oczekiwano"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: rozmiar sekcji \"%s\" nie jest wielokrotnością rozmiaru wpisu"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: nieprawidłowe działanie"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: brak symboli"
@@ -3984,7 +4028,8 @@ msgid "Display assembler code of executable sections"
msgstr "Wyświetla kod asemblera sekcji wykonywalnych"
#: src/objdump.c:68
-msgid "Output option selection:"
+#, fuzzy
+msgid "Output content selection:"
msgstr "Wybór opcji wyjścia:"
#: src/objdump.c:70
@@ -3995,24 +4040,24 @@ msgstr "Wyświetla tylko informacje o sekcji NAZWA."
msgid "Show information from FILEs (a.out by default)."
msgstr "Wyświetla informacje z PLIKÓW (domyślnie a.out)."
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "Nie podano działania.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr "podczas zamykania \"%s\""
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "NIEPRAWIDÅOWY SYMBOL"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "NIEPRAWIDÅOWA SEKCJA"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -4023,20 +4068,25 @@ msgstr ""
"PISY RELOKACJI DLA [%s]:\n"
"%-*s TYP WARTOŚĆ\n"
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "OFFSET"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "Zawartość sekcji %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "nie można deasemblować"
+#: src/objdump.c:744
+#, fuzzy, c-format
+msgid "cannot allocate memory"
+msgstr "nie można przydzielić sekcji PLT: %s"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr "Tworzenie indeksu w celu przyspieszenia dostępu do archiwów."
@@ -4117,9 +4167,11 @@ msgid "Additional output selection:"
msgstr "Dodatkowy wybór wyjścia:"
#: src/readelf.c:95
+#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"Wyświetla zawartość sekcji DWARF. SEKCJA może być jednym z abbrev, aranges, "
"frame, info, loc, line, ranges, pubnames, str, macinfo lub exception."
@@ -4144,91 +4196,95 @@ msgstr "Kontrola wyjścia:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Bez odnajdywania nazw symboli dla adresów w danych DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "Wyświetla informacje z pliku ELF w postaci czytelnej dla człowieka."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Nieznana sekcja debugowania DWARF \"%s\".\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "\"%s\" nie jest archiwum, nie można wyświetlić indeksu archiwum"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "błąd podczas zamykania deskryptora ELF: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "nie można wykonać stat na pliku wejściowym"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "plik wejściowy jest pusty"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "odczytanie \"%s\" nie powiodło się: %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "nie można odczytać nagłówka ELF: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "nie można utworzyć uchwytu EBL"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "nie można określić liczby nagłówków programu: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "NONE (żaden)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (plik relokowalny)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "EXEC (plik wykonywalny)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (plik obiektu współdzielonego)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (plik core)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "Zależny od systemu: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Zależny od procesora: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4236,7 +4292,7 @@ msgstr ""
"Nagłówek ELF:\n"
" Magic: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4245,117 +4301,117 @@ msgstr ""
"\n"
" Klasa: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " Dane: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Wersja Ident: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(bieżąca)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " System operacyjny/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Wersja ABI: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " Komputer: %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " Wersja: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Adres punktu wejściowego: %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Początek nagłówków programu: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr "(bajtów w pliku)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Początek nagłówków sekcji: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " Flagi: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Rozmiar tego nagłówka: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(bajtów)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka programu: %<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków programu: %<PRId16>"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> w [0].sh_info)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr " ([0] niedostępny)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka sekcji: %<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków sekcji: %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> w [0].sh_size)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> w [0].sh_link)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4364,7 +4420,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4373,7 +4429,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: %<PRId16>\n"
"\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4382,11 +4438,11 @@ msgstr ""
"Jest %d nagłówków sekcji, rozpoczynających się od offsetu %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "Nagłówki sekcji:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4394,7 +4450,7 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozm ES Flagi Lk "
"Inf Al"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4402,12 +4458,12 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozmiar ES "
"Flagi Lk Inf Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4416,18 +4472,18 @@ msgstr "nie można uzyskać sekcji: %s"
msgid "cannot get section header: %s"
msgstr "nie można uzyskać nagłówka sekcji: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "Nagłówki programu:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Typ Offset AdresWirt AdresFiz RozmPlik RozmPam Flg "
"Wyrównanie"
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4435,12 +4491,12 @@ msgstr ""
" Typ Offset AdresWirtualny AdresFizyczny RozmPlik "
"RozmPam Flg Wyrównanie"
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Wywołanie interpretera programu: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4450,12 +4506,12 @@ msgstr ""
" mapowanie sekcji do segmentów:\n"
" Segment sekcji..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "nie można uzyskać nagłówka programu: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4473,7 +4529,7 @@ msgstr[2] ""
"\n"
"Grupa sekcji COMDAT [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4491,15 +4547,15 @@ msgstr[2] ""
"\n"
"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<NIEPRAWIDÅOWY SYMBOL>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<NIEPRAWIDÅOWY SEKCJA>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4525,36 +4581,36 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"'%s'\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " Typ Wartość\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteka współdzielona: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "soname biblioteki: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "rpath biblioteki: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "runpath biblioteki: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bajtów)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4563,7 +4619,7 @@ msgstr ""
"\n"
"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4586,7 +4642,7 @@ msgstr[2] ""
"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem "
"%#0<PRIx64> zawiera %d wpisów:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4604,30 +4660,30 @@ msgstr[2] ""
"\n"
"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<NIEPRAWIDÅOWA RELOKACJA>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4645,7 +4701,7 @@ msgstr[2] ""
"\n"
"Tabela symboli [%2u] \"%s\" zawiera %u wpisów:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -4653,33 +4709,33 @@ msgstr[0] " %lu symbol lokalny Tabela ciągów: [%2u] \"%s\"\n"
msgstr[1] " %lu symbole lokalne Tabela ciągów: [%2u] \"%s\"\n"
msgstr[2] " %lu symboli lokalnych Tabela ciągów: [%2u] \"%s\"\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "błędny symbol dynamiczny"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "brak"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <nieznany>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4705,17 +4761,17 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
"\"\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Wersja: %hu Plik: %s Licznik: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nazwa: %s Flagi: %s Wersja: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4741,18 +4797,18 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
"\"\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
" %#06x: Wersja: %hd Flagi: %s Indeks: %hd Licznik: %hd Nazwa: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Rodzic %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4778,15 +4834,15 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
"\""
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *lokalny* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *globalny* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4817,22 +4873,22 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
"\"\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Długość Liczba % całości Pokrycie\n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4841,12 +4897,12 @@ msgstr ""
" Średnia liczba testów: udane wyszukania: %f\n"
"\t\t\t nieudane wyszukania: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "nie można uzyskać danych dla sekcji %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4856,7 +4912,7 @@ msgstr ""
" Rozmiar maski bitowej: %zu bajtów %<PRIuFAST32>%% bitów ustawionych "
"drugie przesunięcie skrótu: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4877,7 +4933,7 @@ msgstr[2] ""
"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d "
"wpisów:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4885,7 +4941,7 @@ msgstr ""
" Biblioteka Oznaczenie czasu Suma k. Wersja "
"Flagi"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4896,160 +4952,160 @@ msgstr ""
"Sekcja atrybutów obiektu [%2zu] \"%s\" %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " Właściciel Rozmiar\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Plik: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "nieznany znacznik %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "nieznany znacznik użytkownika %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "nieznany atrybut %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "nieznany atrybut użytkownika %hx"
-#: src/readelf.c:3569
-#, c-format
-msgid "unknown form %<PRIx64>"
+#: src/readelf.c:3657
+#, fuzzy, c-format
+msgid "unknown form %#<PRIx64>"
msgstr "nieznana forma %<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "pusty blok"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "%zu bajtowy blok:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <SKRÓCONE>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami adresu"
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami offsetu"
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE W RESZCIE SEKCJI>\n"
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE>... %<PRIu64> bajtów...\n"
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -5060,7 +5116,7 @@ msgstr ""
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
" [ Kod]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -5069,30 +5125,30 @@ msgstr ""
"\n"
"Sekcja skrótów pod offsetem %<PRIu64>:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** błąd podczas odczytywania skrótu: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "tak"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "nie"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "nie można uzyskać zawartości .debug_aranges: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -5110,12 +5166,12 @@ msgstr[2] ""
"\n"
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5123,13 +5179,13 @@ msgstr ""
" [%*zu] początek: %0#*<PRIx64>, długość: %5<PRIu64>, offset CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "nie można uzyskać zawartości .debug_ranges: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -5138,37 +5194,37 @@ msgstr ""
"\n"
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] adres podstawowy %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] pusta lista\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s...%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s...%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "nie można uzyskać zwartości %s: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -5177,12 +5233,12 @@ msgstr ""
"\n"
"Sekcja informacji o ramce wywołania [%2zu] \"%s\" pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "nieprawidłowe dane w sekcji [%zu] \"%s\""
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -5191,50 +5247,50 @@ msgstr ""
"\n"
" [%6tx] Zerowy koniec\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr "nieprawidłowa długość powiększenia"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "Kodowanie adresu FDE: "
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "Kodowanie wskaźnika LSDA: "
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (kończący offset: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sWskaźnik LSDA: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "nie można uzyskać kodu atrybutu: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "nie można uzyskać formy atrybutu: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "nie można uzyskać wartości atrybutu: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -5245,7 +5301,7 @@ msgstr ""
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5258,7 +5314,7 @@ msgstr ""
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
" Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5269,38 +5325,38 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "nie można uzyskać DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "nie można uzyskać offsetu DIE: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "nie można uzyskać następnego DIE: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "nie można uzyskać następnego DIE: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "nie można uzyskać danych sekcji danych wiersza: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5309,7 +5365,7 @@ msgstr ""
"\n"
"Tabela pod offsetem %Zu:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -5338,12 +5394,12 @@ msgstr ""
"\n"
"Instrukcje:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "nieprawidłowe dane pod offsetem %tu w sekcji [%zu] \"%s\""
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5351,7 +5407,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu parametr\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu parametry\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu parametrów\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5359,7 +5415,7 @@ msgstr ""
"\n"
"Tabela katalogu:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5369,7 +5425,7 @@ msgstr ""
"Tabela nazw plików:\n"
" Wpis Kat Czas Rozmiar Nazwa"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5377,116 +5433,118 @@ msgstr ""
"\n"
"Instrukcje numerów wierszy:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
" instrukcja specjalna %u: adres+%u = %s, op_index = %u, wiersz%+d = %zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " instrukcja specjalna %u: adres+%u = %s, wiersz%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " instrukcja rozszerzona %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+#, fuzzy
+msgid " end of sequence"
msgstr "koniec sekwencji"
-#: src/readelf.c:6107
-#, c-format
-msgid "set address to %s\n"
+#: src/readelf.c:6275
+#, fuzzy, c-format
+msgid " set address to %s\n"
msgstr "ustawienie adresu na %s\n"
-#: src/readelf.c:6128
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+#: src/readelf.c:6296
+#, fuzzy, c-format
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"definicja nowego pliku: dir=%u, mtime=%<PRIu64>, długość=%<PRIu64>, nazwa="
"%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr " ustawienie dyskryminatora na %u\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
+#: src/readelf.c:6314
+#, fuzzy
+msgid " unknown opcode"
msgstr "nieznana instrukcja"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr " kopiowanie"
-#: src/readelf.c:6169
-#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+#: src/readelf.c:6337
+#, fuzzy, c-format
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr ""
"zwiększenie adresu o %u do %s, op_index do %u\n"
"\n"
-#: src/readelf.c:6173
-#, c-format
-msgid "advance address by %u to %s\n"
+#: src/readelf.c:6341
+#, fuzzy, c-format
+msgid " advance address by %u to %s\n"
msgstr "zwiększenie adresu o %u do %s\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " zwiększenie wiersza o stałą %d do %<PRId64>\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ustawienie pliku na %<PRIu64>\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " ustawienie kolumny na %<PRIu64>\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " ustawienie \"%s\" na %<PRIuFAST8>\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr " ustawienie podstawowej flagi bloku"
-#: src/readelf.c:6224
-#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+#: src/readelf.c:6392
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "zwiększenie adresu o stałą %u do %s, op_index do %u\n"
-#: src/readelf.c:6228
-#, c-format
-msgid "advance address by constant %u to %s\n"
+#: src/readelf.c:6396
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s\n"
msgstr "zwiększenie adresu o stałą %u do %s\n"
-#: src/readelf.c:6246
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
+#: src/readelf.c:6414
+#, fuzzy, c-format
+msgid " advance address by fixed value %u to %s\n"
msgstr "zwiększenie adresu o stałą wartość %u do %s\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr " ustawienie flagi końca prologu"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr " ustawienie flagi poczÄ…tku epilogu"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr " ustawienie isa na %u\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5494,41 +5552,41 @@ msgstr[0] " nieznana instrukcja z %<PRIu8> parametrem:"
msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:"
msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "nie można uzyskać zawartości .debug_log: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s...%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s...%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "nie można uzyskać danych sekcji informacji o makrach: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** niezakończony ciąg na końcu sekcji"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr " [%5d] offset DIE: %6<PRId64>, offset CU DIE: %6<PRId64>, nazwa: %s\n"
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5539,12 +5597,12 @@ msgstr ""
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
" %*s CiÄ…g\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** błąd podczas odczytywania ciągów: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5553,7 +5611,7 @@ msgstr ""
"\n"
"Sekcja tabeli wyszukiwania ramki wywołania [%2zu] \".eh_frame_hdr\":\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5562,22 +5620,22 @@ msgstr ""
"\n"
"Sekcja tabeli obsługiwania wyjątków [%2zu] \".gcc_except_table\":\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr " Kodowanie LPStart: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr " Kodowanie TType: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr " Kodowanie strony wywołania: %#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5585,7 +5643,7 @@ msgstr ""
"\n"
" Tabela strony wywołania:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5598,22 +5656,102 @@ msgstr ""
" LÄ…dowisko: %#<PRIx64>\n"
" Działanie: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "nieprawidłowe kodowanie TType"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, fuzzy, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
+
+#: src/readelf.c:7118
+#, fuzzy, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, fuzzy, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " (offset: %#<PRIx64>)"
+
+#: src/readelf.c:7140
+#, fuzzy, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " (offset: %#<PRIx64>)"
+
+#: src/readelf.c:7147
+#, fuzzy, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " (kończący offset: %#<PRIx64>)"
+
+#: src/readelf.c:7154
+#, fuzzy, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " (offset: %#<PRIx64>)"
+
+#: src/readelf.c:7161
+#, fuzzy, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " (kończący offset: %#<PRIx64>)"
+
+#: src/readelf.c:7168
+#, fuzzy, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
+
+#: src/readelf.c:7190
+#, fuzzy, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
+
+#: src/readelf.c:7216
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
+
+#: src/readelf.c:7243
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "nie można przekonwertować danych notatki core: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5622,21 +5760,21 @@ msgstr ""
"\n"
"%*s... <powtarza siÄ™ jeszcze %u razy>..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " Właściciel Rozmiar danych Typ\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "nie można uzyskać zawartości sekcji notatki: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5646,7 +5784,7 @@ msgstr ""
"Segment notatki [%2zu] \"%s\" o długości %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5655,7 +5793,7 @@ msgstr ""
"\n"
"Segment notatki o długości %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5664,12 +5802,12 @@ msgstr ""
"\n"
"Sekcja [%Zu] \"%s\" nie posiada danych do zrzucenia.\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "nie można uzyskać danych dla sekcji [%Zu] \"%s\": %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5679,7 +5817,7 @@ msgstr ""
"Segment zrzutu szesnastkowego [%Zu] \"%s\", %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
@@ -5688,7 +5826,7 @@ msgstr ""
"\n"
"Sekcja [%Zu] \"%s\" nie posiada ciągów do zrzucenia.\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5698,7 +5836,7 @@ msgstr ""
"Sekcja ciągów [%Zu] \"%s\" zawiera %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5707,7 +5845,7 @@ msgstr ""
"\n"
"sekcja [%lu] nie istnieje"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5716,12 +5854,12 @@ msgstr ""
"\n"
"sekcja \"%s\" nie istnieje"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "nie można uzyskać indeksu symboli archiwum \"%s\": %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5730,7 +5868,7 @@ msgstr ""
"\n"
"Archiwum \"%s\" nie posiada indeksu symboli\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5739,12 +5877,12 @@ msgstr ""
"\n"
"Indeks archiwum \"%s\" posiada %Zu wpisów:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "nie można wydobyć elementów pod offsetem %Zu w \"%s\": %s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Element archiwum \"%s\" zawiera:\n"
@@ -5879,158 +6017,175 @@ msgstr "ponowne mmap nie powiodło się"
msgid "mprotect failed"
msgstr "mprotect nie powiodło się"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "Umieszcza okrojone wyjście w PLIKU"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "Wydobywa usunięte sekcje do PLIKU"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "Osadza nazwÄ™ PLIKU zamiast parametru -f"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "Usuwa wszystkie symbole debugowania"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr "Usuwa nagłówki sekcji (niezalecane)"
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "Kopiuje czasy modyfikacji/dostępu do wyjścia"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr "Usuwa sekcjÄ™ .comment"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Åagodzi kilka reguÅ‚, aby obsÅ‚użyć lekko uszkodzone pliki ELF"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "Odrzuca symbole z plików obiektów."
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Tylko jeden plik wejściowy jest dozwolony z \"-o\" i \"-f\""
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "OpcjÄ™ -f podano dwukrotnie"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "OpcjÄ™ -F podano dwukrotnie"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "OpcjÄ™ -o podano dwukrotnie"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "Opcja -R obsługuje tylko sekcję .comment"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "nie można wykonać stat na pliku wejściowym \"%s\""
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "podczas otwierania \"%s\""
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: nie można używać -o lub -f podczas okrajania archiwum"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "nie można otworzyć zaplecza EBL"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "nie można utworzyć nowego pliku \"%s\": %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "plik \"%s\" posiada błędny format"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "podczas tworzenia pliku wyjściowego: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "podczas przygotowywania wyjścia dla \"%s\""
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "podczas tworzenia sekcji nagłówka sekcji: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "nie można przydzielić danych sekcji: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Wyświetla relokacje"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "podczas zapisywania \"%s\": %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "podczas tworzenia \"%s\""
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: błąd podczas odczytywania pliku: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr "podczas zapisywania \"%s\""
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "błąd podczas kończenia \"%s\": %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "nie można ustawić czasu dostępu i modyfikacji \"%s\""
@@ -6389,3 +6544,14 @@ msgstr ""
"jeśli obraz ELF jest dostępny, ale nie z żadnego nazwanego pliku. PLIK-"
"DEBUGOWANIA jest nazwą oddzielnego pliku debuginfo lub \"-\", jeśli nie "
"odnaleziono debuginfo lub \".\", jeśli PLIK zawiera informacje debugowania."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Symbols from %s[%s]:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Symbole z %s[%s]:\n"
+#~ "\n"
diff --git a/elfutils/po/uk.gmo b/elfutils/po/uk.gmo
index 59def996..aba54ba7 100644
--- a/elfutils/po/uk.gmo
+++ b/elfutils/po/uk.gmo
Binary files differ
diff --git a/elfutils/po/uk.po b/elfutils/po/uk.po
index ff8a1048..fd1e207e 100644
--- a/elfutils/po/uk.po
+++ b/elfutils/po/uk.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2011-02-15 09:31-0500\n"
+"POT-Creation-Date: 2012-02-16 13:21+0100\n"
"PO-Revision-Date: 2011-02-12 13:36+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-doc@kde.org>\n"
@@ -17,8 +17,8 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.2\n"
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829
-#: src/readelf.c:3168 src/unstrip.c:2098 src/unstrip.c:2306
+#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2844
+#: src/readelf.c:3183 src/unstrip.c:2098 src/unstrip.c:2306
#, c-format
msgid "memory exhausted"
msgstr "пам’ÑÑ‚ÑŒ вичерпано"
@@ -46,7 +46,7 @@ msgstr "некоректний параметр"
msgid "cannot change mode of output file"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ права доÑтупу до файла виводу даних"
-#: libasm/asm_error.c:67 src/ldgeneric.c:6999
+#: libasm/asm_error.c:67 src/ldgeneric.c:6998
#, c-format
msgid "cannot rename output file"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ файл виводу даних"
@@ -367,7 +367,7 @@ msgid "No backend"
msgstr "Ðемає Ñервера"
#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
+#: libebl/eblobjnotetypename.c:94 libebl/eblosabiname.c:98
#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
#: libebl/eblsegmenttypename.c:104
msgid "<unknown>"
@@ -379,16 +379,56 @@ msgid "<unknown>: %#<PRIx64>"
msgstr "<невідомо>: %#<PRIx64>"
#: libebl/eblobjnote.c:76
+#, fuzzy, c-format
+msgid "unknown SDT version %u\n"
+msgstr "невідома верÑÑ–Ñ"
+
+#: libebl/eblobjnote.c:94
+#, fuzzy, c-format
+msgid "invalid SDT probe descriptor\n"
+msgstr "некоректний деÑкриптор файла"
+
+#: libebl/eblobjnote.c:144
+#, c-format
+msgid " PC: "
+msgstr ""
+
+#: libebl/eblobjnote.c:146
+#, c-format
+msgid " Base: "
+msgstr ""
+
+#: libebl/eblobjnote.c:148
+#, c-format
+msgid " Semaphore: "
+msgstr ""
+
+#: libebl/eblobjnote.c:150
+#, c-format
+msgid " Provider: "
+msgstr ""
+
+#: libebl/eblobjnote.c:152
+#, c-format
+msgid " Name: "
+msgstr ""
+
+#: libebl/eblobjnote.c:154
+#, c-format
+msgid " Args: "
+msgstr ""
+
+#: libebl/eblobjnote.c:164
#, c-format
msgid " Build ID: "
msgstr " Ід. збираннÑ: "
-#: libebl/eblobjnote.c:87
+#: libebl/eblobjnote.c:175
#, c-format
msgid " Linker version: %.*s\n"
msgstr " ВерÑÑ–Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %.*s\n"
-#: libebl/eblobjnote.c:136
+#: libebl/eblobjnote.c:224
#, c-format
msgid " OS: %s, ABI: "
msgstr " ОС: %s, ABI: "
@@ -422,7 +462,7 @@ msgstr "некоректна розмірніÑÑ‚ÑŒ вхідного парамÐ
msgid "invalid size of destination operand"
msgstr "некоректна розмірніÑÑ‚ÑŒ вихідного параметра"
-#: libelf/elf_error.c:108 src/readelf.c:5014
+#: libelf/elf_error.c:108 src/readelf.c:5176
#, c-format
msgid "invalid encoding"
msgstr "некоректне кодуваннÑ"
@@ -503,7 +543,8 @@ msgstr "невідповідніÑÑ‚ÑŒ полів data/scn"
msgid "invalid section header"
msgstr "некоректний заголовок розділу"
-#: libelf/elf_error.c:208 src/readelf.c:6680 src/readelf.c:6781
+#: libelf/elf_error.c:208 src/readelf.c:6850 src/readelf.c:6951
+#: src/readelf.c:7113
#, c-format
msgid "invalid data"
msgstr "некоректні дані"
@@ -575,7 +616,7 @@ msgstr "Показувати також прапорці Ñ€Ñдків табли
msgid "Treat addresses as offsets relative to NAME section."
msgstr "Вважати адреÑи зміщеннÑми відноÑно розділу ÐÐЗВÐ."
-#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:103
+#: src/addr2line.c:76 src/elfcmp.c:80 src/findtextrel.c:75 src/nm.c:108
#: src/strings.c:83
msgid "Miscellaneous:"
msgstr "Інше:"
@@ -589,10 +630,10 @@ msgstr "Шукати ÐДРЕСИ у файлах кодів та даних пÑ
msgid "[ADDR...]"
msgstr "[ÐДРЕСÐ...]"
-#: src/addr2line.c:189 src/ar.c:289 src/elfcmp.c:670 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:456 src/size.c:219 src/strings.c:227
-#: src/strip.c:210 src/unstrip.c:234
+#: src/addr2line.c:189 src/ar.c:296 src/elfcmp.c:670 src/elflint.c:239
+#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:273 src/objdump.c:189
+#: src/ranlib.c:136 src/readelf.c:462 src/size.c:219 src/strings.c:227
+#: src/strip.c:221 src/unstrip.c:234
#, c-format
msgid ""
"Copyright (C) %s Red Hat, Inc.\n"
@@ -604,10 +645,10 @@ msgstr ""
"початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних "
"гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n"
-#: src/addr2line.c:194 src/ar.c:294 src/elfcmp.c:675 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:461 src/size.c:224 src/strings.c:232
-#: src/strip.c:215 src/unstrip.c:239
+#: src/addr2line.c:194 src/ar.c:301 src/elfcmp.c:675 src/elflint.c:244
+#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:278 src/objdump.c:194
+#: src/ranlib.c:141 src/readelf.c:467 src/size.c:224 src/strings.c:232
+#: src/strip.c:226 src/unstrip.c:239
#, c-format
msgid "Written by %s.\n"
msgstr "Ðвтор — %s.\n"
@@ -762,127 +803,132 @@ msgstr "«%c» має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ у разі викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð
msgid "archive name required"
msgstr "Ñлід вказати назву архіву"
-#: src/ar.c:314
+#: src/ar.c:256
+#, c-format
+msgid "command option required"
+msgstr ""
+
+#: src/ar.c:321
#, c-format
msgid "More than one operation specified"
msgstr "Вказано більше за одну дію"
-#: src/ar.c:404
+#: src/ar.c:415
#, c-format
msgid "cannot open archive '%s'"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ архів «%s»"
-#: src/ar.c:414
+#: src/ar.c:425
#, c-format
msgid "cannot open archive '%s': %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ архів «%s»: %s"
-#: src/ar.c:418
+#: src/ar.c:429
#, c-format
msgid "%s: not an archive file"
msgstr "%s: не є файлом архіву"
-#: src/ar.c:422
+#: src/ar.c:433
#, c-format
msgid "cannot stat archive '%s'"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані архіву «%s» за допомогою stat"
-#: src/ar.c:434
+#: src/ar.c:445
#, c-format
msgid "no entry %s in archive\n"
msgstr "у архіві немає запиÑу %s\n"
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
+#: src/ar.c:498 src/ar.c:940 src/ar.c:1140
#, c-format
msgid "cannot create hash table"
msgstr "не вдалоÑÑ Ñтворити таблицю хешів"
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
+#: src/ar.c:505 src/ar.c:947 src/ar.c:1149
#, c-format
msgid "cannot insert into hash table"
msgstr "не вдалоÑÑ Ð²Ñтавити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ таблиці хешів"
-#: src/ar.c:502 src/ranlib.c:176
+#: src/ar.c:513 src/ranlib.c:176
#, c-format
msgid "cannot stat '%s'"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з «%s» за допомогою stat"
-#: src/ar.c:598
+#: src/ar.c:609
#, c-format
msgid "cannot read content of %s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ вміÑÑ‚ з %s: %s"
-#: src/ar.c:641
+#: src/ar.c:652
#, c-format
msgid "cannot open %.*s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %.*s"
-#: src/ar.c:663
+#: src/ar.c:674
#, c-format
msgid "failed to write %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати %s"
-#: src/ar.c:675
+#: src/ar.c:686
#, c-format
msgid "cannot change mode of %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ права доÑтупу до %s"
-#: src/ar.c:691
+#: src/ar.c:702
#, c-format
msgid "cannot change modification time of %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ чаÑову мітку зміни %s"
-#: src/ar.c:737
+#: src/ar.c:748
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ файл тимчаÑових даних на %.*s"
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
+#: src/ar.c:784 src/ar.c:1032 src/ar.c:1431 src/ranlib.c:250
#, c-format
msgid "cannot create new file"
msgstr "не вдалоÑÑ Ñтворити файл"
-#: src/ar.c:1220
+#: src/ar.c:1231
#, c-format
msgid "position member %s not found"
msgstr "не виÑвлено елемента позиції %s"
-#: src/ar.c:1230
+#: src/ar.c:1241
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: у архіві немає запиÑу %s!\n"
-#: src/ar.c:1259 src/ldgeneric.c:517 src/objdump.c:257
+#: src/ar.c:1270 src/ldgeneric.c:517 src/objdump.c:265
#, c-format
msgid "cannot open %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s"
-#: src/ar.c:1264
+#: src/ar.c:1275
#, c-format
msgid "cannot stat %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s за допомогою stat"
-#: src/ar.c:1270
+#: src/ar.c:1281
#, c-format
msgid "%s is no regular file"
msgstr "%s не є звичайним файлом"
-#: src/ar.c:1283
+#: src/ar.c:1294
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор ELF Ð´Ð»Ñ %s: %s\n"
-#: src/ar.c:1302
+#: src/ar.c:1314
#, c-format
msgid "cannot read %s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s: %s"
-#: src/arlib.c:215
+#: src/arlib.c:216
#, c-format
msgid "the archive '%s' is too large"
msgstr "розмір архіву «%s» є занадто великим"
-#: src/arlib.c:228
+#: src/arlib.c:229
#, c-format
msgid "cannot read ELF header of %s(%s): %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF з %s(%s): %s"
@@ -1064,8 +1110,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» параметра --gaps."
#: src/elfcmp.c:730 src/findtextrel.c:229 src/ldgeneric.c:1765
-#: src/ldgeneric.c:4255 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1911
+#: src/ldgeneric.c:4255 src/nm.c:389 src/ranlib.c:169 src/size.c:301
+#: src/strings.c:183 src/strip.c:458 src/strip.c:495 src/unstrip.c:1911
#: src/unstrip.c:1940
#, c-format
msgid "cannot open '%s'"
@@ -1121,11 +1167,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Педантична перевірка файлів ELF на ÑуміÑніÑÑ‚ÑŒ зі ÑпецифікаціÑми gABI/psABI."
-#: src/elflint.c:86 src/readelf.c:118
+#: src/elflint.c:86 src/readelf.c:119
msgid "FILE..."
msgstr "ФÐЙЛ..."
-#: src/elflint.c:159 src/readelf.c:273
+#: src/elflint.c:159 src/readelf.c:275
#, c-format
msgid "cannot open input file"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ вхідний файл."
@@ -1144,7 +1190,7 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриÐ
msgid "No errors"
msgstr "Без помилок"
-#: src/elflint.c:223 src/readelf.c:432
+#: src/elflint.c:223 src/readelf.c:436
msgid "Missing file name.\n"
msgstr "Ðе вказано назви файла.\n"
@@ -2976,8 +3022,8 @@ msgstr "ВикориÑтовувати ШЛЯХ Ñк кореневий ката
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Шукає джерело переміщеного текÑту у ФÐЙЛÐÐ¥ (типово, a.out)."
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:100
+#: src/findtextrel.c:84 src/nm.c:116 src/objdump.c:80 src/size.c:92
+#: src/strings.c:92 src/strip.c:104
msgid "[FILE...]"
msgstr "[ФÐЙЛ...]"
@@ -3485,7 +3531,7 @@ msgstr "ПопередженнÑ: тип «%s» змінивÑÑ Ð· %s у %s нÐ
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr "ПопередженнÑ: розмір «%s» змінено з %<PRIu64> у %s на %<PRIu64> у %s"
-#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:636 src/strip.c:553
+#: src/ldgeneric.c:659 src/ldgeneric.c:1120 src/readelf.c:642 src/strip.c:570
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
@@ -3670,7 +3716,7 @@ msgid "cannot read enough data for UUID"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ доÑтатньо даних Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ UUID"
#: src/ldgeneric.c:4356 src/ldgeneric.c:4377 src/ldgeneric.c:4406
-#: src/ldgeneric.c:6060
+#: src/ldgeneric.c:6059
#, c-format
msgid "cannot create symbol table for output file: %s"
msgstr "не вдалоÑÑ Ñтворити таблицю Ñимволів Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° вихідних даних: %s"
@@ -3691,77 +3737,77 @@ msgid "cannot create dynamic symbol table for output file: %s"
msgstr ""
"не вдалоÑÑ Ñтворити динамічну таблицю Ñимволів Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° вихідних даних: %s"
-#: src/ldgeneric.c:5992
+#: src/ldgeneric.c:5991
#, c-format
msgid "cannot create versioning data: %s"
msgstr "не вдалоÑÑ Ñтворити даних верÑÑ–Ñ—: %s"
-#: src/ldgeneric.c:6092 src/ldgeneric.c:6105 src/ldgeneric.c:6169
-#: src/ldgeneric.c:6177
+#: src/ldgeneric.c:6091 src/ldgeneric.c:6104 src/ldgeneric.c:6168
+#: src/ldgeneric.c:6176
#, c-format
msgid "cannot create section header string section: %s"
msgstr "не вдалоÑÑ Ñтворити розділ Ñ€Ñдків заголовка розділу: %s"
-#: src/ldgeneric.c:6099
+#: src/ldgeneric.c:6098
#, c-format
msgid "cannot create section header string section"
msgstr "не вдалоÑÑ Ñтворити розділ Ñ€Ñдків заголовка розділу"
-#: src/ldgeneric.c:6257
+#: src/ldgeneric.c:6256
#, c-format
msgid "cannot create program header: %s"
msgstr "не вдалоÑÑ Ñтворити заголовок програми: %s"
-#: src/ldgeneric.c:6265
+#: src/ldgeneric.c:6264
#, c-format
msgid "while determining file layout: %s"
msgstr "під Ñ‡Ð°Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
-#: src/ldgeneric.c:6386
+#: src/ldgeneric.c:6385
#, c-format
msgid "internal error: non-nobits section follows nobits section"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезбітовий розділ Ñлідом за безбітовим розділом"
-#: src/ldgeneric.c:6923
+#: src/ldgeneric.c:6922
#, c-format
msgid "cannot get header of 0th section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок 0-го розділу: %s"
-#: src/ldgeneric.c:6939 src/unstrip.c:1818
+#: src/ldgeneric.c:6938 src/unstrip.c:1818
#, c-format
msgid "cannot update ELF header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок ELF: %s"
-#: src/ldgeneric.c:6970
+#: src/ldgeneric.c:6969
#, c-format
msgid "linker backend didn't specify function to relocate section"
msgstr "у Ñервері ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ визначено функції Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ переміщеннÑ"
-#: src/ldgeneric.c:6982
+#: src/ldgeneric.c:6981
#, c-format
msgid "while writing output file: %s"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñу файла вихідних даних: %s"
-#: src/ldgeneric.c:6987
+#: src/ldgeneric.c:6986
#, c-format
msgid "while finishing output file: %s"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° вихідних даних: %s"
-#: src/ldgeneric.c:6993
+#: src/ldgeneric.c:6992
#, c-format
msgid "cannot stat output file"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ stat файл виводу даних"
-#: src/ldgeneric.c:7009
+#: src/ldgeneric.c:7008
#, c-format
msgid "WARNING: temporary output file overwritten before linking finished"
msgstr ""
"ПОПЕРЕДЖЕÐÐЯ: файл тимчаÑового виводу даних було перезапиÑано до Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ "
"компонуваннÑ"
-#: src/ldgeneric.c:7062 src/ldgeneric.c:7073 src/ldgeneric.c:7084
-#: src/ldgeneric.c:7095 src/ldgeneric.c:7114 src/ldgeneric.c:7127
-#: src/ldgeneric.c:7139
+#: src/ldgeneric.c:7061 src/ldgeneric.c:7072 src/ldgeneric.c:7083
+#: src/ldgeneric.c:7094 src/ldgeneric.c:7113 src/ldgeneric.c:7126
+#: src/ldgeneric.c:7138
#, c-format
msgid "no machine specific '%s' implementation"
msgstr "не Ñпецифічна Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Â«%s»"
@@ -3796,7 +3842,7 @@ msgstr "Ñимвол «%s» оголошено локально Ñ– на зага
msgid "default visibility set as local and global"
msgstr "типову видиміÑÑ‚ÑŒ визначено Ñк локальну Ñ– загальну"
-#: src/nm.c:74 src/strip.c:74
+#: src/nm.c:74 src/strip.c:76
msgid "Output selection:"
msgstr "Вибір виводу:"
@@ -3853,93 +3899,104 @@ msgid "Use RADIX for printing symbol values"
msgstr "ВикориÑтовувати ОСÐОВУ чиÑÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ Ñимвольних значень"
#: src/nm.c:95
-msgid "Mark weak symbols"
+#, fuzzy
+msgid "Mark special symbols"
msgstr "Позначати Ñлабкі Ñимволи"
-#: src/nm.c:96
+#: src/nm.c:97
msgid "Print size of defined symbols"
msgstr "ВивеÑти розмір визначених Ñимволів"
-#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81
+#: src/nm.c:99 src/size.c:80 src/strip.c:81 src/unstrip.c:81
msgid "Output options:"
msgstr "Параметри виводу:"
-#: src/nm.c:99
+#: src/nm.c:100
msgid "Sort symbols numerically by address"
msgstr "ЧиÑлове впорÑÐ´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñимволів за адреÑою"
-#: src/nm.c:101
+#: src/nm.c:102
msgid "Do not sort the symbols"
msgstr "Ðе впорÑдковувати Ñимволи"
-#: src/nm.c:102
+#: src/nm.c:103
msgid "Reverse the sense of the sort"
msgstr "Змінити порÑдок на протилежний"
-#: src/nm.c:108
+#: src/nm.c:106
+msgid "Decode low-level symbol names into source code names"
+msgstr ""
+
+#: src/nm.c:113
msgid "List symbols from FILEs (a.out by default)."
msgstr "Показати ÑпиÑок Ñимволів з ФÐЙЛів (типово з a.out)."
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124
+#: src/nm.c:124 src/objdump.c:88
+#, fuzzy
+msgid "Output formatting"
+msgstr "Формат виводу:"
+
+#: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
#, c-format
msgid "%s: INTERNAL ERROR %d (%s-%s): %s"
msgstr "%s: Ð’ÐУТРІШÐЯ ПОМИЛКР%d (%s-%s): %s"
-#: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337
-#: src/strip.c:1878
+#: src/nm.c:406 src/nm.c:418 src/size.c:317 src/size.c:326 src/size.c:337
+#: src/strip.c:2132
#, c-format
msgid "while closing '%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:369
+#: src/nm.c:428 src/objdump.c:304 src/strip.c:384
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
-#: src/nm.c:442
+#: src/nm.c:468
+#, fuzzy
msgid ""
"\n"
-"Archive index:"
+"Archive index:\n"
msgstr ""
"\n"
"Покажчик архіву:"
-#: src/nm.c:451
+#: src/nm.c:477
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu Ð´Ð»Ñ Ñимволу %s"
-#: src/nm.c:456
+#: src/nm.c:482
#, c-format
msgid "%s in %s\n"
msgstr "%s у %s\n"
-#: src/nm.c:464
+#: src/nm.c:490
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архіву"
-#: src/nm.c:488 src/objdump.c:344
+#: src/nm.c:514 src/objdump.c:352
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
-#: src/nm.c:700
+#: src/nm.c:726
#, c-format
msgid "cannot create search tree"
msgstr "не вдалоÑÑ Ñтворити дерево пошуку"
-#: src/nm.c:740 src/nm.c:1002 src/objdump.c:744 src/readelf.c:892
-#: src/readelf.c:1035 src/readelf.c:1176 src/readelf.c:1358 src/readelf.c:1556
-#: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272
-#: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946
-#: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047
-#: src/size.c:425 src/size.c:499 src/strip.c:493
+#: src/nm.c:765 src/nm.c:1164 src/objdump.c:795 src/readelf.c:898
+#: src/readelf.c:1041 src/readelf.c:1189 src/readelf.c:1371 src/readelf.c:1571
+#: src/readelf.c:1757 src/readelf.c:1967 src/readelf.c:2221 src/readelf.c:2287
+#: src/readelf.c:2365 src/readelf.c:2863 src/readelf.c:2899 src/readelf.c:2961
+#: src/readelf.c:7307 src/readelf.c:8212 src/readelf.c:8359 src/readelf.c:8427
+#: src/size.c:425 src/size.c:499 src/strip.c:510
#, c-format
msgid "cannot get section header string table index"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків"
-#: src/nm.c:766
+#: src/nm.c:790
#, c-format
msgid ""
"\n"
@@ -3952,20 +4009,7 @@ msgstr ""
"Символи з %s:\n"
"\n"
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-"Символи з %s[%s]:\n"
-"\n"
-
-#: src/nm.c:771
+#: src/nm.c:793
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -3974,22 +4018,22 @@ msgstr ""
"%*s%-*s %-*s ÐšÐ»Ð°Ñ Ð¢Ð¸Ð¿ %-*s %*s Розділ\n"
"\n"
-#: src/nm.c:1012
+#: src/nm.c:1174
#, c-format
msgid "%s: entry size in section `%s' is not what we expect"
msgstr "%s: розмір запиÑу у розділі «%s» не Ñ” очікуваним"
-#: src/nm.c:1016
+#: src/nm.c:1178
#, c-format
msgid "%s: size of section `%s' is not multiple of entry size"
msgstr "%s: розмір розділу «%s» не Ñ” кратним до розміру запиÑу"
-#: src/nm.c:1255
+#: src/nm.c:1436
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: некоректна діÑ"
-#: src/nm.c:1312
+#: src/nm.c:1493
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: немає Ñимволів"
@@ -4011,7 +4055,8 @@ msgid "Display assembler code of executable sections"
msgstr "Показати код аÑемблера виконуваних розділів"
#: src/objdump.c:68
-msgid "Output option selection:"
+#, fuzzy
+msgid "Output content selection:"
msgstr "Вибір параметрів виводу:"
#: src/objdump.c:70
@@ -4022,24 +4067,24 @@ msgstr "Показати інформацію лише з розділу ÐÐЗÐ
msgid "Show information from FILEs (a.out by default)."
msgstr "Показати інформацію з ФÐЙЛів (типово a.out)."
-#: src/objdump.c:236 src/readelf.c:437
+#: src/objdump.c:244 src/readelf.c:441
msgid "No operation specified.\n"
msgstr "Ðе вказано дії.\n"
-#: src/objdump.c:274 src/objdump.c:286
+#: src/objdump.c:282 src/objdump.c:294
#, c-format
msgid "while close `%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/objdump.c:379 src/readelf.c:1651 src/readelf.c:1825
+#: src/objdump.c:387 src/readelf.c:1666 src/readelf.c:1840
msgid "INVALID SYMBOL"
msgstr "ÐЕКОРЕКТÐИЙ СИМВОЛ"
-#: src/objdump.c:394 src/readelf.c:1682 src/readelf.c:1858
+#: src/objdump.c:402 src/readelf.c:1697 src/readelf.c:1873
msgid "INVALID SECTION"
msgstr "ÐЕКОРЕКТÐИЙ РОЗДІЛ"
-#: src/objdump.c:510
+#: src/objdump.c:518
#, c-format
msgid ""
"\n"
@@ -4050,20 +4095,25 @@ msgstr ""
"ЗÐПИСИ ПЕРЕМІЩЕÐÐЯ ДЛЯ [%s]:\n"
"%-*s ТИП ЗÐÐЧЕÐÐЯ\n"
-#: src/objdump.c:513
+#: src/objdump.c:521
msgid "OFFSET"
msgstr "ЗМІЩЕÐÐЯ"
-#: src/objdump.c:576
+#: src/objdump.c:584
#, c-format
msgid "Contents of section %s:\n"
msgstr "ВміÑÑ‚ розділу %s:\n"
-#: src/objdump.c:676
+#: src/objdump.c:705
#, c-format
msgid "cannot disassemble"
msgstr "не вдалоÑÑ Ð´Ð¸Ð·Ð°Ñемблювати"
+#: src/objdump.c:744
+#, fuzzy, c-format
+msgid "cannot allocate memory"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PLT-розділ: %s"
+
#: src/ranlib.c:74
msgid "Generate an index to speed access to archives."
msgstr "Створювати покажчик Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑˆÐ²Ð¸Ð´ÑˆÐµÐ½Ð½Ñ Ð´Ð¾Ñтупу до архівів."
@@ -4144,9 +4194,11 @@ msgid "Additional output selection:"
msgstr "Додатковий вибір виводу:"
#: src/readelf.c:95
+#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
-"frame, info, loc, line, ranges, pubnames, str, macinfo, or exception"
+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+"exception"
msgstr ""
"Показати вміÑÑ‚ розділу DWARF. ЗначеннÑм РОЗДІЛ може бути abbrev, aranges, "
"frame, info, loc, line, ranges, pubnames, str, macinfo або exception"
@@ -4173,91 +4225,95 @@ msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼:"
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Ðе шукати назви Ñимволів Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑу у даних DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:110
+msgid "Ignored for compatibility (lines always wide)"
+msgstr ""
+
+#: src/readelf.c:115
msgid "Print information from ELF file in human-readable form."
msgstr "Виводити відомоÑÑ‚Ñ– з файла ELF у придатному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–."
-#: src/readelf.c:408
+#: src/readelf.c:412
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Ðевідомий діагноÑтичний розділ DWARF «%s».\n"
-#: src/readelf.c:472
+#: src/readelf.c:478
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf: %s"
-#: src/readelf.c:484
+#: src/readelf.c:490
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "«%s» не Ñ” архівом, Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° архіву неможливе"
-#: src/readelf.c:489
+#: src/readelf.c:495
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриптора Elf: %s"
-#: src/readelf.c:581
+#: src/readelf.c:587
#, c-format
msgid "cannot stat input file"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла за допомогою stat"
-#: src/readelf.c:583
+#: src/readelf.c:589
#, c-format
msgid "input file is empty"
msgstr "вхідний файл є порожнім"
-#: src/readelf.c:585
+#: src/readelf.c:591
#, c-format
msgid "failed reading '%s': %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ «%s»: %s"
-#: src/readelf.c:621
+#: src/readelf.c:627
#, c-format
msgid "cannot read ELF header: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s"
-#: src/readelf.c:629
+#: src/readelf.c:635
#, c-format
msgid "cannot create EBL handle"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL"
-#: src/readelf.c:642
+#: src/readelf.c:648
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/readelf.c:728
+#: src/readelf.c:734
msgid "NONE (None)"
msgstr "NONE (Ðемає)"
-#: src/readelf.c:729
+#: src/readelf.c:735
msgid "REL (Relocatable file)"
msgstr "REL (Придатний до Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»)"
-#: src/readelf.c:730
+#: src/readelf.c:736
msgid "EXEC (Executable file)"
msgstr "EXEC (Виконуваний файл)"
-#: src/readelf.c:731
+#: src/readelf.c:737
msgid "DYN (Shared object file)"
msgstr "DYN (Файл об’єктів Ñпільного викориÑтаннÑ)"
-#: src/readelf.c:732
+#: src/readelf.c:738
msgid "CORE (Core file)"
msgstr "CORE (Файл Ñдра)"
-#: src/readelf.c:737
+#: src/readelf.c:743
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "ОС-Ñпецифічне: (%x)\n"
-#: src/readelf.c:739
+#: src/readelf.c:745
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Специфічне Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора: (%x)\n"
-#: src/readelf.c:749
+#: src/readelf.c:755
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4265,7 +4321,7 @@ msgstr ""
"Заголовок ELF:\n"
" Magic: "
-#: src/readelf.c:753
+#: src/readelf.c:759
#, c-format
msgid ""
"\n"
@@ -4274,117 +4330,117 @@ msgstr ""
"\n"
" КлаÑ: %s\n"
-#: src/readelf.c:758
+#: src/readelf.c:764
#, c-format
msgid " Data: %s\n"
msgstr " Дані: %s\n"
-#: src/readelf.c:764
+#: src/readelf.c:770
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " ВерÑÑ–Ñ Ident: %hhd %s\n"
-#: src/readelf.c:766 src/readelf.c:783
+#: src/readelf.c:772 src/readelf.c:789
msgid "(current)"
msgstr "(поточний)"
-#: src/readelf.c:770
+#: src/readelf.c:776
#, c-format
msgid " OS/ABI: %s\n"
msgstr " ОС/ABI: %s\n"
-#: src/readelf.c:773
+#: src/readelf.c:779
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ВерÑÑ–Ñ ABI: %hhd\n"
-#: src/readelf.c:776
+#: src/readelf.c:782
msgid " Type: "
msgstr " Тип: "
-#: src/readelf.c:779
+#: src/readelf.c:785
#, c-format
msgid " Machine: %s\n"
msgstr " Ðрхітектура: %s\n"
-#: src/readelf.c:781
+#: src/readelf.c:787
#, c-format
msgid " Version: %d %s\n"
msgstr " ВерÑÑ–Ñ: %d %s\n"
-#: src/readelf.c:785
+#: src/readelf.c:791
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " ÐдреÑа вхідної точки: %#<PRIx64>\n"
-#: src/readelf.c:788
+#: src/readelf.c:794
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Початок заголовків програм: %<PRId64> %s\n"
-#: src/readelf.c:789 src/readelf.c:792
+#: src/readelf.c:795 src/readelf.c:798
msgid "(bytes into file)"
msgstr "(байтів у файл)"
-#: src/readelf.c:791
+#: src/readelf.c:797
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Початок заголовків розділів: %<PRId64> %s\n"
-#: src/readelf.c:794
+#: src/readelf.c:800
#, c-format
msgid " Flags: %s\n"
msgstr " Прапорці: %s\n"
-#: src/readelf.c:797
+#: src/readelf.c:803
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Розмір цього заголовка: %<PRId16> %s\n"
-#: src/readelf.c:798 src/readelf.c:801 src/readelf.c:818
+#: src/readelf.c:804 src/readelf.c:807 src/readelf.c:824
msgid "(bytes)"
msgstr "(байтів)"
-#: src/readelf.c:800
+#: src/readelf.c:806
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовка програми: %<PRId16> %s\n"
-#: src/readelf.c:803
+#: src/readelf.c:809
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків програми: %<PRId16>"
-#: src/readelf.c:810
+#: src/readelf.c:816
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> у [0].sh_info)"
-#: src/readelf.c:813 src/readelf.c:830 src/readelf.c:844
+#: src/readelf.c:819 src/readelf.c:836 src/readelf.c:850
msgid " ([0] not available)"
msgstr " ([0] недоÑтупний)"
-#: src/readelf.c:817
+#: src/readelf.c:823
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовків розділів: %<PRId16> %s\n"
-#: src/readelf.c:820
+#: src/readelf.c:826
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків розділів: %<PRId16>"
-#: src/readelf.c:827
+#: src/readelf.c:833
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> у [0].sh_size)"
-#: src/readelf.c:840
+#: src/readelf.c:846
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> у [0].sh_link)"
-#: src/readelf.c:848
+#: src/readelf.c:854
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4393,7 +4449,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: XINDEX%s\n"
"\n"
-#: src/readelf.c:852
+#: src/readelf.c:858
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4402,7 +4458,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %<PRId16>\n"
"\n"
-#: src/readelf.c:884
+#: src/readelf.c:890
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4411,11 +4467,11 @@ msgstr ""
"ВиÑвлено %d заголовків розділів, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ — %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:894
+#: src/readelf.c:900
msgid "Section Headers:"
msgstr "Заголовки розділів:"
-#: src/readelf.c:897
+#: src/readelf.c:903
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4423,7 +4479,7 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES Прап Lk "
"Інф Al"
-#: src/readelf.c:899
+#: src/readelf.c:905
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4431,12 +4487,12 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES "
"Прап Lk Інф Al"
-#: src/readelf.c:906 src/readelf.c:1059
+#: src/readelf.c:912 src/readelf.c:1065
#, c-format
msgid "cannot get section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:913 src/readelf.c:1067 src/readelf.c:7999 src/unstrip.c:353
+#: src/readelf.c:919 src/readelf.c:1073 src/readelf.c:8379 src/unstrip.c:353
#: src/unstrip.c:384 src/unstrip.c:433 src/unstrip.c:541 src/unstrip.c:558
#: src/unstrip.c:594 src/unstrip.c:792 src/unstrip.c:1060 src/unstrip.c:1250
#: src/unstrip.c:1310 src/unstrip.c:1431 src/unstrip.c:1484 src/unstrip.c:1591
@@ -4445,17 +4501,17 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
msgid "cannot get section header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s"
-#: src/readelf.c:971
+#: src/readelf.c:977
msgid "Program Headers:"
msgstr "Заголовки програми:"
-#: src/readelf.c:973
+#: src/readelf.c:979
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр РозмФайл РозмПам Пра Вирів"
-#: src/readelf.c:976
+#: src/readelf.c:982
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4463,12 +4519,12 @@ msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр "
"РозмФайлРозмПам Пра Вирів"
-#: src/readelf.c:1016
+#: src/readelf.c:1022
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Запит щодо інтерпретатора програми: %s]\n"
-#: src/readelf.c:1037
+#: src/readelf.c:1043
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4478,12 +4534,12 @@ msgstr ""
" Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на Ñегмент:\n"
" Розділи Ñегмента..."
-#: src/readelf.c:1048 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
+#: src/readelf.c:1054 src/unstrip.c:1835 src/unstrip.c:1874 src/unstrip.c:1881
#, c-format
msgid "cannot get program header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок програми: %s"
-#: src/readelf.c:1182
+#: src/readelf.c:1195
#, c-format
msgid ""
"\n"
@@ -4501,7 +4557,7 @@ msgstr[2] ""
"\n"
"Група розділів COMDAT [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1187
+#: src/readelf.c:1200
#, c-format
msgid ""
"\n"
@@ -4519,15 +4575,15 @@ msgstr[2] ""
"\n"
"Група розділів [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1195
+#: src/readelf.c:1208
msgid "<INVALID SYMBOL>"
msgstr "<ÐЕКОРЕКТÐИЙ СИМВОЛ>"
-#: src/readelf.c:1209
+#: src/readelf.c:1222
msgid "<INVALID SECTION>"
msgstr "<ÐЕКОРЕКТÐИЙ РОЗДІЛ>"
-#: src/readelf.c:1360
+#: src/readelf.c:1373
#, c-format
msgid ""
"\n"
@@ -4550,36 +4606,36 @@ msgstr[2] ""
"Динамічний Ñегмент міÑтить %lu запиÑів:\n"
" Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n"
-#: src/readelf.c:1372
+#: src/readelf.c:1385
msgid " Type Value\n"
msgstr " Тип ЗначеннÑ\n"
-#: src/readelf.c:1396
+#: src/readelf.c:1409
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Спільна бібліотека: [%s]\n"
-#: src/readelf.c:1401
+#: src/readelf.c:1414
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Ðазва so бібліотеки: [%s]\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1419
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath бібліотеки: [%s]\n"
-#: src/readelf.c:1411
+#: src/readelf.c:1424
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Runpath бібліотеки: [%s]\n"
-#: src/readelf.c:1431
+#: src/readelf.c:1444
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (байт)\n"
-#: src/readelf.c:1541 src/readelf.c:1727
+#: src/readelf.c:1556 src/readelf.c:1742
#, c-format
msgid ""
"\n"
@@ -4588,7 +4644,7 @@ msgstr ""
"\n"
"Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n"
-#: src/readelf.c:1559 src/readelf.c:1744
+#: src/readelf.c:1574 src/readelf.c:1759
#, c-format
msgid ""
"\n"
@@ -4611,7 +4667,7 @@ msgstr[2] ""
"Розділ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ [%2zu] «%s» Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%2u] «%s» за зміщеннÑм "
"%#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:1574
+#: src/readelf.c:1589
#, c-format
msgid ""
"\n"
@@ -4629,30 +4685,30 @@ msgstr[2] ""
"\n"
"Розділ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ [%2u] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:1584
+#: src/readelf.c:1599
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:1586
+#: src/readelf.c:1601
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:1639 src/readelf.c:1650 src/readelf.c:1663 src/readelf.c:1681
-#: src/readelf.c:1693 src/readelf.c:1812 src/readelf.c:1824 src/readelf.c:1838
-#: src/readelf.c:1857 src/readelf.c:1870
+#: src/readelf.c:1654 src/readelf.c:1665 src/readelf.c:1678 src/readelf.c:1696
+#: src/readelf.c:1708 src/readelf.c:1827 src/readelf.c:1839 src/readelf.c:1853
+#: src/readelf.c:1872 src/readelf.c:1885
msgid "<INVALID RELOC>"
msgstr "<ÐЕКОРЕКТÐЕ ПЕРЕМІЩЕÐÐЯ>"
-#: src/readelf.c:1756
+#: src/readelf.c:1771
msgid " Offset Type Value Addend Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:1758
+#: src/readelf.c:1773
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:1959
+#: src/readelf.c:1974
#, c-format
msgid ""
"\n"
@@ -4670,7 +4726,7 @@ msgstr[2] ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів [%2u] «%s» міÑтить %u запиÑів:\n"
-#: src/readelf.c:1965
+#: src/readelf.c:1980
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -4678,33 +4734,33 @@ msgstr[0] " %lu лок. Ñимвол Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «
msgstr[1] " %lu лок. Ñимволи Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
msgstr[2] " %lu лок. Ñимволів Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
-#: src/readelf.c:1975
+#: src/readelf.c:1990
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:1977
+#: src/readelf.c:1992
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:1997
+#: src/readelf.c:2012
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-#: src/readelf.c:2085
+#: src/readelf.c:2100
#, c-format
msgid "bad dynamic symbol"
msgstr "помилковий динамічний Ñимвол"
-#: src/readelf.c:2167
+#: src/readelf.c:2182
msgid "none"
msgstr "немає"
-#: src/readelf.c:2184
+#: src/readelf.c:2199
msgid "| <unknown>"
msgstr "| <невідомо>"
-#: src/readelf.c:2209
+#: src/readelf.c:2224
#, c-format
msgid ""
"\n"
@@ -4727,17 +4783,17 @@ msgstr[2] ""
"Розділ потреби у верÑÑ–ÑÑ… [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2232
+#: src/readelf.c:2247
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hu Файл: %s Кть: %hu\n"
-#: src/readelf.c:2245
+#: src/readelf.c:2260
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Ðазва: %s Прап: %s ВерÑÑ–Ñ: %hu\n"
-#: src/readelf.c:2276
+#: src/readelf.c:2291
#, c-format
msgid ""
"\n"
@@ -4760,17 +4816,17 @@ msgstr[2] ""
"Розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2306
+#: src/readelf.c:2321
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hd Прап.: %s ІндекÑ: %hd К-Ñ‚ÑŒ: %hd Ðазва: %s\n"
-#: src/readelf.c:2321
+#: src/readelf.c:2336
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: батьківÑький %d: %s\n"
-#: src/readelf.c:2553
+#: src/readelf.c:2568
#, c-format
msgid ""
"\n"
@@ -4793,15 +4849,15 @@ msgstr[2] ""
"Розділ Ñимволів верÑій [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»"
-#: src/readelf.c:2583
+#: src/readelf.c:2598
msgid " 0 *local* "
msgstr " 0 *локальний* "
-#: src/readelf.c:2588
+#: src/readelf.c:2603
msgid " 1 *global* "
msgstr " 1 *загальний* "
-#: src/readelf.c:2619
+#: src/readelf.c:2634
#, c-format
msgid ""
"\n"
@@ -4829,22 +4885,22 @@ msgstr[2] ""
"блоками):\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2643
+#: src/readelf.c:2658
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Довжина Ðомер % від загал. ПокриттÑ\n"
-#: src/readelf.c:2645
+#: src/readelf.c:2660
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2652
+#: src/readelf.c:2667
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2665
+#: src/readelf.c:2680
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4853,12 +4909,12 @@ msgstr ""
" Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ теÑтів: уÑпішний пошук: %f\n"
"\t\t\t неуÑпішний пошук: %f\n"
-#: src/readelf.c:2683 src/readelf.c:2725 src/readelf.c:2766
+#: src/readelf.c:2698 src/readelf.c:2740 src/readelf.c:2781
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
-#: src/readelf.c:2820
+#: src/readelf.c:2835
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4868,7 +4924,7 @@ msgstr ""
" Розмір бітової маÑки: %zu байтів %<PRIuFAST32>%% вÑтановлених бітів зÑув "
"2-го хешу: %u\n"
-#: src/readelf.c:2894
+#: src/readelf.c:2909
#, c-format
msgid ""
"\n"
@@ -4889,7 +4945,7 @@ msgstr[2] ""
"Розділ ÑпиÑку бібліотек [%2zu] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d "
"запиÑів:\n"
-#: src/readelf.c:2908
+#: src/readelf.c:2923
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4897,7 +4953,7 @@ msgstr ""
" Бібліотека ЧаÑовий штамп ВерÑÑ–Ñ Ñуми "
"Прапорці"
-#: src/readelf.c:2958
+#: src/readelf.c:2973
#, c-format
msgid ""
"\n"
@@ -4908,160 +4964,160 @@ msgstr ""
"Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:2974
+#: src/readelf.c:2989
msgid " Owner Size\n"
msgstr " ВлаÑник Розмір\n"
-#: src/readelf.c:3000
+#: src/readelf.c:3015
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3032
+#: src/readelf.c:3047
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3037
+#: src/readelf.c:3052
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Файл: %11<PRIu32>\n"
-#: src/readelf.c:3072
+#: src/readelf.c:3087
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3075
+#: src/readelf.c:3090
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3078
+#: src/readelf.c:3093
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3085
+#: src/readelf.c:3100
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3088
+#: src/readelf.c:3103
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3124
+#: src/readelf.c:3139
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3127
+#: src/readelf.c:3142
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3132
+#: src/readelf.c:3147
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3135
+#: src/readelf.c:3150
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3141
+#: src/readelf.c:3156
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3144
+#: src/readelf.c:3159
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3148
+#: src/readelf.c:3163
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3151
+#: src/readelf.c:3166
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3156
+#: src/readelf.c:3171
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3159
+#: src/readelf.c:3174
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3290
+#: src/readelf.c:3313
#, c-format
msgid "unknown tag %hx"
msgstr "невідомий теґ %hx"
-#: src/readelf.c:3292
+#: src/readelf.c:3315
#, c-format
msgid "unknown user tag %hx"
msgstr "невідомий теґ кориÑтувача %hx"
-#: src/readelf.c:3516
+#: src/readelf.c:3603
#, c-format
msgid "unknown attribute %hx"
msgstr "невідомий атрибут %hx"
-#: src/readelf.c:3519
+#: src/readelf.c:3606
#, c-format
msgid "unknown user attribute %hx"
msgstr "невідомий атрибут кориÑтувача %hx"
-#: src/readelf.c:3569
-#, c-format
-msgid "unknown form %<PRIx64>"
+#: src/readelf.c:3657
+#, fuzzy, c-format
+msgid "unknown form %#<PRIx64>"
msgstr "невідома форма %<PRIx64>"
-#: src/readelf.c:3803
+#: src/readelf.c:3893
msgid "empty block"
msgstr "порожній блок"
-#: src/readelf.c:3806
+#: src/readelf.c:3896
#, c-format
msgid "%zu byte block:"
msgstr "%zu-байтовий блок:"
-#: src/readelf.c:4259
+#: src/readelf.c:4419
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <ОБРІЗÐÐО>\n"
-#: src/readelf.c:4295
+#: src/readelf.c:4455
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ"
-#: src/readelf.c:4302
+#: src/readelf.c:4462
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами зміщень"
-#: src/readelf.c:4381
+#: src/readelf.c:4542
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ У РЕШТІ РОЗДІЛУ>\n"
-#: src/readelf.c:4389
+#: src/readelf.c:4550
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ> ... %<PRIu64> байтів ...\n"
-#: src/readelf.c:4409
+#: src/readelf.c:4569
#, c-format
msgid ""
"\n"
@@ -5072,7 +5128,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" [ Код]\n"
-#: src/readelf.c:4416
+#: src/readelf.c:4577
#, c-format
msgid ""
"\n"
@@ -5081,30 +5137,30 @@ msgstr ""
"\n"
"Розділ Ñкорочень за зміщеннÑм %<PRIu64>:\n"
-#: src/readelf.c:4429
+#: src/readelf.c:4590
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÑкороченнÑ: %s\n"
-#: src/readelf.c:4445
+#: src/readelf.c:4606
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] зміщеннÑ: %<PRId64>, дочірній: %s, мітка: %s\n"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "yes"
msgstr "так"
-#: src/readelf.c:4448
+#: src/readelf.c:4609
msgid "no"
msgstr "ні"
-#: src/readelf.c:4484
+#: src/readelf.c:4644
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані get .debug_aranges: %s"
-#: src/readelf.c:4489
+#: src/readelf.c:4649
#, c-format
msgid ""
"\n"
@@ -5122,12 +5178,12 @@ msgstr[2] ""
"\n"
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:4519
+#: src/readelf.c:4680
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4521
+#: src/readelf.c:4682
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5135,13 +5191,13 @@ msgstr ""
" [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4540
+#: src/readelf.c:4701
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані .debug_ranges: %s"
-#: src/readelf.c:4545 src/readelf.c:5045 src/readelf.c:5817 src/readelf.c:6315
-#: src/readelf.c:6430 src/readelf.c:6602
+#: src/readelf.c:4706 src/readelf.c:5207 src/readelf.c:5982 src/readelf.c:6483
+#: src/readelf.c:6598 src/readelf.c:6770
#, c-format
msgid ""
"\n"
@@ -5150,37 +5206,37 @@ msgstr ""
"\n"
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:4568 src/readelf.c:6339
+#: src/readelf.c:4730 src/readelf.c:6508
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:4590 src/readelf.c:6361
+#: src/readelf.c:4752 src/readelf.c:6530
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] базова адреÑа %s\n"
-#: src/readelf.c:4596 src/readelf.c:6367
+#: src/readelf.c:4758 src/readelf.c:6536
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] порожній ÑпиÑок\n"
-#: src/readelf.c:4605
+#: src/readelf.c:4767
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4607
+#: src/readelf.c:4769
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5034 src/readelf.c:6668 src/readelf.c:6770
+#: src/readelf.c:5196 src/readelf.c:6838 src/readelf.c:6940 src/readelf.c:7098
#, c-format
msgid "cannot get %s content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s: %s"
-#: src/readelf.c:5041
+#: src/readelf.c:5203
#, c-format
msgid ""
"\n"
@@ -5189,12 +5245,12 @@ msgstr ""
"\n"
"Розділ відомоÑтей щодо вікна викликів [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:5069 src/readelf.c:5851
+#: src/readelf.c:5231 src/readelf.c:6017
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "некоректні дані у розділі [%zu] «%s»"
-#: src/readelf.c:5091
+#: src/readelf.c:5253
#, c-format
msgid ""
"\n"
@@ -5203,50 +5259,50 @@ msgstr ""
"\n"
" [%6tx] нульовий переривач\n"
-#: src/readelf.c:5176
+#: src/readelf.c:5338
#, c-format
msgid "invalid augmentation length"
msgstr "некоректна довжина збільшеннÑ"
-#: src/readelf.c:5188
+#: src/readelf.c:5350
msgid "FDE address encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи FDE: "
-#: src/readelf.c:5194
+#: src/readelf.c:5356
msgid "LSDA pointer encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° LSDA: "
-#: src/readelf.c:5292
+#: src/readelf.c:5454
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (зміщеннÑ: %#<PRIx64>)"
-#: src/readelf.c:5299
+#: src/readelf.c:5461
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
-#: src/readelf.c:5326
+#: src/readelf.c:5488
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sвказівник LSDA: %#<PRIx64>\n"
-#: src/readelf.c:5377
+#: src/readelf.c:5539
#, c-format
msgid "cannot get attribute code: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ код атрибута: %s"
-#: src/readelf.c:5386
+#: src/readelf.c:5548
#, c-format
msgid "cannot get attribute form: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ форму атрибута: %s"
-#: src/readelf.c:5401
+#: src/readelf.c:5563
#, c-format
msgid "cannot get attribute value: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°: %s"
-#: src/readelf.c:5653
+#: src/readelf.c:5819
#, c-format
msgid ""
"\n"
@@ -5257,7 +5313,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
" [ЗміщеннÑ]\n"
-#: src/readelf.c:5685
+#: src/readelf.c:5851
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5270,7 +5326,7 @@ msgstr ""
"ЗміщеннÑ: %<PRIu8>\n"
" ÐŸÑ–Ð´Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>\n"
-#: src/readelf.c:5694
+#: src/readelf.c:5860
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5281,38 +5337,38 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:5720
+#: src/readelf.c:5886
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s"
-#: src/readelf.c:5732
+#: src/readelf.c:5898
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %s"
-#: src/readelf.c:5741
+#: src/readelf.c:5907
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ мітку DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s"
-#: src/readelf.c:5772
+#: src/readelf.c:5938
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s\n"
-#: src/readelf.c:5780
+#: src/readelf.c:5946
#, c-format
msgid "cannot get next DIE: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s"
-#: src/readelf.c:5829
+#: src/readelf.c:5995
#, c-format
msgid "cannot get line data section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу лінійних даних: %s"
-#: src/readelf.c:5842
+#: src/readelf.c:6008
#, c-format
msgid ""
"\n"
@@ -5321,7 +5377,7 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм %Zu:\n"
-#: src/readelf.c:5897
+#: src/readelf.c:6063
#, c-format
msgid ""
"\n"
@@ -5350,12 +5406,12 @@ msgstr ""
"\n"
"Коди операцій:\n"
-#: src/readelf.c:5918
+#: src/readelf.c:6084
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "некоректні дані зі зміщеннÑм %tu у розділі [%zu] «%s»"
-#: src/readelf.c:5933
+#: src/readelf.c:6099
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5363,7 +5419,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu аргумент\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu аргументи\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu аргументів\n"
-#: src/readelf.c:5941
+#: src/readelf.c:6107
msgid ""
"\n"
"Directory table:"
@@ -5371,7 +5427,7 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ:"
-#: src/readelf.c:5957
+#: src/readelf.c:6123
msgid ""
"\n"
"File name table:\n"
@@ -5381,7 +5437,7 @@ msgstr ""
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð·Ð² файлів:\n"
" Ð—Ð°Ð¿Ð¸Ñ ÐšÐ°Ñ‚ Ð§Ð°Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðазва"
-#: src/readelf.c:5986
+#: src/readelf.c:6152
msgid ""
"\n"
"Line number statements:"
@@ -5389,115 +5445,117 @@ msgstr ""
"\n"
"Оператори номерів Ñ€Ñдків:"
-#: src/readelf.c:6060
+#: src/readelf.c:6228
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
" Ñпеціальний код операції %u: адреÑа+%u = %s, індекÑ_оп = %u, Ñ€Ñдок%+d = "
"%zu\n"
-#: src/readelf.c:6065
+#: src/readelf.c:6233
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " Ñпеціальний код операції %u: адреÑа+%u = %s, Ñ€Ñдок%+d = %zu\n"
-#: src/readelf.c:6085
+#: src/readelf.c:6253
#, c-format
msgid " extended opcode %u: "
msgstr " розширений код операції %u: "
-#: src/readelf.c:6090
-msgid "end of sequence"
+#: src/readelf.c:6258
+#, fuzzy
+msgid " end of sequence"
msgstr "кінець поÑлідовноÑÑ‚Ñ–"
-#: src/readelf.c:6107
-#, c-format
-msgid "set address to %s\n"
+#: src/readelf.c:6275
+#, fuzzy, c-format
+msgid " set address to %s\n"
msgstr "вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s\n"
-#: src/readelf.c:6128
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+#: src/readelf.c:6296
+#, fuzzy, c-format
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла: dir=%u, mtime=%<PRIu64>, довжина=%<PRIu64>, назва="
"%s\n"
-#: src/readelf.c:6141
+#: src/readelf.c:6309
#, c-format
msgid " set discriminator to %u\n"
msgstr " вÑтановити Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ %u\n"
-#: src/readelf.c:6146
-msgid "unknown opcode"
+#: src/readelf.c:6314
+#, fuzzy
+msgid " unknown opcode"
msgstr "невідомий код операції"
-#: src/readelf.c:6158
+#: src/readelf.c:6326
msgid " copy"
msgstr " копіÑ"
-#: src/readelf.c:6169
-#, c-format
-msgid "advance address by %u to %s, op_index to %u\n"
+#: src/readelf.c:6337
+#, fuzzy, c-format
+msgid " advance address by %u to %s, op_index to %u\n"
msgstr "Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s, індекÑ_оп до %u\n"
-#: src/readelf.c:6173
-#, c-format
-msgid "advance address by %u to %s\n"
+#: src/readelf.c:6341
+#, fuzzy, c-format
+msgid " advance address by %u to %s\n"
msgstr "Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s\n"
-#: src/readelf.c:6184
+#: src/readelf.c:6352
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " проÑувати Ñ€Ñдок на Ñталу %d до %<PRId64>\n"
-#: src/readelf.c:6192
+#: src/readelf.c:6360
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " вÑтановити файл у %<PRIu64>\n"
-#: src/readelf.c:6202
+#: src/readelf.c:6370
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтовпчика %<PRIu64>\n"
-#: src/readelf.c:6209
+#: src/readelf.c:6377
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " вÑтановити «%s» у %<PRIuFAST8>\n"
-#: src/readelf.c:6215
+#: src/readelf.c:6383
msgid " set basic block flag"
msgstr " вÑтановити прапорець базового блоку"
-#: src/readelf.c:6224
-#, c-format
-msgid "advance address by constant %u to %s, op_index to %u\n"
+#: src/readelf.c:6392
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "збільшити адреÑу на Ñталу величину %u до %s, індекÑ_оп до %u\n"
-#: src/readelf.c:6228
-#, c-format
-msgid "advance address by constant %u to %s\n"
+#: src/readelf.c:6396
+#, fuzzy, c-format
+msgid " advance address by constant %u to %s\n"
msgstr "збільшити адреÑу на Ñталу величину %u до %s\n"
-#: src/readelf.c:6246
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
+#: src/readelf.c:6414
+#, fuzzy, c-format
+msgid " advance address by fixed value %u to %s\n"
msgstr "збільшити адреÑу на фікÑовану величину %u до %s\n"
-#: src/readelf.c:6255
+#: src/readelf.c:6423
msgid " set prologue end flag"
msgstr " вÑтановити прапорець ÐºÑ–Ð½Ñ†Ñ Ð²Ñтупу"
-#: src/readelf.c:6260
+#: src/readelf.c:6428
msgid " set epilogue begin flag"
msgstr " вÑтановити прапорець початку епілогу"
-#: src/readelf.c:6269
+#: src/readelf.c:6437
#, c-format
msgid " set isa to %u\n"
msgstr " вÑтановити isa у %u\n"
-#: src/readelf.c:6278
+#: src/readelf.c:6446
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5505,42 +5563,42 @@ msgstr[0] " невідомий код операції з %<PRIu8> парамеÑ
msgstr[1] " невідомий код операції з %<PRIu8> параметрами:"
msgstr[2] " невідомий код операції з %<PRIu8> параметрами:"
-#: src/readelf.c:6310
+#: src/readelf.c:6478
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ .debug_loc: %s"
-#: src/readelf.c:6379
+#: src/readelf.c:6548
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6381
+#: src/readelf.c:6550
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6388
+#: src/readelf.c:6557
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:6440
+#: src/readelf.c:6609
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу відомоÑтей щодо макроÑів: %s"
-#: src/readelf.c:6519
+#: src/readelf.c:6688
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** незавершений Ñ€Ñдок наприкінці розділу"
-#: src/readelf.c:6587
+#: src/readelf.c:6756
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
" [%5d] Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %6<PRId64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: %6<PRId64>, назва: %s\n"
-#: src/readelf.c:6626
+#: src/readelf.c:6796
#, c-format
msgid ""
"\n"
@@ -5551,12 +5609,12 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" %*s РÑдок\n"
-#: src/readelf.c:6640
+#: src/readelf.c:6810
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñдків: %s\n"
-#: src/readelf.c:6660
+#: src/readelf.c:6830
#, c-format
msgid ""
"\n"
@@ -5565,7 +5623,7 @@ msgstr ""
"\n"
"Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:6762
+#: src/readelf.c:6932
#, c-format
msgid ""
"\n"
@@ -5574,22 +5632,22 @@ msgstr ""
"\n"
"Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:6785
+#: src/readelf.c:6955
#, c-format
msgid " LPStart encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ LPStart: %#x "
-#: src/readelf.c:6797
+#: src/readelf.c:6967
#, c-format
msgid " TType encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType: %#x "
-#: src/readelf.c:6811
+#: src/readelf.c:6981
#, c-format
msgid " Call site encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:%#x "
-#: src/readelf.c:6824
+#: src/readelf.c:6994
msgid ""
"\n"
" Call site table:"
@@ -5597,7 +5655,7 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:"
-#: src/readelf.c:6838
+#: src/readelf.c:7008
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5610,22 +5668,102 @@ msgstr ""
" МіÑце заÑтоÑуваннÑ: %#<PRIx64>\n"
" ДіÑ: %u\n"
-#: src/readelf.c:6898
+#: src/readelf.c:7068
#, c-format
msgid "invalid TType encoding"
msgstr "некоректне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType"
-#: src/readelf.c:6923
+#: src/readelf.c:7089
+#, fuzzy, c-format
+msgid ""
+"\n"
+"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
+msgstr ""
+"\n"
+"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑ:\n"
+
+#: src/readelf.c:7118
+#, fuzzy, c-format
+msgid " Version: %<PRId32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:7124
+#, c-format
+msgid " unknown version, cannot parse section\n"
+msgstr ""
+
+#: src/readelf.c:7133
+#, fuzzy, c-format
+msgid " CU offset: %#<PRIx32>\n"
+msgstr " (зміщеннÑ: %#<PRIx64>)"
+
+#: src/readelf.c:7140
+#, fuzzy, c-format
+msgid " TU offset: %#<PRIx32>\n"
+msgstr " (зміщеннÑ: %#<PRIx64>)"
+
+#: src/readelf.c:7147
+#, fuzzy, c-format
+msgid " address offset: %#<PRIx32>\n"
+msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
+
+#: src/readelf.c:7154
+#, fuzzy, c-format
+msgid " symbol offset: %#<PRIx32>\n"
+msgstr " (зміщеннÑ: %#<PRIx64>)"
+
+#: src/readelf.c:7161
+#, fuzzy, c-format
+msgid " constant offset: %#<PRIx32>\n"
+msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
+
+#: src/readelf.c:7168
+#, fuzzy, c-format
+msgid ""
+"\n"
+" CU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑ:\n"
+
+#: src/readelf.c:7190
+#, fuzzy, c-format
+msgid ""
+"\n"
+" TU list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑ:\n"
+
+#: src/readelf.c:7216
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Address list at offset %#<PRIx32> contains %zu entries:\n"
+msgstr ""
+"\n"
+"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑ:\n"
+
+#: src/readelf.c:7243
+#, fuzzy, c-format
+msgid ""
+"\n"
+" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n"
+
+#: src/readelf.c:7296
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор контекÑту зневаджуваннÑ: %s"
-#: src/readelf.c:7065 src/readelf.c:7666
+#: src/readelf.c:7445 src/readelf.c:8046
#, c-format
msgid "cannot convert core note data: %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ дані запиÑу Ñдра: %s"
-#: src/readelf.c:7406
+#: src/readelf.c:7786
#, c-format
msgid ""
"\n"
@@ -5634,21 +5772,21 @@ msgstr ""
"\n"
"%*s... <повторюєтьÑÑ %u разів> ..."
-#: src/readelf.c:7765
+#: src/readelf.c:8145
msgid " Owner Data size Type\n"
msgstr " ВлаÑник Розм. даних Тип\n"
-#: src/readelf.c:7783
+#: src/readelf.c:8163
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:7817
+#: src/readelf.c:8197
#, c-format
msgid "cannot get content of note section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу запиÑів: %s"
-#: src/readelf.c:7844
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -5658,7 +5796,7 @@ msgstr ""
"Розділ запиÑів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:7867
+#: src/readelf.c:8247
#, c-format
msgid ""
"\n"
@@ -5667,7 +5805,7 @@ msgstr ""
"\n"
"Сегмент запиÑів з %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:7913
+#: src/readelf.c:8293
#, c-format
msgid ""
"\n"
@@ -5676,12 +5814,12 @@ msgstr ""
"\n"
"У розділі [%Zu] «%s» не міÑтитьÑÑ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:7919 src/readelf.c:7942
+#: src/readelf.c:8299 src/readelf.c:8322
#, c-format
msgid "cannot get data for section [%Zu] '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%Zu] «%s»: %s"
-#: src/readelf.c:7923
+#: src/readelf.c:8303
#, c-format
msgid ""
"\n"
@@ -5690,7 +5828,7 @@ msgstr ""
"\n"
"ШіÑÑ‚. дамп розділу [%Zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:7936
+#: src/readelf.c:8316
#, c-format
msgid ""
"\n"
@@ -5699,7 +5837,7 @@ msgstr ""
"\n"
"У розділі [%Zu] «%s» не міÑтитьÑÑ Ñ€Ñдків Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:7946
+#: src/readelf.c:8326
#, c-format
msgid ""
"\n"
@@ -5708,7 +5846,7 @@ msgstr ""
"\n"
"Розділ Ñ€Ñдків [%Zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8374
#, c-format
msgid ""
"\n"
@@ -5717,7 +5855,7 @@ msgstr ""
"\n"
"розділу [%lu] не Ñ–Ñнує"
-#: src/readelf.c:8023
+#: src/readelf.c:8403
#, c-format
msgid ""
"\n"
@@ -5726,12 +5864,12 @@ msgstr ""
"\n"
"розділу «%s» не Ñ–Ñнує"
-#: src/readelf.c:8080
+#: src/readelf.c:8460
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ покажчик Ñимволів архіву «%s»: %s"
-#: src/readelf.c:8083
+#: src/readelf.c:8463
#, c-format
msgid ""
"\n"
@@ -5740,7 +5878,7 @@ msgstr ""
"\n"
"У архіві «%s» немає покажчика Ñимволів\n"
-#: src/readelf.c:8087
+#: src/readelf.c:8467
#, c-format
msgid ""
"\n"
@@ -5749,12 +5887,12 @@ msgstr ""
"\n"
"Покажчик архіву «%s» міÑтить %Zu запиÑів:\n"
-#: src/readelf.c:8105
+#: src/readelf.c:8485
#, c-format
msgid "cannot extract member at offset %Zu in '%s': %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ елемент за зміщеннÑм %Zu у «%s»: %s"
-#: src/readelf.c:8110
+#: src/readelf.c:8490
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Елемент архіву «%s» міÑтить:\n"
@@ -5892,162 +6030,179 @@ msgstr "помилка повторного викориÑÑ‚Ð°Ð½Ð½Ñ mmap"
msgid "mprotect failed"
msgstr "помилка mprotect"
-#: src/strip.c:75
+#: src/strip.c:77
msgid "Place stripped output into FILE"
msgstr "ВивеÑти дані піÑÐ»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ ФÐЙЛа"
-#: src/strip.c:76
+#: src/strip.c:78
msgid "Extract the removed sections into FILE"
msgstr "Видобути вилучені розділи до ФÐЙЛа"
-#: src/strip.c:77
+#: src/strip.c:79
msgid "Embed name FILE instead of -f argument"
msgstr "Вбудувати назву ФÐЙЛа заміÑÑ‚ÑŒ аргументу -f"
-#: src/strip.c:81
+#: src/strip.c:83
msgid "Remove all debugging symbols"
msgstr "Вилучити вÑÑ– Ñимволи зневаджуваннÑ"
-#: src/strip.c:85
+#: src/strip.c:87
msgid "Remove section headers (not recommended)"
msgstr "Вилучити заголовки розділів (не рекомендовано)"
-#: src/strip.c:87
+#: src/strip.c:89
msgid "Copy modified/access timestamps to the output"
msgstr "Скопіювати чаÑові позначки зміни/доÑтупу до виведених даних"
-#: src/strip.c:89
+#: src/strip.c:91
+msgid ""
+"Resolve all trivial relocations between debug sections if the removed "
+"sections are placed in a debug file (only relevant for ET_REL files, "
+"operation is not reversable, needs -f)"
+msgstr ""
+
+#: src/strip.c:93
msgid "Remove .comment section"
msgstr "Вилучити розділ .comment"
-#: src/strip.c:92
+#: src/strip.c:96
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
"Знехтувати декількома правилами Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ трохи пошкоджених файлів ELF"
-#: src/strip.c:97
+#: src/strip.c:101
msgid "Discard symbols from object files."
msgstr "Відкинути Ñимволи з об’єктних файлів"
-#: src/strip.c:192
+#: src/strip.c:189
+#, c-format
+msgid "--reloc-debug-sections used without -f"
+msgstr ""
+
+#: src/strip.c:203
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr ""
"Разом з «-o» або «-f» можна викориÑтовувати лише один файл вхідних даних"
-#: src/strip.c:228
+#: src/strip.c:239
#, c-format
msgid "-f option specified twice"
msgstr "параметр -f вказано двічі"
-#: src/strip.c:237
+#: src/strip.c:248
#, c-format
msgid "-F option specified twice"
msgstr "параметр -F вказано двічі"
-#: src/strip.c:246 src/unstrip.c:125
+#: src/strip.c:257 src/unstrip.c:125
#, c-format
msgid "-o option specified twice"
msgstr "параметр -o вказано двічі"
-#: src/strip.c:266
+#: src/strip.c:281
#, c-format
msgid "-R option supports only .comment section"
msgstr "Ð”Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° -R передбачено підтримку лише розділу .comment"
-#: src/strip.c:308 src/strip.c:332
+#: src/strip.c:323 src/strip.c:347
#, c-format
msgid "cannot stat input file '%s'"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла «%s» за допомогою stat"
-#: src/strip.c:322
+#: src/strip.c:337
#, c-format
msgid "while opening '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/strip.c:360
+#: src/strip.c:375
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr ""
"%s: не можна викориÑтовувати -o або -f під Ñ‡Ð°Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ вміÑту "
"архіву"
-#: src/strip.c:458
+#: src/strip.c:475
#, c-format
msgid "cannot open EBL backend"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ канал Ñервера EBL"
-#: src/strip.c:508 src/strip.c:532
+#: src/strip.c:525 src/strip.c:549
#, c-format
msgid "cannot create new file '%s': %s"
msgstr "не вдалоÑÑ Ñтворити файл «%s»: %s"
-#: src/strip.c:592
+#: src/strip.c:609
#, c-format
msgid "illformed file '%s'"
msgstr "помилкове Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° «%s»"
-#: src/strip.c:880 src/strip.c:967
+#: src/strip.c:913 src/strip.c:1002
#, c-format
msgid "while generating output file: %s"
msgstr "під Ñ‡Ð°Ñ Ñпроби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° з виведеними даними: %s"
-#: src/strip.c:940 src/strip.c:1683
+#: src/strip.c:975 src/strip.c:1937
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
-#: src/strip.c:954
+#: src/strip.c:989
#, c-format
msgid "while preparing output for '%s'"
msgstr "під Ñ‡Ð°Ñ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ… даних Ð´Ð»Ñ Â«%s»"
-#: src/strip.c:1005 src/strip.c:1061
+#: src/strip.c:1040 src/strip.c:1096
#, c-format
msgid "while create section header section: %s"
msgstr "під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ заголовка розділу: %s"
-#: src/strip.c:1011
+#: src/strip.c:1046
#, c-format
msgid "cannot allocate section data: %s"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити дані розділу: %s"
-#: src/strip.c:1070
+#: src/strip.c:1105
#, c-format
msgid "while create section header string table: %s"
msgstr "під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñдків заголовка розділу: %s"
-#: src/strip.c:1595 src/strip.c:1705
+#: src/strip.c:1732
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Показувати переміщеннÑ"
+
+#: src/strip.c:1849 src/strip.c:1959
#, c-format
msgid "while writing '%s': %s"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñу «%s»: %s"
-#: src/strip.c:1606
+#: src/strip.c:1860
#, c-format
msgid "while creating '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Â«%s»"
-#: src/strip.c:1628
+#: src/strip.c:1882
#, c-format
msgid "while computing checksum for debug information"
msgstr "під Ñ‡Ð°Ñ Ð¾Ð±Ñ‡Ð¸ÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми Ð´Ð»Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтичних даних"
-#: src/strip.c:1691
+#: src/strip.c:1945
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
-#: src/strip.c:1730 src/strip.c:1750
+#: src/strip.c:1984 src/strip.c:2004
#, c-format
msgid "while writing '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби запиÑу «%s»"
-#: src/strip.c:1784 src/strip.c:1791
+#: src/strip.c:2038 src/strip.c:2045
#, c-format
msgid "error while finishing '%s': %s"
msgstr "помилка під Ñ‡Ð°Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Â«%s»: %s"
-#: src/strip.c:1814 src/strip.c:1871
+#: src/strip.c:2068 src/strip.c:2125
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "не вдалоÑÑ Ð²Ñтановити права доÑтупу та дату зміни «%s»"
@@ -6412,5 +6567,16 @@ msgstr ""
"окремого файла діагноÑтичних даних або «-», Ñкщо файла діагноÑтичних даних "
"не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸, Ñ– «.», Ñкщо ФÐЙЛ Ñам міÑтить діагноÑтичні дані."
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "Symbols from %s[%s]:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Символи з %s[%s]:\n"
+#~ "\n"
+
#~ msgid "%s %s differ: section header"
#~ msgstr "%s %s diff: заголовок розділу"
diff --git a/elfutils/src/ChangeLog b/elfutils/src/ChangeLog
index d3d45b09..ff19b484 100644
--- a/elfutils/src/ChangeLog
+++ b/elfutils/src/ChangeLog
@@ -1,3 +1,233 @@
+2012-01-31 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (attr_callback): Don't special case DW_FORM_sec_offset.
+
+2012-01-21 Ulrich Drepper <drepper@gmail.com>
+
+ * addr2line.c: Update copyright year.
+ * ar.c: Likewise.
+ * elfcmp.c: Likewise.
+ * elflint.c: Likewise.
+ * findtextrel.c: Likewise.
+ * ld.c: Likewise.
+ * nm.c: Likewise.
+ * objdump.c: Likewise.
+ * ranlib.c: Likewise.
+ * readelf.c: Likewise.
+ * size.c: Likewise.
+ * strings.c: Likewise.
+ * strip.c: Likewise.
+ * unstrip.c: Likewise.
+
+ * nm.c (argp_children): Define.
+ (argp): Hook up argp_children.
+ (handle_ar): Optimize puts call.
+ (show_symbols_bsd): Use positional parameters to also print color
+ codes. Don't print STT_FILE symbols.
+ * objdump.c (options): Improve help text.
+ (argp_children): Define.
+ (argp): Hook up argp_children.
+ (disasm_info): Add elements for color codes.
+ (disasm_output): Print color codes as well.
+ (show_disasm): Set up disasm_info data for callback.
+
+2012-01-20 Roland McGrath <roland@hack.frob.com>
+
+ * arlib-argp.c (arlib_deterministic_output): Initialize from
+ configured value.
+ (help_filter): New function.
+ (argp): Use it.
+
+ * ar.c (main): Handle oper_none as usage error.
+
+ * arlib-argp.c (options, parse_opt): Grok -U as inverse of -D.
+
+ * ranlib.c (argp): Use arlib_argp_children.
+
+ * arlib.c (arlib_init): Obey arlib_deterministic_output.
+
+ * arlib-argp.c: New file.
+ * Makefile.am (libar_a_SOURCES): Add it.
+ * arlib.h (arlib_deterministic_output, arlib_argp_children):
+ Declare new variables.
+ * ar.c (deterministic_output): Variable removed.
+ (do_oper_insert): Use arlib_deterministic_output instead.
+ (options, parse_opt): Don't handle -D here. Add group numbers.
+ (argp): Use arlib_argp_children.
+
+2011-12-20 Roland McGrath <roland@hack.frob.com>
+
+ * readelf.c (print_debug): Initialize DUMMY_DBG.elf.
+ Reported by Karel Klic <kklic@redhat.com>.
+
+2011-11-05 Roland McGrath <roland@hack.frob.com>
+
+ * ar.c (deterministic_output): New flag variable.
+ (options, parse_opt): Grok -D to set it.
+ (do_oper_insert): When set, use zero from mtime, uid, and gid.
+
+ * ar.c (do_oper_insert): Fix check on elf_rawfile return value.
+
+2011-10-04 Marek Polacek <mpolacek@redhat.com>
+
+ * readelf.c (register_info): Assume the right size of an array.
+
+2011-10-03 Ulrich Drepper <drepper@gmail.com>
+
+ * nm.c: Recognize option --mark-special. Still recognize --mark-weak
+ but don't show it in help anymore.
+ (mark_special): Renamed from mark_weak.
+ (parse_opt): Adjust.
+ (class_type_char): Take additional parameters for ELF file and ELF
+ header. Treat TLS symbols like objects.
+ In case of D symbols, show u for unique symbols, R for symbols in
+ read-only sections, B for symbols in BSS sections.
+ (show_symbols_bsd): Take additional parameters for ELF file and ELF
+ header. Adjust for class_type_char change. Show TLS symbols with
+ @ after them in case --mark-special is selected.
+ (show_symbols_posix): Likewise.
+ (show_symbols): Adjust calls to show_symbols_bsd and
+ show_symbols_posix.
+ (show_symbols_sysv): Avoid printing adress and size for undefined
+ symbols. Don't print initial special entry and section entries.
+
+2011-10-02 Ulrich Drepper <drepper@gmail.com>
+
+ * Makefile.am (demanglelib): Define.
+ (nm_LDADD): Add demanglelib.
+ * nm.c (options): Add -C option.
+ (demangle): Define as global variable.
+ (parse_opt): Recognize -C.
+ (show_symbols_sysv): Handle demangling.
+ (show_symbols_bad): Likewise.
+ (show_symbols_posix): Likewise.
+ (show_symbols): Likewise.
+
+2011-07-09 Roland McGrath <roland@hack.frob.com>
+
+ * readelf.c (options, parse_opt): Grok -W/--wide and ignore it.
+
+ * ar.c (parse_opt): Grok -u.
+
+2011-05-30 Mark Wielaard <mjw@redhat.com>
+
+ * strip.c (relocate): Make offset check overflow-proof.
+
+2011-05-23 Mark Wielaard <mjw@redhat.com>
+
+ * strip.c (relocate): Take new arguments is_rela to indicate
+ whether the relocation is from a SHT_REL or SHT_RELA section.
+ Relocate against any debug section symbol, not just STT_SECTION
+ symbols. For SHT_REL relocations, fetch addend from offset and
+ add it to symbol value if not zero.
+
+2011-05-23 Mark Wielaard <mjw@redhat.com>
+
+ * strip.c (OPT_RELOC_DEBUG): New option.
+ (argp_option): Add new --reloc-debug-sections option.
+ (main): Check new option.
+ (parse_opt): Likewise.
+ (handle_elf): Remove any relocations between debug sections
+ in ET_REL for the debug file when requested.
+
+2011-05-18 Mark Wielaard <mjw@redhat.com>
+
+ * strip.c (handle_elf): Make sure all sections of a removed group
+ section are removed too. Don't discard SHT_GROUP sections, copy
+ section table before it gets modified. Section group signature
+ symbols don't have to be retained.
+
+2011-05-16 Jakub Jelinek <jakub@redhat.com>
+
+ * readelf.c (print_ops): Handle DW_OP_GNU_const_type,
+ DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert
+ and DW_OP_GNU_reinterpret.
+
+2011-05-17 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (dwarf_tag_string): Fixup DW_TAG_GNU_call_site and
+ DW_TAG_GNU_call_site_parameter return strings.
+
+2011-05-11 Marek Polacek <mpolacek@redhat.com>
+
+ * nm.c (show_symbols_sysv): Remove unused if/else, remove
+ unused `prefix' and `fname' parameters.
+
+2011-05-07 Marek Polacek <mpolacek@redhat.com>
+
+ * unstrip.c (compare_sections_nonrel): Mark this function as static.
+
+2011-04-26 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (handle_notes_data): Call ebl_object_note_type_name
+ with note name.
+
+2011-04-14 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (options): Add gdb_index.
+ (section_e): Define section_gdb_index.
+ (parse_opt): Recognize gdb_index debug-dump argument.
+ (print_gdb_index_section): New function.
+ (print_debug): Add gdb_index to debug_sections.
+
+2011-03-24 Petr Machata <pmachata@redhat.com>
+
+ * readelf.c (print_debug_line_section): Emit initial space for all
+ opcode lines. Print offset in front of each opcode.
+
+2011-03-22 Marek Polacek <mpolacek@redhat.com>
+
+ * readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case.
+
+2011-03-22 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (dwarf_tag_string): Support DW_TAG_GNU_call_site
+ and DW_TAG_GNU_call_site_parameter.
+ (dwarf_attr_string): Support DW_AT_GNU_call_site_value,
+ DW_AT_GNU_call_site_data_value,
+ DW_AT_GNU_call_site_target,
+ DW_AT_GNU_call_site_target_clobbered,
+ DW_AT_GNU_tail_call,
+ DW_AT_GNU_all_tail_call_sites,
+ DW_AT_GNU_all_call_sites,
+ and DW_AT_GNU_all_source_call_sites.
+ (print_ops): Handle DW_OP_GNU_entry_value.
+ (attr_callback): Handle DW_AT_GNU_call_site_value,
+ DW_AT_GNU_call_site_data_value,
+ DW_AT_GNU_call_site_target,
+ and DW_AT_GNU_call_site_target_clobbered.
+
+2011-03-10 Mark Wielaard <mjw@redhat.com>
+
+ * elflint.c (check_symtab): Use ebl_check_st_other_bits.
+
+2011-02-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * readelf.c (reset_listptr): Clear TABLE->TABLE.
+
+2011-02-25 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling.
+ (dwarf_form_string): Properly format and return unknown form.
+
+2011-02-23 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (section_name): New function.
+ (print_debug_abbrev_section): Use it instead of constant.
+ (print_debug_aranges_section): Likewise.
+ (print_debug_ranges_section): Likewise.
+ (print_debug_units): Likewise.
+ (print_debug_line_section): Likewise.
+ (print_debug_loc_section): Likewise.
+ (print_debug_macinfo_section): Likewise.
+ (print_debug_pubnames_section): Likewise.
+ (print_debug_str_section): Likewise.
+ (print_debug) [USE_ZLIB]: Match .zdebug_* sections too.
+ (print_debug_abbrev_section): Use decoded d_size, not sh_size.
+ (print_debug_str_section): Likewise.
+
+ * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
+
2011-02-11 Roland McGrath <roland@redhat.com>
* elfcmp.c (verbose): New variable.
diff --git a/elfutils/src/Makefile.am b/elfutils/src/Makefile.am
index afd3bd3a..dc835cbd 100644
--- a/elfutils/src/Makefile.am
+++ b/elfutils/src/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 1996-2010 Red Hat, Inc.
+## Copyright (C) 1996-2012 Red Hat, Inc.
## This file is part of Red Hat elfutils.
##
## Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -67,7 +67,7 @@ endif
ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
versionhash.c
-libar_a_SOURCES = arlib.c arlib2.c
+libar_a_SOURCES = arlib.c arlib2.c arlib-argp.c
noinst_HEADERS = ld.h symbolhash.h sectionhash.h versionhash.h \
ldscript.h xelf.h unaligned.h
@@ -92,6 +92,10 @@ endif
libebl = ../libebl/libebl.a
libeu = ../lib/libeu.a
+if DEMANGLE
+demanglelib = -lstdc++
+endif
+
nm_no_Wformat = yes
size_no_Wformat = yes
strings_no_Wformat = yes
@@ -100,7 +104,8 @@ addr2line_no_Wformat = yes
ldgeneric_no_Wunused = yes
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
size_LDADD = $(libelf) $(libeu) $(libmudflap)
strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
@@ -154,8 +159,8 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS)
for opt in --help --version; do \
if LD_LIBRARY_PATH=$(DESTDIR)$(libdir) \
$(DESTDIR)$(bindir)/$$f $$opt > c$${pid}_.out 2> c$${pid}_.err \
- && test -n "`cat c$${pid}_.out`" \
- && test -z "`cat c$${pid}_.err`"; then :; \
+ && test -n "`cat c$${pid}_.out`" \
+ && test -z "`cat c$${pid}_.err`"; then :; \
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \
done; rm -f c$${pid}_.???; exit $$bad
@@ -171,6 +176,6 @@ make-debug-archive: $(srcdir)/make-debug-archive.in
sed -e "s,@UNSTRIP@,$$UNSTRIP,g" -e "s,@AR@,$$AR,g" \
-e "s%[@]PACKAGE_NAME[@]%$(PACKAGE_NAME)%g" \
-e "s%[@]PACKAGE_VERSION[@]%$(PACKAGE_VERSION)%g" \
- $(srcdir)/make-debug-archive.in > $@.new
+ $(srcdir)/make-debug-archive.in > $@.new
chmod +x $@.new
mv -f $@.new $@
diff --git a/elfutils/src/Makefile.in b/elfutils/src/Makefile.in
index 78029640..bccaaf95 100644
--- a/elfutils/src/Makefile.in
+++ b/elfutils/src/Makefile.in
@@ -69,7 +69,8 @@ AR = ar
ARFLAGS = cru
libar_a_AR = $(AR) $(ARFLAGS)
libar_a_LIBADD =
-am_libar_a_OBJECTS = arlib.$(OBJEXT) arlib2.$(OBJEXT)
+am_libar_a_OBJECTS = arlib.$(OBJEXT) arlib2.$(OBJEXT) \
+ arlib-argp.$(OBJEXT)
libar_a_OBJECTS = $(am_libar_a_OBJECTS)
libdummy_a_AR = $(AR) $(ARFLAGS)
libdummy_a_LIBADD =
@@ -123,7 +124,7 @@ libld_elf_i386_so_LDADD = $(LDADD)
nm_SOURCES = nm.c
nm_OBJECTS = nm.$(OBJEXT)
nm_DEPENDENCIES = $(am__DEPENDENCIES_2) $(libebl) $(libelf) $(libeu) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
objdump_SOURCES = objdump.c
objdump_OBJECTS = objdump.$(OBJEXT)
objdump_DEPENDENCIES = $(libasm) $(libebl) $(libelf) $(libeu) \
@@ -346,7 +347,7 @@ ld_dsos = libld_elf_i386_pic.a
ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
versionhash.c
-libar_a_SOURCES = arlib.c arlib2.c
+libar_a_SOURCES = arlib.c arlib2.c arlib-argp.c
noinst_HEADERS = ld.h symbolhash.h sectionhash.h versionhash.h \
ldscript.h xelf.h unaligned.h
@@ -362,6 +363,7 @@ bin_SCRIPTS = make-debug-archive
@BUILD_STATIC_TRUE@libelf = ../libelf/libelf.a
libebl = ../libebl/libebl.a
libeu = ../lib/libeu.a
+@DEMANGLE_TRUE@demanglelib = -lstdc++
nm_no_Wformat = yes
size_no_Wformat = yes
strings_no_Wformat = yes
@@ -369,7 +371,9 @@ addr2line_no_Wformat = yes
# XXX While the file is not finished, don't warn about this
ldgeneric_no_Wunused = yes
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
+
size_LDADD = $(libelf) $(libeu) $(libmudflap)
strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
@@ -589,6 +593,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/$(base_cpu)_ld.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addr2line.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arlib-argp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arlib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arlib2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfcmp.Po@am__quote@
@@ -869,8 +874,8 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS)
for opt in --help --version; do \
if LD_LIBRARY_PATH=$(DESTDIR)$(libdir) \
$(DESTDIR)$(bindir)/$$f $$opt > c$${pid}_.out 2> c$${pid}_.err \
- && test -n "`cat c$${pid}_.out`" \
- && test -z "`cat c$${pid}_.err`"; then :; \
+ && test -n "`cat c$${pid}_.out`" \
+ && test -z "`cat c$${pid}_.err`"; then :; \
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \
done; rm -f c$${pid}_.???; exit $$bad
@@ -881,7 +886,7 @@ make-debug-archive: $(srcdir)/make-debug-archive.in
sed -e "s,@UNSTRIP@,$$UNSTRIP,g" -e "s,@AR@,$$AR,g" \
-e "s%[@]PACKAGE_NAME[@]%$(PACKAGE_NAME)%g" \
-e "s%[@]PACKAGE_VERSION[@]%$(PACKAGE_VERSION)%g" \
- $(srcdir)/make-debug-archive.in > $@.new
+ $(srcdir)/make-debug-archive.in > $@.new
chmod +x $@.new
mv -f $@.new $@
diff --git a/elfutils/src/addr2line.c b/elfutils/src/addr2line.c
index 2a3efb74..2fcc1b10 100644
--- a/elfutils/src/addr2line.c
+++ b/elfutils/src/addr2line.c
@@ -1,5 +1,5 @@
/* Locate source files and line information for given addresses
- Copyright (C) 2005-2010 Red Hat, Inc.
+ Copyright (C) 2005-2010, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -190,7 +190,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/ar.c b/elfutils/src/ar.c
index 149d116d..721f4c34 100644
--- a/elfutils/src/ar.c
+++ b/elfutils/src/ar.c
@@ -1,5 +1,5 @@
/* Create, modify, and extract from archives.
- Copyright (C) 2005-2010 Red Hat, Inc.
+ Copyright (C) 2005-2012 Red Hat, Inc.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -73,7 +73,7 @@ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
- { NULL, 0, NULL, 0, N_("Commands:"), 0 },
+ { NULL, 0, NULL, 0, N_("Commands:"), 1 },
{ NULL, 'd', NULL, 0, N_("Delete files from archive."), 0 },
{ NULL, 'm', NULL, 0, N_("Move files in archive."), 0 },
{ NULL, 'p', NULL, 0, N_("Print files in archive."), 0 },
@@ -83,7 +83,7 @@ static const struct argp_option options[] =
{ NULL, 't', NULL, 0, N_("Display content of archive."), 0 },
{ NULL, 'x', NULL, 0, N_("Extract files from archive."), 0 },
- { NULL, 0, NULL, 0, N_("Command Modifiers:"), 0 },
+ { NULL, 0, NULL, 0, N_("Command Modifiers:"), 2 },
{ NULL, 'o', NULL, 0, N_("Preserve original dates."), 0 },
{ NULL, 'N', NULL, 0, N_("Use instance [COUNT] of name."), 0 },
{ NULL, 'C', NULL, 0,
@@ -115,7 +115,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc, NULL, NULL, NULL
+ options, parse_opt, args_doc, doc, arlib_argp_children, NULL, NULL
};
@@ -252,6 +252,13 @@ MEMBER parameter required for 'a', 'b', and 'i' modifiers"));
int status;
switch (operation)
{
+ case oper_none:
+ error (0, 0, gettext ("command option required"));
+ argp_help (&argp, stderr, ARGP_HELP_STD_ERR,
+ program_invocation_short_name);
+ status = 1;
+ break;
+
case oper_list:
case oper_print:
status = do_oper_extract (operation, arfname, argv, argc, -1);
@@ -290,7 +297,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -380,6 +387,10 @@ parse_opt (int key, char *arg __attribute__ ((unused)),
allow_truncate_fname = true;
break;
+ case 'u':
+ update_newer = true;
+ break;
+
case 'v':
verbose = true;
break;
@@ -1291,14 +1302,15 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
found[cnt]->old_off == -1l ? 'a' : 'r', argv[cnt]);
found[cnt]->elf = newelf;
- found[cnt]->sec = newst.st_mtime;
- found[cnt]->uid = newst.st_uid;
- found[cnt]->gid = newst.st_gid;
+ found[cnt]->sec = arlib_deterministic_output ? 0 : newst.st_mtime;
+ found[cnt]->uid = arlib_deterministic_output ? 0 : newst.st_uid;
+ found[cnt]->gid = arlib_deterministic_output ? 0 : newst.st_gid;
found[cnt]->mode = newst.st_mode;
found[cnt]->name = bname;
found[cnt]->mem = elf_rawfile (newelf, &found[cnt]->size);
- if (found[cnt] == NULL || elf_cntl (newelf, ELF_C_FDDONE) != 0)
+ if (found[cnt]->mem == NULL
+ || elf_cntl (newelf, ELF_C_FDDONE) != 0)
error (EXIT_FAILURE, 0, gettext ("cannot read %s: %s"),
argv[cnt], elf_errmsg (-1));
diff --git a/elfutils/src/arlib-argp.c b/elfutils/src/arlib-argp.c
new file mode 100644
index 00000000..a0e669cf
--- /dev/null
+++ b/elfutils/src/arlib-argp.c
@@ -0,0 +1,101 @@
+/* Options common to ar and ranlib.
+ Copyright (C) 2012 Red Hat, Inc.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <argp.h>
+#include <libintl.h>
+
+#include "arlib.h"
+
+bool arlib_deterministic_output = DEFAULT_AR_DETERMINISTIC;
+
+static const struct argp_option options[] =
+ {
+ { NULL, 'D', NULL, 0,
+ N_("Use zero for uid, gid, and date in archive members."), 0 },
+ { NULL, 'U', NULL, 0,
+ N_("Use actual uid, gid, and date in archive members."), 0 },
+
+ { NULL, 0, NULL, 0, NULL, 0 }
+ };
+
+static error_t
+parse_opt (int key, char *arg __attribute__ ((unused)),
+ struct argp_state *state __attribute__ ((unused)))
+{
+ switch (key)
+ {
+ case 'D':
+ arlib_deterministic_output = true;
+ break;
+
+ case 'U':
+ arlib_deterministic_output = false;
+ break;
+
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+ return 0;
+}
+
+static char *
+help_filter (int key, const char *text, void *input __attribute__ ((unused)))
+{
+ inline char *text_for_default (void)
+ {
+ char *new_text;
+ if (unlikely (asprintf (&new_text, gettext ("%s (default)"), text) < 0))
+ return (char *) text;
+ return new_text;
+ }
+
+ switch (key)
+ {
+ case 'D':
+ if (DEFAULT_AR_DETERMINISTIC)
+ return text_for_default ();
+ break;
+ case 'U':
+ if (! DEFAULT_AR_DETERMINISTIC)
+ return text_for_default ();
+ break;
+ }
+
+ return (char *) text;
+}
+
+static const struct argp argp =
+ {
+ options, parse_opt, NULL, NULL, NULL, help_filter, NULL
+ };
+
+const struct argp_child arlib_argp_children[] =
+ {
+ { &argp, 0, "", 2 },
+ { NULL, 0, NULL, 0 }
+ };
diff --git a/elfutils/src/arlib.c b/elfutils/src/arlib.c
index af98454c..bcf9344b 100644
--- a/elfutils/src/arlib.c
+++ b/elfutils/src/arlib.c
@@ -1,5 +1,5 @@
/* Functions to handle creation of Linux archives.
- Copyright (C) 2007 Red Hat, Inc.
+ Copyright (C) 2007-2012 Red Hat, Inc.
Written by Ulrich Drepper <drepper@redhat.com>, 2007.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -61,7 +61,7 @@ arlib_init (void)
/* Using snprintf here has a problem: the call always wants to add a
NUL byte. We could use a trick whereby we specify the target
buffer size longer than it is and this would not actually fail,
- since all the fields are consecutive and we fill them in in
+ since all the fields are consecutive and we fill them in
sequence (i.e., the NUL byte gets overwritten). But
_FORTIFY_SOURCE=2 would not let us play these games. Therefore
we play it safe. */
@@ -69,7 +69,8 @@ arlib_init (void)
memcpy (ar_hdr.ar_date, tmpbuf,
snprintf (tmpbuf, sizeof (tmpbuf), "%-*lld",
(int) sizeof (ar_hdr.ar_date),
- (long long int) time (NULL)));
+ (arlib_deterministic_output ? 0
+ : (long long int) time (NULL))));
assert ((sizeof (struct ar_hdr) % sizeof (uint32_t)) == 0);
/* Note the string for the ar_uid and ar_gid cases is longer than
diff --git a/elfutils/src/arlib.h b/elfutils/src/arlib.h
index fd26d248..ea77b23e 100644
--- a/elfutils/src/arlib.h
+++ b/elfutils/src/arlib.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007 Red Hat, Inc.
+/* Copyright (C) 2007-2012 Red Hat, Inc.
Written by Ulrich Drepper <drepper@redhat.com>, 2007.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -26,15 +26,24 @@
#define _ARLIB_H 1
#include <ar.h>
+#include <argp.h>
#include <byteswap.h>
#include <endian.h>
#include <libelf.h>
#include <obstack.h>
+#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
+/* State of -D/-U flags. */
+extern bool arlib_deterministic_output;
+
+/* For options common to ar and ranlib. */
+extern const struct argp_child arlib_argp_children[];
+
+
/* Maximum length of a file name that fits directly into the ar header.
We cannot use the final byte since a / goes there. */
#define MAX_AR_NAME_LEN (sizeof (((struct ar_hdr *) NULL)->ar_name) - 1)
diff --git a/elfutils/src/elf32-i386.script b/elfutils/src/elf32-i386.script
index a6cfffa1..2083278f 100644
--- a/elfutils/src/elf32-i386.script
+++ b/elfutils/src/elf32-i386.script
@@ -120,7 +120,7 @@ SEGMENT [RW]
is in. */
KEEP (*crtbegin.o(.ctors))
/* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
+ the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
diff --git a/elfutils/src/elfcmp.c b/elfutils/src/elfcmp.c
index b589dda8..99296d19 100644
--- a/elfutils/src/elfcmp.c
+++ b/elfutils/src/elfcmp.c
@@ -1,5 +1,5 @@
/* Compare relevant content of two ELF files.
- Copyright (C) 2005-2011 Red Hat, Inc.
+ Copyright (C) 2005-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -158,10 +158,10 @@ main (int argc, char *argv[])
/* Comparing the files is done in two phases:
1. compare all sections. Sections which are irrelevant (i.e., if
- strip would remove them) are ignored. Some section types are
+ strip would remove them) are ignored. Some section types are
handled special.
2. all parts of the loadable segments which are not parts of any
- section is compared according to the rules of the --gaps option.
+ section is compared according to the rules of the --gaps option.
*/
int result = 0;
elf_version (EV_CURRENT);
@@ -671,7 +671,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/elflint.c b/elfutils/src/elflint.c
index c1227355..abca8b75 100644
--- a/elfutils/src/elflint.c
+++ b/elfutils/src/elflint.c
@@ -1,5 +1,5 @@
/* Pedantic checking of ELF files compliance with gABI/psABI spec.
- Copyright (C) 2001-2011 Red Hat, Inc.
+ Copyright (C) 2001-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -240,7 +240,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -1011,7 +1011,7 @@ section [%2d] '%s': _DYNAMIC symbol size %" PRIu64 " does not match dynamic segm
ERROR (gettext ("\
section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-default visibility\n"),
idx, section_name (ebl, idx), cnt);
- if ((sym->st_other ^ GELF_ST_VISIBILITY (sym->st_other)) != 0)
+ if (! ebl_check_st_other_bits (ebl, sym->st_other))
ERROR (gettext ("\
section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"),
idx, section_name (ebl, idx), cnt);
diff --git a/elfutils/src/findtextrel.c b/elfutils/src/findtextrel.c
index 986c406e..444f3a2b 100644
--- a/elfutils/src/findtextrel.c
+++ b/elfutils/src/findtextrel.c
@@ -1,5 +1,5 @@
/* Locate source files or functions which caused text relocations.
- Copyright (C) 2005-2010 Red Hat, Inc.
+ Copyright (C) 2005-2010, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -171,7 +171,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/ld.c b/elfutils/src/ld.c
index 932496e1..6384e86a 100644
--- a/elfutils/src/ld.c
+++ b/elfutils/src/ld.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2010 Red Hat, Inc.
+/* Copyright (C) 2001-2010, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -411,8 +411,8 @@ main (int argc, char *argv[])
load_needed ();
/* At this point all object files and DSOs are read. If there
- are still undefined symbols left they might have to be
- synthesized from the linker script. */
+ are still undefined symbols left they might have to be
+ synthesized from the linker script. */
create_lscript_symbols ();
/* Now that we have loaded all the object files we can determine
@@ -958,7 +958,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -1465,7 +1465,7 @@ static void
create_lscript_symbols (void)
{
/* Walk through the data from the linker script and generate all the
- symbols which are required to be present and and those marked
+ symbols which are required to be present and those marked
with PROVIDE if there is a undefined reference. */
if (ld_state.output_segments == NULL)
return;
@@ -1478,7 +1478,7 @@ create_lscript_symbols (void)
for (orule = segment->output_rules; orule != NULL; orule = orule->next)
if (orule->tag == output_assignment
/* The assignments to "." (i.e., the PC) have to be
- ignored here. */
+ ignored here. */
&& strcmp (orule->val.assignment->variable, ".") != 0)
{
struct symbol *s = ld_state.unresolved;
@@ -1519,7 +1519,7 @@ duplicate definition of '%s' in linker script"),
}
/* If the symbol only has to be provided if it is needed,
- ignore it here since it is not undefined. */
+ ignore it here since it is not undefined. */
if (orule->val.assignment->provide_flag)
continue;
diff --git a/elfutils/src/ldgeneric.c b/elfutils/src/ldgeneric.c
index d51b54fe..98bdc225 100644
--- a/elfutils/src/ldgeneric.c
+++ b/elfutils/src/ldgeneric.c
@@ -5854,9 +5854,8 @@ section index too large in dynamic symbol table"));
- the symbol is for a file
- it is not externally visible (internal, hidden)
- - if export_all_dynamic is not set and is only defined in
- the executable (i.e., it is defined, but not (also) in
- in DSO)
+ - export_all_dynamic is not set and the symbol is only defined
+ in the executable (i.e., it is defined, but not (also) in DSO)
Set symstrent[cnt] to NULL in case an entry is ignored. */
if (XELF_ST_TYPE (sym->st_info) == STT_FILE
diff --git a/elfutils/src/ldscript.c b/elfutils/src/ldscript.c
index e9703b63..05a393bb 100644
--- a/elfutils/src/ldscript.c
+++ b/elfutils/src/ldscript.c
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2011 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
@@ -45,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.3"
+#define YYBISON_VERSION "2.5"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -74,7 +73,7 @@
/* Copy the first part of user declarations. */
-/* Line 189 of yacc.c */
+/* Line 268 of yacc.c */
#line 1 "ldscript.y"
/* Parser for linker scripts.
@@ -146,8 +145,8 @@ static void add_versions (struct version *versions);
extern int yylex (void);
-/* Line 189 of yacc.c */
-#line 151 "ldscript.c"
+/* Line 268 of yacc.c */
+#line 150 "ldscript.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -239,7 +238,7 @@ extern int yylex (void);
typedef union YYSTYPE
{
-/* Line 214 of yacc.c */
+/* Line 293 of yacc.c */
#line 71 "ldscript.y"
uintmax_t num;
@@ -257,8 +256,8 @@ typedef union YYSTYPE
-/* Line 214 of yacc.c */
-#line 262 "ldscript.c"
+/* Line 293 of yacc.c */
+#line 261 "ldscript.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -269,8 +268,8 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
-/* Line 264 of yacc.c */
-#line 274 "ldscript.c"
+/* Line 343 of yacc.c */
+#line 273 "ldscript.c"
#ifdef short
# undef short
@@ -373,11 +372,11 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# endif
@@ -400,24 +399,24 @@ YYID (yyi)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@@ -446,23 +445,7 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
+# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
@@ -482,6 +465,26 @@ union yyalloc
#endif
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (YYID (0))
+# endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 32
/* YYLAST -- Last index in YYTABLE. */
@@ -650,8 +653,8 @@ static const yytype_uint8 yyr2[] =
2, 3, 2, 1, 1, 1, 1
};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
@@ -714,8 +717,7 @@ static const yytype_int16 yypgoto[] =
/* 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. */
+ number is the opposite. If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
@@ -744,6 +746,12 @@ static const yytype_uint8 yytable[] =
0, 0, 0, 0, 81, 0, 78
};
+#define yypact_value_is_default(yystate) \
+ ((yystate) == (-86))
+
+#define yytable_value_is_error(yytable_value) \
+ YYID (0)
+
static const yytype_int16 yycheck[] =
{
11, 17, 18, 3, 15, 90, 17, 18, 19, 20,
@@ -826,7 +834,6 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@@ -868,19 +875,10 @@ while (YYID (0))
#endif
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
+/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
@@ -1072,7 +1070,6 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
-
#if YYERROR_VERBOSE
@@ -1175,115 +1172,142 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = 0;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - Assume YYFAIL is not used. It's too flawed to consider. See
+ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+ for details. YYERROR is fine as it does not invoke this
+ function.
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
{
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
+ yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
}
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
}
#endif /* YYERROR_VERBOSE */
-
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -1316,6 +1340,7 @@ yydestruct (yymsg, yytype, yyvaluep)
}
}
+
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
@@ -1342,10 +1367,9 @@ YYSTYPE yylval;
int yynerrs;
-
-/*-------------------------.
-| yyparse or yypush_parse. |
-`-------------------------*/
+/*----------.
+| yyparse. |
+`----------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1369,8 +1393,6 @@ yyparse ()
#endif
#endif
{
-
-
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -1525,7 +1547,7 @@ yybackup:
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
+ if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
@@ -1556,8 +1578,8 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
@@ -1612,14 +1634,14 @@ yyreduce:
{
case 3:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 145 "ldscript.y"
{ add_versions ((yyvsp[(2) - (2)].version)); }
break;
case 6:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 153 "ldscript.y"
{
if (likely (ld_state.entry == NULL))
@@ -1629,7 +1651,7 @@ yyreduce:
case 7:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 158 "ldscript.y"
{
ld_new_searchdir ((yyvsp[(3) - (5)].str));
@@ -1638,7 +1660,7 @@ yyreduce:
case 8:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 162 "ldscript.y"
{
if (likely (ld_state.pagesize == 0))
@@ -1648,7 +1670,7 @@ yyreduce:
case 9:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 167 "ldscript.y"
{
if (likely (ld_state.interp == NULL)
@@ -1659,7 +1681,7 @@ yyreduce:
case 10:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 173 "ldscript.y"
{
new_segment ((yyvsp[(2) - (5)].num), (yyvsp[(4) - (5)].output_rule));
@@ -1668,7 +1690,7 @@ yyreduce:
case 11:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 177 "ldscript.y"
{
fputs_unlocked (gettext ("mode for segment invalid\n"),
@@ -1679,7 +1701,7 @@ yyreduce:
case 12:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 183 "ldscript.y"
{
/* First little optimization. If there is only one
@@ -1695,35 +1717,35 @@ yyreduce:
case 13:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 194 "ldscript.y"
{ add_inputfiles ((yyvsp[(3) - (4)].filename_list)); }
break;
case 14:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 196 "ldscript.y"
{ add_inputfiles (mark_as_needed ((yyvsp[(3) - (4)].filename_list))); }
break;
case 15:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 198 "ldscript.y"
{ add_versions ((yyvsp[(3) - (4)].version)); }
break;
case 16:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 200 "ldscript.y"
{ /* XXX TODO */ }
break;
case 17:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 204 "ldscript.y"
{
(yyvsp[(2) - (2)].output_rule)->next = (yyvsp[(1) - (2)].output_rule)->next;
@@ -1733,14 +1755,14 @@ yyreduce:
case 18:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 209 "ldscript.y"
{ (yyval.output_rule) = (yyvsp[(1) - (1)].output_rule); }
break;
case 19:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 213 "ldscript.y"
{
(yyval.output_rule) = new_output_rule (output_assignment);
@@ -1750,7 +1772,7 @@ yyreduce:
case 20:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 218 "ldscript.y"
{
(yyval.output_rule) = new_output_rule (output_section);
@@ -1767,7 +1789,7 @@ yyreduce:
case 21:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 230 "ldscript.y"
{
/* This is a short cut for "ID { *(ID) }". */
@@ -1794,21 +1816,21 @@ yyreduce:
case 22:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 254 "ldscript.y"
{ (yyval.assignment) = new_assignment ((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr), false); }
break;
case 23:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 256 "ldscript.y"
{ (yyval.assignment) = new_assignment ((yyvsp[(3) - (6)].str), (yyvsp[(5) - (6)].expr), true); }
break;
case 24:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 260 "ldscript.y"
{
(yyvsp[(2) - (2)].input_rule)->next = (yyvsp[(1) - (2)].input_rule)->next;
@@ -1818,14 +1840,14 @@ yyreduce:
case 25:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 265 "ldscript.y"
{ (yyval.input_rule) = (yyvsp[(1) - (1)].input_rule); }
break;
case 26:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 269 "ldscript.y"
{
(yyval.input_rule) = new_input_rule (input_section);
@@ -1835,7 +1857,7 @@ yyreduce:
case 27:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 274 "ldscript.y"
{
(yyvsp[(3) - (4)].filemask_section_name)->keep_flag = true;
@@ -1847,7 +1869,7 @@ yyreduce:
case 28:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 281 "ldscript.y"
{
(yyval.input_rule) = new_input_rule (input_assignment);
@@ -1857,7 +1879,7 @@ yyreduce:
case 29:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 288 "ldscript.y"
{
(yyval.filemask_section_name) = (struct filemask_section_name *)
@@ -1871,35 +1893,35 @@ yyreduce:
case 30:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 299 "ldscript.y"
{ (yyval.sectionname) = new_input_section_name ((yyvsp[(1) - (1)].str), false); }
break;
case 31:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 301 "ldscript.y"
{ (yyval.sectionname) = new_input_section_name ((yyvsp[(3) - (4)].str), true); }
break;
case 32:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 305 "ldscript.y"
{ (yyval.str) = (yyvsp[(3) - (4)].str); }
break;
case 33:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 307 "ldscript.y"
{ (yyval.str) = NULL; }
break;
case 34:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 311 "ldscript.y"
{
(yyval.expr) = new_expr (exp_align);
@@ -1909,14 +1931,14 @@ yyreduce:
case 35:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 316 "ldscript.y"
{ (yyval.expr) = (yyvsp[(2) - (3)].expr); }
break;
case 36:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 318 "ldscript.y"
{
(yyval.expr) = new_expr (exp_mult);
@@ -1927,7 +1949,7 @@ yyreduce:
case 37:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 324 "ldscript.y"
{
(yyval.expr) = new_expr ((yyvsp[(2) - (3)].op));
@@ -1938,7 +1960,7 @@ yyreduce:
case 38:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 330 "ldscript.y"
{
(yyval.expr) = new_expr ((yyvsp[(2) - (3)].op));
@@ -1949,7 +1971,7 @@ yyreduce:
case 39:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 336 "ldscript.y"
{
(yyval.expr) = new_expr (exp_and);
@@ -1960,7 +1982,7 @@ yyreduce:
case 40:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 342 "ldscript.y"
{
(yyval.expr) = new_expr (exp_or);
@@ -1971,7 +1993,7 @@ yyreduce:
case 41:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 348 "ldscript.y"
{
(yyval.expr) = new_expr (exp_num);
@@ -1981,7 +2003,7 @@ yyreduce:
case 42:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 353 "ldscript.y"
{
(yyval.expr) = new_expr (exp_id);
@@ -1991,21 +2013,21 @@ yyreduce:
case 43:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 358 "ldscript.y"
{ (yyval.expr) = new_expr (exp_sizeof_headers); }
break;
case 44:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 360 "ldscript.y"
{ (yyval.expr) = new_expr (exp_pagesize); }
break;
case 45:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 364 "ldscript.y"
{
(yyvsp[(3) - (3)].filename_list)->next = (yyvsp[(1) - (3)].filename_list)->next;
@@ -2015,14 +2037,14 @@ yyreduce:
case 46:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 369 "ldscript.y"
{ (yyval.filename_list) = (yyvsp[(1) - (1)].filename_list); }
break;
case 49:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 377 "ldscript.y"
{
/* First little optimization. If there is only one
@@ -2038,21 +2060,21 @@ yyreduce:
case 50:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 388 "ldscript.y"
{ (yyval.filename_list) = mark_as_needed ((yyvsp[(3) - (4)].filename_list)); }
break;
case 51:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 390 "ldscript.y"
{ (yyval.filename_list) = new_filename_listelem ((yyvsp[(1) - (1)].str)); }
break;
case 52:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 395 "ldscript.y"
{
(yyvsp[(2) - (2)].version)->next = (yyvsp[(1) - (2)].version)->next;
@@ -2062,14 +2084,14 @@ yyreduce:
case 53:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 400 "ldscript.y"
{ (yyval.version) = (yyvsp[(1) - (1)].version); }
break;
case 54:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 404 "ldscript.y"
{
(yyvsp[(2) - (4)].version)->versionname = "";
@@ -2080,7 +2102,7 @@ yyreduce:
case 55:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 410 "ldscript.y"
{
(yyvsp[(3) - (5)].version)->versionname = (yyvsp[(1) - (5)].str);
@@ -2091,7 +2113,7 @@ yyreduce:
case 56:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 416 "ldscript.y"
{
(yyvsp[(3) - (6)].version)->versionname = (yyvsp[(1) - (6)].str);
@@ -2102,35 +2124,35 @@ yyreduce:
case 57:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 425 "ldscript.y"
{ (yyval.version) = merge_versions ((yyvsp[(1) - (2)].version), (yyvsp[(2) - (2)].version)); }
break;
case 58:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 427 "ldscript.y"
{ (yyval.version) = (yyvsp[(1) - (1)].version); }
break;
case 59:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 431 "ldscript.y"
{ (yyval.version) = new_version (NULL, (yyvsp[(2) - (2)].id_list)); }
break;
case 60:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 433 "ldscript.y"
{ (yyval.version) = new_version ((yyvsp[(2) - (2)].id_list), NULL); }
break;
case 61:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 438 "ldscript.y"
{
struct id_list *newp = new_id_listelem ((yyvsp[(2) - (3)].str));
@@ -2141,45 +2163,56 @@ yyreduce:
case 62:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 444 "ldscript.y"
{ (yyval.id_list) = new_id_listelem ((yyvsp[(1) - (2)].str)); }
break;
case 63:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 448 "ldscript.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 64:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 450 "ldscript.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 65:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 454 "ldscript.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 66:
-/* Line 1464 of yacc.c */
+/* Line 1806 of yacc.c */
#line 456 "ldscript.y"
{ (yyval.str) = NULL; }
break;
-/* Line 1464 of yacc.c */
-#line 2181 "ldscript.c"
+/* Line 1806 of yacc.c */
+#line 2203 "ldscript.c"
default: break;
}
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@@ -2207,6 +2240,10 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@@ -2214,37 +2251,36 @@ yyerrlab:
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
{
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (yymsg);
- }
- else
- {
- yyerror (YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
}
+# undef YYSYNTAX_ERROR
#endif
}
@@ -2303,7 +2339,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
+ if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@@ -2362,8 +2398,13 @@ yyexhaustedlab:
yyreturn:
if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ }
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@@ -2388,7 +2429,7 @@ yyreturn:
-/* Line 1684 of yacc.c */
+/* Line 2067 of yacc.c */
#line 459 "ldscript.y"
diff --git a/elfutils/src/ldscript.h b/elfutils/src/ldscript.h
index 5f7230a4..e33b803d 100644
--- a/elfutils/src/ldscript.h
+++ b/elfutils/src/ldscript.h
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2011 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
@@ -103,7 +102,7 @@
typedef union YYSTYPE
{
-/* Line 1685 of yacc.c */
+/* Line 2068 of yacc.c */
#line 71 "ldscript.y"
uintmax_t num;
@@ -121,8 +120,8 @@ typedef union YYSTYPE
-/* Line 1685 of yacc.c */
-#line 126 "ldscript.h"
+/* Line 2068 of yacc.c */
+#line 125 "ldscript.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/elfutils/src/nm.c b/elfutils/src/nm.c
index 01519a5a..f33302a4 100644
--- a/elfutils/src/nm.c
+++ b/elfutils/src/nm.c
@@ -1,5 +1,5 @@
/* Print symbol information from ELF file in human-readable form.
- Copyright (C) 2000-2008, 2009 Red Hat, Inc.
+ Copyright (C) 2000-2008, 2009, 2011, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -65,8 +65,8 @@ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
/* Values for the parameters which have no short form. */
-#define OPT_DEFINED 0x100
-#define OPT_MARK_WEAK 0x101
+#define OPT_DEFINED 0x100
+#define OPT_MARK_SPECIAL 0x101
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
@@ -92,7 +92,8 @@ static const struct argp_option options[] =
{ NULL, 'B', NULL, 0, N_("Same as --format=bsd"), 0 },
{ "portability", 'P', NULL, 0, N_("Same as --format=posix"), 0 },
{ "radix", 't', "RADIX", 0, N_("Use RADIX for printing symbol values"), 0 },
- { "mark-weak", OPT_MARK_WEAK, NULL, 0, N_("Mark weak symbols"), 0 },
+ { "mark-special", OPT_MARK_SPECIAL, NULL, 0, N_("Mark special symbols"), 0 },
+ { "mark-weak", OPT_MARK_SPECIAL, NULL, OPTION_HIDDEN, "", 0 },
{ "print-size", 'S', NULL, 0, N_("Print size of defined symbols"), 0 },
{ NULL, 0, NULL, 0, N_("Output options:"), 0 },
@@ -100,6 +101,10 @@ static const struct argp_option options[] =
0 },
{ "no-sort", 'p', NULL, 0, N_("Do not sort the symbols"), 0 },
{ "reverse-sort", 'r', NULL, 0, N_("Reverse the sense of the sort"), 0 },
+#ifdef USE_DEMANGLE
+ { "demangle", 'C', NULL, 0,
+ N_("Decode low-level symbol names into source code names"), 0 },
+#endif
{ NULL, 0, NULL, 0, N_("Miscellaneous:"), 0 },
{ NULL, 0, NULL, 0, NULL, 0 }
};
@@ -113,10 +118,17 @@ static const char args_doc[] = N_("[FILE...]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
+/* Parser children. */
+static struct argp_child argp_children[] =
+ {
+ { &color_argp, 0, N_("Output formatting"), 2 },
+ { NULL, 0, NULL, 0}
+ };
+
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc, NULL, NULL, NULL
+ options, parse_opt, args_doc, doc, argp_children, NULL, NULL
};
@@ -175,6 +187,11 @@ static bool print_armap;
/* If true reverse sorting. */
static bool reverse_sort;
+#ifdef USE_DEMANGLE
+/* If true demangle symbols. */
+static bool demangle;
+#endif
+
/* Type of the section we are printing. */
static GElf_Word symsec_type = SHT_SYMTAB;
@@ -194,9 +211,12 @@ static enum
radix_octal
} radix;
-/* If nonzero weak symbols are distinguished from global symbols by adding
- a `*' after the identifying letter for the symbol class and type. */
-static bool mark_weak;
+/* If nonzero mark special symbols:
+ - weak symbols are distinguished from global symbols by adding
+ a `*' after the identifying letter for the symbol class and type.
+ - TLS symbols are distinguished from normal symbols by adding
+ a '@' after the identifying letter for the symbol class and type. */
+static bool mark_special;
int
@@ -254,7 +274,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -270,6 +290,12 @@ parse_opt (int key, char *arg,
/* XXX */
break;
+#ifdef USE_DEMANGLE
+ case 'C':
+ demangle = true;
+ break;
+#endif
+
case 'f':
if (strcmp (arg, "bsd") == 0)
format = format_bsd;
@@ -329,8 +355,8 @@ parse_opt (int key, char *arg,
hide_defined = false;
break;
- case OPT_MARK_WEAK:
- mark_weak = true;
+ case OPT_MARK_SPECIAL:
+ mark_special = true;
break;
case 'S':
@@ -439,7 +465,7 @@ handle_ar (int fd, Elf *elf, const char *prefix, const char *fname,
Elf_Arhdr *arhdr = NULL;
size_t arhdr_off = 0; /* Note: 0 is no valid offset. */
- puts (gettext("\nArchive index:"));
+ fputs_unlocked (gettext("\nArchive index:\n"), stdout);
while (arsym->as_off != 0)
{
@@ -718,8 +744,7 @@ sym_name (Elf *elf, GElf_Word strndx, GElf_Word st_name, char buf[], size_t n)
/* Show symbols in SysV format. */
static void
-show_symbols_sysv (Ebl *ebl, GElf_Word strndx,
- const char *prefix, const char *fname, const char *fullname,
+show_symbols_sysv (Ebl *ebl, GElf_Word strndx, const char *fullname,
GElf_SymX *syms, size_t nsyms, int longest_name,
int longest_where)
{
@@ -762,10 +787,7 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx,
int digits = length_map[gelf_getclass (ebl->elf) - 1][radix];
/* We always print this prolog. */
- if (prefix == NULL || 1)
- printf (gettext ("\n\nSymbols from %s:\n\n"), fullname);
- else
- printf (gettext ("\n\nSymbols from %s[%s]:\n\n"), prefix, fname);
+ printf (gettext ("\n\nSymbols from %s:\n\n"), fullname);
/* The header line. */
printf (gettext ("%*s%-*s %-*s Class Type %-*s %*s Section\n\n"),
@@ -779,24 +801,48 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx,
longest_where, sgettext ("sysv|Line"));
/* Which format string to use (different radix for numbers). */
- const char *fmtstr;
+ const char *number_fmtstr;
if (radix == radix_hex)
- fmtstr = "%-*s|%0*" PRIx64 "|%-6s|%-8s|%*" PRIx64 "|%*s|%s\n";
+ number_fmtstr = "%0*" PRIx64;
else if (radix == radix_decimal)
- fmtstr = "%-*s|%*" PRId64 "|%-6s|%-8s|%*" PRId64 "|%*s|%s\n";
+ number_fmtstr = "%0*" PRId64;
else
- fmtstr = "%-*s|%0*" PRIo64 "|%-6s|%-8s|%*" PRIo64 "|%*s|%s\n";
+ number_fmtstr = "%0*" PRIo64;
+
+#ifdef USE_DEMANGLE
+ size_t demangle_buffer_len = 0;
+ char *demangle_buffer = NULL;
+#endif
/* Iterate over all symbols. */
- for (cnt = 0; cnt < nsyms; ++cnt)
+ for (cnt = 1; cnt < nsyms; ++cnt)
{
+ /* In this format SECTION entries are not printed. */
+ if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_SECTION)
+ continue;
+
char symstrbuf[50];
const char *symstr = sym_name (ebl->elf, strndx, syms[cnt].sym.st_name,
symstrbuf, sizeof symstrbuf);
+#ifdef USE_DEMANGLE
+ /* Demangle if necessary. */
+ if (demangle)
+ {
+ int status = -1;
+ char *dmsymstr = __cxa_demangle (symstr, demangle_buffer,
+ &demangle_buffer_len, &status);
+
+ if (status == 0)
+ symstr = dmsymstr;
+ }
+#endif
+
char symbindbuf[50];
char symtypebuf[50];
char secnamebuf[1024];
+ char addressbuf[(64 + 2) / 3 + 1];
+ char sizebuf[(64 + 2) / 3 + 1];
/* If we have to precede the line with the file name. */
if (print_file_name)
@@ -805,28 +851,42 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx,
putchar_unlocked (':');
}
+ /* Covert the address. */
+ if (syms[cnt].sym.st_shndx == SHN_UNDEF)
+ addressbuf[0] = sizebuf[0] = '\0';
+ else
+ {
+ snprintf (addressbuf, sizeof (addressbuf), number_fmtstr,
+ digits, syms[cnt].sym.st_value);
+ snprintf (sizebuf, sizeof (sizebuf), number_fmtstr,
+ digits, syms[cnt].sym.st_size);
+ }
+
/* Print the actual string. */
- printf (fmtstr,
- longest_name, symstr,
- digits, syms[cnt].sym.st_value,
+ printf ("%-*s|%s|%-6s|%-8s|%s|%*s|%s\n",
+ longest_name, symstr, addressbuf,
ebl_symbol_binding_name (ebl,
GELF_ST_BIND (syms[cnt].sym.st_info),
symbindbuf, sizeof (symbindbuf)),
ebl_symbol_type_name (ebl, GELF_ST_TYPE (syms[cnt].sym.st_info),
symtypebuf, sizeof (symtypebuf)),
- digits, syms[cnt].sym.st_size, longest_where, syms[cnt].where,
+ sizebuf, longest_where, syms[cnt].where,
ebl_section_name (ebl, syms[cnt].sym.st_shndx, syms[cnt].xndx,
secnamebuf, sizeof (secnamebuf), scnnames,
shnum));
}
+#ifdef USE_DEMANGLE
+ free (demangle_buffer);
+#endif
+
if (scnnames_malloced)
free (scnnames);
}
static char
-class_type_char (GElf_Sym *sym)
+class_type_char (Elf *elf, const GElf_Ehdr *ehdr, GElf_Sym *sym)
{
int local_p = GELF_ST_BIND (sym->st_info) == STB_LOCAL;
@@ -838,14 +898,35 @@ class_type_char (GElf_Sym *sym)
/* Undefined symbols must be global. */
return 'U';
- char result = "NDTSFB "[GELF_ST_TYPE (sym->st_info)];
+ char result = "NDTSFBD "[GELF_ST_TYPE (sym->st_info)];
+
+ if (result == 'D')
+ {
+ /* Special handling: unique data symbols. */
+ if (ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX
+ && GELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+ result = 'u';
+ else
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (elf_getscn (elf, sym->st_shndx),
+ &shdr_mem);
+ if (shdr != NULL)
+ {
+ if ((shdr->sh_flags & SHF_WRITE) == 0)
+ result = 'R';
+ else if (shdr->sh_type == SHT_NOBITS)
+ result = 'B';
+ }
+ }
+ }
return local_p ? tolower (result) : result;
}
static void
-show_symbols_bsd (Elf *elf, GElf_Word strndx,
+show_symbols_bsd (Elf *elf, const GElf_Ehdr *ehdr, GElf_Word strndx,
const char *prefix, const char *fname, const char *fullname,
GElf_SymX *syms, size_t nsyms)
{
@@ -856,17 +937,22 @@ show_symbols_bsd (Elf *elf, GElf_Word strndx,
static const char *const fmtstrs[] =
{
- [radix_hex] = "%0*" PRIx64 " %c%s %s\n",
- [radix_decimal] = "%*" PRId64 " %c%s %s\n",
- [radix_octal] = "%0*" PRIo64 " %c%s %s\n"
+ [radix_hex] = "%8$s%2$0*1$" PRIx64 "%10$s %9$s%3$c%4$s %5$s",
+ [radix_decimal] = "%8$s%*" PRId64 "%10$s %9$s%3$c%4$s %5$s",
+ [radix_octal] = "%8$s%2$0*1$" PRIo64 "%10$s %9$s%3$c%4$s %5$s"
};
static const char *const sfmtstrs[] =
{
- [radix_hex] = "%2$0*1$" PRIx64 " %7$0*6$" PRIx64 " %3$c%4$s %5$s\n",
- [radix_decimal] = "%2$*1$" PRId64 " %7$*6$" PRId64 " %3$c%4$s %5$s\n",
- [radix_octal] = "%2$0*1$" PRIo64 " %7$0*6$" PRIo64 " %3$c%4$s %5$s\n"
+ [radix_hex] = "%8$s%2$0*1$" PRIx64 "%10$s %7$0*6$" PRIx64 " %9$s%3$c%4$s %5$s",
+ [radix_decimal] = "%8$s%2$*1$" PRId64 "%10$s %7$*6$" PRId64 " %9$s%3$c%4$s %5$s",
+ [radix_octal] = "%8$s%2$0*1$" PRIo64 "%10$s %7$0*6$" PRIo64 " %9$s%3$c%4$s %5$s"
};
+#ifdef USE_DEMANGLE
+ size_t demangle_buffer_len = 0;
+ char *demangle_buffer = NULL;
+#endif
+
/* Iterate over all symbols. */
for (size_t cnt = 0; cnt < nsyms; ++cnt)
{
@@ -880,6 +966,23 @@ show_symbols_bsd (Elf *elf, GElf_Word strndx,
if (symstr[0] == '\0')
continue;
+ /* We do not print the entries for files. */
+ if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_FILE)
+ continue;
+
+#ifdef USE_DEMANGLE
+ /* Demangle if necessary. */
+ if (demangle)
+ {
+ int status = -1;
+ char *dmsymstr = __cxa_demangle (symstr, demangle_buffer,
+ &demangle_buffer_len, &status);
+
+ if (status == 0)
+ symstr = dmsymstr;
+ }
+#endif
+
/* If we have to precede the line with the file name. */
if (print_file_name)
{
@@ -887,31 +990,65 @@ show_symbols_bsd (Elf *elf, GElf_Word strndx,
putchar_unlocked (':');
}
+ bool is_tls = GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_TLS;
+ bool is_weak = GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK;
+ const char *marker = (mark_special
+ ? (is_tls ? "@" : (is_weak ? "*" : " ")) : "");
+
if (syms[cnt].sym.st_shndx == SHN_UNDEF)
- printf ("%*s U%s %s\n",
- digits, "",
- mark_weak
- ? (GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK
- ? "*" : " ")
- : "",
- symstr);
+ {
+ const char *color = "";
+ if (color_mode)
+ {
+ if (is_tls)
+ color = color_undef_tls;
+ else if (is_weak)
+ color = color_undef_weak;
+ else
+ color = color_undef;
+ }
+
+ printf ("%*s %sU%s %s", digits, "", color, marker, symstr);
+ }
else
- printf (print_size ? sfmtstrs[radix] : fmtstrs[radix],
- digits, syms[cnt].sym.st_value,
- class_type_char (&syms[cnt].sym),
- mark_weak
- ? (GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK
- ? "*" : " ")
- : "",
- symstr,
- digits, (uint64_t) syms[cnt].sym.st_size);
+ {
+ const char *color = "";
+ if (color_mode)
+ {
+ if (is_tls)
+ color = color_tls;
+ else if (is_weak)
+ color = color_weak;
+ else
+ color = color_symbol;
+ }
+
+ printf (print_size && syms[cnt].sym.st_size != 0
+ ? sfmtstrs[radix] : fmtstrs[radix],
+ digits, syms[cnt].sym.st_value,
+ class_type_char (elf, ehdr, &syms[cnt].sym), marker,
+ symstr,
+ digits, (uint64_t) syms[cnt].sym.st_size,
+ color_mode ? color_address : "",
+ color,
+ color_mode ? color_off : "");
+ }
+
+ if (color_mode)
+ fputs_unlocked (color_off, stdout);
+ putchar_unlocked ('\n');
}
+
+#ifdef USE_DEMANGLE
+ free (demangle_buffer);
+#endif
}
static void
-show_symbols_posix (Elf *elf, GElf_Word strndx, const char *prefix,
- const char *fullname, GElf_SymX *syms, size_t nsyms)
+show_symbols_posix (Elf *elf, const GElf_Ehdr *ehdr, GElf_Word strndx,
+ const char *prefix, const char *fullname, GElf_SymX *syms,
+ size_t nsyms)
{
if (prefix != NULL && ! print_file_name)
printf ("%s:\n", fullname);
@@ -926,6 +1063,11 @@ show_symbols_posix (Elf *elf, GElf_Word strndx, const char *prefix,
int digits = length_map[gelf_getclass (elf) - 1][radix];
+#ifdef USE_DEMANGLE
+ size_t demangle_buffer_len = 0;
+ char *demangle_buffer = NULL;
+#endif
+
/* Iterate over all symbols. */
for (size_t cnt = 0; cnt < nsyms; ++cnt)
{
@@ -939,6 +1081,19 @@ show_symbols_posix (Elf *elf, GElf_Word strndx, const char *prefix,
if (symstr[0] == '\0')
continue;
+#ifdef USE_DEMANGLE
+ /* Demangle if necessary. */
+ if (demangle)
+ {
+ int status = -1;
+ char *dmsymstr = __cxa_demangle (symstr, demangle_buffer,
+ &demangle_buffer_len, &status);
+
+ if (status == 0)
+ symstr = dmsymstr;
+ }
+#endif
+
/* If we have to precede the line with the file name. */
if (print_file_name)
{
@@ -949,13 +1104,20 @@ show_symbols_posix (Elf *elf, GElf_Word strndx, const char *prefix,
printf (fmtstr,
symstr,
- class_type_char (&syms[cnt].sym),
- mark_weak
- ? (GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK ? "*" : " ")
+ class_type_char (elf, ehdr, &syms[cnt].sym),
+ mark_special
+ ? (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_TLS
+ ? "@"
+ : (GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK
+ ? "*" : " "))
: "",
digits, syms[cnt].sym.st_value,
digits, syms[cnt].sym.st_size);
}
+
+#ifdef USE_DEMANGLE
+ free (demangle_buffer);
+#endif
}
@@ -1057,6 +1219,10 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
INTERNAL_ERROR (fullname);
/* Iterate over all symbols. */
+#ifdef USE_DEMANGLE
+ size_t demangle_buffer_len = 0;
+ char *demangle_buffer = NULL;
+#endif
int longest_name = 4;
int longest_where = 4;
size_t nentries_used = 0;
@@ -1069,7 +1235,7 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
INTERNAL_ERROR (fullname);
/* Filter out administrative symbols without a name and those
- deselected by ther user with command line options. */
+ deselected by the user with command line options. */
if ((hide_undefined && sym->st_shndx == SHN_UNDEF)
|| (hide_defined && sym->st_shndx != SHN_UNDEF)
|| (hide_local && GELF_ST_BIND (sym->st_info) == STB_LOCAL))
@@ -1083,6 +1249,19 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
if (symstr == NULL)
continue;
+#ifdef USE_DEMANGLE
+ /* Demangle if necessary. */
+ if (demangle)
+ {
+ int status = -1;
+ char *dmsymstr = __cxa_demangle (symstr, demangle_buffer,
+ &demangle_buffer_len, &status);
+
+ if (status == 0)
+ symstr = dmsymstr;
+ }
+#endif
+
longest_name = MAX ((size_t) longest_name, strlen (symstr));
if (sym->st_shndx != SHN_UNDEF
@@ -1137,7 +1316,7 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
}
}
- /* Try to find the symol among the local symbols. */
+ /* Try to find the symbol among the local symbols. */
if (sym_mem[nentries_used].where[0] == '\0')
{
struct local_name fake =
@@ -1168,6 +1347,9 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
/* We use this entry. */
++nentries_used;
}
+#ifdef USE_DEMANGLE
+ free (demangle_buffer);
+#endif
/* Now we know the exact number. */
nentries = nentries_used;
@@ -1185,21 +1367,20 @@ show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
switch (format)
{
case format_sysv:
- show_symbols_sysv (ebl, shdr->sh_link, prefix, fname,
- fullname, sym_mem, nentries, longest_name,
- longest_where);
+ show_symbols_sysv (ebl, shdr->sh_link, fullname, sym_mem, nentries,
+ longest_name, longest_where);
break;
case format_bsd:
- show_symbols_bsd (ebl->elf, shdr->sh_link, prefix, fname, fullname,
+ show_symbols_bsd (ebl->elf, ehdr, shdr->sh_link, prefix, fname, fullname,
sym_mem, nentries);
break;
case format_posix:
default:
assert (format == format_posix);
- show_symbols_posix (ebl->elf, shdr->sh_link, prefix, fullname, sym_mem,
- nentries);
+ show_symbols_posix (ebl->elf, ehdr, shdr->sh_link, prefix, fullname,
+ sym_mem, nentries);
break;
}
diff --git a/elfutils/src/objdump.c b/elfutils/src/objdump.c
index 1234c794..e2fcfbf1 100644
--- a/elfutils/src/objdump.c
+++ b/elfutils/src/objdump.c
@@ -1,5 +1,5 @@
/* Print information from ELF file in human-readable form.
- Copyright (C) 2005, 2006, 2007, 2009 Red Hat, Inc.
+ Copyright (C) 2005, 2006, 2007, 2009, 2011, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -65,7 +65,7 @@ static const struct argp_option options[] =
{ "disassemble", 'd', NULL, 0,
N_("Display assembler code of executable sections"), 0 },
- { NULL, 0, NULL, 0, N_("Output option selection:"), 0 },
+ { NULL, 0, NULL, 0, N_("Output content selection:"), 0 },
{ "section", 'j', "NAME", 0,
N_("Only display information for section NAME."), 0 },
@@ -82,10 +82,17 @@ static const char args_doc[] = N_("[FILE...]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
+/* Parser children. */
+static struct argp_child argp_children[] =
+ {
+ { &color_argp, 0, N_("Output formatting"), 2 },
+ { NULL, 0, NULL, 0}
+ };
+
/* Data structure to communicate with argp functions. */
-static struct argp argp =
+static const struct argp argp =
{
- options, parse_opt, args_doc, doc, NULL, NULL, NULL
+ options, parse_opt, args_doc, doc, argp_children, NULL, NULL
};
@@ -128,6 +135,7 @@ static bool print_full_content;
/* If true print disassembled output.. */
static bool print_disasm;
+
int
main (int argc, char *argv[])
{
@@ -182,7 +190,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "20089");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -499,7 +507,7 @@ show_relocs (Ebl *ebl, const char *fname, uint32_t shstrndx)
if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA)
{
- if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
+ if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
continue;
GElf_Shdr destshdr_mem;
@@ -570,7 +578,7 @@ show_full_content (Ebl *ebl, const char *fname, uint32_t shstrndx)
if (shdr->sh_type == SHT_PROGBITS && shdr->sh_size > 0)
{
- if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
+ if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
continue;
printf (gettext ("Contents of section %s:\n"),
@@ -632,6 +640,8 @@ struct disasm_info
GElf_Addr addr;
const uint8_t *cur;
const uint8_t *last_end;
+ const char *address_color;
+ const char *bytes_color;
};
@@ -642,10 +652,20 @@ disasm_output (char *buf, size_t buflen, void *arg)
{
struct disasm_info *info = (struct disasm_info *) arg;
- printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
+ if (info->address_color != NULL)
+ printf ("%s%8" PRIx64 "%s: ",
+ info->address_color, (uint64_t) info->addr, color_off);
+ else
+ printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
+
+ if (info->bytes_color != NULL)
+ fputs_unlocked (info->bytes_color, stdout);
size_t cnt;
for (cnt = 0; cnt < (size_t) MIN (info->cur - info->last_end, 8); ++cnt)
printf (" %02" PRIx8, info->last_end[cnt]);
+ if (info->bytes_color != NULL)
+ fputs_unlocked (color_off, stdout);
+
printf ("%*s %.*s\n",
(int) (8 - cnt) * 3 + 1, "", (int) buflen, buf);
@@ -655,9 +675,18 @@ disasm_output (char *buf, size_t buflen, void *arg)
Print the rest on a separate, following line. */
if (info->cur - info->last_end > 8)
{
- printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
+ if (info->address_color != NULL)
+ printf ("%s%8" PRIx64 "%s: ",
+ info->address_color, (uint64_t) info->addr, color_off);
+ else
+ printf ("%8" PRIx64 ": ", (uint64_t) info->addr);
+
+ if (info->bytes_color != NULL)
+ fputs_unlocked (info->bytes_color, stdout);
for (; cnt < (size_t) (info->cur - info->last_end); ++cnt)
printf (" %02" PRIx8, info->last_end[cnt]);
+ if (info->bytes_color != NULL)
+ fputs_unlocked (color_off, stdout);
putchar_unlocked ('\n');
info->addr += info->cur - info->last_end - 8;
}
@@ -687,7 +716,7 @@ show_disasm (Ebl *ebl, const char *fname, uint32_t shstrndx)
if (shdr->sh_type == SHT_PROGBITS && shdr->sh_size > 0
&& (shdr->sh_flags & SHF_EXECINSTR) != 0)
{
- if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
+ if (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
continue;
Elf_Data *data = elf_getdata (scn, NULL);
@@ -700,10 +729,32 @@ show_disasm (Ebl *ebl, const char *fname, uint32_t shstrndx)
struct disasm_info info;
info.addr = shdr->sh_addr;
info.last_end = info.cur = data->d_buf;
+ char *fmt;
+ if (color_mode)
+ {
+ info.address_color = color_address;
+ info.bytes_color = color_bytes;
+
+ if (asprintf (&fmt, "%s%%7m %s%%.1o,%s%%.2o,%s%%.3o%%34a %s%%l",
+ color_mnemonic ?: "",
+ color_operand1 ?: "",
+ color_operand2 ?: "",
+ color_operand3 ?: "",
+ color_label ?: "") < 0)
+ error (EXIT_FAILURE, errno, _("cannot allocate memory"));
+ }
+ else
+ {
+ info.address_color = info.bytes_color = NULL;
+
+ fmt = "%7m %.1o,%.2o,%.3o%34a %l";
+ }
disasm_cb (ctx, &info.cur, info.cur + data->d_size, info.addr,
- "%7m %.1o,%.2o,%.3o%34a %l", disasm_output, &info,
- NULL /* XXX */);
+ fmt, disasm_output, &info, NULL /* XXX */);
+
+ if (color_mode)
+ free (fmt);
}
}
diff --git a/elfutils/src/ranlib.c b/elfutils/src/ranlib.c
index e92dc89b..d30fc320 100644
--- a/elfutils/src/ranlib.c
+++ b/elfutils/src/ranlib.c
@@ -1,5 +1,5 @@
/* Generate an index to speed access to archives.
- Copyright (C) 2005, 2006, 2007, 2009 Red Hat, Inc.
+ Copyright (C) 2005-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -79,7 +79,7 @@ static const char args_doc[] = N_("ARCHIVE");
/* Data structure to communicate with argp functions. */
static const struct argp argp =
{
- options, NULL, args_doc, doc, NULL, NULL, NULL
+ options, NULL, args_doc, doc, arlib_argp_children, NULL, NULL
};
@@ -137,7 +137,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/readelf.c b/elfutils/src/readelf.c
index 81ef6a9f..88766889 100644
--- a/elfutils/src/readelf.c
+++ b/elfutils/src/readelf.c
@@ -1,5 +1,5 @@
/* Print information from ELF file in human-readable form.
- Copyright (C) 1999-2010 Red Hat, Inc.
+ Copyright (C) 1999-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -93,8 +93,8 @@ static const struct argp_option options[] =
{ NULL, 0, NULL, 0, N_("Additional output selection:"), 0 },
{ "debug-dump", 'w', "SECTION", OPTION_ARG_OPTIONAL,
N_("Display DWARF section content. SECTION can be one of abbrev, "
- "aranges, frame, info, loc, line, ranges, pubnames, str, macinfo, "
- "or exception"), 0 },
+ "aranges, frame, gdb_index, info, loc, line, ranges, pubnames, str, "
+ "macinfo, or exception"), 0 },
{ "hex-dump", 'x', "SECTION", 0,
N_("Dump the uninterpreted contents of SECTION, by number or name"), 0 },
{ "strings", 'p', "SECTION", OPTION_ARG_OPTIONAL,
@@ -106,7 +106,8 @@ static const struct argp_option options[] =
{ NULL, 0, NULL, 0, N_("Output control:"), 0 },
{ "numeric-addresses", 'N', NULL, 0,
N_("Do not find symbol names for addresses in DWARF data"), 0 },
-
+ { "wide", 'W', NULL, 0,
+ N_("Ignored for compatibility (lines always wide)"), 0 },
{ NULL, 0, NULL, 0, NULL, 0 }
};
@@ -189,10 +190,11 @@ static enum section_e
section_macinfo = 256, /* .debug_macinfo */
section_ranges = 512, /* .debug_ranges */
section_exception = 1024, /* .eh_frame & al. */
+ section_gdb_index = 2048, /* .gdb_index */
section_all = (section_abbrev | section_aranges | section_frame
| section_info | section_line | section_loc
| section_pubnames | section_str | section_macinfo
- | section_ranges | section_exception)
+ | section_ranges | section_exception | section_gdb_index)
} print_debug_sections, implicit_debug_sections;
/* Select hex dumping of sections. */
@@ -403,6 +405,8 @@ parse_opt (int key, char *arg,
print_debug_sections |= section_macinfo;
else if (strcmp (arg, "exception") == 0)
print_debug_sections |= section_exception;
+ else if (strcmp (arg, "gdb_index") == 0)
+ print_debug_sections |= section_gdb_index;
else
{
fprintf (stderr, gettext ("Unknown DWARF debug section `%s'.\n"),
@@ -441,6 +445,8 @@ parse_opt (int key, char *arg,
exit (EXIT_FAILURE);
}
break;
+ case 'W': /* Ignored. */
+ break;
default:
return ARGP_ERR_UNKNOWN;
}
@@ -457,7 +463,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -1154,6 +1160,13 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
}
+static const char *
+section_name (Ebl *ebl, GElf_Ehdr *ehdr, GElf_Shdr *shdr)
+{
+ return elf_strptr (ebl->elf, ehdr->e_shstrndx, shdr->sh_name) ?: "???";
+}
+
+
static void
handle_scngrp (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
{
@@ -1438,8 +1451,10 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
printf ("%" PRId64 "\n", dyn->d_un.d_val);
break;
- case DT_PLTREL:
- puts (ebl_dynamic_tag_name (ebl, dyn->d_un.d_val, NULL, 0));
+ case DT_PLTREL:;
+ const char *tagname = ebl_dynamic_tag_name (ebl, dyn->d_un.d_val,
+ NULL, 0);
+ puts (tagname ?: "???");
break;
case DT_FLAGS:
@@ -3285,6 +3300,14 @@ dwarf_tag_string (unsigned int tag)
result = "GNU_formal_parameter_pack";
break;
+ case DW_TAG_GNU_call_site:
+ result = "GNU_call_site";
+ break;
+
+ case DW_TAG_GNU_call_site_parameter:
+ result = "GNU_call_site_parameter";
+ break;
+
default:
if (tag < DW_TAG_lo_user)
snprintf (buf, sizeof buf, gettext ("unknown tag %hx"), tag);
@@ -3507,10 +3530,74 @@ dwarf_attr_string (unsigned int attrnum)
result = "GNU_vector";
break;
+ case DW_AT_GNU_guarded_by:
+ result = "GNU_guarded_by";
+ break;
+
+ case DW_AT_GNU_pt_guarded_by:
+ result = "GNU_pt_guarded_by";
+ break;
+
+ case DW_AT_GNU_guarded:
+ result = "GNU_guarded";
+ break;
+
+ case DW_AT_GNU_pt_guarded:
+ result = "GNU_pt_guarded";
+ break;
+
+ case DW_AT_GNU_locks_excluded:
+ result = "GNU_locks_excluded";
+ break;
+
+ case DW_AT_GNU_exclusive_locks_required:
+ result = "GNU_exclusive_locks_required";
+ break;
+
+ case DW_AT_GNU_shared_locks_required:
+ result = "GNU_shared_locks_required";
+ break;
+
+ case DW_AT_GNU_odr_signature:
+ result = "GNU_odr_signature";
+ break;
+
case DW_AT_GNU_template_name:
result = "GNU_template_name";
break;
+ case DW_AT_GNU_call_site_value:
+ result = "GNU_call_site_value";
+ break;
+
+ case DW_AT_GNU_call_site_data_value:
+ result = "GNU_call_site_data_value";
+ break;
+
+ case DW_AT_GNU_call_site_target:
+ result = "GNU_call_site_target";
+ break;
+
+ case DW_AT_GNU_call_site_target_clobbered:
+ result = "GNU_call_site_target_clobbered";
+ break;
+
+ case DW_AT_GNU_tail_call:
+ result = "GNU_tail_call";
+ break;
+
+ case DW_AT_GNU_all_tail_call_sites:
+ result = "GNU_all_tail_call_sites";
+ break;
+
+ case DW_AT_GNU_all_call_sites:
+ result = "GNU_all_call_sites";
+ break;
+
+ case DW_AT_GNU_all_source_call_sites:
+ result = "GNU_all_source_call_sites";
+ break;
+
default:
if (attrnum < DW_AT_lo_user)
snprintf (buf, sizeof buf, gettext ("unknown attribute %hx"),
@@ -3555,7 +3642,7 @@ dwarf_form_string (unsigned int form)
[DW_FORM_sec_offset] = "sec_offset",
[DW_FORM_exprloc] = "exprloc",
[DW_FORM_flag_present] = "flag_present",
- [DW_FORM_ref_sig8] = "ref_sig8"
+ [DW_FORM_ref_sig8] = "ref_sig8",
};
const unsigned int nknown_forms = (sizeof (known_forms)
/ sizeof (known_forms[0]));
@@ -3566,8 +3653,11 @@ dwarf_form_string (unsigned int form)
result = known_forms[form];
if (unlikely (result == NULL))
- snprintf (buf, sizeof buf, gettext ("unknown form %" PRIx64),
- (uint64_t) form);
+ {
+ snprintf (buf, sizeof buf, gettext ("unknown form %#" PRIx64),
+ (uint64_t) form);
+ result = buf;
+ }
return result;
}
@@ -3976,6 +4066,12 @@ print_ops (Dwfl_Module *dwflmod, Dwarf *dbg, int indent, int indentrest,
[DW_OP_implicit_value] = "implicit_value",
[DW_OP_stack_value] = "stack_value",
[DW_OP_GNU_implicit_pointer] = "GNU_implicit_pointer",
+ [DW_OP_GNU_entry_value] = "GNU_entry_value",
+ [DW_OP_GNU_const_type] = "GNU_const_type",
+ [DW_OP_GNU_regval_type] = "GNU_regval_type",
+ [DW_OP_GNU_deref_type] = "GNU_deref_type",
+ [DW_OP_GNU_convert] = "GNU_convert",
+ [DW_OP_GNU_reinterpret] = "GNU_reinterpret",
};
if (len == 0)
@@ -4240,6 +4336,70 @@ print_ops (Dwfl_Module *dwflmod, Dwarf *dbg, int indent, int indentrest,
offset += 1 + (data - start);
break;
+ case DW_OP_GNU_entry_value:
+ /* Size plus expression block. */
+ start = data;
+ NEED (1);
+ get_uleb128 (uleb, data); /* XXX check overrun */
+ printf ("%*s[%4" PRIuMAX "] %s:\n",
+ indent, "", (uintmax_t) offset, known[op]);
+ NEED (uleb);
+ print_ops (dwflmod, dbg, indent + 6, indent + 6, vers,
+ addrsize, offset_size, uleb, data);
+ data += uleb;
+ CONSUME (data - start);
+ offset += 1 + (data - start);
+ break;
+
+ case DW_OP_GNU_const_type:
+ /* DIE offset, size plus block. */
+ start = data;
+ NEED (2);
+ get_uleb128 (uleb, data); /* XXX check overrun */
+ uint8_t usize = *(uint8_t *) data++;
+ NEED (usize);
+ printf ("%*s[%4" PRIuMAX "] %s [%6" PRIxMAX "] ",
+ indent, "", (uintmax_t) offset, known[op], uleb);
+ print_block (usize, data);
+ data += usize;
+ CONSUME (data - start);
+ offset += 1 + (data - start);
+ break;
+
+ case DW_OP_GNU_regval_type:
+ start = data;
+ NEED (2);
+ get_uleb128 (uleb, data); /* XXX check overrun */
+ get_uleb128 (uleb2, data); /* XXX check overrun */
+ printf ("%*s[%4" PRIuMAX "] %s %" PRIu64 " %#" PRIx64 "\n",
+ indent, "", (uintmax_t) offset, known[op], uleb, uleb2);
+ CONSUME (data - start);
+ offset += 1 + (data - start);
+ break;
+
+ case DW_OP_GNU_deref_type:
+ start = data;
+ NEED (2);
+ usize = *(uint8_t *) data++;
+ get_uleb128 (uleb, data); /* XXX check overrun */
+ printf ("%*s[%4" PRIuMAX "] %s %" PRIu8 " [%6" PRIxMAX "]\n",
+ indent, "", (uintmax_t) offset,
+ known[op], usize, uleb);
+ CONSUME (data - start);
+ offset += 1 + (data - start);
+ break;
+
+ case DW_OP_GNU_convert:
+ case DW_OP_GNU_reinterpret:
+ start = data;
+ NEED (1);
+ get_uleb128 (uleb, data); /* XXX check overrun */
+ printf ("%*s[%4" PRIuMAX "] %s [%6" PRIxMAX "]\n",
+ indent, "", (uintmax_t) offset, known[op], uleb);
+ CONSUME (data - start);
+ offset += 1 + (data - start);
+ break;
+
default:
/* No Operand. */
if (op < sizeof known / sizeof known[0] && known[op] != NULL)
@@ -4321,6 +4481,7 @@ static void
reset_listptr (struct listptr_table *table)
{
free (table->table);
+ table->table = NULL;
table->n = table->alloc = 0;
}
@@ -4402,16 +4563,16 @@ skip_listptr_hole (struct listptr_table *table, size_t *idxp,
static void
print_debug_abbrev_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
+ Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
" [ Code]\n"),
- elf_ndxscn (scn), ".debug_abbrev", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
Dwarf_Off offset = 0;
- while (offset < shdr->sh_size)
+ while (offset < dbg->sectiondata[IDX_debug_abbrev]->d_size)
{
printf (gettext ("\nAbbreviation section at offset %" PRIu64 ":\n"),
offset);
@@ -4473,8 +4634,7 @@ print_debug_abbrev_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
takes care of it. */
static void
print_debug_aranges_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr, Elf_Scn *scn,
+ Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
GElf_Shdr *shdr, Dwarf *dbg)
{
Dwarf_Aranges *aranges;
@@ -4491,7 +4651,8 @@ print_debug_aranges_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
"\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entries:\n",
cnt),
- elf_ndxscn (scn), ".debug_aranges", (uint64_t) shdr->sh_offset, cnt);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset, cnt);
/* Compute floor(log16(cnt)). */
size_t tmp = cnt;
@@ -4529,8 +4690,8 @@ print_debug_aranges_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
/* Print content of DWARF .debug_ranges section. */
static void
print_debug_ranges_section (Dwfl_Module *dwflmod,
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr,
+ Ebl *ebl, GElf_Ehdr *ehdr,
+ Elf_Scn *scn, GElf_Shdr *shdr,
Dwarf *dbg)
{
Elf_Data *data = elf_rawdata (scn, NULL);
@@ -4544,7 +4705,8 @@ print_debug_ranges_section (Dwfl_Module *dwflmod,
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), ".debug_ranges", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
sort_listptr (&known_rangelistptr, "rangelistptr");
size_t listptr_idx = 0;
@@ -4625,7 +4787,7 @@ register_info (Ebl *ebl, unsigned int regno, const Ebl_Register_Location *loc,
bits ?: &ignore, type ?: &ignore);
if (n <= 0)
{
- snprintf (name, sizeof name, "reg%u", loc->regno);
+ snprintf (name, REGNAMESZ, "reg%u", loc->regno);
if (bits != NULL)
*bits = loc->bits;
if (type != NULL)
@@ -5450,9 +5612,6 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
break;
case DW_FORM_sec_offset:
- attrp->form = cbargs->offset_size == 8 ? DW_FORM_data8 : DW_FORM_data4;
- /* Fall through. */
-
case DW_FORM_udata:
case DW_FORM_sdata:
case DW_FORM_data8:
@@ -5489,6 +5648,10 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
case DW_AT_frame_base:
case DW_AT_return_addr:
case DW_AT_static_link:
+ case DW_AT_GNU_call_site_value:
+ case DW_AT_GNU_call_site_data_value:
+ case DW_AT_GNU_call_site_target:
+ case DW_AT_GNU_call_site_target_clobbered:
notice_listptr (section_loc, &known_loclistptr,
cbargs->addrsize, cbargs->offset_size, num);
if (!cbargs->silent)
@@ -5618,6 +5781,11 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
case DW_AT_count:
case DW_AT_lower_bound:
case DW_AT_upper_bound:
+ case DW_AT_GNU_call_site_value:
+ case DW_AT_GNU_call_site_data_value:
+ case DW_AT_GNU_call_site_target:
+ case DW_AT_GNU_call_site_target_clobbered:
+ putchar ('\n');
print_ops (cbargs->dwflmod, cbargs->dbg,
12 + level * 2, 12 + level * 2,
cbargs->version, cbargs->addrsize, cbargs->offset_size,
@@ -5640,14 +5808,12 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
static void
print_debug_units (Dwfl_Module *dwflmod,
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
- Elf_Scn *scn,
- GElf_Shdr *shdr, Dwarf *dbg,
- bool debug_types)
+ Ebl *ebl, GElf_Ehdr *ehdr,
+ Elf_Scn *scn, GElf_Shdr *shdr,
+ Dwarf *dbg, bool debug_types)
{
const bool silent = !(print_debug_sections & section_info);
- const char *secname = debug_types ? ".debug_types" : ".debug_info";
+ const char *secname = section_name (ebl, ehdr, shdr);
if (!silent)
printf (gettext ("\
@@ -5810,13 +5976,13 @@ print_debug_types_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
static void
-print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
- GElf_Ehdr *ehdr __attribute__ ((unused)),
+print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), ".debug_line", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
if (shdr->sh_size == 0)
return;
@@ -5849,7 +6015,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
{
invalid_data:
error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
- elf_ndxscn (scn), ".debug_line");
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
return;
}
unit_length = read_8ubyte_unaligned_inc (dbg, linep);
@@ -5917,7 +6083,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
error (0, 0,
gettext ("invalid data at offset %tu in section [%zu] '%s'"),
linep - (const unsigned char *) data->d_buf,
- elf_ndxscn (scn), ".debug_line");
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
linep = lineendp;
continue;
}
@@ -6033,12 +6199,14 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
while (linep < lineendp)
{
+ size_t offset = linep - (const unsigned char *) data->d_buf;
unsigned int u128;
int s128;
/* Read the opcode. */
unsigned int opcode = *linep++;
+ printf (" [%6" PRIx64 "]", (uint64_t)offset);
/* Is this a special opcode? */
if (likely (opcode >= opcode_base))
{
@@ -6087,7 +6255,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
switch (opcode)
{
case DW_LNE_end_sequence:
- puts (gettext ("end of sequence"));
+ puts (gettext (" end of sequence"));
/* Reset the registers we care about. */
address = 0;
@@ -6104,7 +6272,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
address = read_8ubyte_unaligned_inc (dbg, linep);
{
char *a = format_dwarf_addr (dwflmod, 0, address);
- printf (gettext ("set address to %s\n"), a);
+ printf (gettext (" set address to %s\n"), a);
free (a);
}
break;
@@ -6126,7 +6294,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
get_uleb128 (filelength, linep);
printf (gettext ("\
-define new file: dir=%u, mtime=%" PRIu64 ", length=%" PRIu64 ", name=%s\n"),
+ define new file: dir=%u, mtime=%" PRIu64 ", length=%" PRIu64 ", name=%s\n"),
diridx, (uint64_t) mtime, (uint64_t) filelength,
fname);
}
@@ -6143,7 +6311,7 @@ define new file: dir=%u, mtime=%" PRIu64 ", length=%" PRIu64 ", name=%s\n"),
default:
/* Unknown, ignore it. */
- puts (gettext ("unknown opcode"));
+ puts (gettext (" unknown opcode"));
linep += len - 1;
break;
}
@@ -6167,10 +6335,10 @@ define new file: dir=%u, mtime=%" PRIu64 ", length=%" PRIu64 ", name=%s\n"),
char *a = format_dwarf_addr (dwflmod, 0, address);
if (show_op_index)
printf (gettext ("\
-advance address by %u to %s, op_index to %u\n"),
+ advance address by %u to %s, op_index to %u\n"),
op_addr_advance, a, op_index);
else
- printf (gettext ("advance address by %u to %s\n"),
+ printf (gettext (" advance address by %u to %s\n"),
op_addr_advance, a);
free (a);
}
@@ -6222,11 +6390,11 @@ advance address by %u to %s, op_index to %u\n"),
char *a = format_dwarf_addr (dwflmod, 0, address);
if (show_op_index)
printf (gettext ("\
-advance address by constant %u to %s, op_index to %u\n"),
+ advance address by constant %u to %s, op_index to %u\n"),
op_addr_advance, a, op_index);
else
printf (gettext ("\
-advance address by constant %u to %s\n"),
+ advance address by constant %u to %s\n"),
op_addr_advance, a);
free (a);
}
@@ -6244,7 +6412,7 @@ advance address by constant %u to %s\n"),
{
char *a = format_dwarf_addr (dwflmod, 0, address);
printf (gettext ("\
-advance address by fixed value %u to %s\n"),
+ advance address by fixed value %u to %s\n"),
u128, a);
free (a);
}
@@ -6300,7 +6468,7 @@ advance address by fixed value %u to %s\n"),
static void
print_debug_loc_section (Dwfl_Module *dwflmod,
- Ebl *ebl __attribute__ ((unused)), GElf_Ehdr *ehdr,
+ Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
Elf_Data *data = elf_rawdata (scn, NULL);
@@ -6314,7 +6482,8 @@ print_debug_loc_section (Dwfl_Module *dwflmod,
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), ".debug_loc", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
sort_listptr (&known_loclistptr, "loclistptr");
size_t listptr_idx = 0;
@@ -6423,13 +6592,13 @@ mac_compare (const void *p1, const void *p2)
static void
print_debug_macinfo_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
+ Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), ".debug_macinfo", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
putc_unlocked ('\n', stdout);
/* There is no function in libdw to iterate over the raw content of
@@ -6595,12 +6764,12 @@ print_pubnames (Dwarf *dbg __attribute__ ((unused)), Dwarf_Global *global,
/* Print the known exported symbols in the DWARF section '.debug_pubnames'. */
static void
print_debug_pubnames_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
+ Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), ".debug_pubnames", (uint64_t) shdr->sh_offset);
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset);
int n = 0;
(void) dwarf_getpubnames (dbg, print_pubnames, &n, 0);
@@ -6609,12 +6778,13 @@ print_debug_pubnames_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
/* Print the content of the DWARF string section '.debug_str'. */
static void
print_debug_str_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
+ Ebl *ebl, GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
+ const size_t sh_size = dbg->sectiondata[IDX_debug_str]->d_size;
+
/* Compute floor(log16(shdr->sh_size)). */
- GElf_Addr tmp = shdr->sh_size;
+ GElf_Addr tmp = sh_size;
int digits = 1;
while (tmp >= 16)
{
@@ -6626,12 +6796,12 @@ print_debug_str_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
" %*s String\n"),
elf_ndxscn (scn),
- ".debug_str", (uint64_t) shdr->sh_offset,
+ section_name (ebl, ehdr, shdr), (uint64_t) shdr->sh_offset,
/* TRANS: the debugstr| prefix makes the string unique. */
digits + 2, sgettext ("debugstr|Offset"));
Dwarf_Off offset = 0;
- while (offset < shdr->sh_size)
+ while (offset < sh_size)
{
size_t len;
const char *str = dwarf_getstring (dbg, offset, &len);
@@ -6909,6 +7079,205 @@ print_debug_exception_table (Dwfl_Module *dwflmod __attribute__ ((unused)),
}
}
+/* Print the content of the '.gdb_index' section.
+ http://sourceware.org/gdb/current/onlinedocs/gdb/Index-Section-Format.html
+*/
+static void
+print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
+ Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
+{
+ printf (gettext ("\nGDB section [%2zu] '%s' at offset %#" PRIx64
+ " contains %" PRId64 " bytes :\n"),
+ elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ (uint64_t) shdr->sh_offset, (uint64_t) shdr->sh_size);
+
+ Elf_Data *data = elf_rawdata (scn, NULL);
+
+ if (unlikely (data == NULL))
+ {
+ error (0, 0, gettext ("cannot get %s content: %s"),
+ ".gdb_index", elf_errmsg (-1));
+ return;
+ }
+
+ // .gdb_index is always in little endian.
+ Dwarf dummy_dbg = { .other_byte_order = MY_ELFDATA != ELFDATA2LSB };
+ dbg = &dummy_dbg;
+
+ const unsigned char *readp = data->d_buf;
+ const unsigned char *const dataend = readp + data->d_size;
+
+ if (unlikely (readp + 4 > dataend))
+ {
+ invalid_data:
+ error (0, 0, gettext ("invalid data"));
+ return;
+ }
+
+ int32_t vers = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" Version: %" PRId32 "\n"), vers);
+
+ // The only difference between version 4 and version 5 is the
+ // hash used for generating the table.
+ if (vers < 4 || vers > 5)
+ {
+ printf (gettext (" unknown version, cannot parse section\n"));
+ return;
+ }
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+
+ uint32_t cu_off = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" CU offset: %#" PRIx32 "\n"), cu_off);
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+
+ uint32_t tu_off = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" TU offset: %#" PRIx32 "\n"), tu_off);
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+
+ uint32_t addr_off = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" address offset: %#" PRIx32 "\n"), addr_off);
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+
+ uint32_t sym_off = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" symbol offset: %#" PRIx32 "\n"), sym_off);
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+
+ uint32_t const_off = read_4ubyte_unaligned (dbg, readp);
+ printf (gettext (" constant offset: %#" PRIx32 "\n"), const_off);
+
+ readp = data->d_buf + cu_off;
+
+ const unsigned char *nextp = data->d_buf + tu_off;
+ size_t nr = (nextp - readp) / 16;
+
+ printf (gettext ("\n CU list at offset %#" PRIx32
+ " contains %zu entries:\n"),
+ cu_off, nr);
+
+ size_t n = 0;
+ while (readp + 16 <= dataend && n < nr)
+ {
+ uint64_t off = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ uint64_t len = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ printf (" [%4zu] start: %0#8" PRIx64
+ ", length: %5" PRIu64 "\n", n, off, len);
+ n++;
+ }
+
+ readp = data->d_buf + tu_off;
+ nextp = data->d_buf + addr_off;
+ nr = (nextp - readp) / 24;
+
+ printf (gettext ("\n TU list at offset %#" PRIx32
+ " contains %zu entries:\n"),
+ tu_off, nr);
+
+ n = 0;
+ while (readp + 24 <= dataend && n < nr)
+ {
+ uint64_t off = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ uint64_t type = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ uint64_t sig = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ printf (" [%4zu] CU offset: %5" PRId64
+ ", type offset: %5" PRId64
+ ", signature: %0#8" PRIx64 "\n", n, off, type, sig);
+ n++;
+ }
+
+ readp = data->d_buf + addr_off;
+ nextp = data->d_buf + sym_off;
+ nr = (nextp - readp) / 20;
+
+ printf (gettext ("\n Address list at offset %#" PRIx32
+ " contains %zu entries:\n"),
+ addr_off, nr);
+
+ n = 0;
+ while (readp + 20 <= dataend && n < nr)
+ {
+ uint64_t low = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ uint64_t high = read_8ubyte_unaligned (dbg, readp);
+ readp += 8;
+
+ uint32_t idx = read_4ubyte_unaligned (dbg, readp);
+ readp += 4;
+
+ char *l = format_dwarf_addr (dwflmod, 8, low);
+ char *h = format_dwarf_addr (dwflmod, 8, high - 1);
+ printf (" [%4zu] %s..%s, CU index: %5" PRId32 "\n",
+ n, l, h, idx);
+ n++;
+ }
+
+ readp = data->d_buf + sym_off;
+ nextp = data->d_buf + const_off;
+ nr = (nextp - readp) / 8;
+
+ printf (gettext ("\n Symbol table at offset %#" PRIx32
+ " contains %zu slots:\n"),
+ addr_off, nr);
+
+ n = 0;
+ while (readp + 8 <= dataend && n < nr)
+ {
+ uint32_t name = read_4ubyte_unaligned (dbg, readp);
+ readp += 4;
+
+ uint32_t vector = read_4ubyte_unaligned (dbg, readp);
+ readp += 4;
+
+ if (name != 0 || vector != 0)
+ {
+ const unsigned char *sym = data->d_buf + const_off + name;
+ if (unlikely (sym > dataend))
+ goto invalid_data;
+
+ printf (" [%4zu] symbol: %s, CUs: ", n, sym);
+
+ const unsigned char *readcus = data->d_buf + const_off + vector;
+ if (unlikely (readcus + 8 > dataend))
+ goto invalid_data;
+
+ uint32_t cus = read_4ubyte_unaligned (dbg, readcus);
+ while (cus--)
+ {
+ uint32_t cu;
+ readcus += 4;
+ cu = read_4ubyte_unaligned (dbg, readcus);
+ printf ("%" PRId32 "%s", cu, ((cus > 0) ? ", " : ""));
+ }
+ printf ("\n");
+ }
+ n++;
+ }
+}
static void
print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
@@ -6916,7 +7285,11 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
/* Before we start the real work get a debug context descriptor. */
Dwarf_Addr dwbias;
Dwarf *dbg = dwfl_module_getdwarf (dwflmod, &dwbias);
- Dwarf dummy_dbg = { .other_byte_order = MY_ELFDATA != ehdr->e_ident[EI_DATA] };
+ Dwarf dummy_dbg =
+ {
+ .elf = ebl->elf,
+ .other_byte_order = MY_ELFDATA != ehdr->e_ident[EI_DATA]
+ };
if (dbg == NULL)
{
if ((print_debug_sections & ~section_exception) != 0)
@@ -6968,7 +7341,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
{ ".eh_frame_hdr", section_frame | section_exception,
print_debug_frame_hdr_section },
{ ".gcc_except_table", section_frame | section_exception,
- print_debug_exception_table }
+ print_debug_exception_table },
+ { ".gdb_index", section_gdb_index, print_gdb_index_section }
};
const int ndebug_sections = (sizeof (debug_sections)
/ sizeof (debug_sections[0]));
@@ -6977,7 +7351,13 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
int n;
for (n = 0; n < ndebug_sections; ++n)
- if (strcmp (name, debug_sections[n].name) == 0)
+ if (strcmp (name, debug_sections[n].name) == 0
+#if USE_ZLIB
+ || (name[0] == '.' && name[1] == 'z'
+ && debug_sections[n].name[1] == 'd'
+ && strcmp (&name[2], &debug_sections[n].name[1]) == 0)
+#endif
+ )
{
if ((print_debug_sections | implicit_debug_sections)
& debug_sections[n].bitmask)
@@ -7785,7 +8165,7 @@ handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
ehdr->e_type == ET_CORE
? ebl_core_note_type_name (ebl, nhdr.n_type,
buf, sizeof (buf))
- : ebl_object_note_type_name (ebl, nhdr.n_type,
+ : ebl_object_note_type_name (ebl, name, nhdr.n_type,
buf2, sizeof (buf2)));
/* Filter out invalid entries. */
diff --git a/elfutils/src/size.c b/elfutils/src/size.c
index d3dc1fe5..14dafc48 100644
--- a/elfutils/src/size.c
+++ b/elfutils/src/size.c
@@ -1,5 +1,5 @@
/* Print size information from ELF file.
- Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007,2009 Red Hat, Inc.
+ Copyright (C) 2000-2007,2009,2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -220,7 +220,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/strings.c b/elfutils/src/strings.c
index 21380981..442901e5 100644
--- a/elfutils/src/strings.c
+++ b/elfutils/src/strings.c
@@ -1,5 +1,5 @@
/* Print the strings of printable characters in files.
- Copyright (C) 2005-2010 Red Hat, Inc.
+ Copyright (C) 2005-2010, 2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -228,7 +228,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/elfutils/src/strip.c b/elfutils/src/strip.c
index 99374eb3..78f683a8 100644
--- a/elfutils/src/strip.c
+++ b/elfutils/src/strip.c
@@ -1,5 +1,5 @@
/* Discard section not used at runtime from object files.
- Copyright (C) 2000-2011 Red Hat, Inc.
+ Copyright (C) 2000-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -53,6 +53,7 @@
#include <libebl.h>
#include <system.h>
+typedef uint8_t GElf_Byte;
/* Name and version of program. */
static void print_version (FILE *stream, struct argp_state *state);
@@ -66,6 +67,7 @@ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
#define OPT_REMOVE_COMMENT 0x100
#define OPT_PERMISSIVE 0x101
#define OPT_STRIP_SECTIONS 0x102
+#define OPT_RELOC_DEBUG 0x103
/* Definitions of arguments for argp functions. */
@@ -85,6 +87,8 @@ static const struct argp_option options[] =
N_("Remove section headers (not recommended)"), 0 },
{ "preserve-dates", 'p', NULL, 0,
N_("Copy modified/access timestamps to the output"), 0 },
+ { "reloc-debug-sections", OPT_RELOC_DEBUG, NULL, 0,
+ N_("Resolve all trivial relocations between debug sections if the removed sections are placed in a debug file (only relevant for ET_REL files, operation is not reversable, needs -f)"), 0 },
{ "remove-comment", OPT_REMOVE_COMMENT, NULL, 0,
N_("Remove .comment section"), 0 },
{ "remove-section", 'R', "SECTION", OPTION_HIDDEN, NULL, 0 },
@@ -149,6 +153,9 @@ static bool remove_shdrs;
/* If true relax some ELF rules for input files. */
static bool permissive;
+/* If true perform relocations between debug sections. */
+static bool reloc_debug;
+
int
main (int argc, char *argv[])
@@ -177,6 +184,10 @@ main (int argc, char *argv[])
if (argp_parse (&argp, argc, argv, 0, &remaining, NULL) != 0)
return EXIT_FAILURE;
+ if (reloc_debug && debug_fname == NULL)
+ error (EXIT_FAILURE, 0,
+ gettext ("--reloc-debug-sections used without -f"));
+
/* Tell the library which version we are expecting. */
elf_version (EV_CURRENT);
@@ -211,7 +222,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
@@ -253,6 +264,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
preserve_dates = true;
break;
+ case OPT_RELOC_DEBUG:
+ reloc_debug = true;
+ break;
+
case OPT_REMOVE_COMMENT:
remove_comment = true;
break;
@@ -447,10 +462,12 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
int debug_fd = -1;
- /* Get the EBL handling. The -g option is currently the only reason
+ /* Get the EBL handling. Removing all debugging symbols with the -g
+ option or resolving all relocations between debug sections with
+ the --reloc-debug-sections option are currently the only reasons
we need EBL so don't open the backend unless necessary. */
Ebl *ebl = NULL;
- if (remove_debug)
+ if (remove_debug || reloc_debug)
{
ebl = ebl_openbackend (elf);
if (ebl == NULL)
@@ -726,6 +743,22 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
|| shdr_info[cnt].shdr.sh_type == SHT_RELA)
&& shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
shdr_info[cnt].idx = 1;
+
+ /* If a group section is marked as being removed make
+ sure all the sections it contains are being removed, too. */
+ if (shdr_info[cnt].shdr.sh_type == SHT_GROUP)
+ {
+ Elf32_Word *grpref;
+ grpref = (Elf32_Word *) shdr_info[cnt].data->d_buf;
+ for (size_t in = 1;
+ in < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
+ ++in)
+ if (shdr_info[grpref[in]].idx != 0)
+ {
+ shdr_info[cnt].idx = 1;
+ break;
+ }
+ }
}
if (shdr_info[cnt].idx == 1)
@@ -883,6 +916,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
bool discard_section = (shdr_info[cnt].idx > 0
&& shdr_info[cnt].debug_data == NULL
&& shdr_info[cnt].shdr.sh_type != SHT_NOTE
+ && shdr_info[cnt].shdr.sh_type != SHT_GROUP
&& cnt != ehdr->e_shstrndx);
/* Set the section header in the new file. */
@@ -912,7 +946,8 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
*debugdata = *shdr_info[cnt].data;
if (discard_section)
debugdata->d_buf = NULL;
- else if (shdr_info[cnt].debug_data != NULL)
+ else if (shdr_info[cnt].debug_data != NULL
+ || shdr_info[cnt].shdr.sh_type == SHT_GROUP)
{
/* Copy the original data before it gets modified. */
shdr_info[cnt].debug_data = debugdata;
@@ -1110,7 +1145,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
shdr_info[shdr_info[cnt].shdr.sh_info].idx;
/* Get the data from the old file if necessary. We already
- created the data for the section header string table. */
+ created the data for the section header string table. */
if (cnt < shnum)
{
if (shdr_info[cnt].data == NULL)
@@ -1261,9 +1296,15 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
}
else if (debug_fname == NULL
|| shdr_info[cnt].debug_data == NULL)
- /* This is a section symbol for a section which has
- been removed. */
- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
+ /* This is a section or group signature symbol
+ for a section which has been removed. */
+ {
+ size_t sidx = (sym->st_shndx != SHN_XINDEX
+ ? sym->st_shndx : xshndx);
+ assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
+ || (shdr_info[sidx].shdr.sh_type == SHT_GROUP
+ && shdr_info[sidx].shdr.sh_info == inner));
+ }
}
if (destidx != inner)
@@ -1585,6 +1626,219 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
}
}
+ /* Remove any relocations between debug sections in ET_REL
+ for the debug file when requested. These relocations are always
+ zero based between the unallocated sections. */
+ if (debug_fname != NULL && reloc_debug && ehdr->e_type == ET_REL)
+ {
+ scn = NULL;
+ cnt = 0;
+ while ((scn = elf_nextscn (debugelf, scn)) != NULL)
+ {
+ cnt++;
+ /* We need the actual section and header from the debugelf
+ not just the cached original in shdr_info because we
+ might want to change the size. */
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA)
+ {
+ /* Make sure that this relocation section points to a
+ section to relocate with contents, that isn't
+ allocated and that is a debug section. */
+ Elf_Scn *tscn = elf_getscn (debugelf, shdr->sh_info);
+ GElf_Shdr tshdr_mem;
+ GElf_Shdr *tshdr = gelf_getshdr (tscn, &tshdr_mem);
+ if (tshdr->sh_type == SHT_NOBITS
+ || tshdr->sh_size == 0
+ || (tshdr->sh_flags & SHF_ALLOC) != 0)
+ continue;
+
+ const char *tname = elf_strptr (debugelf, shstrndx,
+ tshdr->sh_name);
+ if (! tname || ! ebl_debugscn_p (ebl, tname))
+ continue;
+
+ /* OK, lets relocate all trivial cross debug section
+ relocations. */
+ Elf_Data *reldata = elf_getdata (scn, NULL);
+ /* We actually wanted the rawdata, but since we already
+ accessed it earlier as elf_getdata () that won't
+ work. But debug sections are all ELF_T_BYTE, so it
+ doesn't really matter. */
+ Elf_Data *tdata = elf_getdata (tscn, NULL);
+ if (tdata->d_type != ELF_T_BYTE)
+ INTERNAL_ERROR (fname);
+
+ /* Pick up the symbol table and shndx table to
+ resolve relocation symbol indexes. */
+ Elf64_Word symt = shdr->sh_link;
+ Elf_Data *symdata, *xndxdata;
+ symdata = (shdr_info[symt].debug_data
+ ?: shdr_info[symt].data);
+ xndxdata = (shdr_info[shdr_info[symt].symtab_idx].debug_data
+ ?: shdr_info[shdr_info[symt].symtab_idx].data);
+
+ /* Apply one relocation. Returns true when trivial
+ relocation actually done. */
+ bool relocate (GElf_Addr offset, const GElf_Sxword addend,
+ bool is_rela, int rtype, int symndx)
+ {
+ /* R_*_NONE relocs can always just be removed. */
+ if (rtype == 0)
+ return true;
+
+ /* We only do simple absolute relocations. */
+ Elf_Type type = ebl_reloc_simple_type (ebl, rtype);
+ if (type == ELF_T_NUM)
+ return false;
+
+ /* These are the types we can relocate. */
+#define TYPES DO_TYPE (BYTE, Byte); DO_TYPE (HALF, Half); \
+ DO_TYPE (WORD, Word); DO_TYPE (SWORD, Sword); \
+ DO_TYPE (XWORD, Xword); DO_TYPE (SXWORD, Sxword)
+
+ /* And only for relocations against other debug sections. */
+ GElf_Sym sym_mem;
+ Elf32_Word xndx;
+ GElf_Sym *sym = gelf_getsymshndx (symdata, xndxdata,
+ symndx, &sym_mem,
+ &xndx);
+ Elf32_Word sec = (sym->st_shndx == SHN_XINDEX
+ ? xndx : sym->st_shndx);
+ if (ebl_debugscn_p (ebl, shdr_info[sec].name))
+ {
+ size_t size;
+
+#define DO_TYPE(NAME, Name) GElf_##Name Name;
+ union { TYPES; } tmpbuf;
+#undef DO_TYPE
+
+ switch (type)
+ {
+#define DO_TYPE(NAME, Name) \
+ case ELF_T_##NAME: \
+ size = sizeof (GElf_##Name); \
+ tmpbuf.Name = 0; \
+ break;
+ TYPES;
+#undef DO_TYPE
+ default:
+ return false;
+ }
+
+ if (offset > tdata->d_size
+ || tdata->d_size - offset < size)
+ error (0, 0, gettext ("bad relocation"));
+
+ /* When the symbol value is zero then for SHT_REL
+ sections this is all that needs to be checked.
+ The addend is contained in the original data at
+ the offset already. So if the (section) symbol
+ address is zero and the given addend is zero
+ just remove the relocation, it isn't needed
+ anymore. */
+ if (addend == 0 && sym->st_value == 0)
+ return true;
+
+ Elf_Data tmpdata =
+ {
+ .d_type = type,
+ .d_buf = &tmpbuf,
+ .d_size = size,
+ .d_version = EV_CURRENT,
+ };
+ Elf_Data rdata =
+ {
+ .d_type = type,
+ .d_buf = tdata->d_buf + offset,
+ .d_size = size,
+ .d_version = EV_CURRENT,
+ };
+
+ GElf_Addr value = sym->st_value;
+ if (is_rela)
+ {
+ /* For SHT_RELA sections we just take the
+ given addend and add it to the value. */
+ value += addend;
+ }
+ else
+ {
+ /* For SHT_REL sections we have to peek at
+ what is already in the section at the given
+ offset to get the addend. */
+ Elf_Data *d = gelf_xlatetom (debugelf, &tmpdata,
+ &rdata,
+ ehdr->e_ident[EI_DATA]);
+ if (d == NULL)
+ INTERNAL_ERROR (fname);
+ assert (d == &tmpdata);
+ }
+
+ switch (type)
+ {
+#define DO_TYPE(NAME, Name) \
+ case ELF_T_##NAME: \
+ tmpbuf.Name += (GElf_##Name) value; \
+ break;
+ TYPES;
+#undef DO_TYPE
+ default:
+ abort ();
+ }
+
+ /* Now finally put in the new value. */
+ Elf_Data *s = gelf_xlatetof (debugelf, &rdata,
+ &tmpdata,
+ ehdr->e_ident[EI_DATA]);
+ if (s == NULL)
+ INTERNAL_ERROR (fname);
+ assert (s == &rdata);
+
+ return true;
+ }
+ return false;
+ }
+
+ size_t nrels = shdr->sh_size / shdr->sh_entsize;
+ size_t next = 0;
+ if (shdr->sh_type == SHT_REL)
+ for (size_t relidx = 0; relidx < nrels; ++relidx)
+ {
+ GElf_Rel rel_mem;
+ GElf_Rel *r = gelf_getrel (reldata, relidx, &rel_mem);
+ if (! relocate (r->r_offset, 0, false,
+ GELF_R_TYPE (r->r_info),
+ GELF_R_SYM (r->r_info)))
+ {
+ if (relidx != next)
+ gelf_update_rel (reldata, next, r);
+ ++next;
+ }
+ }
+ else
+ for (size_t relidx = 0; relidx < nrels; ++relidx)
+ {
+ GElf_Rela rela_mem;
+ GElf_Rela *r = gelf_getrela (reldata, relidx, &rela_mem);
+ if (! relocate (r->r_offset, r->r_addend, true,
+ GELF_R_TYPE (r->r_info),
+ GELF_R_SYM (r->r_info)))
+ {
+ if (relidx != next)
+ gelf_update_rela (reldata, next, r);
+ ++next;
+ }
+ }
+
+ nrels = next;
+ shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
+ gelf_update_shdr (scn, shdr);
+ }
+ }
+ }
+
/* Now that we have done all adjustments to the data,
we can actually write out the debug file. */
if (debug_fname != NULL)
diff --git a/elfutils/src/unstrip.c b/elfutils/src/unstrip.c
index 3283d736..f62010a3 100644
--- a/elfutils/src/unstrip.c
+++ b/elfutils/src/unstrip.c
@@ -1,5 +1,5 @@
/* Combine stripped files with separate symbols and debug information.
- Copyright (C) 2007-2011 Red Hat, Inc.
+ Copyright (C) 2007-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Roland McGrath <roland@redhat.com>, 2007.
@@ -235,7 +235,7 @@ print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
Copyright (C) %s Red Hat, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2009");
+"), "2012");
fprintf (stream, gettext ("Written by %s.\n"), "Roland McGrath");
}
@@ -706,7 +706,7 @@ compare_sections_rel (const void *a, const void *b)
return compare_sections (a, b, true);
}
-int
+static int
compare_sections_nonrel (const void *a, const void *b)
{
return compare_sections (a, b, false);
diff --git a/elfutils/tests/ChangeLog b/elfutils/tests/ChangeLog
index bc788431..028055b5 100644
--- a/elfutils/tests/ChangeLog
+++ b/elfutils/tests/ChangeLog
@@ -1,3 +1,77 @@
+2012-02-21 Roland McGrath <roland@hack.frob.com>
+
+ * test-wrapper.sh: Add ${libdir}/elfutils to LD_LIBRARY_PATH.
+ * test-subr.sh (installed_testrun): Likewise.
+
+2012-01-18 Roland McGrath <roland@hack.frob.com>
+
+ * asm-tst4.c (main): Don't set LD_LIBRARY_PATH in system invocation;
+ it will have been inherited correctly from the test harness.
+ * asm-tst5.c (main): Likewise.
+ * asm-tst6.c (main): Likewise.
+ Reported by Serge Pavlov <serge.pavlov.at.gnu@gmail.com>.
+
+2011-07-09 Roland McGrath <roland@hack.frob.com>
+
+ * sha1-tst.c: File removed.
+ * Makefile.am (noinst_PROGRAMS, TESTS): Remove it.
+ (sha1_tst_LDADD): Variable removed.
+
+ * md5-sha1-test.c: New file.
+ * Makefile.am [!STANDALONE] (noinst_PROGRAMS, TESTS): Add it.
+ (md5_sha1_test_LDADD): New variable.
+
+2011-05-30 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (EXTRA_DIST): Add run-readelf-twofiles.sh and
+ run-rerequest_tag.sh
+
+2011-05-24 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (EXTRA_DIST): Add hello_s390.ko.bz2.
+ * run-strip-reloc.sh: Add hello_s390.ko testcase.
+ * hello_s390.ko.bz2: New test file.
+
+2011-05-23 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (TESTS): Add run-strip-reloc.sh.
+ (EXTRA_DIST): Add run-strip-reloc.sh, hello_i386.ko.bz2
+ hello_x86_64.ko.bz2 and hello_ppc64.ko.bz2
+ * run-strip-reloc.sh: New test.
+ * hello_i386.ko.bz2: New test file.
+ * hello_x86_64.ko.bz2: Likewise.
+ * hello_ppc64.ko.bz2: Likewise.
+
+2011-05-18 Mark Wielaard <mjw@redhat.com>
+
+ * run-strip-groups.sh: New test.
+ * testfile58.bz2: New test file.
+ * Makefile.am (EXTRA_DIST): Add testfile58.bz2.
+ (TESTS): Add run-strip-groups.sh.
+ (EXTRA_DIST): Likewise.
+
+2011-03-28 Marek Polacek <mpolacek@redhat.com>
+
+ * alldts.c: New file.
+ * run-alldts.sh: Use it.
+ * Makefile.am (TESTS, EXTRA_DIST, noinst_PROGRAMS): Add them.
+ (alldts_LDADD): New variable.
+
+2011-03-02 Marek Polacek <mpolacek@redhat.com>
+
+ * dwarf-getstring.c: New test.
+ * run-dwarf-getstring.sh: And its wrapper.
+ * Makefile.am (EXTRA_DIST): Add and update all.
+
+2011-02-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * Makefile.am (TESTS): Add run-readelf-twofiles.sh.
+ * run-readelf-twofiles.sh: New file.
+
+2011-02-25 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (BUILD_RPATH): Be consistent in naming.
+
2011-02-02 Josh Stone <jistone@redhat.com>
* run-prelink-addr-test.sh: Add testfile55, 32 and 64-bit.
diff --git a/elfutils/tests/Makefile.am b/elfutils/tests/Makefile.am
index b317553d..3074c893 100644
--- a/elfutils/tests/Makefile.am
+++ b/elfutils/tests/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 1996-2010 Red Hat, Inc.
+## Copyright (C) 1996-2011 Red Hat, Inc.
## This file is part of Red Hat elfutils.
##
## Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -28,7 +28,7 @@ include $(top_srcdir)/config/eu.am
if MUDFLAP
BUILD_RPATH = \$$ORIGIN/../backends
else
-BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
+BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
endif
AM_LDFLAGS =
@@ -42,7 +42,7 @@ AM_LDFLAGS += -Wl,-rpath-link,../libasm:../libdw:../libelf
endif
if TESTS_RPATH
-AM_LDFLAGS += -Wl,-rpath,$(BUILT_RPATH)
+AM_LDFLAGS += -Wl,-rpath,$(BUILD_RPATH)
tests_rpath = yes
else
tests_rpath = no
@@ -57,7 +57,8 @@ noinst_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
dwfl-bug-addr-overflow arls dwfl-bug-fd-leak \
dwfl-addr-sect dwfl-bug-report early-offscn \
dwfl-bug-getmodules dwarf-getmacros addrcfi \
- test-flag-nobits
+ test-flag-nobits dwarf-getstring rerequest_tag \
+ alldts md5-sha1-test
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
asm-tst6 asm-tst7 asm-tst8 asm-tst9
@@ -69,26 +70,28 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
newscn run-strip-test.sh run-strip-test2.sh \
run-strip-test3.sh run-strip-test4.sh run-strip-test5.sh \
run-strip-test6.sh run-strip-test7.sh run-strip-test8.sh \
+ run-strip-groups.sh run-strip-reloc.sh \
run-unstrip-test.sh run-unstrip-test2.sh \
- run-ecp-test.sh run-ecp-test2.sh \
+ run-ecp-test.sh run-ecp-test2.sh run-alldts.sh \
run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-find-prologues.sh run-allregs.sh \
run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
- run-readelf-test4.sh \
+ run-readelf-test4.sh run-readelf-twofiles.sh \
run-native-test.sh run-bug1-test.sh \
dwfl-bug-addr-overflow run-addrname-test.sh \
dwfl-bug-fd-leak dwfl-bug-report \
run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
run-disasm-x86.sh run-disasm-x86-64.sh \
run-early-offscn.sh run-dwarf-getmacros.sh \
- run-test-flag-nobits.sh run-prelink-addr-test.sh
+ run-test-flag-nobits.sh run-prelink-addr-test.sh \
+ run-dwarf-getstring.sh run-rerequest_tag.sh
# run-show-ciefde.sh
if !STANDALONE
-noinst_PROGRAMS += msg_tst sha1-tst
-TESTS += msg_tst sha1-tst
+noinst_PROGRAMS += msg_tst md5-sha1-test
+TESTS += msg_tst md5-sha1-test
endif
if HAVE_LIBASM
@@ -108,7 +111,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
- run-strip-test7.sh run-strip-test8.sh \
+ run-strip-test7.sh run-strip-test8.sh run-strip-groups.sh \
+ run-strip-reloc.sh hello_i386.ko.bz2 hello_x86_64.ko.bz2 \
+ hello_ppc64.ko.bz2 hello_s390.ko.bz2 \
run-unstrip-test.sh run-unstrip-test2.sh \
run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
run-ranlib-test3.sh run-ranlib-test4.sh \
@@ -117,6 +122,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
run-dwfl-addr-sect.sh run-early-offscn.sh \
run-dwarf-getmacros.sh run-test-flag-nobits.sh \
+ run-dwarf-getstring.sh run-rerequest_tag.sh run-alldts.sh \
testfile15.bz2 testfile15.debug.bz2 \
testfile16.bz2 testfile16.debug.bz2 \
testfile17.bz2 testfile17.debug.bz2 \
@@ -127,7 +133,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile26.bz2 testfile27.bz2 \
coverage.sh test-subr.sh test-wrapper.sh \
run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
- run-readelf-test4.sh \
+ run-readelf-test4.sh run-readelf-twofiles.sh \
run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
testfile29.bz2 testfile29.rdwr.bz2 \
testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
@@ -154,7 +160,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile54-64.prelink.so.bz2 testfile54-64.noshdrs.so.bz2 \
testfile55-32.bz2 testfile55-32.debug.bz2 \
testfile55-32.prelink.bz2 testfile55-64.bz2 \
- testfile55-64.debug.bz2 testfile55-64.prelink.bz2
+ testfile55-64.debug.bz2 testfile55-64.prelink.bz2 \
+ testfile56.bz2 testfile57.bz2 testfile58.bz2
installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \
bindir=$(DESTDIR)$(bindir) \
@@ -244,10 +251,13 @@ dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-sha1_tst_LDADD = $(libeu) $(libmudflap)
dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
+dwarf_getstring_LDADD = $(libdw) $(libmudflap)
addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
test_flag_nobits_LDADD = $(libelf) $(libmudflap)
+rerequest_tag_LDADD = $(libdw) $(libmudflap)
+alldts_LDADD = $(libebl) $(libelf) $(libmudflap)
+md5_sha1_test_LDADD = $(libeu)
if GCOV
check: check-am coverage
diff --git a/elfutils/tests/Makefile.in b/elfutils/tests/Makefile.in
index f9d93ed3..88e85976 100644
--- a/elfutils/tests/Makefile.in
+++ b/elfutils/tests/Makefile.in
@@ -43,7 +43,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
@STANDALONE_FALSE@ -I$(top_srcdir)/lib -I..
@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf
-@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILT_RPATH)
+@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
@@ -59,7 +59,9 @@ noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
dwfl-addr-sect$(EXEEXT) dwfl-bug-report$(EXEEXT) \
early-offscn$(EXEEXT) dwfl-bug-getmodules$(EXEEXT) \
dwarf-getmacros$(EXEEXT) addrcfi$(EXEEXT) \
- test-flag-nobits$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_3)
+ test-flag-nobits$(EXEEXT) dwarf-getstring$(EXEEXT) \
+ rerequest_tag$(EXEEXT) alldts$(EXEEXT) md5-sha1-test$(EXEEXT) \
+ $(am__EXEEXT_1) $(am__EXEEXT_3)
TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \
test-nlist$(EXEEXT) update1$(EXEEXT) update2$(EXEEXT) \
update3$(EXEEXT) update4$(EXEEXT) run-show-die-info.sh \
@@ -68,23 +70,25 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \
run-line2addr.sh hash$(EXEEXT) newscn$(EXEEXT) \
run-strip-test.sh run-strip-test2.sh run-strip-test3.sh \
run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
- run-strip-test7.sh run-strip-test8.sh run-unstrip-test.sh \
- run-unstrip-test2.sh run-ecp-test.sh run-ecp-test2.sh \
+ run-strip-test7.sh run-strip-test8.sh run-strip-groups.sh \
+ run-strip-reloc.sh run-unstrip-test.sh run-unstrip-test2.sh \
+ run-ecp-test.sh run-ecp-test2.sh run-alldts.sh \
run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-find-prologues.sh run-allregs.sh run-readelf-test1.sh \
run-readelf-test2.sh run-readelf-test3.sh run-readelf-test4.sh \
- run-native-test.sh run-bug1-test.sh \
+ run-readelf-twofiles.sh run-native-test.sh run-bug1-test.sh \
dwfl-bug-addr-overflow$(EXEEXT) run-addrname-test.sh \
dwfl-bug-fd-leak$(EXEEXT) dwfl-bug-report$(EXEEXT) \
run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
run-disasm-x86.sh run-disasm-x86-64.sh run-early-offscn.sh \
run-dwarf-getmacros.sh run-test-flag-nobits.sh \
- run-prelink-addr-test.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
+ run-prelink-addr-test.sh run-dwarf-getstring.sh \
+ run-rerequest_tag.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
# run-show-ciefde.sh
-@STANDALONE_FALSE@am__append_5 = msg_tst sha1-tst
-@STANDALONE_FALSE@am__append_6 = msg_tst sha1-tst
+@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
+@STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
@HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
subdir = tests
@@ -98,7 +102,8 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-@STANDALONE_FALSE@am__EXEEXT_1 = msg_tst$(EXEEXT) sha1-tst$(EXEEXT)
+@STANDALONE_FALSE@am__EXEEXT_1 = msg_tst$(EXEEXT) \
+@STANDALONE_FALSE@ md5-sha1-test$(EXEEXT)
am__EXEEXT_2 = asm-tst1$(EXEEXT) asm-tst2$(EXEEXT) asm-tst3$(EXEEXT) \
asm-tst4$(EXEEXT) asm-tst5$(EXEEXT) asm-tst6$(EXEEXT) \
asm-tst7$(EXEEXT) asm-tst8$(EXEEXT) asm-tst9$(EXEEXT)
@@ -124,6 +129,10 @@ addrcfi_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_3) \
addrscopes_SOURCES = addrscopes.c
addrscopes_OBJECTS = addrscopes.$(OBJEXT)
addrscopes_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+alldts_SOURCES = alldts.c
+alldts_OBJECTS = alldts.$(OBJEXT)
+alldts_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
allfcts_SOURCES = allfcts.c
allfcts_OBJECTS = allfcts.$(OBJEXT)
allfcts_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_2) \
@@ -184,6 +193,10 @@ dwarf_getmacros_SOURCES = dwarf-getmacros.c
dwarf_getmacros_OBJECTS = dwarf-getmacros.$(OBJEXT)
dwarf_getmacros_DEPENDENCIES = $(am__DEPENDENCIES_4) \
$(am__DEPENDENCIES_1)
+dwarf_getstring_SOURCES = dwarf-getstring.c
+dwarf_getstring_OBJECTS = dwarf-getstring.$(OBJEXT)
+dwarf_getstring_DEPENDENCIES = $(am__DEPENDENCIES_4) \
+ $(am__DEPENDENCIES_1)
dwfl_addr_sect_SOURCES = dwfl-addr-sect.c
dwfl_addr_sect_OBJECTS = dwfl-addr-sect.$(OBJEXT)
dwfl_addr_sect_DEPENDENCIES = $(am__DEPENDENCIES_4) \
@@ -252,6 +265,9 @@ hash_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
line2addr_SOURCES = line2addr.c
line2addr_OBJECTS = line2addr.$(OBJEXT)
line2addr_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+md5_sha1_test_SOURCES = md5-sha1-test.c
+md5_sha1_test_OBJECTS = md5-sha1-test.$(OBJEXT)
+md5_sha1_test_DEPENDENCIES = $(libeu)
msg_tst_SOURCES = msg_tst.c
msg_tst_OBJECTS = msg_tst.$(OBJEXT)
msg_tst_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
@@ -264,6 +280,10 @@ newscn_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
rdwrmmap_SOURCES = rdwrmmap.c
rdwrmmap_OBJECTS = rdwrmmap.$(OBJEXT)
rdwrmmap_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+rerequest_tag_SOURCES = rerequest_tag.c
+rerequest_tag_OBJECTS = rerequest_tag.$(OBJEXT)
+rerequest_tag_DEPENDENCIES = $(am__DEPENDENCIES_4) \
+ $(am__DEPENDENCIES_1)
saridx_SOURCES = saridx.c
saridx_OBJECTS = saridx.$(OBJEXT)
saridx_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
@@ -273,9 +293,6 @@ scnnames_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
sectiondump_SOURCES = sectiondump.c
sectiondump_OBJECTS = sectiondump.$(OBJEXT)
sectiondump_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
-sha1_tst_SOURCES = sha1-tst.c
-sha1_tst_OBJECTS = sha1-tst.$(OBJEXT)
-sha1_tst_DEPENDENCIES = $(libeu) $(am__DEPENDENCIES_1)
show_abbrev_SOURCES = show-abbrev.c
show_abbrev_OBJECTS = show-abbrev.$(OBJEXT)
show_abbrev_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_2) \
@@ -316,28 +333,30 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = addrcfi.c addrscopes.c allfcts.c allregs.c arextract.c \
- arls.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c \
- asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c \
- dwarf-getmacros.c dwfl-addr-sect.c dwfl-bug-addr-overflow.c \
- dwfl-bug-fd-leak.c dwfl-bug-getmodules.c dwfl-bug-report.c \
- dwflmodtest.c early-offscn.c ecp.c find-prologues.c \
- funcretval.c funcscopes.c get-aranges.c get-files.c \
- get-lines.c get-pubnames.c hash.c line2addr.c msg_tst.c \
- newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
- sectiondump.c sha1-tst.c show-abbrev.c show-die-info.c \
+SOURCES = addrcfi.c addrscopes.c alldts.c allfcts.c allregs.c \
+ arextract.c arls.c arsymtest.c asm-tst1.c asm-tst2.c \
+ asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c \
+ asm-tst8.c asm-tst9.c dwarf-getmacros.c dwarf-getstring.c \
+ dwfl-addr-sect.c dwfl-bug-addr-overflow.c dwfl-bug-fd-leak.c \
+ dwfl-bug-getmodules.c dwfl-bug-report.c dwflmodtest.c \
+ early-offscn.c ecp.c find-prologues.c funcretval.c \
+ funcscopes.c get-aranges.c get-files.c get-lines.c \
+ get-pubnames.c hash.c line2addr.c md5-sha1-test.c msg_tst.c \
+ newfile.c newscn.c rdwrmmap.c rerequest_tag.c saridx.c \
+ scnnames.c sectiondump.c show-abbrev.c show-die-info.c \
showptable.c test-flag-nobits.c test-nlist.c update1.c \
update2.c update3.c update4.c
-DIST_SOURCES = addrcfi.c addrscopes.c allfcts.c allregs.c arextract.c \
- arls.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c \
- asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c \
- dwarf-getmacros.c dwfl-addr-sect.c dwfl-bug-addr-overflow.c \
- dwfl-bug-fd-leak.c dwfl-bug-getmodules.c dwfl-bug-report.c \
- dwflmodtest.c early-offscn.c ecp.c find-prologues.c \
- funcretval.c funcscopes.c get-aranges.c get-files.c \
- get-lines.c get-pubnames.c hash.c line2addr.c msg_tst.c \
- newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
- sectiondump.c sha1-tst.c show-abbrev.c show-die-info.c \
+DIST_SOURCES = addrcfi.c addrscopes.c alldts.c allfcts.c allregs.c \
+ arextract.c arls.c arsymtest.c asm-tst1.c asm-tst2.c \
+ asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c \
+ asm-tst8.c asm-tst9.c dwarf-getmacros.c dwarf-getstring.c \
+ dwfl-addr-sect.c dwfl-bug-addr-overflow.c dwfl-bug-fd-leak.c \
+ dwfl-bug-getmodules.c dwfl-bug-report.c dwflmodtest.c \
+ early-offscn.c ecp.c find-prologues.c funcretval.c \
+ funcscopes.c get-aranges.c get-files.c get-lines.c \
+ get-pubnames.c hash.c line2addr.c md5-sha1-test.c msg_tst.c \
+ newfile.c newscn.c rdwrmmap.c rerequest_tag.c saridx.c \
+ scnnames.c sectiondump.c show-abbrev.c show-die-info.c \
showptable.c test-flag-nobits.c test-nlist.c update1.c \
update2.c update3.c update4.c
ETAGS = etags
@@ -472,8 +491,8 @@ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
CLEANFILES = *.gcno *.gcda
textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+@MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
@MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
-@MUDFLAP_FALSE@BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
AM_LDFLAGS = $(am__append_3) $(am__append_4)
@TESTS_RPATH_FALSE@tests_rpath = no
@TESTS_RPATH_TRUE@tests_rpath = yes
@@ -491,7 +510,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
- run-strip-test7.sh run-strip-test8.sh \
+ run-strip-test7.sh run-strip-test8.sh run-strip-groups.sh \
+ run-strip-reloc.sh hello_i386.ko.bz2 hello_x86_64.ko.bz2 \
+ hello_ppc64.ko.bz2 hello_s390.ko.bz2 \
run-unstrip-test.sh run-unstrip-test2.sh \
run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
run-ranlib-test3.sh run-ranlib-test4.sh \
@@ -500,6 +521,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
run-dwfl-addr-sect.sh run-early-offscn.sh \
run-dwarf-getmacros.sh run-test-flag-nobits.sh \
+ run-dwarf-getstring.sh run-rerequest_tag.sh run-alldts.sh \
testfile15.bz2 testfile15.debug.bz2 \
testfile16.bz2 testfile16.debug.bz2 \
testfile17.bz2 testfile17.debug.bz2 \
@@ -510,7 +532,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile26.bz2 testfile27.bz2 \
coverage.sh test-subr.sh test-wrapper.sh \
run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
- run-readelf-test4.sh \
+ run-readelf-test4.sh run-readelf-twofiles.sh \
run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
testfile29.bz2 testfile29.rdwr.bz2 \
testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
@@ -537,7 +559,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile54-64.prelink.so.bz2 testfile54-64.noshdrs.so.bz2 \
testfile55-32.bz2 testfile55-32.debug.bz2 \
testfile55-32.prelink.bz2 testfile55-64.bz2 \
- testfile55-64.debug.bz2 testfile55-64.prelink.bz2
+ testfile55-64.debug.bz2 testfile55-64.prelink.bz2 \
+ testfile56.bz2 testfile57.bz2 testfile58.bz2
installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \
bindir=$(DESTDIR)$(bindir) \
@@ -611,10 +634,13 @@ dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-sha1_tst_LDADD = $(libeu) $(libmudflap)
dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
+dwarf_getstring_LDADD = $(libdw) $(libmudflap)
addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
test_flag_nobits_LDADD = $(libelf) $(libmudflap)
+rerequest_tag_LDADD = $(libdw) $(libmudflap)
+alldts_LDADD = $(libebl) $(libelf) $(libmudflap)
+md5_sha1_test_LDADD = $(libeu)
all: all-am
.SUFFIXES:
@@ -658,6 +684,9 @@ addrcfi$(EXEEXT): $(addrcfi_OBJECTS) $(addrcfi_DEPENDENCIES)
addrscopes$(EXEEXT): $(addrscopes_OBJECTS) $(addrscopes_DEPENDENCIES)
@rm -f addrscopes$(EXEEXT)
$(LINK) $(addrscopes_OBJECTS) $(addrscopes_LDADD) $(LIBS)
+alldts$(EXEEXT): $(alldts_OBJECTS) $(alldts_DEPENDENCIES)
+ @rm -f alldts$(EXEEXT)
+ $(LINK) $(alldts_OBJECTS) $(alldts_LDADD) $(LIBS)
allfcts$(EXEEXT): $(allfcts_OBJECTS) $(allfcts_DEPENDENCIES)
@rm -f allfcts$(EXEEXT)
$(LINK) $(allfcts_OBJECTS) $(allfcts_LDADD) $(LIBS)
@@ -703,6 +732,9 @@ asm-tst9$(EXEEXT): $(asm_tst9_OBJECTS) $(asm_tst9_DEPENDENCIES)
dwarf-getmacros$(EXEEXT): $(dwarf_getmacros_OBJECTS) $(dwarf_getmacros_DEPENDENCIES)
@rm -f dwarf-getmacros$(EXEEXT)
$(LINK) $(dwarf_getmacros_OBJECTS) $(dwarf_getmacros_LDADD) $(LIBS)
+dwarf-getstring$(EXEEXT): $(dwarf_getstring_OBJECTS) $(dwarf_getstring_DEPENDENCIES)
+ @rm -f dwarf-getstring$(EXEEXT)
+ $(LINK) $(dwarf_getstring_OBJECTS) $(dwarf_getstring_LDADD) $(LIBS)
dwfl-addr-sect$(EXEEXT): $(dwfl_addr_sect_OBJECTS) $(dwfl_addr_sect_DEPENDENCIES)
@rm -f dwfl-addr-sect$(EXEEXT)
$(LINK) $(dwfl_addr_sect_OBJECTS) $(dwfl_addr_sect_LDADD) $(LIBS)
@@ -754,6 +786,9 @@ hash$(EXEEXT): $(hash_OBJECTS) $(hash_DEPENDENCIES)
line2addr$(EXEEXT): $(line2addr_OBJECTS) $(line2addr_DEPENDENCIES)
@rm -f line2addr$(EXEEXT)
$(LINK) $(line2addr_OBJECTS) $(line2addr_LDADD) $(LIBS)
+md5-sha1-test$(EXEEXT): $(md5_sha1_test_OBJECTS) $(md5_sha1_test_DEPENDENCIES)
+ @rm -f md5-sha1-test$(EXEEXT)
+ $(LINK) $(md5_sha1_test_OBJECTS) $(md5_sha1_test_LDADD) $(LIBS)
msg_tst$(EXEEXT): $(msg_tst_OBJECTS) $(msg_tst_DEPENDENCIES)
@rm -f msg_tst$(EXEEXT)
$(LINK) $(msg_tst_OBJECTS) $(msg_tst_LDADD) $(LIBS)
@@ -766,6 +801,9 @@ newscn$(EXEEXT): $(newscn_OBJECTS) $(newscn_DEPENDENCIES)
rdwrmmap$(EXEEXT): $(rdwrmmap_OBJECTS) $(rdwrmmap_DEPENDENCIES)
@rm -f rdwrmmap$(EXEEXT)
$(LINK) $(rdwrmmap_OBJECTS) $(rdwrmmap_LDADD) $(LIBS)
+rerequest_tag$(EXEEXT): $(rerequest_tag_OBJECTS) $(rerequest_tag_DEPENDENCIES)
+ @rm -f rerequest_tag$(EXEEXT)
+ $(LINK) $(rerequest_tag_OBJECTS) $(rerequest_tag_LDADD) $(LIBS)
saridx$(EXEEXT): $(saridx_OBJECTS) $(saridx_DEPENDENCIES)
@rm -f saridx$(EXEEXT)
$(LINK) $(saridx_OBJECTS) $(saridx_LDADD) $(LIBS)
@@ -775,9 +813,6 @@ scnnames$(EXEEXT): $(scnnames_OBJECTS) $(scnnames_DEPENDENCIES)
sectiondump$(EXEEXT): $(sectiondump_OBJECTS) $(sectiondump_DEPENDENCIES)
@rm -f sectiondump$(EXEEXT)
$(LINK) $(sectiondump_OBJECTS) $(sectiondump_LDADD) $(LIBS)
-sha1-tst$(EXEEXT): $(sha1_tst_OBJECTS) $(sha1_tst_DEPENDENCIES)
- @rm -f sha1-tst$(EXEEXT)
- $(LINK) $(sha1_tst_OBJECTS) $(sha1_tst_LDADD) $(LIBS)
show-abbrev$(EXEEXT): $(show_abbrev_OBJECTS) $(show_abbrev_DEPENDENCIES)
@rm -f show-abbrev$(EXEEXT)
$(LINK) $(show_abbrev_OBJECTS) $(show_abbrev_LDADD) $(LIBS)
@@ -814,6 +849,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrcfi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrscopes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alldts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allfcts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allregs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arextract.Po@am__quote@
@@ -829,6 +865,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst8.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst9.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf-getmacros.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf-getstring.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-addr-sect.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-addr-overflow.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-fd-leak.Po@am__quote@
@@ -846,14 +883,15 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-pubnames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/line2addr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5-sha1-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_tst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newscn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdwrmmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rerequest_tag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saridx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scnnames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sectiondump.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1-tst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-abbrev.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-die-info.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/showptable.Po@am__quote@
diff --git a/elfutils/tests/alldts.c b/elfutils/tests/alldts.c
new file mode 100644
index 00000000..ed7624a7
--- /dev/null
+++ b/elfutils/tests/alldts.c
@@ -0,0 +1,275 @@
+/* Create an ELF file with all the DT_* flags set.
+ Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Marek Polacek <mpolacek@redhat.com>, 2011.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include ELFUTILS_HEADER(ebl)
+#include <elf.h>
+#include <gelf.h>
+#include <fcntl.h>
+#include <libelf.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+int
+main (void)
+{
+ static const char fname[] = "testfile-alldts";
+ struct Ebl_Strtab *shst;
+ struct Ebl_Strent *dynscn;
+ struct Ebl_Strent *shstrtabse;
+ const Elf32_Sword dtflags[] =
+ {
+ DT_NULL, DT_NEEDED, DT_PLTRELSZ, DT_PLTGOT,
+ DT_HASH, DT_STRTAB, DT_SYMTAB, DT_RELA,
+ DT_RELASZ, DT_RELAENT, DT_STRSZ, DT_SYMENT,
+ DT_INIT, DT_FINI, DT_SONAME, DT_RPATH,
+ DT_SYMBOLIC, DT_REL, DT_RELSZ, DT_RELENT,
+ DT_PLTREL, DT_DEBUG, DT_TEXTREL, DT_JMPREL,
+ DT_BIND_NOW, DT_INIT_ARRAY, DT_FINI_ARRAY,
+ DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ, DT_RUNPATH,
+ DT_FLAGS, DT_ENCODING, DT_PREINIT_ARRAY,
+ DT_PREINIT_ARRAYSZ, DT_VERSYM, DT_GNU_PRELINKED,
+ DT_GNU_CONFLICTSZ, DT_GNU_LIBLISTSZ, DT_CHECKSUM,
+ DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE_1,
+ DT_POSFLAG_1, DT_SYMINSZ, DT_SYMINENT, DT_GNU_HASH,
+ DT_TLSDESC_PLT, DT_TLSDESC_GOT, DT_GNU_CONFLICT,
+ DT_GNU_LIBLIST, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
+ DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT,
+ DT_RELCOUNT, DT_FLAGS_1, DT_VERDEF, DT_VERDEFNUM,
+ DT_VERNEED, DT_VERNEEDNUM, DT_AUXILIARY, DT_FILTER
+ };
+ const int ndtflags = sizeof (dtflags) / sizeof (dtflags[0]);
+
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+ /* Open the file. */
+ int fd = open64 (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+ if (fd == -1)
+ {
+ printf ("cannot open `%s': %m\n", fname);
+ return 1;
+ }
+
+ /* Tell the library which version are we expecting. */
+ elf_version (EV_CURRENT);
+
+ /* Create an ELF descriptor. */
+ Elf *elf = elf_begin (fd, ELF_C_WRITE, NULL);
+ if (elf == NULL)
+ {
+ printf ("cannot create ELF descriptor: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Create an ELF header. */
+ Elf32_Ehdr *ehdr = elf32_newehdr (elf);
+ if (ehdr == NULL)
+ {
+ printf ("cannot create ELF header: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ ehdr->e_ident[0] = 42;
+ ehdr->e_ident[5] = 1;
+ ehdr->e_ident[6] = 2;
+ ehdr->e_type = ET_EXEC;
+ ehdr->e_machine = EM_386;
+ ehdr->e_version = 1;
+ ehdr->e_ehsize = 1;
+ ehdr->e_shnum = 3;
+
+ elf_flagehdr (elf, ELF_C_SET, ELF_F_DIRTY);
+
+ /* Create the program headers. */
+ Elf32_Phdr *phdr = elf32_newphdr (elf, 2);
+ if (phdr == NULL)
+ {
+ printf ("cannot create program headers: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ phdr[0].p_type = PT_PHDR;
+ phdr[1].p_type = PT_DYNAMIC;
+
+ elf_flagphdr (elf, ELF_C_SET, ELF_F_DIRTY);
+ shst = ebl_strtabinit (true);
+
+ /* Create the .dynamic section. */
+ Elf_Scn *scn = elf_newscn (elf);
+ if (scn == NULL)
+ {
+ printf ("cannot create DYNAMIC section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ if (shdr == NULL)
+ {
+ printf ("cannot get header for DYNAMIC section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ dynscn = ebl_strtabadd (shst, ".dynamic", 0);
+
+ /* We'll need to know the section offset. But this will be set up
+ by elf_update later, so for now just store the address. */
+ const Elf32_Off *const dynscn_offset = &shdr->sh_offset;
+ shdr->sh_type = SHT_DYNAMIC;
+ shdr->sh_flags = SHF_ALLOC | SHF_WRITE;
+ shdr->sh_link = SHN_UNDEF;
+ shdr->sh_info = SHN_UNDEF;
+ /* This section will start here. */
+ shdr->sh_addr = 0x1a0;
+
+ /* Create new section data. */
+ Elf_Data *data = elf_newdata (scn);
+ if (data == NULL)
+ {
+ printf ("cannot create data for DYNAMIC section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Allocate memory for all the .dynamic entries. */
+ Elf32_Dyn *dyn = malloc (ndtflags * sizeof (Elf32_Dyn));
+ if (dyn == NULL)
+ {
+ printf ("malloc failed: %m\n");
+ return 1;
+ }
+
+ /* Now write all the DT_* flags. */
+ for (int i = 0; i < ndtflags; ++i)
+ {
+ dyn[i].d_tag = dtflags[i];
+ dyn[i].d_un.d_val = 0xdeadbeef;
+ }
+
+ /* Set the pointer to allocated memory. */
+ data->d_buf = dyn;
+ data->d_type = ELF_T_DYN;
+ data->d_version = EV_CURRENT;
+ data->d_size = ndtflags * sizeof (Elf32_Dyn);
+ data->d_align = 0x8;
+
+ /* Create .shstrtab section. */
+ scn = elf_newscn (elf);
+ if (scn == NULL)
+ {
+ printf ("cannot create SHSTRTAB section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ shdr = elf32_getshdr (scn);
+ if (shdr == NULL)
+ {
+ printf ("cannot get header for SHSTRTAB section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ shstrtabse = ebl_strtabadd (shst, ".shstrtab", 0);
+
+ shdr->sh_type = SHT_STRTAB;
+ shdr->sh_flags = 0;
+ shdr->sh_addr = 0;
+ shdr->sh_link = SHN_UNDEF;
+ shdr->sh_info = SHN_UNDEF;
+ shdr->sh_entsize = 1;
+
+ /* We have to store the section index in the ELF header. */
+ ehdr->e_shstrndx = elf_ndxscn (scn);
+
+ data = elf_newdata (scn);
+ if (data == NULL)
+ {
+ printf ("cannot create data SHSTRTAB section: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* No more sections, finalize the section header string table. */
+ ebl_strtabfinalize (shst, data);
+
+ elf32_getshdr (elf_getscn (elf, 1))->sh_name = ebl_strtaboffset (dynscn);
+ shdr->sh_name = ebl_strtaboffset (shstrtabse);
+
+ /* Let the library compute the internal structure information. */
+ if (elf_update (elf, ELF_C_NULL) < 0)
+ {
+ printf ("failure in elf_update(NULL): %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ ehdr = elf32_getehdr (elf);
+
+ phdr[0].p_offset = ehdr->e_phoff;
+ phdr[0].p_vaddr = ehdr->e_phoff;
+ phdr[0].p_paddr = ehdr->e_phoff;
+ phdr[0].p_flags = PF_R | PF_X;
+ phdr[0].p_filesz = ehdr->e_phnum * elf32_fsize (ELF_T_PHDR, 1, EV_CURRENT);
+ phdr[0].p_memsz = ehdr->e_phnum * elf32_fsize (ELF_T_PHDR, 1, EV_CURRENT);
+ phdr[0].p_align = sizeof (Elf32_Word);
+
+ phdr[1].p_flags = PF_W | PF_R;
+ phdr[1].p_offset = *dynscn_offset;
+ /* Set up the start of this segment to equal start address of the
+ .dynamic section. */
+ phdr[1].p_vaddr = 0x1a0;
+ phdr[1].p_paddr = 0x1a0;
+ phdr[1].p_align = 2 * sizeof (Elf32_Word);
+ phdr[1].p_filesz = ndtflags * sizeof (Elf32_Dyn);
+ phdr[1].p_memsz = ndtflags * sizeof (Elf32_Dyn);
+
+ /* Write out the file. */
+ if (elf_update (elf, ELF_C_WRITE) < 0)
+ {
+ printf ("failure in elf_update(WRITE): %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* We don't need the string table anymore. */
+ ebl_strtabfree (shst);
+
+ /* And the data allocated in the .shstrtab section. */
+ free (data->d_buf);
+
+ /* All done. */
+ if (elf_end (elf) != 0)
+ {
+ printf ("failure in elf_end: %s\n", elf_errmsg (-1));
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/elfutils/tests/asm-tst4.c b/elfutils/tests/asm-tst4.c
index 54d054c2..19cceb59 100644
--- a/elfutils/tests/asm-tst4.c
+++ b/elfutils/tests/asm-tst4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+/* Copyright (C) 2002-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -101,8 +101,7 @@ main (void)
}
if (result == 0)
- result = WEXITSTATUS (system ("\
-env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst4-out.o"));
+ result = WEXITSTATUS (system ("../src/elflint -q asm-tst4-out.o"));
/* We don't need the file anymore. */
unlink (fname);
diff --git a/elfutils/tests/asm-tst5.c b/elfutils/tests/asm-tst5.c
index 2a8b3f02..09917fe6 100644
--- a/elfutils/tests/asm-tst5.c
+++ b/elfutils/tests/asm-tst5.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+/* Copyright (C) 2002-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -113,8 +113,7 @@ main (void)
}
if (result == 0)
- result = WEXITSTATUS (system ("\
-env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst5-out.o"));
+ result = WEXITSTATUS (system ("../src/elflint -q asm-tst5-out.o"));
/* We don't need the file anymore. */
unlink (fname);
diff --git a/elfutils/tests/asm-tst6.c b/elfutils/tests/asm-tst6.c
index bd6a71df..8fb9efb8 100644
--- a/elfutils/tests/asm-tst6.c
+++ b/elfutils/tests/asm-tst6.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+/* Copyright (C) 2002-2012 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -147,8 +147,7 @@ main (void)
}
if (result == 0)
- result = WEXITSTATUS (system ("\
-env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst6-out.o"));
+ result = WEXITSTATUS (system ("../src/elflint -q asm-tst6-out.o"));
/* We don't need the file anymore. */
unlink (fname);
diff --git a/elfutils/tests/dwarf-getstring.c b/elfutils/tests/dwarf-getstring.c
new file mode 100644
index 00000000..66ab329d
--- /dev/null
+++ b/elfutils/tests/dwarf-getstring.c
@@ -0,0 +1,85 @@
+/* Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Marek Polacek <mpolacek@redhat.com>, 2011.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include ELFUTILS_HEADER(dwfl)
+#include <assert.h>
+#include <dwarf.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <unistd.h>
+
+
+int
+main (int argc, char *argv[])
+{
+ int cnt;
+
+ for (cnt = 1; cnt < argc; ++cnt)
+ {
+ Dwarf_Off offset = 0;
+ size_t len;
+
+ int fd = open64 (argv[cnt], O_RDONLY);
+ if (fd == -1)
+ {
+ printf ("cannot open '%s': %m\n", argv[cnt]);
+ return 1;
+ }
+
+ Dwarf *dbg = dwarf_begin (fd, DWARF_C_READ);
+ if (dbg == NULL)
+ {
+ printf ("%s not usable: %s\n", argv[cnt], dwarf_errmsg (-1));
+ close (fd);
+ return 1;
+ }
+
+ /* Try to use NULL Dwarf object. */
+ const char *str = dwarf_getstring (NULL, offset, &len);
+ assert (str == NULL);
+
+ /* Use insane offset. */
+ str = dwarf_getstring (dbg, ~0UL, &len);
+ assert (str == NULL);
+
+ /* Now do some real work. */
+ for (int i = 0; i < 100; ++i)
+ {
+ str = dwarf_getstring (dbg, offset, &len);
+ puts (str);
+
+ /* Advance. */
+ offset += len + 1;
+ }
+
+ close (fd);
+ }
+
+ return 0;
+}
diff --git a/elfutils/tests/hello_i386.ko.bz2 b/elfutils/tests/hello_i386.ko.bz2
new file mode 100644
index 00000000..f89b292c
--- /dev/null
+++ b/elfutils/tests/hello_i386.ko.bz2
Binary files differ
diff --git a/elfutils/tests/hello_ppc64.ko.bz2 b/elfutils/tests/hello_ppc64.ko.bz2
new file mode 100644
index 00000000..f4d3ff20
--- /dev/null
+++ b/elfutils/tests/hello_ppc64.ko.bz2
Binary files differ
diff --git a/elfutils/tests/hello_s390.ko.bz2 b/elfutils/tests/hello_s390.ko.bz2
new file mode 100644
index 00000000..41525bf5
--- /dev/null
+++ b/elfutils/tests/hello_s390.ko.bz2
Binary files differ
diff --git a/elfutils/tests/hello_x86_64.ko.bz2 b/elfutils/tests/hello_x86_64.ko.bz2
new file mode 100644
index 00000000..ba06f91e
--- /dev/null
+++ b/elfutils/tests/hello_x86_64.ko.bz2
Binary files differ
diff --git a/elfutils/tests/md5-sha1-test.c b/elfutils/tests/md5-sha1-test.c
new file mode 100644
index 00000000..af2e80a2
--- /dev/null
+++ b/elfutils/tests/md5-sha1-test.c
@@ -0,0 +1,109 @@
+/* Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+#include <error.h>
+
+#include "md5.h"
+#include "sha1.h"
+
+static const struct expected
+{
+ const char *sample;
+ const char *md5_expected;
+ const char *sha1_expected;
+} tests[] =
+ {
+ {
+ "abc",
+ "\x90\x01\x50\x98\x3c\xd2\x4f\xb0\xd6\x96\x3f\x7d\x28\xe1\x7f\x72",
+ "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
+ "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d"
+ },
+ {
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "\x82\x15\xef\x07\x96\xa2\x0b\xca\xaa\xe1\x16\xd3\x87\x6c\x66\x4a",
+ "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
+ "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1"
+ },
+ {
+ "\0a",
+ "\x77\x07\xd6\xae\x4e\x02\x7c\x70\xee\xa2\xa9\x35\xc2\x29\x6f\x21",
+ "\x34\xaa\x97\x3c\xd4\xc4\xda\xa4\xf6\x1e"
+ "\xeb\x2b\xdb\xad\x27\x31\x65\x34\x01\x6f",
+ },
+ {
+ "When in the Course of human events it becomes necessary",
+ "\x62\x6b\x5e\x22\xcd\x3d\x02\xea\x07\xde\xd4\x50\x62\x3d\xb9\x96",
+ "\x66\xc3\xc6\x8d\x62\x91\xc5\x1e\x63\x0c"
+ "\x85\xc8\x6c\xc4\x4b\x3a\x79\x3e\x07\x28",
+ },
+ };
+#define NTESTS (sizeof tests / sizeof tests[0])
+
+#define md5_size 16
+#define sha1_size 20
+
+static const char md5_expected[] =
+ {
+ };
+
+static const char sha1_expected[] =
+ {
+ };
+
+#define TEST_HASH(ALGO, I) \
+ { \
+ struct ALGO##_ctx ctx; \
+ uint32_t result_buffer[(ALGO##_size + 3) / 4]; \
+ ALGO##_init_ctx (&ctx); \
+ if (tests[I].sample[0] == '\0') \
+ { \
+ char input_buffer[1000]; \
+ memset (input_buffer, tests[I].sample[1], sizeof input_buffer); \
+ for (int rept = 0; rept < 1000; ++rept) \
+ ALGO##_process_bytes (input_buffer, sizeof input_buffer, &ctx); \
+ } \
+ else \
+ ALGO##_process_bytes (tests[I].sample, strlen (tests[I].sample), &ctx); \
+ char *result = ALGO##_finish_ctx (&ctx, result_buffer); \
+ if (result != (void *) result_buffer \
+ || memcmp (result, tests[I].ALGO##_expected, ALGO##_size) != 0) \
+ error (0, 0, #ALGO " test %zu failed", 1 + I); \
+ }
+
+int
+main (void)
+{
+ for (size_t i = 0; i < NTESTS; ++i)
+ {
+ TEST_HASH (md5, i);
+ TEST_HASH (sha1, i);
+ }
+ return error_message_count;
+}
diff --git a/elfutils/tests/rerequest_tag.c b/elfutils/tests/rerequest_tag.c
new file mode 100644
index 00000000..bd76731e
--- /dev/null
+++ b/elfutils/tests/rerequest_tag.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+
+#include ELFUTILS_HEADER(dw)
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+
+int
+main (int argc, char **argv)
+{
+ assert (argc > 1);
+
+ int i = open (argv[1], O_RDONLY);
+ assert (i >= 0);
+
+ Dwarf *dw = dwarf_begin (i, DWARF_C_READ);
+ assert (dw != NULL);
+
+ Dwarf_Die die_mem, *die;
+ die = dwarf_offdie (dw, 11, &die_mem);
+ assert (die == &die_mem);
+ assert (dwarf_tag (die) == 0);
+
+ die = dwarf_offdie (dw, 11, &die_mem);
+ assert (die == &die_mem);
+ assert (dwarf_tag (die) == 0);
+
+ return 0;
+}
diff --git a/elfutils/tests/run-alldts.sh b/elfutils/tests/run-alldts.sh
new file mode 100755
index 00000000..327f2f14
--- /dev/null
+++ b/elfutils/tests/run-alldts.sh
@@ -0,0 +1,106 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+# This will produce "testfile-alldts" file
+./alldts
+
+testrun_compare ../src/readelf -d testfile-alldts <<\EOF
+
+Dynamic segment contains 66 entries:
+ Addr: 0x000001a0 Offset: 0x000078 Link to section: [ 0] ''
+ Type Value
+ NULL
+ NEEDED Shared library: [(null)]
+ PLTRELSZ 3735928559 (bytes)
+ PLTGOT 0xdeadbeef
+ HASH 0xdeadbeef
+ STRTAB 0xdeadbeef
+ SYMTAB 0xdeadbeef
+ RELA 0xdeadbeef
+ RELASZ 3735928559 (bytes)
+ RELAENT 3735928559 (bytes)
+ STRSZ 3735928559 (bytes)
+ SYMENT 3735928559 (bytes)
+ INIT 0xdeadbeef
+ FINI 0xdeadbeef
+ SONAME Library soname: [(null)]
+ RPATH Library rpath: [(null)]
+ SYMBOLIC 0xdeadbeef
+ REL 0xdeadbeef
+ RELSZ 3735928559 (bytes)
+ RELENT 3735928559 (bytes)
+ PLTREL ???
+ DEBUG
+ TEXTREL
+ JMPREL 0xdeadbeef
+ BIND_NOW
+ INIT_ARRAY 0xdeadbeef
+ FINI_ARRAY 0xdeadbeef
+ INIT_ARRAYSZ 3735928559 (bytes)
+ FINI_ARRAYSZ 3735928559 (bytes)
+ RUNPATH Library runpath: [(null)]
+ FLAGS ORIGIN SYMBOLIC TEXTREL BIND_NOW 0xdeadbee0
+ PREINIT_ARRAY 0xdeadbeef
+ PREINIT_ARRAY 0xdeadbeef
+ PREINIT_ARRAYSZ 0xdeadbeef
+ VERSYM 0xdeadbeef
+ GNU_PRELINKED 0xdeadbeef
+ GNU_CONFLICTSZ 3735928559 (bytes)
+ GNU_LIBLISTSZ 3735928559 (bytes)
+ CHECKSUM 0xdeadbeef
+ PLTPADSZ 3735928559 (bytes)
+ MOVEENT 3735928559 (bytes)
+ MOVESZ 3735928559 (bytes)
+ FEATURE_1 PARINIT CONFEXP 0xdeadbeec
+ POSFLAG_1 LAZYLOAD GROUPPERM 0xdeadbeec
+ SYMINSZ 3735928559 (bytes)
+ SYMINENT 3735928559 (bytes)
+ GNU_HASH 0xdeadbeef
+ TLSDESC_PLT 0xdeadbeef
+ TLSDESC_GOT 0xdeadbeef
+ GNU_CONFLICT 0xdeadbeef
+ GNU_LIBLIST 0xdeadbeef
+ CONFIG 0xdeadbeef
+ DEPAUDIT 0xdeadbeef
+ AUDIT 0xdeadbeef
+ PLTPAD 0xdeadbeef
+ MOVETAB 0xdeadbeef
+ SYMINFO 0xdeadbeef
+ RELACOUNT 3735928559
+ RELCOUNT 3735928559
+ FLAGS_1 NOW GLOBAL GROUP NODELETE INITFIRST NOOPEN ORIGIN TRANS INTERPOSE NODEFLIB NODUMP CONFALT DISPRELDNE DISPRELPND 0xdeac0000
+ VERDEF 0xdeadbeef
+ VERDEFNUM 3735928559
+ VERNEED 0xdeadbeef
+ VERNEEDNUM 3735928559
+ AUXILIARY 0xdeadbeef
+ FILTER 0xdeadbeef
+EOF
+
+rm -f testfile-alldts
+
+exit 0
diff --git a/elfutils/tests/run-dwarf-getstring.sh b/elfutils/tests/run-dwarf-getstring.sh
new file mode 100755
index 00000000..df90a584
--- /dev/null
+++ b/elfutils/tests/run-dwarf-getstring.sh
@@ -0,0 +1,133 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile11
+
+testrun_compare ./dwarf-getstring testfile11 <<\EOF
+_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_
+itimerspec
+_G_int32_t
+_IO_last_state
+antiquities
+_ZNSbIwSt11char_traitsIwESaIwEEpLEw
+insert
+_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv
+__lockkind
+_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv
+_ZNSs7_M_leakEv
+_M_ref_count
+_ZNSt11char_traitsIwE6assignEPwjw
+_ZNKSs13find_first_ofEPKcj
+._14
+._15
+._16
+._17
+_ZNKSs16find_last_not_ofEPKcj
+_G_iconv_t
+_ZN10__gnu_test9gnu_obj_2IlEaSERKS1_
+_ZN11random_dataaSERKS_
+_ZNSt11char_traitsIcE7not_eofERKi
+__class_type_info
+tm_sec
+_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv
+__rlim64_t
+seek
+pthread_mutex_t
+_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE
+_ZNSsaSEc
+__not_va_list__
+_ZNKSs12find_last_ofEPKcj
+_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_
+__gconv_info
+_ZNSt11__ios_flags12_S_showpointE
+output_iterator_tag
+gnu_obj_2<long int>
+_ZNSs6insertEjRKSsjj
+_ZN13__type_traitsIbEaSERKS0_
+_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj
+_ZNSs9_M_mutateEjjj
+__ios_flags
+short unsigned int
+_ZNKSs4findEPKcj
+compare
+_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_
+tm_yday
+unsigned char
+__stacksize
+__gconv_init_fct
+_IO_FILE
+__counter
+._26
+._27
+bidirectional_iterator_tag
+._29
+it_value
+const_iterator
+_ZNSt11__ios_flags6_S_outE
+_M_set_leaked
+_Is_integer<unsigned int>
+__value
+timeval
+_IO_jump_t
+_ZN11sched_paramaSERKS_
+__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
+_ZNSs4_Rep7_M_grabERKSaIcES2_
+_wide_vtable
+__codecvt_destr
+_STL_mutex_lock
+_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj
+_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw
+_ZN17__gconv_step_dataaSERKS_
+__w_stopval
+__int64_t
+__type_traits<double>
+~_Lock
+_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv
+ptrdiff_t
+test
+_Integral
+cookie_seek_function_t
+__vmi_class_type_info
+_ZNSs7replaceEjjjc
+__int32_t
+register_t
+~_STL_auto_lock
+_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj
+__arg
+_ZNSs7replaceEjjPKcj
+_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj
+_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj
+_ZN11_Is_integerImEaSERKS0_
+__default_alloc_template
+_S_hex
+__statep
+_ZNSt11char_traitsIwE2ltERKwS2_
+_M_p
+_ZNKSs4sizeEv
+EOF
+
+exit 0
diff --git a/elfutils/tests/run-readelf-twofiles.sh b/elfutils/tests/run-readelf-twofiles.sh
new file mode 100755
index 00000000..4255587c
--- /dev/null
+++ b/elfutils/tests/run-readelf-twofiles.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile14
+
+testrun >/dev/null ../src/readelf -w testfile14 testfile14
+
+exit 0
diff --git a/elfutils/tests/run-rerequest_tag.sh b/elfutils/tests/run-rerequest_tag.sh
new file mode 100755
index 00000000..c61a9fd6
--- /dev/null
+++ b/elfutils/tests/run-rerequest_tag.sh
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile56 testfile57
+
+testrun ./rerequest_tag testfile56
+testrun ./rerequest_tag testfile57
+
+exit 0
diff --git a/elfutils/tests/run-strip-groups.sh b/elfutils/tests/run-strip-groups.sh
new file mode 100755
index 00000000..3434a61e
--- /dev/null
+++ b/elfutils/tests/run-strip-groups.sh
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+#
+# g++ -gdwarf-4 -c testfile58.cxx
+# class ct
+# {
+# private:
+# int i;
+#
+# public:
+# void foo ()
+# {
+# i = 1;
+# }
+#
+# int bar ()
+# {
+# return i;
+# }
+# };
+#
+# int baz ()
+# {
+# class ct c;
+# c.foo ();
+# return c.bar ();
+# }
+
+. $srcdir/test-subr.sh
+
+infile=testfile58
+outfile=$infile.stripped
+dbgfile=$infile.debug
+
+testfiles $infile
+tempfiles $outfile $dbgfile
+
+testrun ../src/strip -o $outfile -f $dbgfile $infile
+testrun ../src/elflint -q $infile
+testrun ../src/elflint -q $outfile
+testrun ../src/elflint -q -d $dbgfile
diff --git a/elfutils/tests/run-strip-reloc.sh b/elfutils/tests/run-strip-reloc.sh
new file mode 100755
index 00000000..0f4919ad
--- /dev/null
+++ b/elfutils/tests/run-strip-reloc.sh
@@ -0,0 +1,115 @@
+#! /bin/sh
+# Copyright (C) 2011 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles hello_i386.ko hello_x86_64.ko hello_ppc64.ko hello_s390.ko
+
+status=0
+runtest() {
+ infile=$1
+ is_ET_REL=$2
+ outfile1=out.stripped1
+ debugfile1=out.debug1
+ outfile2=out.stripped2
+ debugfile2=out.debug2
+
+ testrun ../src/strip -o $outfile1 -f $debugfile1 $infile ||
+ { echo "*** failure strip $infile"; status=1; }
+
+ testrun ../src/strip --reloc-debug-sections -o $outfile2 \
+ -f $debugfile2 $infile ||
+ { echo "*** failure strip --reloc-debug-sections $infile"; status=1; }
+
+ # shouldn't make any difference for stripped files.
+ testrun ../src/readelf -a $outfile1 > readelf.out ||
+ { echo "*** failure readelf -a outfile1 $infile"; status=1; }
+
+ testrun_compare ../src/readelf -a $outfile2 < readelf.out ||
+ { echo "*** failure compare stripped files $infile"; status=1; }
+
+ # debug files however should be smaller, when ET_REL.
+ SIZE1=$(stat -c%s $debugfile1)
+ SIZE2=$(stat -c%s $debugfile2)
+ test \( \( $is_ET_REL -eq 1 \) -a \( $SIZE1 -gt $SIZE2 \) \) \
+ -o \( \( $is_ET_REL -eq 0 \) -a \( $SIZE1 -eq $SIZE2 \) \) ||
+ { echo "*** failure --reloc-debug-sections not smaller $infile"; status=1; }
+
+ # Strip of DWARF section lines, offset will not match.
+ # Everything else should match.
+ testrun ../src/readelf -w $debugfile1 \
+ | grep -v ^DWARF\ section > readelf.out1 ||
+ { echo "*** failure readelf -w debugfile1 $infile"; status=1; }
+
+ testrun ../src/readelf -w $debugfile2 \
+ | grep -v ^DWARF\ section > readelf.out2 ||
+ { echo "*** failure readelf -w debugfile2 $infile"; status=1; }
+
+ testrun_compare cat readelf.out1 < readelf.out2 ||
+ { echo "*** failure readelf -w compare $infile"; status=1; }
+
+ rm -f $outfile1 $debugfile1 $outfile2 $debugfile2 readelf.out*
+}
+
+# Most simple hello world kernel module for various architectures.
+# ::::::::::::::
+# Makefile
+# ::::::::::::::
+# obj-m := hello.o
+# hello-y := init.o exit.o
+#
+# all:
+# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
+# ::::::::::::::
+# init.c
+# ::::::::::::::
+# #include <linux/kernel.h>
+# #include <linux/module.h>
+#
+# int init_module(void)
+# {
+# printk(KERN_INFO "Hello, world!\n");
+# return 0;
+# }
+# ::::::::::::::
+# exit.c
+# ::::::::::::::
+# #include <linux/kernel.h>
+# #include <linux/module.h>
+#
+# void cleanup_module()
+# {
+# printk(KERN_INFO "Goodbye, World!\n");
+# }
+runtest hello_i386.ko 1
+runtest hello_x86_64.ko 1
+runtest hello_ppc64.ko 1
+runtest hello_s390.ko 1
+
+# self test, shouldn't impact non-ET_REL files at all.
+runtest ../src/strip 0
+runtest ../src/strip.o 1
+
+exit $status
diff --git a/elfutils/tests/sha1-tst.c b/elfutils/tests/sha1-tst.c
deleted file mode 100644
index 9ff8141b..00000000
--- a/elfutils/tests/sha1-tst.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 2008 Red Hat, Inc.
- This file is part of Red Hat elfutils.
- Written by Ulrich Drepper <drepper@redhat.com>, 2008.
-
- Red Hat elfutils is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; version 2 of the License.
-
- Red Hat elfutils is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with Red Hat elfutils; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
-
- Red Hat elfutils is an included package of the Open Invention Network.
- An included package of the Open Invention Network is a package for which
- Open Invention Network licensees cross-license their patents. No patent
- license is granted, either expressly or impliedly, by designation as an
- included package. Should you wish to participate in the Open Invention
- Network licensing program, please visit www.openinventionnetwork.com
- <http://www.openinventionnetwork.com>. */
-
-#include <stdio.h>
-#include <string.h>
-
-#include <sha1.h>
-
-
-int
-main (void)
-{
- char buf[1000];
- int result = 0;
-
- struct sha1_ctx ctx;
- sha1_init_ctx (&ctx);
- sha1_process_bytes ("abc", 3, &ctx);
- sha1_finish_ctx (&ctx, buf);
- static const char expected1[SHA1_DIGEST_SIZE] =
- "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
- "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d";
- if (memcmp (buf, expected1, SHA1_DIGEST_SIZE) != 0)
- {
- puts ("test 1 failed");
- result = 1;
- }
-
- sha1_init_ctx (&ctx);
- sha1_process_bytes ("\
-abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 56, &ctx);
- sha1_finish_ctx (&ctx, buf);
- static const char expected2[SHA1_DIGEST_SIZE] =
- "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
- "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1";
- if (memcmp (buf, expected2, SHA1_DIGEST_SIZE) != 0)
- {
- puts ("test 2 failed");
- result = 1;
- }
-
- sha1_init_ctx (&ctx);
- memset (buf, 'a', sizeof (buf));
- for (int i = 0; i < 1000; ++i)
- sha1_process_bytes (buf, sizeof (buf), &ctx);
- sha1_finish_ctx (&ctx, buf);
- static const char expected3[SHA1_DIGEST_SIZE] =
- "\x34\xaa\x97\x3c\xd4\xc4\xda\xa4\xf6\x1e"
- "\xeb\x2b\xdb\xad\x27\x31\x65\x34\x01\x6f";
- if (memcmp (buf, expected3, SHA1_DIGEST_SIZE) != 0)
- {
- puts ("test 3 failed");
- result = 1;
- }
-
- return result;
-}
diff --git a/elfutils/tests/test-subr.sh b/elfutils/tests/test-subr.sh
index cb34b93b..fb7a329d 100644
--- a/elfutils/tests/test-subr.sh
+++ b/elfutils/tests/test-subr.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005, 2007, 2008 Red Hat, Inc.
+# Copyright (C) 2005-2012 Red Hat, Inc.
# This file is part of Red Hat elfutils.
#
# Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -99,7 +99,8 @@ installed_testrun()
;;
esac
if [ "${libdir}" != /usr/lib ] && [ "${libdir}" != /usr/lib64 ]; then
- LD_LIBRARY_PATH="${libdir}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \
+ LD_LIBRARY_PATH="${libdir}:${libdir}/elfutils\
+${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \
$program ${1+"$@"}
else
$program ${1+"$@"}
diff --git a/elfutils/tests/test-wrapper.sh b/elfutils/tests/test-wrapper.sh
index 3477e382..12ab04e3 100755
--- a/elfutils/tests/test-wrapper.sh
+++ b/elfutils/tests/test-wrapper.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005 Red Hat, Inc.
+# Copyright (C) 2005-2012 Red Hat, Inc.
# This file is part of Red Hat elfutils.
#
# Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -46,6 +46,8 @@ else
elfutils_testrun=built
fi
+old_path="${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+
case "$1" in
*.sh)
export built_library_path program_transform_name elfutils_testrun
@@ -53,15 +55,14 @@ case "$1" in
;;
*)
if [ $elfutils_testrun = built ]; then
- LD_LIBRARY_PATH="$built_library_path${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH="$built_library_path$old_path"
elif [ $elfutils_tests_rpath = yes ]; then
echo >&2 installcheck not possible with --enable-tests-rpath
exit 77
elif [ "x$libdir" != x/usr/lib ] && [ "x$libdir" != x/usr/lib64 ]; then
- LD_LIBRARY_PATH="$libdir${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH="${libdir}:${libdir}/elfutils$old_path"
fi
+ export LD_LIBRARY_PATH
;;
esac
diff --git a/elfutils/tests/testfile56.bz2 b/elfutils/tests/testfile56.bz2
new file mode 100644
index 00000000..0e2257cf
--- /dev/null
+++ b/elfutils/tests/testfile56.bz2
Binary files differ
diff --git a/elfutils/tests/testfile57.bz2 b/elfutils/tests/testfile57.bz2
new file mode 100644
index 00000000..59dbde10
--- /dev/null
+++ b/elfutils/tests/testfile57.bz2
Binary files differ
diff --git a/elfutils/tests/testfile58.bz2 b/elfutils/tests/testfile58.bz2
new file mode 100644
index 00000000..839efd92
--- /dev/null
+++ b/elfutils/tests/testfile58.bz2
Binary files differ
diff --git a/elfutils/version.h b/elfutils/version.h
index 0fd20258..684c0dd4 100644
--- a/elfutils/version.h
+++ b/elfutils/version.h
@@ -50,7 +50,7 @@
#ifndef _ELFUTILS_VERSION_H
#define _ELFUTILS_VERSION_H 1
-#define _ELFUTILS_VERSION 152
+#define _ELFUTILS_VERSION 153
#define _ELFUTILS_PREREQ(major, minor) \
(_ELFUTILS_VERSION >= ((major) * 1000 + (minor)))