diff options
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 Binary files differindex 286cf033..cfa7f658 100644 --- a/elfutils/po/de.gmo +++ b/elfutils/po/de.gmo 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 Binary files differindex 1edc0d7f..e36dba62 100644 --- a/elfutils/po/en@boldquot.gmo +++ b/elfutils/po/en@boldquot.gmo 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 "‘[1m%c[0m’ is only meaningful with the ‘[1mx[0m’ 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’.\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 "‘[1m%s[0m’ 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] ‘[1m%s[0m’ with signature ‘[1m%s[0m’ 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] ‘[1m%s[0m’ with signature ‘[1m%s[0m’ 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] ‘[1m%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] ‘[1m%s[0m’ for section [%2u] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’\n" msgstr[1] " %lu local symbols String table: [%2u] ‘[1m%s[0m’\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] ‘[1m%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] ‘[1m%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] ‘[1m%s[0m’ contains %d entries:\n" " Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] ‘[1m%s[0m’" -#: 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] ‘[1m%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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’" -#: 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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] ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m%s[0m’ 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 ‘[1m-o[0m’ and ‘[1m-f[0m’" -#: 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 ‘[1m%s[0m’" -#: src/strip.c:322 +#: src/strip.c:337 #, c-format msgid "while opening '%s'" msgstr "while opening ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" -#: 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 ‘[1m%s[0m’" diff --git a/elfutils/po/en@quot.gmo b/elfutils/po/en@quot.gmo Binary files differindex c3a09415..42ff5aaf 100644 --- a/elfutils/po/en@quot.gmo +++ b/elfutils/po/en@quot.gmo 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 Binary files differindex 8b8c8eda..bc9b4b88 100644 --- a/elfutils/po/es.gmo +++ b/elfutils/po/es.gmo 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 Binary files differindex c3f0d59f..4c1d5ef9 100644 --- a/elfutils/po/ja.gmo +++ b/elfutils/po/ja.gmo 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 Binary files differindex 5003730f..5ffb8f73 100644 --- a/elfutils/po/pl.gmo +++ b/elfutils/po/pl.gmo 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 Binary files differindex 59def996..aba54ba7 100644 --- a/elfutils/po/uk.gmo +++ b/elfutils/po/uk.gmo 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 Binary files differnew file mode 100644 index 00000000..f89b292c --- /dev/null +++ b/elfutils/tests/hello_i386.ko.bz2 diff --git a/elfutils/tests/hello_ppc64.ko.bz2 b/elfutils/tests/hello_ppc64.ko.bz2 Binary files differnew file mode 100644 index 00000000..f4d3ff20 --- /dev/null +++ b/elfutils/tests/hello_ppc64.ko.bz2 diff --git a/elfutils/tests/hello_s390.ko.bz2 b/elfutils/tests/hello_s390.ko.bz2 Binary files differnew file mode 100644 index 00000000..41525bf5 --- /dev/null +++ b/elfutils/tests/hello_s390.ko.bz2 diff --git a/elfutils/tests/hello_x86_64.ko.bz2 b/elfutils/tests/hello_x86_64.ko.bz2 Binary files differnew file mode 100644 index 00000000..ba06f91e --- /dev/null +++ b/elfutils/tests/hello_x86_64.ko.bz2 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 Binary files differnew file mode 100644 index 00000000..0e2257cf --- /dev/null +++ b/elfutils/tests/testfile56.bz2 diff --git a/elfutils/tests/testfile57.bz2 b/elfutils/tests/testfile57.bz2 Binary files differnew file mode 100644 index 00000000..59dbde10 --- /dev/null +++ b/elfutils/tests/testfile57.bz2 diff --git a/elfutils/tests/testfile58.bz2 b/elfutils/tests/testfile58.bz2 Binary files differnew file mode 100644 index 00000000..839efd92 --- /dev/null +++ b/elfutils/tests/testfile58.bz2 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))) |