diff options
164 files changed, 0 insertions, 33689 deletions
diff --git a/meta/recipes-bsp/grub/grub-0.97/autohell.patch b/meta/recipes-bsp/grub/grub-0.97/autohell.patch deleted file mode 100644 index d66207ae6c..0000000000 --- a/meta/recipes-bsp/grub/grub-0.97/autohell.patch +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: grub-0.97/configure.ac -=================================================================== ---- grub-0.97.orig/configure.ac 2008-09-12 17:39:52.000000000 +0200 -+++ grub-0.97/configure.ac 2008-09-12 17:40:21.000000000 +0200 -@@ -60,8 +60,8 @@ AC_PROG_CC - _AM_DEPENDENCIES(CC) - - dnl Because recent automake complains about AS, set it here. --CCAS="$CC" --AC_SUBST(CCAS) -+AM_PROG_AS -+AC_SUBST(AS) - - AC_ARG_WITH(binutils, - [ --with-binutils=DIR search the directory DIR to find binutils]) diff --git a/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch b/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch deleted file mode 100644 index d225d13dce..0000000000 --- a/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch +++ /dev/null @@ -1,101 +0,0 @@ -Upstream-Status: Inappropriate [No Longer Maintained] - -diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c ---- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600 -+++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600 -@@ -79,7 +79,52 @@ - __u32 s_rev_level; /* Revision level */ - __u16 s_def_resuid; /* Default uid for reserved blocks */ - __u16 s_def_resgid; /* Default gid for reserved blocks */ -- __u32 s_reserved[235]; /* Padding to the end of the block */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ __u32 s_first_ino; /* First non-reserved inode */ -+ __u16 s_inode_size; /* size of inode structure */ -+ __u16 s_block_group_nr; /* block group # of this superblock */ -+ __u32 s_feature_compat; /* compatible feature set */ -+ __u32 s_feature_incompat; /* incompatible feature set */ -+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ -+ __u8 s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ __u32 s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -+ */ -+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ -+ /* -+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ -+ __u32 s_journal_inum; /* inode number of journal file */ -+ __u32 s_journal_dev; /* device number of journal file */ -+ __u32 s_last_orphan; /* start of list of inodes to delete */ -+ __u32 s_hash_seed[4]; /* HTREE hash seed */ -+ __u8 s_def_hash_version; /* Default hash version to use */ -+ __u8 s_jnl_backup_type; /* Default type of journal backup */ -+ __u16 s_reserved_word_pad; -+ __u32 s_default_mount_opts; -+ __u32 s_first_meta_bg; /* First metablock group */ -+ __u32 s_mkfs_time; /* When the filesystem was created */ -+ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ -+ __u32 s_reserved[172]; /* Padding to the end of the block */ - }; - - struct ext2_group_desc -@@ -218,6 +263,14 @@ - #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) - #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) - -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : \ -+ (s)->s_inode_size) -+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) -+ - /* linux/ext2_fs.h */ - #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) - /* kind of from ext2/super.c */ -@@ -553,7 +606,7 @@ - gdp = GROUP_DESC; - ino_blk = gdp[desc].bg_inode_table + - (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) -- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); -+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); - #ifdef E2DEBUG - printf ("inode table fsblock=%d\n", ino_blk); - #endif /* E2DEBUG */ -@@ -565,13 +618,12 @@ - /* reset indirect blocks! */ - mapblock2 = mapblock1 = -1; - -- raw_inode = INODE + -- ((current_ino - 1) -- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); -+ raw_inode = (struct ext2_inode *)((char *)INODE + -+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * -+ EXT2_INODE_SIZE (SUPERBLOCK)); - #ifdef E2DEBUG - printf ("ipb=%d, sizeof(inode)=%d\n", -- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), -- sizeof (struct ext2_inode)); -+ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); - printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); - printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); - for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; diff --git a/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch b/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch deleted file mode 100644 index 0cf7dc96d7..0000000000 --- a/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch +++ /dev/null @@ -1,74 +0,0 @@ -Upstream-Status: Inappropriate - -Subject: [PATCH] grub: fix for automake-1.12 - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| stage1/Makefile.am:2: error: 'pkglibdir' is not a legitimate directory for 'DATA' -| stage2/Makefile.am:35: error: 'pkglibdir' is not a legitimate directory for 'DATA' -| stage2/Makefile.am:46: error: 'pkglibdir' is not a legitimate directory for 'DATA' -| autoreconf: automake failed with exit status: 1 -| ERROR: autoreconf execution failed. - -The upstream status is marked as 'Inappropriate' because this problem is not uncommon, -it has been there for a long time and no change in upstream. - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - -Index: grub-0.97/stage1/Makefile.am -=================================================================== ---- a/stage1/Makefile.am -+++ b/stage1/Makefile.am -@@ -1,7 +1,7 @@ --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) --nodist_pkglib_DATA = stage1 -+pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+nodist_pkgdata_DATA = stage1 - --CLEANFILES = $(nodist_pkglib_DATA) -+CLEANFILES = $(nodist_pkgdata_DATA) - - # We can't use builtins or standard includes. - AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc -Index: grub-0.97/stage2/Makefile.am -=================================================================== ---- a/stage2/Makefile.am -+++ b/stage2/Makefile.am -@@ -27,12 +27,12 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 - - # Stage 2 and Stage 1.5's. --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) - - EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec - - if DISKLESS_SUPPORT --pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ - nbgrub pxegrub -@@ -43,7 +43,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ - reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ - xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec - else --pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 - noinst_DATA = pre_stage2 start start_eltorito -@@ -105,7 +105,7 @@ else - BUILT_SOURCES = stage2_size.h - endif - --CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) -+CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) - - stage2_size.h: pre_stage2 - -rm -f stage2_size.h --- -1.7.9.5 - diff --git a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch deleted file mode 100644 index 70037e47c7..0000000000 --- a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Inappropriate [disable feature] - -After the commit "tcmode-default: switch to gcc 4.6.0 for x86, x86-64 & arm", -we got bug 1099 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1099): - -Running "install --stage2=/ssd/boot/grub/stage2 /boot/grub/stage1(hd0) - /boot/grub/stage2 p /boot/grub/menu list" failed -Error 6: Mismatched or corrupt version of stage1/stage2 - -This turned out to be a gcc's bug. See -https://bugs.gentoo.org/show_bug.cgi?id=360513 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333 - -Upstream gcc seems uninterested in the bug, so at present we can disable the -option as a workaround. Thanks Ryan Hill for the investigation and the -workaround patch. - -Dexuan Cui <dexuan.cui@intel.com> -Wed Jun 29 20:21:39 CST 2011 - ---- grub-0.97/stage2/Makefile.am.orig -+++ grub-0.97/stage2/Makefile.am -@@ -79,7 +79,7 @@ - HERCULES_FLAGS = - endif - --STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -+STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-reorder-functions -fno-builtin -nostdinc \ - $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) - - STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 diff --git a/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch b/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch deleted file mode 100644 index bd8e0a89fc..0000000000 --- a/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch +++ /dev/null @@ -1,40 +0,0 @@ - -This patch is from ubuntu: - * objcopy-absolute.diff (update): Remove .note, .comment, and - .note.gnu.build-id sections from images (LP: #444703). - -Upstream-Status: Inappropriate [no longer maintained] - -Index: b/acinclude.m4 -=================================================================== ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -61,7 +61,7 @@ - else - AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) - fi -- if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then : -+ if AC_TRY_COMMAND([${OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then : - else - AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files]) - fi -Index: b/stage1/Makefile.am -=================================================================== ---- a/stage1/Makefile.am -+++ b/stage1/Makefile.am -@@ -12,4 +12,4 @@ - - SUFFIXES = .exec - .exec: -- $(OBJCOPY) -O binary $< $@ -+ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@ -Index: b/stage2/Makefile.am -=================================================================== ---- a/stage2/Makefile.am -+++ b/stage2/Makefile.am -@@ -293,4 +293,4 @@ - # General rule for making a raw binary. - SUFFIXES = .exec - .exec: -- $(OBJCOPY) -O binary $< $@ -+ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@ diff --git a/meta/recipes-bsp/grub/grub_0.97.bb b/meta/recipes-bsp/grub/grub_0.97.bb deleted file mode 100644 index 997a045b2e..0000000000 --- a/meta/recipes-bsp/grub/grub_0.97.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "GRUB is the GRand Unified Bootloader" -DESCRIPTION = "GRUB is a GPLed bootloader intended to unify bootloading across x86 \ -operating systems. In addition to loading the Linux kernel, it implements the Multiboot \ -standard, which allows for flexible loading of multiple boot images." -HOMEPAGE = "http://www.gnu.org/software/grub/" -SECTION = "bootloaders" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \ - file://grub/main.c;beginline=3;endline=9;md5=22a5f28d2130fff9f2a17ed54be90ed6" - -RDEPENDS_${PN} = "diffutils" -PR = "r6" - -SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz; \ - file://no-reorder-functions.patch \ - file://autohell.patch \ - file://grub_fix_for_automake-1.12.patch \ - file://objcopy-absolute.patch \ - file://grub-support-256byte-inode.patch \ -" - -SRC_URI[md5sum] = "cd3f3eb54446be6003156158d51f4884" -SRC_URI[sha256sum] = "4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b" - -inherit autotools texinfo - -COMPATIBLE_HOST = "i.86.*-linux" - -EXTRA_OECONF = "--without-curses" - -do_install_append_vmware() { - mkdir -p ${D}/boot/ - ln -sf ../usr/lib/grub/{$TARGET_ARCH}{$TARGET_VENDOR}/ ${D}/boot/grub -} diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch deleted file mode 100644 index 5452b46bbc..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch +++ /dev/null @@ -1,120 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ----- - -When "cp -i --update old new" would do nothing because "new" is -newer than "old", cp would nonetheless prompt for whether it is -ok to overwrite "new". Then, regardless of the response (because -of the --update option), cp would do nothing. - -The following patch eliminates the unnecessary prompt in that case. - -diff --git a/src/copy.c b/src/copy.c -index b7bf73b..0e549d2 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -1210,6 +1210,30 @@ copy_internal (char const *src_name, char const *dst_name, - return false; - } - -+ if (!S_ISDIR (src_mode) && x->update) -+ { -+ /* When preserving time stamps (but not moving within a file -+ system), don't worry if the destination time stamp is -+ less than the source merely because of time stamp -+ truncation. */ -+ int options = ((x->preserve_timestamps -+ && ! (x->move_mode -+ && dst_sb.st_dev == src_sb.st_dev)) -+ ? UTIMECMP_TRUNCATE_SOURCE -+ : 0); -+ -+ if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) -+ { -+ /* We're using --update and the destination is not older -+ than the source, so do not copy or move. Pretend the -+ rename succeeded, so the caller (if it's mv) doesn't -+ end up removing the source file. */ -+ if (rename_succeeded) -+ *rename_succeeded = true; -+ return true; -+ } -+ } -+ - /* When there is an existing destination file, we may end up - returning early, and hence not copying/moving the file. - This may be due to an interactive `negative' reply to the -@@ -1302,30 +1326,6 @@ copy_internal (char const *src_name, char const *dst_name, - return false; - } - } -- -- if (x->update) -- { -- /* When preserving time stamps (but not moving within a file -- system), don't worry if the destination time stamp is -- less than the source merely because of time stamp -- truncation. */ -- int options = ((x->preserve_timestamps -- && ! (x->move_mode -- && dst_sb.st_dev == src_sb.st_dev)) -- ? UTIMECMP_TRUNCATE_SOURCE -- : 0); -- -- if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) -- { -- /* We're using --update and the destination is not older -- than the source, so do not copy or move. Pretend the -- rename succeeded, so the caller (if it's mv) doesn't -- end up removing the source file. */ -- if (rename_succeeded) -- *rename_succeeded = true; -- return true; -- } -- } - } - - if (x->move_mode) -diff --git a/tests/mv/update b/tests/mv/update -index 0c06024..6c3d149 100755 ---- a/tests/mv/update -+++ b/tests/mv/update -@@ -1,7 +1,7 @@ - #!/bin/sh - # make sure --update works as advertised - --# Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. -+# Copyright (C) 2001, 2004, 2006-2007 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 -@@ -46,11 +46,16 @@ fi - - fail=0 - --for cp_or_mv in cp mv; do -- # This is a no-op. -- $cp_or_mv --update old new || fail=1 -- case "`cat new`" in new) ;; *) fail=1 ;; esac -- case "`cat old`" in old) ;; *) fail=1 ;; esac -+for interactive in '' -i; do -+ for cp_or_mv in cp mv; do -+ # This is a no-op, with no prompt. -+ # With coreutils-6.9 and earlier, using --update with -i would -+ # mistakenly elicit a prompt. -+ $cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1 -+ test -s out && fail=1 -+ case "`cat new`" in new) ;; *) fail=1 ;; esac -+ case "`cat old`" in old) ;; *) fail=1 ;; esac -+ done - done - - # This will actually perform the rename. --- -1.5.3.rc1.16.g9d6f diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch deleted file mode 100644 index 88f61fa108..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch +++ /dev/null @@ -1,101 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -The install command doesn't over write the dangling symlink, for -example: - -$ install fileA /tmp/fileA - -If /tmp/fileA is a dangling symlink, there would be an error: - -install: cannot create regular file '/tmp/fileA': File exists - -This is because of the following code in copy.c: - - if (!new_dst) - { - if (XSTAT (x, dst_name, &dst_sb) != 0) - { - if (errno != ENOENT) - { - error (0, errno, _("cannot stat %s"), quote (dst_name)); - return false; - } - else - { - new_dst = true; - } - } - -XSTAT() use stat() for dst_name(the dangling symlink /tmp/fileA) when -install.c invokes it, and stat will set errno to ENOENT, and then -new_dst will be set to true which means that /tmp/fileA doesn't exist, -then we will create /tmp/fileA without remove it first, so the error -comes. - -This is fixed in a way which adds the member cmd_install in -struct cp_options to make sure my change only affected to the install -command and use lstat to fix the problem. - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- - src/copy.c | 10 +++++++++- - src/copy.h | 3 +++ - src/install.c | 1 + - 3 files changed, 13 insertions(+), 1 deletions(-) - -diff --git a/src/copy.c b/src/copy.c ---- a/src/copy.c -+++ b/src/copy.c -@@ -1029,6 +1029,7 @@ copy_internal (char const *src_name, char const *dst_name, - bool delayed_ok; - bool copied_as_regular = false; - bool preserve_metadata; -+ int dst_stat_result; - - if (x->move_mode && rename_succeeded) - *rename_succeeded = false; -@@ -1069,7 +1070,14 @@ copy_internal (char const *src_name, char const *dst_name, - - if (!new_dst) - { -- if (XSTAT (x, dst_name, &dst_sb) != 0) -+ if ( x->cmd_install && ( x->backup_type == no_backups)) -+ dst_stat_result = lstat (dst_name, &dst_sb); -+ else -+ { -+ dst_stat_result = XSTAT (x, dst_name, &dst_sb); -+ } -+ -+ if (dst_stat_result != 0) - { - if (errno != ENOENT) - { -diff --git a/src/copy.h b/src/copy.h ---- a/src/copy.h -+++ b/src/copy.h -@@ -114,6 +114,9 @@ struct cp_options - If that fails, then resort to copying. */ - bool move_mode; - -+ /* For the install command */ -+ bool cmd_install; -+ - /* Whether this process has appropriate privileges to chown a file - whose owner is not the effective user ID. */ - bool chown_privileges; -diff --git a/src/install.c b/src/install.c ---- a/src/install.c -+++ b/src/install.c -@@ -149,6 +149,7 @@ cp_option_init (struct cp_options *x) - x->hard_link = false; - x->interactive = I_UNSPECIFIED; - x->move_mode = false; -+ x->cmd_install = true; - x->chown_privileges = chown_privileges (); - x->one_file_system = false; - x->preserve_ownership = false; --- -1.7.0.1 - diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch deleted file mode 100644 index 3ae5a2faeb..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-texinfo.patch +++ /dev/null @@ -1,375 +0,0 @@ -From 170be4023bbf9e9698a709e03265945588ac8e01 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Tue, 26 Nov 2013 00:21:50 +0800 -Subject: [PATCH] doc/coreutils.texi: Use '@item' instead of '@itemx' - -Use '@item' instead of '@itemx' in several places, as Texinfo 5 refuses -to process an '@itemx' that is not preceded by an '@item'. Ensure that -node extended names in menus and sectioning are consistent, and that -ordering and presence of nodes in menus and in the actual text are -consistent as well. - -Upstream-Status: Backport [From: coreutils.7620.n7.nabble.com, bug#11828] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - doc/coreutils.texi | 82 +++++++++++++++++++++++++++--------------------------- - 1 file changed, 41 insertions(+), 41 deletions(-) - -diff --git a/doc/coreutils.texi b/doc/coreutils.texi -index 588147f..2dae3fe 100644 ---- a/doc/coreutils.texi -+++ b/doc/coreutils.texi -@@ -555,7 +555,7 @@ symbolic link to a directory. @xref{Target directory}. - @end macro - - @macro optSi --@itemx --si -+@item --si - @opindex --si - @cindex SI output - Append an SI-style abbreviation to each size, such as @samp{M} for -@@ -578,7 +578,7 @@ Use the @option{--si} option if you prefer powers of 1000. - @end macro - - @macro optStripTrailingSlashes --@itemx @w{@kbd{--strip-trailing-slashes}} -+@item @w{@kbd{--strip-trailing-slashes}} - @opindex --strip-trailing-slashes - @cindex stripping trailing slashes - Remove any trailing slashes from each @var{source} argument. -@@ -2496,7 +2496,7 @@ by 1048576. - However, if @var{n} starts with a @samp{-}, - print all but the last @var{n} bytes of each file. - --@itemx -n @var{n} -+@item -n @var{n} - @itemx --lines=@var{n} - @opindex -n - @opindex --lines -@@ -2633,7 +2633,7 @@ This option is the same as @option{--follow=name --retry}. That is, tail - will attempt to reopen a file when it is removed. Should this fail, tail - will keep trying until it becomes accessible again. - --@itemx --retry -+@item --retry - @opindex --retry - This option is useful mainly when following by name (i.e., with - @option{--follow=name}). -@@ -2641,7 +2641,7 @@ Without this option, when tail encounters a file that doesn't - exist or is otherwise inaccessible, it reports that fact and - never checks it again. - --@itemx --sleep-interval=@var{number} -+@item --sleep-interval=@var{number} - @opindex --sleep-interval - Change the number of seconds to wait between iterations (the default is 1.0). - During one iteration, every specified file is checked to see if it has -@@ -2651,7 +2651,7 @@ Historical implementations of @command{tail} have required that - an arbitrary floating point number (using a period before any - fractional digits). - --@itemx --pid=@var{pid} -+@item --pid=@var{pid} - @opindex --pid - When following by name or by descriptor, you may specify the process ID, - @var{pid}, of the sole writer of all @var{file} arguments. Then, shortly -@@ -2674,7 +2674,7 @@ terminate until long after the real writer has terminated. - Note that @option{--pid} cannot be supported on some systems; @command{tail} - will print a warning if this is the case. - --@itemx --max-unchanged-stats=@var{n} -+@item --max-unchanged-stats=@var{n} - @opindex --max-unchanged-stats - When tailing a file by name, if there have been @var{n} (default - n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS}) consecutive -@@ -2686,7 +2686,7 @@ number of seconds between when tail prints the last pre-rotation lines - and when it prints the lines that have accumulated in the new log file. - This option is meaningful only when following by name. - --@itemx -n @var{n} -+@item -n @var{n} - @itemx --lines=@var{n} - @opindex -n - @opindex --lines -@@ -2817,7 +2817,7 @@ option. - @opindex --numeric-suffixes - Use digits in suffixes rather than lower-case letters. - --@itemx --verbose -+@item --verbose - @opindex --verbose - Write a diagnostic to standard error just before each output file is opened. - -@@ -3055,7 +3055,7 @@ Print only the newline counts. - @opindex --max-line-length - Print only the maximum line lengths. - --@itemx --files0-from=@var{FILE} -+@item --files0-from=@var{FILE} - @opindex --files0-from=@var{FILE} - @cindex including files from @command{du} - Rather than processing files named on the command line, process those -@@ -3250,7 +3250,7 @@ an MD5 checksum inconsistent with the associated file, or if no valid - line is found, @command{md5sum} exits with nonzero status. Otherwise, - it exits successfully. - --@itemx --status -+@item --status - @opindex --status - @cindex verifying MD5 checksums - This option is useful only when verifying checksums. -@@ -5837,7 +5837,7 @@ command line unless the @option{--dereference-command-line} (@option{-H}), - If a command line argument specifies a symbolic link, show information - for the file the link references rather than for the link itself. - --@itemx --dereference-command-line-symlink-to-dir -+@item --dereference-command-line-symlink-to-dir - @opindex --dereference-command-line-symlink-to-dir - @cindex symbolic links, dereferencing - Do not dereference symbolic links, with one exception: -@@ -7015,15 +7015,15 @@ If specified, the @var{attribute_list} must be a comma-separated list - of one or more of the following strings: - - @table @samp --@itemx mode -+@item mode - Preserve the file mode bits and access control lists. --@itemx ownership -+@item ownership - Preserve the owner and group. On most modern systems, - only users with appropriate privileges may change the owner of a file, - and ordinary users - may preserve the group ownership of a file only if they happen to be - a member of the desired group. --@itemx timestamps -+@item timestamps - Preserve the times of last access and last modification, when possible. - In general, it is not possible to preserve these attributes - when the affected file is a symbolic link. -@@ -7031,12 +7031,12 @@ However, FreeBSD now provides the @code{lutimes} function, which makes - it possibile even for symbolic links. However, this implementation does - not yet take advantage of that. - @c FIXME: once we provide lutimes support, update the above. --@itemx links -+@item links - Preserve in the destination files - any links between corresponding source files. - @c Give examples illustrating how hard links are preserved. - @c Also, show how soft links map to hard links with -L and -H. --@itemx all -+@item all - Preserve all file attributes. - Equivalent to specifying all of the above. - @end table -@@ -7049,12 +7049,12 @@ mode bits of the corresponding source file, minus the bits set in the - umask and minus the set-user-ID and set-group-ID bits. - @xref{File permissions}. - --@itemx @w{@kbd{--no-preserve}=@var{attribute_list}} -+@item @w{@kbd{--no-preserve}=@var{attribute_list}} - @cindex file information, preserving - Do not preserve the specified attributes. The @var{attribute_list} - has the same form as for @option{--preserve}. - --@itemx --parents -+@item --parents - @opindex --parents - @cindex parent directories and @command{cp} - Form the name of each destination file by appending to the target -@@ -7070,7 +7070,7 @@ cp --parents a/b/c existing_dir - copies the file @file{a/b/c} to @file{existing_dir/a/b/c}, creating - any missing intermediate directories. - --@itemx @w{@kbd{--reply}=@var{how}} -+@item @w{@kbd{--reply}=@var{how}} - @opindex --reply - @cindex interactivity - @c FIXME: remove in 2008 -@@ -7742,7 +7742,7 @@ Prompt whether to overwrite each existing destination file, regardless - of its permissions. - If the response is not affirmative, the file is skipped. - --@itemx @w{@kbd{--reply}=@var{how}} -+@item @w{@kbd{--reply}=@var{how}} - @opindex --reply - @cindex interactivity - @c FIXME: remove in 2008 -@@ -7847,7 +7847,7 @@ files are named or if a recursive removal is requested. Ignore any - previous @option{--force} (@option{-f}) option. Equivalent to - @option{--interactive=once}. - --@itemx --interactive [=@var{when}] -+@item --interactive [=@var{when}] - @opindex --interactive - Specify when to issue an interactive prompt. @var{when} may be - omitted, or one of: -@@ -7866,7 +7866,7 @@ removal is requested. Equivalent to @option{-I}. - Specifying @option{--interactive} and no @var{when} is equivalent to - @option{--interactive=always}. - --@itemx --one-file-system -+@item --one-file-system - @opindex --one-file-system - @cindex one file system, restricting @command{rm} to - When removing a hierarchy recursively, skip any directory that is on a -@@ -7884,7 +7884,7 @@ warn about and skip directories on other file systems. - Of course, this will not save your @file{/home} if it and your - chroot happen to be on the same file system. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive destruction - Fail upon any attempt to remove the root directory, @file{/}, -@@ -7892,7 +7892,7 @@ when used with the @option{--recursive} option. - This is the default behavior. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive destruction - Do not treat @file{/} specially when removing recursively. -@@ -8874,7 +8874,7 @@ actually changes. - Do not print error messages about files whose ownership cannot be - changed. - --@itemx @w{@kbd{--from}=@var{old-owner}} -+@item @w{@kbd{--from}=@var{old-owner}} - @opindex --from - @cindex symbolic links, changing owner - Change a @var{file}'s ownership only if it has current attributes specified -@@ -8928,14 +8928,14 @@ is a symbolic link. - By default, no diagnostic is issued for symbolic links encountered - during a recursive traversal, but see @option{--verbose}. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9054,14 +9054,14 @@ is a symbolic link. - By default, no diagnostic is issued for symbolic links encountered - during a recursive traversal, but see @option{--verbose}. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9175,14 +9175,14 @@ actually changes. - Do not print error messages about files whose permissions cannot be - changed. - --@itemx --preserve-root -+@item --preserve-root - @opindex --preserve-root - @cindex root directory, disallow recursive modification - Fail upon any attempt to recursively change the root directory, @file{/}. - Without @option{--recursive}, this option has no effect. - @xref{Treating / specially}. - --@itemx --no-preserve-root -+@item --no-preserve-root - @opindex --no-preserve-root - @cindex root directory, allow recursive modification - Cancel the effect of any preceding @option{--preserve-root} option. -@@ -9603,7 +9603,7 @@ The program accepts the following options. Also see @ref{Common options}. - @opindex --all - Show counts for all files, not just directories. - --@itemx --apparent-size -+@item --apparent-size - @opindex --apparent-size - Print apparent sizes, rather than disk usage. The apparent size of a - file is the number of bytes reported by @code{wc -c} on regular files, -@@ -9654,7 +9654,7 @@ Does not affect other symbolic links. This is helpful for finding - out the disk usage of directories, such as @file{/usr/tmp}, which - are often symbolic links. - --@itemx --files0-from=@var{FILE} -+@item --files0-from=@var{FILE} - @opindex --files0-from=@var{FILE} - @cindex including files from @command{du} - Rather than processing files named on the command line, process those -@@ -9733,7 +9733,7 @@ Output a null byte at the end of each line, rather than a newline. - This option enables other programs to parse the output of @command{du} - even when that output would contain file names with embedded newlines. - --@itemx --si -+@item --si - @opindex --si - @cindex SI output - Append an SI-style abbreviation to each size, such as @samp{MB} for -@@ -9754,13 +9754,13 @@ Display only a total for each argument. - Report the size of each directory separately, not including the sizes - of subdirectories. - --@itemx --time -+@item --time - @opindex --time - @cindex last modified dates, displaying in @command{du} - Show time of the most recent modification of any file in the directory, - or any of its subdirectories. - --@itemx --time=ctime -+@item --time=ctime - @itemx --time=status - @itemx --time=use - @opindex --time -@@ -9770,7 +9770,7 @@ or any of its subdirectories. - Show the most recent status change time (the @samp{ctime} in the inode) of - any file in the directory, instead of the modification time. - --@itemx --time=atime -+@item --time=atime - @itemx --time=access - @opindex --time - @opindex atime@r{, show the most recent} -@@ -9911,7 +9911,7 @@ $ stat --format=%d:%i / /usr - 2057:2 - @end example - --@itemx --printf=@var{format} -+@item --printf=@var{format} - @opindex --printf=@var{format} - @cindex output format - Use @var{format} rather than the default format. -@@ -12240,7 +12240,7 @@ Overrides all other options. - @opindex -s - Ignored; for compatibility with other versions of @command{who}. - --@itemx -u -+@item -u - @opindex -u - @cindex idle time - After the login time, print the number of hours and minutes that the -@@ -12254,7 +12254,7 @@ user has been idle. @samp{.} means the user was active in the last minute. - List only the entries that correspond to processes via which the - system is waiting for a user to login. The user name is always @samp{LOGIN}. - --@itemx --lookup -+@item --lookup - @opindex --lookup - Attempt to canonicalize hostnames found in utmp through a DNS lookup. This - is not the default because it can cause significant delays on systems with --- -1.8.3.1 - diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch deleted file mode 100644 index 653722348a..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch +++ /dev/null @@ -1,4051 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -The comment indicates that the purpose is lin18nux/lsb compliance. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/sort-mb-tests 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,58 @@ -+#! /bin/sh -+case $# in -+ 0) xx='../../src/sort';; -+ *) xx="$1";; -+esac -+test "$VERBOSE" && echo=echo || echo=: -+$echo testing program: $xx -+errors=0 -+test "$srcdir" || srcdir=. -+test "$VERBOSE" && $xx --version 2> /dev/null -+ -+export LC_ALL=en_US.UTF-8 -+locale -k LC_CTYPE 2>&1 | grep -q charmap.*UTF-8 || exit 77 -+errors=0 -+ -+$xx -t @ -k2 -n mb1.I > mb1.O -+code=$? -+if test $code != 0; then -+ $echo "Test mb1 failed: $xx return code $code differs from expected value 0" 1>&2 -+ errors=`expr $errors + 1` -+else -+ cmp mb1.O $srcdir/mb1.X > /dev/null 2>&1 -+ case $? in -+ 0) if test "$VERBOSE"; then $echo "passed mb1"; fi;; -+ 1) $echo "Test mb1 failed: files mb1.O and $srcdir/mb1.X differ" 1>&2 -+ (diff -c mb1.O $srcdir/mb1.X) 2> /dev/null -+ errors=`expr $errors + 1`;; -+ 2) $echo "Test mb1 may have failed." 1>&2 -+ $echo The command "cmp mb1.O $srcdir/mb1.X" failed. 1>&2 -+ errors=`expr $errors + 1`;; -+ esac -+fi -+ -+$xx -t @ -k4 -n mb2.I > mb2.O -+code=$? -+if test $code != 0; then -+ $echo "Test mb2 failed: $xx return code $code differs from expected value 0" 1>&2 -+ errors=`expr $errors + 1` -+else -+ cmp mb2.O $srcdir/mb2.X > /dev/null 2>&1 -+ case $? in -+ 0) if test "$VERBOSE"; then $echo "passed mb2"; fi;; -+ 1) $echo "Test mb2 failed: files mb2.O and $srcdir/mb2.X differ" 1>&2 -+ (diff -c mb2.O $srcdir/mb2.X) 2> /dev/null -+ errors=`expr $errors + 1`;; -+ 2) $echo "Test mb2 may have failed." 1>&2 -+ $echo The command "cmp mb2.O $srcdir/mb2.X" failed. 1>&2 -+ errors=`expr $errors + 1`;; -+ esac -+fi -+ -+if test $errors = 0; then -+ $echo Passed all 113 tests. 1>&2 -+else -+ $echo Failed $errors tests. 1>&2 -+fi -+test $errors = 0 || errors=1 -+exit $errors ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb2.I 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Apple@AA10@@20 -+Banana@AA5@@30 -+Citrus@AA20@@5 -+Cherry@AA30@@10 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb2.X 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Citrus@AA20@@5 -+Cherry@AA30@@10 -+Apple@AA10@@20 -+Banana@AA5@@30 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb1.I 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Apple@10 -+Banana@5 -+Citrus@20 -+Cherry@30 ---- /dev/null 2007-03-01 09:16:39.219409909 +0000 -+++ coreutils-6.8+/tests/sort/mb1.X 2007-03-01 15:08:24.000000000 +0000 -@@ -0,0 +1,4 @@ -+Banana@5 -+Apple@10 -+Citrus@20 -+Cherry@30 ---- coreutils-6.8+/tests/sort/Makefile.am.i18n 2007-01-24 07:47:37.000000000 +0000 -+++ coreutils-6.8+/tests/sort/Makefile.am 2007-03-01 15:09:59.000000000 +0000 -@@ -66,15 +66,17 @@ - bigfield.O bigfield.E - ##test-files-end - --EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) --noinst_SCRIPTS = $x-tests -+run_gen += mb1.0 mb2.0 -+ -+EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) mb1.I mb1.X mb2.I mb2.X -+noinst_SCRIPTS = $x-tests # $x-mb-tests - TESTS_ENVIRONMENT = \ - CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ - PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" - - editpl = sed -e 's,@''PERL''@,$(PERL),g' -e 's,@''srcdir''@,$(srcdir),g' - --TESTS = $x-tests -+TESTS = $x-tests $x-mb-tests - - mk_script = $(srcdir)/../mk-script - $(srcdir)/$x-tests: $(mk_script) Test.pm Makefile.am ---- coreutils-6.8+/lib/linebuffer.h.i18n 2005-05-14 07:44:24.000000000 +0100 -+++ coreutils-6.8+/lib/linebuffer.h 2007-03-01 15:08:24.000000000 +0000 -@@ -22,6 +22,11 @@ - - # include <stdio.h> - -+/* Get mbstate_t. */ -+# if HAVE_WCHAR_H -+# include <wchar.h> -+# endif -+ - /* A `struct linebuffer' holds a line of text. */ - - struct linebuffer -@@ -29,6 +34,9 @@ - size_t size; /* Allocated. */ - size_t length; /* Used. */ - char *buffer; -+# if HAVE_WCHAR_H -+ mbstate_t state; -+# endif - }; - - /* Initialize linebuffer LINEBUFFER for use. */ ---- coreutils-6.8+/src/expand.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/expand.c 2007-03-01 15:08:24.000000000 +0000 -@@ -38,11 +38,28 @@ - #include <stdio.h> - #include <getopt.h> - #include <sys/types.h> -+ -+/* Get mbstate_t, mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ - #include "system.h" - #include "error.h" - #include "quote.h" - #include "xstrndup.h" - -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "expand" - -@@ -183,6 +200,7 @@ - stops = num_start + len - 1; - } - } -+ - else - { - error (0, 0, _("tab size contains invalid character(s): %s"), -@@ -365,6 +383,142 @@ - } - } - -+#if HAVE_MBRTOWC -+static void -+expand_multibyte (void) -+{ -+ FILE *fp; /* Input strem. */ -+ mbstate_t i_state; /* Current shift state of the input stream. */ -+ mbstate_t i_state_bak; /* Back up the I_STATE. */ -+ mbstate_t o_state; /* Current shift state of the output stream. */ -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ char *bufpos; /* Next read position of BUF. */ -+ size_t buflen = 0; /* The length of the byte sequence in buf. */ -+ wchar_t wc; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character -+ which shows as same character as WC. */ -+ int tab_index = 0; /* Index in `tab_list' of next tabstop. */ -+ int column = 0; /* Column on screen of the next char. */ -+ int next_tab_column; /* Column the next tab stop is on. */ -+ int convert = 1; /* If nonzero, perform translations. */ -+ -+ fp = next_file ((FILE *) NULL); -+ if (fp == NULL) -+ return; -+ -+ memset (&o_state, '\0', sizeof(mbstate_t)); -+ memset (&i_state, '\0', sizeof(mbstate_t)); -+ -+ for (;;) -+ { -+ /* Refill the buffer BUF. */ -+ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp)) -+ { -+ memmove (buf, bufpos, buflen); -+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp); -+ bufpos = buf; -+ } -+ -+ /* No character is left in BUF. */ -+ if (buflen < 1) -+ { -+ fp = next_file (fp); -+ -+ if (fp == NULL) -+ break; /* No more files. */ -+ else -+ { -+ memset (&i_state, '\0', sizeof(mbstate_t)); -+ continue; -+ } -+ } -+ -+ /* Get a wide character. */ -+ i_state_bak = i_state; -+ mblength = mbrtowc (&wc, bufpos, buflen, &i_state); -+ -+ switch (mblength) -+ { -+ case (size_t)-1: /* illegal byte sequence. */ -+ case (size_t)-2: -+ mblength = 1; -+ i_state = i_state_bak; -+ if (convert) -+ { -+ ++column; -+ if (convert_entire_line == 0) -+ convert = 0; -+ } -+ putchar (*bufpos); -+ break; -+ -+ case 0: /* null. */ -+ mblength = 1; -+ if (convert && convert_entire_line == 0) -+ convert = 0; -+ putchar ('\0'); -+ break; -+ -+ default: -+ if (wc == L'\n') /* LF. */ -+ { -+ tab_index = 0; -+ column = 0; -+ convert = 1; -+ putchar ('\n'); -+ } -+ else if (wc == L'\t' && convert) /* Tab. */ -+ { -+ if (tab_size == 0) -+ { -+ /* Do not let tab_index == first_free_tab; -+ stop when it is 1 less. */ -+ while (tab_index < first_free_tab - 1 -+ && column >= tab_list[tab_index]) -+ tab_index++; -+ next_tab_column = tab_list[tab_index]; -+ if (tab_index < first_free_tab - 1) -+ tab_index++; -+ if (column >= next_tab_column) -+ next_tab_column = column + 1; -+ } -+ else -+ next_tab_column = column + tab_size - column % tab_size; -+ -+ while (column < next_tab_column) -+ { -+ putchar (' '); -+ ++column; -+ } -+ } -+ else /* Others. */ -+ { -+ if (convert) -+ { -+ if (wc == L'\b') -+ { -+ if (column > 0) -+ --column; -+ } -+ else -+ { -+ int width; /* The width of WC. */ -+ -+ width = wcwidth (wc); -+ column += (width > 0) ? width : 0; -+ if (convert_entire_line == 0) -+ convert = 0; -+ } -+ } -+ fwrite (bufpos, sizeof(char), mblength, stdout); -+ } -+ } -+ buflen -= mblength; -+ bufpos += mblength; -+ } -+} -+#endif -+ - int - main (int argc, char **argv) - { -@@ -429,7 +583,12 @@ - - file_list = (optind < argc ? &argv[optind] : stdin_argv); - -- expand (); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ expand_multibyte (); -+ else -+#endif -+ expand (); - - if (have_read_stdin && fclose (stdin) != 0) - error (EXIT_FAILURE, errno, "-"); ---- coreutils-6.8+/src/join.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/join.c 2007-03-01 15:08:24.000000000 +0000 -@@ -23,16 +23,30 @@ - #include <sys/types.h> - #include <getopt.h> - -+/* Get mbstate_t, mbrtowc(), mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ -+/* Get iswblank(), towupper. */ -+#if HAVE_WCTYPE_H -+# include <wctype.h> -+#endif -+ - #include "system.h" - #include "error.h" - #include "hard-locale.h" - #include "linebuffer.h" --#include "memcasecmp.h" - #include "quote.h" - #include "stdio--.h" - #include "xmemcoll.h" - #include "xstrtol.h" - -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "join" - -@@ -104,10 +118,12 @@ - /* Last element in `outlist', where a new element can be added. */ - static struct outlist *outlist_end = &outlist_head; - --/* Tab character separating fields. If negative, fields are separated -- by any nonempty string of blanks, otherwise by exactly one -- tab character whose value (when cast to unsigned char) equals TAB. */ --static int tab = -1; -+/* Tab character separating fields. If NULL, fields are separated -+ by any nonempty string of blanks. */ -+static char *tab = NULL; -+ -+/* The number of bytes used for tab. */ -+static size_t tablen = 0; - - static struct option const longopts[] = - { -@@ -190,6 +206,8 @@ - - /* Fill in the `fields' structure in LINE. */ - -+/* Fill in the `fields' structure in LINE. */ -+ - static void - xfields (struct line *line) - { -@@ -199,10 +217,11 @@ - if (ptr == lim) - return; - -- if (0 <= tab) -+ if (tab != NULL) - { -+ unsigned char t = tab[0]; - char *sep; -- for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1) -+ for (; (sep = memchr (ptr, t, lim - ptr)) != NULL; ptr = sep + 1) - extract_field (line, ptr, sep - ptr); - } - else -@@ -229,6 +248,148 @@ - extract_field (line, ptr, lim - ptr); - } - -+#if HAVE_MBRTOWC -+static void -+xfields_multibyte (struct line *line) -+{ -+ char *ptr = line->buf.buffer; -+ char const *lim = ptr + line->buf.length - 1; -+ wchar_t wc = 0; -+ size_t mblength = 1; -+ mbstate_t state, state_bak; -+ -+ memset (&state, 0, sizeof (mbstate_t)); -+ -+ if (ptr == lim) -+ return; -+ -+ if (tab != NULL) -+ { -+ unsigned char t = tab[0]; -+ char *sep = ptr; -+ for (; ptr < lim; ptr = sep + mblength) -+ { -+ sep = ptr; -+ while (sep < lim) -+ { -+ state_bak = state; -+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ if (mblength == tablen && !memcmp (sep, tab, mblength)) -+ break; -+ else -+ { -+ sep += mblength; -+ continue; -+ } -+ } -+ -+ if (sep == lim) -+ break; -+ -+ extract_field (line, ptr, sep - ptr); -+ } -+ } -+ else -+ { -+ /* Skip leading blanks before the first field. */ -+ while(ptr < lim) -+ { -+ state_bak = state; -+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ break; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ if (!iswblank(wc)) -+ break; -+ ptr += mblength; -+ } -+ -+ do -+ { -+ char *sep; -+ state_bak = state; -+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ break; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ sep = ptr + mblength; -+ while (sep != lim) -+ { -+ state_bak = state; -+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ break; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ if (iswblank (wc)) -+ break; -+ -+ sep += mblength; -+ } -+ -+ extract_field (line, ptr, sep - ptr); -+ if (sep == lim) -+ return; -+ -+ state_bak = state; -+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ break; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ ptr = sep + mblength; -+ while (ptr != lim) -+ { -+ state_bak = state; -+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ mblength = 1; -+ state = state_bak; -+ break; -+ } -+ mblength = (mblength < 1) ? 1 : mblength; -+ -+ if (!iswblank (wc)) -+ break; -+ -+ ptr += mblength; -+ } -+ } -+ while (ptr != lim); -+ } -+ -+ extract_field (line, ptr, lim - ptr); -+} -+#endif -+ - /* Read a line from FP into LINE and split it into fields. - Return true if successful. */ - -@@ -249,6 +410,11 @@ - line->nfields_allocated = 0; - line->nfields = 0; - line->fields = NULL; -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ xfields_multibyte (line); -+ else -+#endif - xfields (line); - return true; - } -@@ -303,56 +469,114 @@ - keycmp (struct line const *line1, struct line const *line2) - { - /* Start of field to compare in each file. */ -- char *beg1; -- char *beg2; -- -- size_t len1; -- size_t len2; /* Length of fields to compare. */ -+ char *beg[2]; -+ char *copy[2]; -+ size_t len[2]; /* Length of fields to compare. */ - int diff; -+ int i, j; - - if (join_field_1 < line1->nfields) - { -- beg1 = line1->fields[join_field_1].beg; -- len1 = line1->fields[join_field_1].len; -+ beg[0] = line1->fields[join_field_1].beg; -+ len[0] = line1->fields[join_field_1].len; - } - else - { -- beg1 = NULL; -- len1 = 0; -+ beg[0] = NULL; -+ len[0] = 0; - } - - if (join_field_2 < line2->nfields) - { -- beg2 = line2->fields[join_field_2].beg; -- len2 = line2->fields[join_field_2].len; -+ beg[1] = line2->fields[join_field_2].beg; -+ len[1] = line2->fields[join_field_2].len; - } - else - { -- beg2 = NULL; -- len2 = 0; -+ beg[1] = NULL; -+ len[1] = 0; - } - -- if (len1 == 0) -- return len2 == 0 ? 0 : -1; -- if (len2 == 0) -+ if (len[0] == 0) -+ return len[1] == 0 ? 0 : -1; -+ if (len[1] == 0) - return 1; - - if (ignore_case) - { -- /* FIXME: ignore_case does not work with NLS (in particular, -- with multibyte chars). */ -- diff = memcasecmp (beg1, beg2, MIN (len1, len2)); -+#ifdef HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ size_t mblength; -+ wchar_t wc, uwc; -+ mbstate_t state, state_bak; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+ -+ for (i = 0; i < 2; i++) -+ { -+ copy[i] = alloca (len[i] + 1); -+ -+ for (j = 0; j < MIN (len[0], len[1]);) -+ { -+ state_bak = state; -+ mblength = mbrtowc (&wc, beg[i] + j, len[i] - j, &state); -+ -+ switch (mblength) -+ { -+ case (size_t) -1: -+ case (size_t) -2: -+ state = state_bak; -+ /* Fall through */ -+ case 0: -+ mblength = 1; -+ break; -+ -+ default: -+ uwc = towupper (wc); -+ -+ if (uwc != wc) -+ { -+ mbstate_t state_wc; -+ -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ wcrtomb (copy[i] + j, uwc, &state_wc); -+ } -+ else -+ memcpy (copy[i] + j, beg[i] + j, mblength); -+ } -+ j += mblength; -+ } -+ copy[i][j] = '\0'; -+ } -+ } -+ else -+#endif -+ { -+ for (i = 0; i < 2; i++) -+ { -+ copy[i] = alloca (len[i] + 1); -+ -+ for (j = 0; j < MIN (len[0], len[1]); j++) -+ copy[i][j] = toupper (beg[i][j]); -+ -+ copy[i][j] = '\0'; -+ } -+ } - } - else - { -- if (hard_LC_COLLATE) -- return xmemcoll (beg1, len1, beg2, len2); -- diff = memcmp (beg1, beg2, MIN (len1, len2)); -+ copy[0] = (unsigned char *) beg[0]; -+ copy[1] = (unsigned char *) beg[1]; - } - -+ if (hard_LC_COLLATE) -+ return xmemcoll ((char *) copy[0], len[0], (char *) copy[1], len[1]); -+ diff = memcmp (copy[0], copy[1], MIN (len[0], len[1])); -+ - if (diff) - return diff; -- return len1 < len2 ? -1 : len1 != len2; -+ return len[0] - len[1]; - } - - /* Print field N of LINE if it exists and is nonempty, otherwise -@@ -377,11 +601,18 @@ - - /* Print the join of LINE1 and LINE2. */ - -+#define PUT_TAB_CHAR \ -+ do \ -+ { \ -+ (tab != NULL) ? \ -+ fwrite(tab, sizeof(char), tablen, stdout) : putchar (' '); \ -+ } \ -+ while (0) -+ - static void - prjoin (struct line const *line1, struct line const *line2) - { - const struct outlist *outlist; -- char output_separator = tab < 0 ? ' ' : tab; - - outlist = outlist_head.next; - if (outlist) -@@ -397,12 +628,12 @@ - if (o->file == 0) - { - if (line1 == &uni_blank) -- { -+ { - line = line2; - field = join_field_2; - } - else -- { -+ { - line = line1; - field = join_field_1; - } -@@ -416,7 +647,7 @@ - o = o->next; - if (o == NULL) - break; -- putchar (output_separator); -+ PUT_TAB_CHAR; - } - putchar ('\n'); - } -@@ -434,23 +665,23 @@ - prfield (join_field_1, line1); - for (i = 0; i < join_field_1 && i < line1->nfields; ++i) - { -- putchar (output_separator); -+ PUT_TAB_CHAR; - prfield (i, line1); - } - for (i = join_field_1 + 1; i < line1->nfields; ++i) - { -- putchar (output_separator); -+ PUT_TAB_CHAR; - prfield (i, line1); - } - - for (i = 0; i < join_field_2 && i < line2->nfields; ++i) - { -- putchar (output_separator); -+ PUT_TAB_CHAR; - prfield (i, line2); - } - for (i = join_field_2 + 1; i < line2->nfields; ++i) - { -- putchar (output_separator); -+ PUT_TAB_CHAR; - prfield (i, line2); - } - putchar ('\n'); -@@ -859,20 +1090,41 @@ - - case 't': - { -- unsigned char newtab = optarg[0]; -- if (! newtab) -+ char *newtab; -+ size_t newtablen; -+ if (! optarg[0]) - error (EXIT_FAILURE, 0, _("empty tab")); -- if (optarg[1]) -+ newtab = xstrdup (optarg); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ mbstate_t state; -+ -+ memset (&state, 0, sizeof (mbstate_t)); -+ newtablen = mbrtowc (NULL, newtab, -+ strnlen (newtab, MB_LEN_MAX), -+ &state); -+ if (newtablen == (size_t) 0 -+ || newtablen == (size_t) -1 -+ || newtablen == (size_t) -2) -+ newtablen = 1; -+ } -+ else -+#endif -+ newtablen = 1; -+ -+ if (newtablen == 1 && newtab[1]) -+ { -+ if (STREQ (newtab, "\\0")) -+ newtab[0] = '\0'; -+ } -+ if (tab != NULL && strcmp (tab, newtab)) - { -- if (STREQ (optarg, "\\0")) -- newtab = '\0'; -- else -- error (EXIT_FAILURE, 0, _("multi-character tab %s"), -- quote (optarg)); -+ free (newtab); -+ error (EXIT_FAILURE, 0, _("incompatible tabs")); - } -- if (0 <= tab && tab != newtab) -- error (EXIT_FAILURE, 0, _("incompatible tabs")); - tab = newtab; -+ tablen = newtablen; - } - break; - ---- coreutils-6.8+/src/uniq.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/uniq.c 2007-03-01 15:08:24.000000000 +0000 -@@ -23,6 +23,16 @@ - #include <getopt.h> - #include <sys/types.h> - -+/* Get mbstate_t, mbrtowc(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ -+/* Get isw* functions. */ -+#if HAVE_WCTYPE_H -+# include <wctype.h> -+#endif -+ - #include "system.h" - #include "argmatch.h" - #include "linebuffer.h" -@@ -32,7 +42,19 @@ - #include "quote.h" - #include "xmemcoll.h" - #include "xstrtol.h" --#include "memcasecmp.h" -+#include "xmemcoll.h" -+ -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "uniq" -@@ -109,6 +131,10 @@ - /* Select whether/how to delimit groups of duplicate lines. */ - static enum delimit_method delimit_groups; - -+/* Function pointers. */ -+static char * -+(*find_field) (struct linebuffer *line); -+ - static struct option const longopts[] = - { - {"count", no_argument, NULL, 'c'}, -@@ -198,7 +224,7 @@ - return a pointer to the beginning of the line's field to be compared. */ - - static char * --find_field (const struct linebuffer *line) -+find_field_uni (struct linebuffer *line) - { - size_t count; - char *lp = line->buffer; -@@ -219,6 +245,83 @@ - return lp + i; - } - -+#if HAVE_MBRTOWC -+ -+# define MBCHAR_TO_WCHAR(WC, MBLENGTH, LP, POS, SIZE, STATEP, CONVFAIL) \ -+ do \ -+ { \ -+ mbstate_t state_bak; \ -+ \ -+ CONVFAIL = 0; \ -+ state_bak = *STATEP; \ -+ \ -+ MBLENGTH = mbrtowc (&WC, LP + POS, SIZE - POS, STATEP); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-2: \ -+ case (size_t)-1: \ -+ *STATEP = state_bak; \ -+ CONVFAIL++; \ -+ /* Fall through */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+ } \ -+ while (0) -+ -+static char * -+find_field_multi (struct linebuffer *line) -+{ -+ size_t count; -+ char *lp = line->buffer; -+ size_t size = line->length - 1; -+ size_t pos; -+ size_t mblength; -+ wchar_t wc; -+ mbstate_t *statep; -+ int convfail; -+ -+ pos = 0; -+ statep = &(line->state); -+ -+ /* skip fields. */ -+ for (count = 0; count < skip_fields && pos < size; count++) -+ { -+ while (pos < size) -+ { -+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); -+ -+ if (convfail || !iswblank (wc)) -+ { -+ pos += mblength; -+ break; -+ } -+ pos += mblength; -+ } -+ -+ while (pos < size) -+ { -+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); -+ -+ if (!convfail && iswblank (wc)) -+ break; -+ -+ pos += mblength; -+ } -+ } -+ -+ /* skip fields. */ -+ for (count = 0; count < skip_chars && pos < size; count++) -+ { -+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); -+ pos += mblength; -+ } -+ -+ return lp + pos; -+} -+#endif -+ - /* Return false if two strings OLD and NEW match, true if not. - OLD and NEW point not to the beginnings of the lines - but rather to the beginnings of the fields to compare. -@@ -227,6 +330,8 @@ - static bool - different (char *old, char *new, size_t oldlen, size_t newlen) - { -+ char *copy_old, *copy_new; -+ - if (check_chars < oldlen) - oldlen = check_chars; - if (check_chars < newlen) -@@ -234,14 +339,92 @@ - - if (ignore_case) - { -- /* FIXME: This should invoke strcoll somehow. */ -- return oldlen != newlen || memcasecmp (old, new, oldlen); -+ size_t i; -+ -+ copy_old = alloca (oldlen + 1); -+ copy_new = alloca (oldlen + 1); -+ -+ for (i = 0; i < oldlen; i++) -+ { -+ copy_old[i] = toupper (old[i]); -+ copy_new[i] = toupper (new[i]); -+ } - } -- else if (hard_LC_COLLATE) -- return xmemcoll (old, oldlen, new, newlen) != 0; - else -- return oldlen != newlen || memcmp (old, new, oldlen); -+ { -+ copy_old = (char *)old; -+ copy_new = (char *)new; -+ } -+ -+ return xmemcoll (copy_old, oldlen, copy_new, newlen); -+} -+ -+#if HAVE_MBRTOWC -+static int -+different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate) -+{ -+ size_t i, j, chars; -+ const char *str[2]; -+ char *copy[2]; -+ size_t len[2]; -+ mbstate_t state[2]; -+ size_t mblength; -+ wchar_t wc, uwc; -+ mbstate_t state_bak; -+ -+ str[0] = old; -+ str[1] = new; -+ len[0] = oldlen; -+ len[1] = newlen; -+ state[0] = oldstate; -+ state[1] = newstate; -+ -+ for (i = 0; i < 2; i++) -+ { -+ copy[i] = alloca (len[i] + 1); -+ -+ for (j = 0, chars = 0; j < len[i] && chars < check_chars; chars++) -+ { -+ state_bak = state[i]; -+ mblength = mbrtowc (&wc, str[i] + j, len[i] - j, &(state[i])); -+ -+ switch (mblength) -+ { -+ case (size_t)-1: -+ case (size_t)-2: -+ state[i] = state_bak; -+ /* Fall through */ -+ case 0: -+ mblength = 1; -+ break; -+ -+ default: -+ if (ignore_case) -+ { -+ uwc = towupper (wc); -+ -+ if (uwc != wc) -+ { -+ mbstate_t state_wc; -+ -+ memset (&state_wc, '\0', sizeof(mbstate_t)); -+ wcrtomb (copy[i] + j, uwc, &state_wc); -+ } -+ else -+ memcpy (copy[i] + j, str[i] + j, mblength); -+ } -+ else -+ memcpy (copy[i] + j, str[i] + j, mblength); -+ } -+ j += mblength; -+ } -+ copy[i][j] = '\0'; -+ len[i] = j; -+ } -+ -+ return xmemcoll (copy[0], len[0], copy[1], len[1]); - } -+#endif - - /* Output the line in linebuffer LINE to standard output - provided that the switches say it should be output. -@@ -295,15 +478,43 @@ - { - char *prevfield IF_LINT (= NULL); - size_t prevlen IF_LINT (= 0); -+#if HAVE_MBRTOWC -+ mbstate_t prevstate; -+ -+ memset (&prevstate, '\0', sizeof (mbstate_t)); -+#endif - - while (!feof (stdin)) - { - char *thisfield; - size_t thislen; -+#if HAVE_MBRTOWC -+ mbstate_t thisstate; -+#endif -+ - if (readlinebuffer (thisline, stdin) == 0) - break; - thisfield = find_field (thisline); - thislen = thisline->length - 1 - (thisfield - thisline->buffer); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ thisstate = thisline->state; -+ -+ if (prevline->length == 0 || different_multi -+ (thisfield, prevfield, thislen, prevlen, thisstate, prevstate)) -+ { -+ fwrite (thisline->buffer, sizeof (char), -+ thisline->length, stdout); -+ -+ SWAP_LINES (prevline, thisline); -+ prevfield = thisfield; -+ prevlen = thislen; -+ prevstate = thisstate; -+ } -+ } -+ else -+#endif - if (prevline->length == 0 - || different (thisfield, prevfield, thislen, prevlen)) - { -@@ -322,17 +533,26 @@ - size_t prevlen; - uintmax_t match_count = 0; - bool first_delimiter = true; -+#if HAVE_MBRTOWC -+ mbstate_t prevstate; -+#endif - - if (readlinebuffer (prevline, stdin) == 0) - goto closefiles; - prevfield = find_field (prevline); - prevlen = prevline->length - 1 - (prevfield - prevline->buffer); -+#if HAVE_MBRTOWC -+ prevstate = prevline->state; -+#endif - - while (!feof (stdin)) - { - bool match; - char *thisfield; - size_t thislen; -+#if HAVE_MBRTOWC -+ mbstate_t thisstate; -+#endif - if (readlinebuffer (thisline, stdin) == 0) - { - if (ferror (stdin)) -@@ -341,6 +561,15 @@ - } - thisfield = find_field (thisline); - thislen = thisline->length - 1 - (thisfield - thisline->buffer); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ thisstate = thisline->state; -+ match = !different_multi (thisfield, prevfield, -+ thislen, prevlen, thisstate, prevstate); -+ } -+ else -+#endif - match = !different (thisfield, prevfield, thislen, prevlen); - match_count += match; - -@@ -373,6 +602,9 @@ - SWAP_LINES (prevline, thisline); - prevfield = thisfield; - prevlen = thislen; -+#if HAVE_MBRTOWC -+ prevstate = thisstate; -+#endif - if (!match) - match_count = 0; - } -@@ -417,6 +649,19 @@ - - atexit (close_stdout); - -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ find_field = find_field_multi; -+ } -+ else -+#endif -+ { -+ find_field = find_field_uni; -+ } -+ -+ -+ - skip_chars = 0; - skip_fields = 0; - check_chars = SIZE_MAX; ---- coreutils-6.8+/src/fold.c.i18n 2007-02-23 12:01:47.000000000 +0000 -+++ coreutils-6.8+/src/fold.c 2007-03-01 15:08:24.000000000 +0000 -@@ -23,11 +23,33 @@ - #include <getopt.h> - #include <sys/types.h> - -+/* Get mbstate_t, mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ -+/* Get iswprint(), iswblank(), wcwidth(). */ -+#if HAVE_WCTYPE_H -+# include <wctype.h> -+#endif -+ - #include "system.h" - #include "error.h" - #include "quote.h" - #include "xstrtol.h" - -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# undef MB_LEN_MAX -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - #define TAB_WIDTH 8 - - /* The official name of this program (e.g., no `g' prefix). */ -@@ -35,23 +57,44 @@ - - #define AUTHORS "David MacKenzie" - -+#define FATAL_ERROR(Message) \ -+ do \ -+ { \ -+ error (0, 0, (Message)); \ -+ usage (2); \ -+ } \ -+ while (0) -+ -+enum operating_mode -+{ -+ /* Fold texts by columns that are at the given positions. */ -+ column_mode, -+ -+ /* Fold texts by bytes that are at the given positions. */ -+ byte_mode, -+ -+ /* Fold texts by characters that are at the given positions. */ -+ character_mode, -+}; -+ - /* The name this program was run with. */ - char *program_name; - -+/* The argument shows current mode. (Default: column_mode) */ -+static enum operating_mode operating_mode; -+ - /* If nonzero, try to break on whitespace. */ - static bool break_spaces; - --/* If nonzero, count bytes, not column positions. */ --static bool count_bytes; -- - /* If nonzero, at least one of the files we read was standard input. */ - static bool have_read_stdin; - --static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::"; -+static char const shortopts[] = "bcsw:0::1::2::3::4::5::6::7::8::9::"; - - static struct option const longopts[] = - { - {"bytes", no_argument, NULL, 'b'}, -+ {"characters", no_argument, NULL, 'c'}, - {"spaces", no_argument, NULL, 's'}, - {"width", required_argument, NULL, 'w'}, - {GETOPT_HELP_OPTION_DECL}, -@@ -81,6 +124,7 @@ - "), stdout); - fputs (_("\ - -b, --bytes count bytes rather than columns\n\ -+ -c, --characters count characters rather than columns\n\ - -s, --spaces break at spaces\n\ - -w, --width=WIDTH use WIDTH columns instead of 80\n\ - "), stdout); -@@ -98,7 +142,7 @@ - static size_t - adjust_column (size_t column, char c) - { -- if (!count_bytes) -+ if (operating_mode != byte_mode) - { - if (c == '\b') - { -@@ -121,30 +165,14 @@ - to stdout, with maximum line length WIDTH. - Return true if successful. */ - --static bool --fold_file (char const *filename, size_t width) -+static void -+fold_text (FILE *istream, size_t width, int *saved_errno) - { -- FILE *istream; - int c; - size_t column = 0; /* Screen column where next char will go. */ - size_t offset_out = 0; /* Index in `line_out' for next char. */ - static char *line_out = NULL; - static size_t allocated_out = 0; -- int saved_errno; -- -- if (STREQ (filename, "-")) -- { -- istream = stdin; -- have_read_stdin = true; -- } -- else -- istream = fopen (filename, "r"); -- -- if (istream == NULL) -- { -- error (0, errno, "%s", filename); -- return false; -- } - - while ((c = getc (istream)) != EOF) - { -@@ -172,6 +200,15 @@ - bool found_blank = false; - size_t logical_end = offset_out; - -+ /* If LINE_OUT has no wide character, -+ put a new wide character in LINE_OUT -+ if column is bigger than width. */ -+ if (offset_out == 0) -+ { -+ line_out[offset_out++] = c; -+ continue; -+ } -+ - /* Look for the last blank. */ - while (logical_end) - { -@@ -218,11 +255,225 @@ - line_out[offset_out++] = c; - } - -- saved_errno = errno; -+ *saved_errno = errno; -+ -+ if (offset_out) -+ fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); -+ -+ free(line_out); -+} -+ -+#if HAVE_MBRTOWC -+static void -+fold_multibyte_text (FILE *istream, size_t width, int *saved_errno) -+{ -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ size_t buflen = 0; /* The length of the byte sequence in buf. */ -+ char *bufpos; /* Next read position of BUF. */ -+ wint_t wc; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character which shows -+ as same character as WC. */ -+ mbstate_t state, state_bak; /* State of the stream. */ -+ int convfail; /* 1, when conversion is failed. Otherwise 0. */ -+ -+ char *line_out = NULL; -+ size_t offset_out = 0; /* Index in `line_out' for next char. */ -+ size_t allocated_out = 0; -+ -+ int increment; -+ size_t column = 0; -+ -+ size_t last_blank_pos; -+ size_t last_blank_column; -+ int is_blank_seen; -+ int last_blank_increment; -+ int is_bs_following_last_blank; -+ size_t bs_following_last_blank_num; -+ int is_cr_after_last_blank; -+ -+#define CLEAR_FLAGS \ -+ do \ -+ { \ -+ last_blank_pos = 0; \ -+ last_blank_column = 0; \ -+ is_blank_seen = 0; \ -+ is_bs_following_last_blank = 0; \ -+ bs_following_last_blank_num = 0; \ -+ is_cr_after_last_blank = 0; \ -+ } \ -+ while (0) -+ -+#define START_NEW_LINE \ -+ do \ -+ { \ -+ putchar ('\n'); \ -+ column = 0; \ -+ offset_out = 0; \ -+ CLEAR_FLAGS; \ -+ } \ -+ while (0) -+ -+ CLEAR_FLAGS; -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ for (;; bufpos += mblength, buflen -= mblength) -+ { -+ if (buflen < MB_LEN_MAX && !feof (istream) && !ferror (istream)) -+ { -+ memmove (buf, bufpos, buflen); -+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, istream); -+ bufpos = buf; -+ } -+ -+ if (buflen < 1) -+ break; -+ -+ /* Get a wide character. */ -+ convfail = 0; -+ state_bak = state; -+ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &state); -+ -+ switch (mblength) -+ { -+ case (size_t)-1: -+ case (size_t)-2: -+ convfail++; -+ state = state_bak; -+ /* Fall through. */ -+ -+ case 0: -+ mblength = 1; -+ break; -+ } -+ -+rescan: -+ if (operating_mode == byte_mode) /* byte mode */ -+ increment = mblength; -+ else if (operating_mode == character_mode) /* character mode */ -+ increment = 1; -+ else /* column mode */ -+ { -+ if (convfail) -+ increment = 1; -+ else -+ { -+ switch (wc) -+ { -+ case L'\n': -+ fwrite (line_out, sizeof(char), offset_out, stdout); -+ START_NEW_LINE; -+ continue; -+ -+ case L'\b': -+ increment = (column > 0) ? -1 : 0; -+ break; -+ -+ case L'\r': -+ increment = -1 * column; -+ break; -+ -+ case L'\t': -+ increment = 8 - column % 8; -+ break; -+ -+ default: -+ increment = wcwidth (wc); -+ increment = (increment < 0) ? 0 : increment; -+ } -+ } -+ } -+ -+ if (column + increment > width && break_spaces && last_blank_pos) -+ { -+ fwrite (line_out, sizeof(char), last_blank_pos, stdout); -+ putchar ('\n'); -+ -+ offset_out = offset_out - last_blank_pos; -+ column = column - last_blank_column + ((is_cr_after_last_blank) -+ ? last_blank_increment : bs_following_last_blank_num); -+ memmove (line_out, line_out + last_blank_pos, offset_out); -+ CLEAR_FLAGS; -+ goto rescan; -+ } -+ -+ if (column + increment > width && column != 0) -+ { -+ fwrite (line_out, sizeof(char), offset_out, stdout); -+ START_NEW_LINE; -+ goto rescan; -+ } -+ -+ if (allocated_out < offset_out + mblength) -+ { -+ allocated_out += 1024; -+ line_out = xrealloc (line_out, allocated_out); -+ } -+ -+ memcpy (line_out + offset_out, bufpos, mblength); -+ offset_out += mblength; -+ column += increment; -+ -+ if (is_blank_seen && !convfail && wc == L'\r') -+ is_cr_after_last_blank = 1; -+ -+ if (is_bs_following_last_blank && !convfail && wc == L'\b') -+ ++bs_following_last_blank_num; -+ else -+ is_bs_following_last_blank = 0; -+ -+ if (break_spaces && !convfail && iswblank (wc)) -+ { -+ last_blank_pos = offset_out; -+ last_blank_column = column; -+ is_blank_seen = 1; -+ last_blank_increment = increment; -+ is_bs_following_last_blank = 1; -+ bs_following_last_blank_num = 0; -+ is_cr_after_last_blank = 0; -+ } -+ } -+ -+ *saved_errno = errno; - - if (offset_out) - fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); - -+ free(line_out); -+} -+#endif -+ -+/* Fold file FILENAME, or standard input if FILENAME is "-", -+ to stdout, with maximum line length WIDTH. -+ Return 0 if successful, 1 if an error occurs. */ -+ -+static bool -+fold_file (char *filename, size_t width) -+{ -+ FILE *istream; -+ int saved_errno; -+ -+ if (STREQ (filename, "-")) -+ { -+ istream = stdin; -+ have_read_stdin = 1; -+ } -+ else -+ istream = fopen (filename, "r"); -+ -+ if (istream == NULL) -+ { -+ error (0, errno, "%s", filename); -+ return 1; -+ } -+ -+ /* Define how ISTREAM is being folded. */ -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ fold_multibyte_text (istream, width, &saved_errno); -+ else -+#endif -+ fold_text (istream, width, &saved_errno); -+ - if (ferror (istream)) - { - error (0, saved_errno, "%s", filename); -@@ -255,7 +506,8 @@ - - atexit (close_stdout); - -- break_spaces = count_bytes = have_read_stdin = false; -+ operating_mode = column_mode; -+ break_spaces = have_read_stdin = false; - - while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) - { -@@ -264,7 +516,15 @@ - switch (optc) - { - case 'b': /* Count bytes rather than columns. */ -- count_bytes = true; -+ if (operating_mode != column_mode) -+ FATAL_ERROR (_("only one way of folding may be specified")); -+ operating_mode = byte_mode; -+ break; -+ -+ case 'c': -+ if (operating_mode != column_mode) -+ FATAL_ERROR (_("only one way of folding may be specified")); -+ operating_mode = character_mode; - break; - - case 's': /* Break at word boundaries. */ ---- coreutils-6.8+/src/sort.c.i18n 2007-02-24 11:23:23.000000000 +0000 -+++ coreutils-6.8+/src/sort.c 2007-03-01 15:10:57.000000000 +0000 -@@ -23,10 +23,19 @@ - - #include <config.h> - -+#include <assert.h> - #include <getopt.h> - #include <sys/types.h> - #include <sys/wait.h> - #include <signal.h> -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+/* Get isw* functions. */ -+#if HAVE_WCTYPE_H -+# include <wctype.h> -+#endif -+ - #include "system.h" - #include "argmatch.h" - #include "error.h" -@@ -116,14 +125,38 @@ - /* Thousands separator; if -1, then there isn't one. */ - static int thousands_sep; - -+static int force_general_numcompare = 0; -+ - /* Nonzero if the corresponding locales are hard. */ - static bool hard_LC_COLLATE; --#if HAVE_NL_LANGINFO -+#if HAVE_LANGINFO_CODESET - static bool hard_LC_TIME; - #endif - - #define NONZERO(x) ((x) != 0) - -+/* get a multibyte character's byte length. */ -+#define GET_BYTELEN_OF_CHAR(LIM, PTR, MBLENGTH, STATE) \ -+ do \ -+ { \ -+ wchar_t wc; \ -+ mbstate_t state_bak; \ -+ \ -+ state_bak = STATE; \ -+ mblength = mbrtowc (&wc, PTR, LIM - PTR, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-1: \ -+ case (size_t)-2: \ -+ STATE = state_bak; \ -+ /* Fall through. */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+ } \ -+ while (0) -+ - /* The kind of blanks for '-b' to skip in various options. */ - enum blanktype { bl_start, bl_end, bl_both }; - -@@ -261,13 +294,11 @@ - they were read if all keys compare equal. */ - static bool stable; - --/* If TAB has this value, blanks separate fields. */ --enum { TAB_DEFAULT = CHAR_MAX + 1 }; -- --/* Tab character separating fields. If TAB_DEFAULT, then fields are -+/* Tab character separating fields. If tab_length is 0, then fields are - separated by the empty string between a non-blank character and a blank - character. */ --static int tab = TAB_DEFAULT; -+static char tab[MB_LEN_MAX + 1]; -+static size_t tab_length = 0; - - /* Flag to remove consecutive duplicate lines from the output. - Only the last of a sequence of equal lines will be output. */ -@@ -639,6 +670,44 @@ - update_proc (pid); - } - -+/* Function pointers. */ -+static void -+(*inittables) (void); -+static char * -+(*begfield) (const struct line*, const struct keyfield *); -+static char * -+(*limfield) (const struct line*, const struct keyfield *); -+static int -+(*getmonth) (char const *, size_t); -+static int -+(*keycompare) (const struct line *, const struct line *); -+static int -+(*numcompare) (const char *, const char *); -+ -+/* Test for white space multibyte character. -+ Set LENGTH the byte length of investigated multibyte character. */ -+#if HAVE_MBRTOWC -+static int -+ismbblank (const char *str, size_t len, size_t *length) -+{ -+ size_t mblength; -+ wchar_t wc; -+ mbstate_t state; -+ -+ memset (&state, '\0', sizeof(mbstate_t)); -+ mblength = mbrtowc (&wc, str, len, &state); -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ *length = 1; -+ return 0; -+ } -+ -+ *length = (mblength < 1) ? 1 : mblength; -+ return iswblank (wc); -+} -+#endif -+ - /* Clean up any remaining temporary files. */ - - static void -@@ -978,7 +1047,7 @@ - free (node); - } - --#if HAVE_NL_LANGINFO -+#if HAVE_LANGINFO_CODESET - - static int - struct_month_cmp (const void *m1, const void *m2) -@@ -993,7 +1062,7 @@ - /* Initialize the character class tables. */ - - static void --inittables (void) -+inittables_uni (void) - { - size_t i; - -@@ -1005,7 +1074,7 @@ - fold_toupper[i] = toupper (i); - } - --#if HAVE_NL_LANGINFO -+#if HAVE_LANGINFO_CODESET - /* If we're not in the "C" locale, read different names for months. */ - if (hard_LC_TIME) - { -@@ -1031,6 +1100,64 @@ - #endif - } - -+#if HAVE_MBRTOWC -+static void -+inittables_mb (void) -+{ -+ int i, j, k, l; -+ char *name, *s; -+ size_t s_len, mblength; -+ char mbc[MB_LEN_MAX]; -+ wchar_t wc, pwc; -+ mbstate_t state_mb, state_wc; -+ -+ for (i = 0; i < MONTHS_PER_YEAR; i++) -+ { -+ s = (char *) nl_langinfo (ABMON_1 + i); -+ s_len = strlen (s); -+ monthtab[i].name = name = (char *) xmalloc (s_len + 1); -+ monthtab[i].val = i + 1; -+ -+ memset (&state_mb, '\0', sizeof (mbstate_t)); -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ -+ for (j = 0; j < s_len;) -+ { -+ if (!ismbblank (s + j, s_len - j, &mblength)) -+ break; -+ j += mblength; -+ } -+ -+ for (k = 0; j < s_len;) -+ { -+ mblength = mbrtowc (&wc, (s + j), (s_len - j), &state_mb); -+ assert (mblength != (size_t)-1 && mblength != (size_t)-2); -+ if (mblength == 0) -+ break; -+ -+ pwc = towupper (wc); -+ if (pwc == wc) -+ { -+ memcpy (mbc, s + j, mblength); -+ j += mblength; -+ } -+ else -+ { -+ j += mblength; -+ mblength = wcrtomb (mbc, pwc, &state_wc); -+ assert (mblength != (size_t)0 && mblength != (size_t)-1); -+ } -+ -+ for (l = 0; l < mblength; l++) -+ name[k++] = mbc[l]; -+ } -+ name[k] = '\0'; -+ } -+ qsort ((void *) monthtab, MONTHS_PER_YEAR, -+ sizeof (struct month), struct_month_cmp); -+} -+#endif -+ - /* Specify the amount of main memory to use when sorting. */ - static void - specify_sort_size (char const *s) -@@ -1241,7 +1368,7 @@ - by KEY in LINE. */ - - static char * --begfield (const struct line *line, const struct keyfield *key) -+begfield_uni (const struct line *line, const struct keyfield *key) - { - char *ptr = line->text, *lim = ptr + line->length - 1; - size_t sword = key->sword; -@@ -1251,10 +1378,10 @@ - /* The leading field separator itself is included in a field when -t - is absent. */ - -- if (tab != TAB_DEFAULT) -+ if (tab_length) - while (ptr < lim && sword--) - { -- while (ptr < lim && *ptr != tab) -+ while (ptr < lim && *ptr != tab[0]) - ++ptr; - if (ptr < lim) - ++ptr; -@@ -1282,11 +1409,70 @@ - return ptr; - } - -+#if HAVE_MBRTOWC -+static char * -+begfield_mb (const struct line *line, const struct keyfield *key) -+{ -+ int i; -+ char *ptr = line->text, *lim = ptr + line->length - 1; -+ size_t sword = key->sword; -+ size_t schar = key->schar; -+ size_t mblength; -+ mbstate_t state; -+ -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ if (tab_length) -+ while (ptr < lim && sword--) -+ { -+ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ if (ptr < lim) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ } -+ else -+ while (ptr < lim && sword--) -+ { -+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ if (ptr < lim) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ } -+ -+ if (key->skipsblanks) -+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ -+ for (i = 0; i < schar; i++) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ -+ if (ptr + mblength > lim) -+ break; -+ else -+ ptr += mblength; -+ } -+ -+ return ptr; -+} -+#endif -+ - /* Return the limit of (a pointer to the first character after) the field - in LINE specified by KEY. */ - - static char * --limfield (const struct line *line, const struct keyfield *key) -+limfield_uni (const struct line *line, const struct keyfield *key) - { - char *ptr = line->text, *lim = ptr + line->length - 1; - size_t eword = key->eword, echar = key->echar; -@@ -1299,10 +1485,10 @@ - `beginning' is the first character following the delimiting TAB. - Otherwise, leave PTR pointing at the first `blank' character after - the preceding field. */ -- if (tab != TAB_DEFAULT) -+ if (tab_length) - while (ptr < lim && eword--) - { -- while (ptr < lim && *ptr != tab) -+ while (ptr < lim && *ptr != tab[0]) - ++ptr; - if (ptr < lim && (eword | echar)) - ++ptr; -@@ -1348,10 +1534,10 @@ - */ - - /* Make LIM point to the end of (one byte past) the current field. */ -- if (tab != TAB_DEFAULT) -+ if (tab_length) - { - char *newlim; -- newlim = memchr (ptr, tab, lim - ptr); -+ newlim = memchr (ptr, tab[0], lim - ptr); - if (newlim) - lim = newlim; - } -@@ -1384,6 +1570,107 @@ - return ptr; - } - -+#if HAVE_MBRTOWC -+static char * -+limfield_mb (const struct line *line, const struct keyfield *key) -+{ -+ char *ptr = line->text, *lim = ptr + line->length - 1; -+ size_t eword = key->eword, echar = key->echar; -+ int i; -+ size_t mblength; -+ mbstate_t state; -+ -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ if (tab_length) -+ while (ptr < lim && eword--) -+ { -+ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ if (ptr < lim && (eword | echar)) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ } -+ else -+ while (ptr < lim && eword--) -+ { -+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ if (ptr < lim) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ } -+ -+ -+# ifdef POSIX_UNSPECIFIED -+ /* Make LIM point to the end of (one byte past) the current field. */ -+ if (tab_length) -+ { -+ char *newlim, *p; -+ -+ newlim = NULL; -+ for (p = ptr; p < lim;) -+ { -+ if (memcmp (p, tab, tab_length) == 0) -+ { -+ newlim = p; -+ break; -+ } -+ -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ p += mblength; -+ } -+ } -+ else -+ { -+ char *newlim; -+ newlim = ptr; -+ -+ while (newlim < lim && ismbblank (newlim, lim - newlim, &mblength)) -+ newlim += mblength; -+ if (ptr < lim) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ ptr += mblength; -+ } -+ while (newlim < lim && !ismbblank (newlim, lim - newlim, &mblength)) -+ newlim += mblength; -+ lim = newlim; -+ } -+# endif -+ -+ /* If we're skipping leading blanks, don't start counting characters -+ * until after skipping past any leading blanks. */ -+ if (key->skipsblanks) -+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) -+ ptr += mblength; -+ -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ /* Advance PTR by ECHAR (if possible), but no further than LIM. */ -+ for (i = 0; i < echar; i++) -+ { -+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); -+ -+ if (ptr + mblength > lim) -+ break; -+ else -+ ptr += mblength; -+ } -+ -+ return ptr; -+} -+#endif -+ - /* Fill BUF reading from FP, moving buf->left bytes from the end - of buf->buf to the beginning first. If EOF is reached and the - file wasn't terminated by a newline, supply one. Set up BUF's line -@@ -1466,8 +1753,24 @@ - else - { - if (key->skipsblanks) -- while (blanks[to_uchar (*line_start)]) -- line_start++; -+ { -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ size_t mblength; -+ mbstate_t state; -+ memset (&state, '\0', sizeof(mbstate_t)); -+ while (line_start < line->keylim && -+ ismbblank (line_start, -+ line->keylim - line_start, -+ &mblength)) -+ line_start += mblength; -+ } -+ else -+#endif -+ while (blanks[to_uchar (*line_start)]) -+ line_start++; -+ } - line->keybeg = line_start; - } - } -@@ -1500,7 +1803,7 @@ - hideously fast. */ - - static int --numcompare (const char *a, const char *b) -+numcompare_uni (const char *a, const char *b) - { - while (blanks[to_uchar (*a)]) - a++; -@@ -1510,6 +1813,25 @@ - return strnumcmp (a, b, decimal_point, thousands_sep); - } - -+#if HAVE_MBRTOWC -+static int -+numcompare_mb (const char *a, const char *b) -+{ -+ size_t mblength, len; -+ len = strlen (a); /* okay for UTF-8 */ -+ while (*a && ismbblank (a, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength)) -+ { -+ a += mblength; -+ len -= mblength; -+ } -+ len = strlen (b); /* okay for UTF-8 */ -+ while (*b && ismbblank (b, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength)) -+ b += mblength; -+ -+ return strnumcmp (a, b, decimal_point, thousands_sep); -+} -+#endif /* HAV_EMBRTOWC */ -+ - static int - general_numcompare (const char *sa, const char *sb) - { -@@ -1543,7 +1865,7 @@ - Return 0 if the name in S is not recognized. */ - - static int --getmonth (char const *month, size_t len) -+getmonth_uni (char const *month, size_t len) - { - size_t lo = 0; - size_t hi = MONTHS_PER_YEAR; -@@ -1698,11 +2020,79 @@ - return diff; - } - -+#if HAVE_MBRTOWC -+static int -+getmonth_mb (const char *s, size_t len) -+{ -+ char *month; -+ register size_t i; -+ register int lo = 0, hi = MONTHS_PER_YEAR, result; -+ char *tmp; -+ size_t wclength, mblength; -+ const char **pp; -+ const wchar_t **wpp; -+ wchar_t *month_wcs; -+ mbstate_t state; -+ -+ while (len > 0 && ismbblank (s, len, &mblength)) -+ { -+ s += mblength; -+ len -= mblength; -+ } -+ -+ if (len == 0) -+ return 0; -+ -+ month = (char *) alloca (len + 1); -+ -+ tmp = (char *) alloca (len + 1); -+ memcpy (tmp, s, len); -+ tmp[len] = '\0'; -+ pp = (const char **)&tmp; -+ month_wcs = (wchar_t *) alloca ((len + 1) * sizeof (wchar_t)); -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ wclength = mbsrtowcs (month_wcs, pp, len + 1, &state); -+ assert (wclength != (size_t)-1 && *pp == NULL); -+ -+ for (i = 0; i < wclength; i++) -+ { -+ month_wcs[i] = towupper(month_wcs[i]); -+ if (iswblank (month_wcs[i])) -+ { -+ month_wcs[i] = L'\0'; -+ break; -+ } -+ } -+ -+ wpp = (const wchar_t **)&month_wcs; -+ -+ mblength = wcsrtombs (month, wpp, len + 1, &state); -+ assert (mblength != (-1) && *wpp == NULL); -+ -+ do -+ { -+ int ix = (lo + hi) / 2; -+ -+ if (strncmp (month, monthtab[ix].name, strlen (monthtab[ix].name)) < 0) -+ hi = ix; -+ else -+ lo = ix; -+ } -+ while (hi - lo > 1); -+ -+ result = (!strncmp (month, monthtab[lo].name, strlen (monthtab[lo].name)) -+ ? monthtab[lo].val : 0); -+ -+ return result; -+} -+#endif -+ - /* Compare two lines A and B trying every key in sequence until there - are no more keys or a difference is found. */ - - static int --keycompare (const struct line *a, const struct line *b) -+keycompare_uni (const struct line *a, const struct line *b) - { - struct keyfield const *key = keylist; - -@@ -1875,6 +2265,179 @@ - return key->reverse ? -diff : diff; - } - -+#if HAVE_MBRTOWC -+static int -+keycompare_mb (const struct line *a, const struct line *b) -+{ -+ struct keyfield *key = keylist; -+ -+ /* For the first iteration only, the key positions have been -+ precomputed for us. */ -+ char *texta = a->keybeg; -+ char *textb = b->keybeg; -+ char *lima = a->keylim; -+ char *limb = b->keylim; -+ -+ size_t mblength_a, mblength_b; -+ wchar_t wc_a, wc_b; -+ mbstate_t state_a, state_b; -+ -+ int diff; -+ -+ memset (&state_a, '\0', sizeof(mbstate_t)); -+ memset (&state_b, '\0', sizeof(mbstate_t)); -+ -+ for (;;) -+ { -+ unsigned char *translate = (unsigned char *) key->translate; -+ bool const *ignore = key->ignore; -+ -+ /* Find the lengths. */ -+ size_t lena = lima <= texta ? 0 : lima - texta; -+ size_t lenb = limb <= textb ? 0 : limb - textb; -+ -+ /* Actually compare the fields. */ -+ if (key->random) -+ diff = compare_random (texta, lena, textb, lenb); -+ else if (key->numeric | key->general_numeric) -+ { -+ char savea = *lima, saveb = *limb; -+ -+ *lima = *limb = '\0'; -+ if (force_general_numcompare) -+ diff = general_numcompare (texta, textb); -+ else -+ diff = ((key->numeric ? numcompare : general_numcompare) -+ (texta, textb)); -+ *lima = savea, *limb = saveb; -+ } -+ else if (key->month) -+ diff = getmonth (texta, lena) - getmonth (textb, lenb); -+ else -+ { -+ if (ignore || translate) -+ { -+ char *copy_a = (char *) alloca (lena + 1 + lenb + 1); -+ char *copy_b = copy_a + lena + 1; -+ size_t new_len_a, new_len_b; -+ size_t i, j; -+ -+ /* Ignore and/or translate chars before comparing. */ -+# define IGNORE_CHARS(NEW_LEN, LEN, TEXT, COPY, WC, MBLENGTH, STATE) \ -+ do \ -+ { \ -+ wchar_t uwc; \ -+ char mbc[MB_LEN_MAX]; \ -+ mbstate_t state_wc; \ -+ \ -+ for (NEW_LEN = i = 0; i < LEN;) \ -+ { \ -+ mbstate_t state_bak; \ -+ \ -+ state_bak = STATE; \ -+ MBLENGTH = mbrtowc (&WC, TEXT + i, LEN - i, &STATE); \ -+ \ -+ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1 \ -+ || MBLENGTH == 0) \ -+ { \ -+ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1) \ -+ STATE = state_bak; \ -+ if (!ignore) \ -+ COPY[NEW_LEN++] = TEXT[i++]; \ -+ continue; \ -+ } \ -+ \ -+ if (ignore) \ -+ { \ -+ if ((ignore == nonprinting && !iswprint (WC)) \ -+ || (ignore == nondictionary \ -+ && !iswalnum (WC) && !iswblank (WC))) \ -+ { \ -+ i += MBLENGTH; \ -+ continue; \ -+ } \ -+ } \ -+ \ -+ if (translate) \ -+ { \ -+ \ -+ uwc = towupper(WC); \ -+ if (WC == uwc) \ -+ { \ -+ memcpy (mbc, TEXT + i, MBLENGTH); \ -+ i += MBLENGTH; \ -+ } \ -+ else \ -+ { \ -+ i += MBLENGTH; \ -+ WC = uwc; \ -+ memset (&state_wc, '\0', sizeof (mbstate_t)); \ -+ \ -+ MBLENGTH = wcrtomb (mbc, WC, &state_wc); \ -+ assert (MBLENGTH != (size_t)-1 && MBLENGTH != 0); \ -+ } \ -+ \ -+ for (j = 0; j < MBLENGTH; j++) \ -+ COPY[NEW_LEN++] = mbc[j]; \ -+ } \ -+ else \ -+ for (j = 0; j < MBLENGTH; j++) \ -+ COPY[NEW_LEN++] = TEXT[i++]; \ -+ } \ -+ COPY[NEW_LEN] = '\0'; \ -+ } \ -+ while (0) -+ IGNORE_CHARS (new_len_a, lena, texta, copy_a, -+ wc_a, mblength_a, state_a); -+ IGNORE_CHARS (new_len_b, lenb, textb, copy_b, -+ wc_b, mblength_b, state_b); -+ diff = xmemcoll (copy_a, new_len_a, copy_b, new_len_b); -+ } -+ else if (lena == 0) -+ diff = - NONZERO (lenb); -+ else if (lenb == 0) -+ goto greater; -+ else -+ diff = xmemcoll (texta, lena, textb, lenb); -+ } -+ -+ if (diff) -+ goto not_equal; -+ -+ key = key->next; -+ if (! key) -+ break; -+ -+ /* Find the beginning and limit of the next field. */ -+ if (key->eword != -1) -+ lima = limfield (a, key), limb = limfield (b, key); -+ else -+ lima = a->text + a->length - 1, limb = b->text + b->length - 1; -+ -+ if (key->sword != -1) -+ texta = begfield (a, key), textb = begfield (b, key); -+ else -+ { -+ texta = a->text, textb = b->text; -+ if (key->skipsblanks) -+ { -+ while (texta < lima && ismbblank (texta, lima - texta, &mblength_a)) -+ texta += mblength_a; -+ while (textb < limb && ismbblank (textb, limb - textb, &mblength_b)) -+ textb += mblength_b; -+ } -+ } -+ } -+ -+ return 0; -+ -+greater: -+ diff = 1; -+not_equal: -+ return key->reverse ? -diff : diff; -+} -+#endif -+ - /* Compare two lines A and B, returning negative, zero, or positive - depending on whether A compares less than, equal to, or greater than B. */ - -@@ -2744,7 +3305,7 @@ - initialize_exit_failure (SORT_FAILURE); - - hard_LC_COLLATE = hard_locale (LC_COLLATE); --#if HAVE_NL_LANGINFO -+#if HAVE_LANGINFO_CODESET - hard_LC_TIME = hard_locale (LC_TIME); - #endif - -@@ -2765,6 +3326,27 @@ - thousands_sep = -1; - } - -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ inittables = inittables_mb; -+ begfield = begfield_mb; -+ limfield = limfield_mb; -+ getmonth = getmonth_mb; -+ keycompare = keycompare_mb; -+ numcompare = numcompare_mb; -+ } -+ else -+#endif -+ { -+ inittables = inittables_uni; -+ begfield = begfield_uni; -+ limfield = limfield_uni; -+ getmonth = getmonth_uni; -+ keycompare = keycompare_uni; -+ numcompare = numcompare_uni; -+ } -+ - have_read_stdin = false; - inittables (); - -@@ -3015,13 +3597,35 @@ - - case 't': - { -- char newtab = optarg[0]; -- if (! newtab) -+ char newtab[MB_LEN_MAX + 1]; -+ size_t newtab_length = 1; -+ strncpy (newtab, optarg, MB_LEN_MAX); -+ if (! newtab[0]) - error (SORT_FAILURE, 0, _("empty tab")); -- if (optarg[1]) -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ wchar_t wc; -+ mbstate_t state; -+ size_t i; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+ newtab_length = mbrtowc (&wc, newtab, strnlen (newtab, -+ MB_LEN_MAX), -+ &state); -+ switch (newtab_length) -+ { -+ case (size_t) -1: -+ case (size_t) -2: -+ case 0: -+ newtab_length = 1; -+ } -+ } -+#endif -+ if (newtab_length == 1 && optarg[1]) - { - if (STREQ (optarg, "\\0")) -- newtab = '\0'; -+ newtab[0] = '\0'; - else - { - /* Provoke with `sort -txx'. Complain about -@@ -3032,9 +3636,12 @@ - quote (optarg)); - } - } -- if (tab != TAB_DEFAULT && tab != newtab) -+ if (tab_length -+ && (tab_length != newtab_length -+ || memcmp (tab, newtab, tab_length) != 0)) - error (SORT_FAILURE, 0, _("incompatible tabs")); -- tab = newtab; -+ memcpy (tab, newtab, newtab_length); -+ tab_length = newtab_length; - } - break; - ---- coreutils-6.8+/src/unexpand.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/unexpand.c 2007-03-01 15:08:24.000000000 +0000 -@@ -39,11 +39,28 @@ - #include <stdio.h> - #include <getopt.h> - #include <sys/types.h> -+ -+/* Get mbstate_t, mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ - #include "system.h" - #include "error.h" - #include "quote.h" - #include "xstrndup.h" - -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "unexpand" - -@@ -110,6 +127,208 @@ - {NULL, 0, NULL, 0} - }; - -+static FILE *next_file (FILE *fp); -+ -+#if HAVE_MBRTOWC -+static void -+unexpand_multibyte (void) -+{ -+ FILE *fp; /* Input stream. */ -+ mbstate_t i_state; /* Current shift state of the input stream. */ -+ mbstate_t i_state_bak; /* Back up the I_STATE. */ -+ mbstate_t o_state; /* Current shift state of the output stream. */ -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ char *bufpos; /* Next read position of BUF. */ -+ size_t buflen = 0; /* The length of the byte sequence in buf. */ -+ wint_t wc; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character -+ which shows as same character as WC. */ -+ -+ /* Index in `tab_list' of next tabstop: */ -+ int tab_index = 0; /* For calculating width of pending tabs. */ -+ int print_tab_index = 0; /* For printing as many tabs as possible. */ -+ unsigned int column = 0; /* Column on screen of next char. */ -+ int next_tab_column; /* Column the next tab stop is on. */ -+ int convert = 1; /* If nonzero, perform translations. */ -+ unsigned int pending = 0; /* Pending columns of blanks. */ -+ -+ fp = next_file ((FILE *) NULL); -+ if (fp == NULL) -+ return; -+ -+ memset (&o_state, '\0', sizeof(mbstate_t)); -+ memset (&i_state, '\0', sizeof(mbstate_t)); -+ -+ for (;;) -+ { -+ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp)) -+ { -+ memmove (buf, bufpos, buflen); -+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp); -+ bufpos = buf; -+ } -+ -+ /* Get a wide character. */ -+ if (buflen < 1) -+ { -+ mblength = 1; -+ wc = WEOF; -+ } -+ else -+ { -+ i_state_bak = i_state; -+ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &i_state); -+ } -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ i_state = i_state_bak; -+ wc = L'\0'; -+ } -+ -+ if (wc == L' ' && convert && column < INT_MAX) -+ { -+ ++pending; -+ ++column; -+ } -+ else if (wc == L'\t' && convert) -+ { -+ if (tab_size == 0) -+ { -+ /* Do not let tab_index == first_free_tab; -+ stop when it is 1 less. */ -+ while (tab_index < first_free_tab - 1 -+ && column >= tab_list[tab_index]) -+ tab_index++; -+ next_tab_column = tab_list[tab_index]; -+ if (tab_index < first_free_tab - 1) -+ tab_index++; -+ if (column >= next_tab_column) -+ { -+ convert = 0; /* Ran out of tab stops. */ -+ goto flush_pend_mb; -+ } -+ } -+ else -+ { -+ next_tab_column = column + tab_size - column % tab_size; -+ } -+ pending += next_tab_column - column; -+ column = next_tab_column; -+ } -+ else -+ { -+flush_pend_mb: -+ /* Flush pending spaces. Print as many tabs as possible, -+ then print the rest as spaces. */ -+ if (pending == 1) -+ { -+ putchar (' '); -+ pending = 0; -+ } -+ column -= pending; -+ while (pending > 0) -+ { -+ if (tab_size == 0) -+ { -+ /* Do not let print_tab_index == first_free_tab; -+ stop when it is 1 less. */ -+ while (print_tab_index < first_free_tab - 1 -+ && column >= tab_list[print_tab_index]) -+ print_tab_index++; -+ next_tab_column = tab_list[print_tab_index]; -+ if (print_tab_index < first_free_tab - 1) -+ print_tab_index++; -+ } -+ else -+ { -+ next_tab_column = -+ column + tab_size - column % tab_size; -+ } -+ if (next_tab_column - column <= pending) -+ { -+ putchar ('\t'); -+ pending -= next_tab_column - column; -+ column = next_tab_column; -+ } -+ else -+ { -+ --print_tab_index; -+ column += pending; -+ while (pending != 0) -+ { -+ putchar (' '); -+ pending--; -+ } -+ } -+ } -+ -+ if (wc == WEOF) -+ { -+ fp = next_file (fp); -+ if (fp == NULL) -+ break; /* No more files. */ -+ else -+ { -+ memset (&i_state, '\0', sizeof(mbstate_t)); -+ continue; -+ } -+ } -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ if (convert) -+ { -+ ++column; -+ if (convert_entire_line == 0) -+ convert = 0; -+ } -+ mblength = 1; -+ putchar (buf[0]); -+ } -+ else if (mblength == 0) -+ { -+ if (convert && convert_entire_line == 0) -+ convert = 0; -+ mblength = 1; -+ putchar ('\0'); -+ } -+ else -+ { -+ if (convert) -+ { -+ if (wc == L'\b') -+ { -+ if (column > 0) -+ --column; -+ } -+ else -+ { -+ int width; /* The width of WC. */ -+ -+ width = wcwidth (wc); -+ column += (width > 0) ? width : 0; -+ if (convert_entire_line == 0) -+ convert = 0; -+ } -+ } -+ -+ if (wc == L'\n') -+ { -+ tab_index = print_tab_index = 0; -+ column = pending = 0; -+ convert = 1; -+ } -+ fwrite (bufpos, sizeof(char), mblength, stdout); -+ } -+ } -+ buflen -= mblength; -+ bufpos += mblength; -+ } -+} -+#endif -+ -+ - void - usage (int status) - { -@@ -531,7 +750,12 @@ - - file_list = (optind < argc ? &argv[optind] : stdin_argv); - -- unexpand (); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ unexpand_multibyte (); -+ else -+#endif -+ unexpand (); - - if (have_read_stdin && fclose (stdin) != 0) - error (EXIT_FAILURE, errno, "-"); ---- coreutils-6.8+/src/pr.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/pr.c 2007-03-01 15:08:24.000000000 +0000 -@@ -313,6 +313,32 @@ - - #include <getopt.h> - #include <sys/types.h> -+ -+/* Get MB_LEN_MAX. */ -+#include <limits.h> -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX == 1 -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Get MB_CUR_MAX. */ -+#include <stdlib.h> -+ -+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */ -+/* Get mbstate_t, mbrtowc(), wcwidth(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif -+ -+/* Get iswprint(). -- for wcwidth(). */ -+#if HAVE_WCTYPE_H -+# include <wctype.h> -+#endif -+#if !defined iswprint && !HAVE_ISWPRINT -+# define iswprint(wc) 1 -+#endif -+ - #include "system.h" - #include "error.h" - #include "hard-locale.h" -@@ -324,6 +350,18 @@ - #include "strftime.h" - #include "xstrtol.h" - -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ -+#ifndef HAVE_DECL_WCWIDTH -+"this configure-time declaration test was not run" -+#endif -+#if !HAVE_DECL_WCWIDTH -+extern int wcwidth (); -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "pr" - -@@ -416,7 +454,20 @@ - - #define NULLCOL (COLUMN *)0 - --static int char_to_clump (char c); -+/* Funtion pointers to switch functions for single byte locale or for -+ multibyte locale. If multibyte functions do not exist in your sysytem, -+ these pointers always point the function for single byte locale. */ -+static void (*print_char) (char c); -+static int (*char_to_clump) (char c); -+ -+/* Functions for single byte locale. */ -+static void print_char_single (char c); -+static int char_to_clump_single (char c); -+ -+/* Functions for multibyte locale. */ -+static void print_char_multi (char c); -+static int char_to_clump_multi (char c); -+ - static bool read_line (COLUMN *p); - static bool print_page (void); - static bool print_stored (COLUMN *p); -@@ -426,6 +477,7 @@ - static void pad_across_to (int position); - static void add_line_number (COLUMN *p); - static void getoptarg (char *arg, char switch_char, char *character, -+ int *character_length, int *character_width, - int *number); - void usage (int status); - static void print_files (int number_of_files, char **av); -@@ -440,7 +492,6 @@ - static void pad_down (int lines); - static void read_rest_of_line (COLUMN *p); - static void skip_read (COLUMN *p, int column_number); --static void print_char (char c); - static void cleanup (void); - static void print_sep_string (void); - static void separator_string (const char *optarg_S); -@@ -455,7 +506,7 @@ - we store the leftmost columns contiguously in buff. - To print a line from buff, get the index of the first character - from line_vector[i], and print up to line_vector[i + 1]. */ --static char *buff; -+static unsigned char *buff; - - /* Index of the position in buff where the next character - will be stored. */ -@@ -559,7 +610,7 @@ - static bool untabify_input = false; - - /* (-e) The input tab character. */ --static char input_tab_char = '\t'; -+static char input_tab_char[MB_LEN_MAX] = "\t"; - - /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ... - where the leftmost column is 1. */ -@@ -569,7 +620,10 @@ - static bool tabify_output = false; - - /* (-i) The output tab character. */ --static char output_tab_char = '\t'; -+static char output_tab_char[MB_LEN_MAX] = "\t"; -+ -+/* (-i) The byte length of output tab character. */ -+static int output_tab_char_length = 1; - - /* (-i) The width of the output tab. */ - static int chars_per_output_tab = 8; -@@ -643,7 +697,13 @@ - static bool numbered_lines = false; - - /* (-n) Character which follows each line number. */ --static char number_separator = '\t'; -+static char number_separator[MB_LEN_MAX] = "\t"; -+ -+/* (-n) The byte length of the character which follows each line number. */ -+static int number_separator_length = 1; -+ -+/* (-n) The character width of the character which follows each line number. */ -+static int number_separator_width = 0; - - /* (-n) line counting starts with 1st line of input file (not with 1st - line of 1st page printed). */ -@@ -696,6 +756,7 @@ - -a|COLUMN|-m is a `space' and with the -J option a `tab'. */ - static char *col_sep_string = ""; - static int col_sep_length = 0; -+static int col_sep_width = 0; - static char *column_separator = " "; - static char *line_separator = "\t"; - -@@ -852,6 +913,13 @@ - col_sep_length = (int) strlen (optarg_S); - col_sep_string = xmalloc (col_sep_length + 1); - strcpy (col_sep_string, optarg_S); -+ -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ col_sep_width = mbswidth (col_sep_string, 0); -+ else -+#endif -+ col_sep_width = col_sep_length; - } - - int -@@ -877,6 +945,21 @@ - - atexit (close_stdout); - -+/* Define which functions are used, the ones for single byte locale or the ones -+ for multibyte locale. */ -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) -+ { -+ print_char = print_char_multi; -+ char_to_clump = char_to_clump_multi; -+ } -+ else -+#endif -+ { -+ print_char = print_char_single; -+ char_to_clump = char_to_clump_single; -+ } -+ - n_files = 0; - file_names = (argc > 1 - ? xmalloc ((argc - 1) * sizeof (char *)) -@@ -949,8 +1032,12 @@ - break; - case 'e': - if (optarg) -- getoptarg (optarg, 'e', &input_tab_char, -- &chars_per_input_tab); -+ { -+ int dummy_length, dummy_width; -+ -+ getoptarg (optarg, 'e', input_tab_char, &dummy_length, -+ &dummy_width, &chars_per_input_tab); -+ } - /* Could check tab width > 0. */ - untabify_input = true; - break; -@@ -963,8 +1050,12 @@ - break; - case 'i': - if (optarg) -- getoptarg (optarg, 'i', &output_tab_char, -- &chars_per_output_tab); -+ { -+ int dummy_width; -+ -+ getoptarg (optarg, 'i', output_tab_char, &output_tab_char_length, -+ &dummy_width, &chars_per_output_tab); -+ } - /* Could check tab width > 0. */ - tabify_output = true; - break; -@@ -991,8 +1082,8 @@ - case 'n': - numbered_lines = true; - if (optarg) -- getoptarg (optarg, 'n', &number_separator, -- &chars_per_number); -+ getoptarg (optarg, 'n', number_separator, &number_separator_length, -+ &number_separator_width, &chars_per_number); - break; - case 'N': - skip_count = false; -@@ -1031,7 +1122,7 @@ - old_s = false; - /* Reset an additional input of -s, -S dominates -s */ - col_sep_string = ""; -- col_sep_length = 0; -+ col_sep_length = col_sep_width = 0; - use_col_separator = true; - if (optarg) - separator_string (optarg); -@@ -1188,10 +1279,45 @@ - a number. */ - - static void --getoptarg (char *arg, char switch_char, char *character, int *number) -+getoptarg (char *arg, char switch_char, char *character, int *character_length, -+ int *character_width, int *number) - { - if (!ISDIGIT (*arg)) -- *character = *arg++; -+ { -+#ifdef HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1) /* for multibyte locale. */ -+ { -+ wchar_t wc; -+ size_t mblength; -+ int width; -+ mbstate_t state = {'\0'}; -+ -+ mblength = mbrtowc (&wc, arg, strnlen(arg, MB_LEN_MAX), &state); -+ -+ if (mblength == (size_t)-1 || mblength == (size_t)-2) -+ { -+ *character_length = 1; -+ *character_width = 1; -+ } -+ else -+ { -+ *character_length = (mblength < 1) ? 1 : mblength; -+ width = wcwidth (wc); -+ *character_width = (width < 0) ? 0 : width; -+ } -+ -+ strncpy (character, arg, *character_length); -+ arg += *character_length; -+ } -+ else /* for single byte locale. */ -+#endif -+ { -+ *character = *arg++; -+ *character_length = 1; -+ *character_width = 1; -+ } -+ } -+ - if (*arg) - { - long int tmp_long; -@@ -1256,7 +1382,7 @@ - else - col_sep_string = column_separator; - -- col_sep_length = 1; -+ col_sep_length = col_sep_width = 1; - use_col_separator = true; - } - /* It's rather pointless to define a TAB separator with column -@@ -1288,11 +1414,11 @@ - TAB_WIDTH (chars_per_input_tab, chars_per_number); */ - - /* Estimate chars_per_text without any margin and keep it constant. */ -- if (number_separator == '\t') -+ if (number_separator[0] == '\t') - number_width = chars_per_number + - TAB_WIDTH (chars_per_default_tab, chars_per_number); - else -- number_width = chars_per_number + 1; -+ number_width = chars_per_number + number_separator_width; - - /* The number is part of the column width unless we are - printing files in parallel. */ -@@ -1307,7 +1433,7 @@ - } - - chars_per_column = (chars_per_line - chars_used_by_number - -- (columns - 1) * col_sep_length) / columns; -+ (columns - 1) * col_sep_width) / columns; - - if (chars_per_column < 1) - error (EXIT_FAILURE, 0, _("page width too narrow")); -@@ -1432,7 +1558,7 @@ - - /* Enlarge p->start_position of first column to use the same form of - padding_not_printed with all columns. */ -- h = h + col_sep_length; -+ h = h + col_sep_width; - - /* This loop takes care of all but the rightmost column. */ - -@@ -1466,7 +1592,7 @@ - } - else - { -- h = h_next + col_sep_length; -+ h = h_next + col_sep_width; - h_next = h + chars_per_column; - } - } -@@ -1756,9 +1882,9 @@ - align_column (COLUMN *p) - { - padding_not_printed = p->start_position; -- if (padding_not_printed - col_sep_length > 0) -+ if (padding_not_printed - col_sep_width > 0) - { -- pad_across_to (padding_not_printed - col_sep_length); -+ pad_across_to (padding_not_printed - col_sep_width); - padding_not_printed = ANYWHERE; - } - -@@ -2029,13 +2155,13 @@ - /* May be too generous. */ - buff = X2REALLOC (buff, &buff_allocated); - } -- buff[buff_current++] = c; -+ buff[buff_current++] = (unsigned char) c; - } - - static void - add_line_number (COLUMN *p) - { -- int i; -+ int i, j; - char *s; - int left_cut; - -@@ -2058,22 +2184,24 @@ - /* Tabification is assumed for multiple columns, also for n-separators, - but `default n-separator = TAB' hasn't been given priority over - equal column_width also specified by POSIX. */ -- if (number_separator == '\t') -+ if (number_separator[0] == '\t') - { - i = number_width - chars_per_number; - while (i-- > 0) - (p->char_func) (' '); - } - else -- (p->char_func) (number_separator); -+ for (j = 0; j < number_separator_length; j++) -+ (p->char_func) (number_separator[j]); - } - else - /* To comply with POSIX, we avoid any expansion of default TAB - separator with a single column output. No column_width requirement - has to be considered. */ - { -- (p->char_func) (number_separator); -- if (number_separator == '\t') -+ for (j = 0; j < number_separator_length; j++) -+ (p->char_func) (number_separator[j]); -+ if (number_separator[0] == '\t') - output_position = POS_AFTER_TAB (chars_per_output_tab, - output_position); - } -@@ -2234,7 +2362,7 @@ - while (goal - h_old > 1 - && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal) - { -- putchar (output_tab_char); -+ fwrite (output_tab_char, sizeof(char), output_tab_char_length, stdout); - h_old = h_new; - } - while (++h_old <= goal) -@@ -2254,6 +2382,7 @@ - { - char *s; - int l = col_sep_length; -+ int not_space_flag; - - s = col_sep_string; - -@@ -2267,6 +2396,7 @@ - { - for (; separators_not_printed > 0; --separators_not_printed) - { -+ not_space_flag = 0; - while (l-- > 0) - { - /* 3 types of sep_strings: spaces only, spaces and chars, -@@ -2280,12 +2410,15 @@ - } - else - { -+ not_space_flag = 1; - if (spaces_not_printed > 0) - print_white_space (); - putchar (*s++); -- ++output_position; - } - } -+ if (not_space_flag) -+ output_position += col_sep_width; -+ - /* sep_string ends with some spaces */ - if (spaces_not_printed > 0) - print_white_space (); -@@ -2313,7 +2446,7 @@ - required number of tabs and spaces. */ - - static void --print_char (char c) -+print_char_single (char c) - { - if (tabify_output) - { -@@ -2337,6 +2470,74 @@ - putchar (c); - } - -+#ifdef HAVE_MBRTOWC -+static void -+print_char_multi (char c) -+{ -+ static size_t mbc_pos = 0; -+ static char mbc[MB_LEN_MAX] = {'\0'}; -+ static mbstate_t state = {'\0'}; -+ mbstate_t state_bak; -+ wchar_t wc; -+ size_t mblength; -+ int width; -+ -+ if (tabify_output) -+ { -+ state_bak = state; -+ mbc[mbc_pos++] = c; -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ while (mbc_pos > 0) -+ { -+ switch (mblength) -+ { -+ case (size_t)-2: -+ state = state_bak; -+ return; -+ -+ case (size_t)-1: -+ state = state_bak; -+ ++output_position; -+ putchar (mbc[0]); -+ memmove (mbc, mbc + 1, MB_CUR_MAX - 1); -+ --mbc_pos; -+ break; -+ -+ case 0: -+ mblength = 1; -+ -+ default: -+ if (wc == L' ') -+ { -+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); -+ --mbc_pos; -+ ++spaces_not_printed; -+ return; -+ } -+ else if (spaces_not_printed > 0) -+ print_white_space (); -+ -+ /* Nonprintables are assumed to have width 0, except L'\b'. */ -+ if ((width = wcwidth (wc)) < 1) -+ { -+ if (wc == L'\b') -+ --output_position; -+ } -+ else -+ output_position += width; -+ -+ fwrite (mbc, sizeof(char), mblength, stdout); -+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); -+ mbc_pos -= mblength; -+ } -+ } -+ return; -+ } -+ putchar (c); -+} -+#endif -+ - /* Skip to page PAGE before printing. - PAGE may be larger than total number of pages. */ - -@@ -2517,9 +2718,9 @@ - align_empty_cols = false; - } - -- if (padding_not_printed - col_sep_length > 0) -+ if (padding_not_printed - col_sep_width > 0) - { -- pad_across_to (padding_not_printed - col_sep_length); -+ pad_across_to (padding_not_printed - col_sep_width); - padding_not_printed = ANYWHERE; - } - -@@ -2620,9 +2821,9 @@ - } - } - -- if (padding_not_printed - col_sep_length > 0) -+ if (padding_not_printed - col_sep_width > 0) - { -- pad_across_to (padding_not_printed - col_sep_length); -+ pad_across_to (padding_not_printed - col_sep_width); - padding_not_printed = ANYWHERE; - } - -@@ -2635,8 +2836,8 @@ - if (spaces_not_printed == 0) - { - output_position = p->start_position + end_vector[line]; -- if (p->start_position - col_sep_length == chars_per_margin) -- output_position -= col_sep_length; -+ if (p->start_position - col_sep_width == chars_per_margin) -+ output_position -= col_sep_width; - } - - return true; -@@ -2655,7 +2856,7 @@ - number of characters is 1.) */ - - static int --char_to_clump (char c) -+char_to_clump_single (char c) - { - unsigned char uc = c; - char *s = clump_buff; -@@ -2665,10 +2866,10 @@ - int chars; - int chars_per_c = 8; - -- if (c == input_tab_char) -+ if (c == input_tab_char[0]) - chars_per_c = chars_per_input_tab; - -- if (c == input_tab_char || c == '\t') -+ if (c == input_tab_char[0] || c == '\t') - { - width = TAB_WIDTH (chars_per_c, input_position); - -@@ -2739,6 +2940,154 @@ - return chars; - } - -+#ifdef HAVE_MBRTOWC -+static int -+char_to_clump_multi (char c) -+{ -+ static size_t mbc_pos = 0; -+ static char mbc[MB_LEN_MAX] = {'\0'}; -+ static mbstate_t state = {'\0'}; -+ mbstate_t state_bak; -+ wchar_t wc; -+ size_t mblength; -+ int wc_width; -+ register char *s = clump_buff; -+ register int i, j; -+ char esc_buff[4]; -+ int width; -+ int chars; -+ int chars_per_c = 8; -+ -+ state_bak = state; -+ mbc[mbc_pos++] = c; -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ width = 0; -+ chars = 0; -+ while (mbc_pos > 0) -+ { -+ switch (mblength) -+ { -+ case (size_t)-2: -+ state = state_bak; -+ return 0; -+ -+ case (size_t)-1: -+ state = state_bak; -+ mblength = 1; -+ -+ if (use_esc_sequence || use_cntrl_prefix) -+ { -+ width = +4; -+ chars = +4; -+ *s++ = '\\'; -+ sprintf (esc_buff, "%03o", mbc[0]); -+ for (i = 0; i <= 2; ++i) -+ *s++ = (int) esc_buff[i]; -+ } -+ else -+ { -+ width += 1; -+ chars += 1; -+ *s++ = mbc[0]; -+ } -+ break; -+ -+ case 0: -+ mblength = 1; -+ /* Fall through */ -+ -+ default: -+ if (memcmp (mbc, input_tab_char, mblength) == 0) -+ chars_per_c = chars_per_input_tab; -+ -+ if (memcmp (mbc, input_tab_char, mblength) == 0 || c == '\t') -+ { -+ int width_inc; -+ -+ width_inc = TAB_WIDTH (chars_per_c, input_position); -+ width += width_inc; -+ -+ if (untabify_input) -+ { -+ for (i = width_inc; i; --i) -+ *s++ = ' '; -+ chars += width_inc; -+ } -+ else -+ { -+ for (i = 0; i < mblength; i++) -+ *s++ = mbc[i]; -+ chars += mblength; -+ } -+ } -+ else if ((wc_width = wcwidth (wc)) < 1) -+ { -+ if (use_esc_sequence) -+ { -+ for (i = 0; i < mblength; i++) -+ { -+ width += 4; -+ chars += 4; -+ *s++ = '\\'; -+ sprintf (esc_buff, "%03o", c); -+ for (j = 0; j <= 2; ++j) -+ *s++ = (int) esc_buff[j]; -+ } -+ } -+ else if (use_cntrl_prefix) -+ { -+ if (wc < 0200) -+ { -+ width += 2; -+ chars += 2; -+ *s++ = '^'; -+ *s++ = wc ^ 0100; -+ } -+ else -+ { -+ for (i = 0; i < mblength; i++) -+ { -+ width += 4; -+ chars += 4; -+ *s++ = '\\'; -+ sprintf (esc_buff, "%03o", c); -+ for (j = 0; j <= 2; ++j) -+ *s++ = (int) esc_buff[j]; -+ } -+ } -+ } -+ else if (wc == L'\b') -+ { -+ width += -1; -+ chars += 1; -+ *s++ = c; -+ } -+ else -+ { -+ width += 0; -+ chars += mblength; -+ for (i = 0; i < mblength; i++) -+ *s++ = mbc[i]; -+ } -+ } -+ else -+ { -+ width += wc_width; -+ chars += mblength; -+ for (i = 0; i < mblength; i++) -+ *s++ = mbc[i]; -+ } -+ } -+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); -+ mbc_pos -= mblength; -+ } -+ -+ input_position += width; -+ return chars; -+} -+#endif -+ - /* We've just printed some files and need to clean up things before - looking for more options and printing the next batch of files. - ---- coreutils-6.8+/src/cut.c.i18n 2007-01-14 15:41:28.000000000 +0000 -+++ coreutils-6.8+/src/cut.c 2007-03-01 15:08:24.000000000 +0000 -@@ -29,6 +29,11 @@ - #include <assert.h> - #include <getopt.h> - #include <sys/types.h> -+ -+/* Get mbstate_t, mbrtowc(). */ -+#if HAVE_WCHAR_H -+# include <wchar.h> -+#endif - #include "system.h" - - #include "error.h" -@@ -37,6 +42,18 @@ - #include "quote.h" - #include "xstrndup.h" - -+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC -+ installation; work around this configuration error. */ -+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 -+# undef MB_LEN_MAX -+# define MB_LEN_MAX 16 -+#endif -+ -+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -+#if HAVE_MBRTOWC && defined mbstate_t -+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) -+#endif -+ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "cut" - -@@ -67,6 +84,52 @@ - } \ - while (0) - -+/* Refill the buffer BUF to get a multibyte character. */ -+#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM) \ -+ do \ -+ { \ -+ if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM)) \ -+ { \ -+ memmove (BUF, BUFPOS, BUFLEN); \ -+ BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \ -+ BUFPOS = BUF; \ -+ } \ -+ } \ -+ while (0) -+ -+/* Get wide character on BUFPOS. BUFPOS is not included after that. -+ If byte sequence is not valid as a character, CONVFAIL is 1. Otherwise 0. */ -+#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \ -+ do \ -+ { \ -+ mbstate_t state_bak; \ -+ \ -+ if (BUFLEN < 1) \ -+ { \ -+ WC = WEOF; \ -+ break; \ -+ } \ -+ \ -+ /* Get a wide character. */ \ -+ CONVFAIL = 0; \ -+ state_bak = STATE; \ -+ MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-1: \ -+ case (size_t)-2: \ -+ CONVFAIL++; \ -+ STATE = state_bak; \ -+ /* Fall througn. */ \ -+ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ break; \ -+ } \ -+ } \ -+ while (0) -+ - struct range_pair - { - size_t lo; -@@ -85,7 +148,7 @@ - /* The number of bytes allocated for FIELD_1_BUFFER. */ - static size_t field_1_bufsize; - --/* The largest field or byte index used as an endpoint of a closed -+/* The largest byte, character or field index used as an endpoint of a closed - or degenerate range specification; this doesn't include the starting - index of right-open-ended ranges. For example, with either range spec - `2-5,9-', `2-3,5,9-' this variable would be set to 5. */ -@@ -97,10 +160,11 @@ - - /* This is a bit vector. - In byte mode, which bytes to output. -+ In character mode, which characters to output. - In field mode, which DELIM-separated fields to output. -- Both bytes and fields are numbered starting with 1, -+ Bytes, characters and fields are numbered starting with 1, - so the zeroth bit of this array is unused. -- A field or byte K has been selected if -+ A byte, character or field K has been selected if - (K <= MAX_RANGE_ENDPOINT and is_printable_field(K)) - || (EOL_RANGE_START > 0 && K >= EOL_RANGE_START). */ - static unsigned char *printable_field; -@@ -109,9 +173,12 @@ - { - undefined_mode, - -- /* Output characters that are in the given bytes. */ -+ /* Output bytes that are at the given positions. */ - byte_mode, - -+ /* Output characters that are at the given positions. */ -+ character_mode, -+ - /* Output the given delimeter-separated fields. */ - field_mode - }; -@@ -121,6 +188,13 @@ - - static enum operating_mode operating_mode; - -+/* If nonzero, when in byte mode, don't split multibyte characters. */ -+static int byte_mode_character_aware; -+ -+/* If nonzero, the function for single byte locale is work -+ if this program runs on multibyte locale. */ -+static int force_singlebyte_mode; -+ - /* If true do not output lines containing no delimeter characters. - Otherwise, all such lines are printed. This option is valid only - with field mode. */ -@@ -132,6 +206,9 @@ - - /* The delimeter character for field mode. */ - static unsigned char delim; -+#if HAVE_WCHAR_H -+static wchar_t wcdelim; -+#endif - - /* True if the --output-delimiter=STRING option was specified. */ - static bool output_delimiter_specified; -@@ -205,7 +282,7 @@ - -f, --fields=LIST select only these fields; also print any line\n\ - that contains no delimiter character, unless\n\ - the -s option is specified\n\ -- -n (ignored)\n\ -+ -n with -b: don't split multibyte characters\n\ - "), stdout); - fputs (_("\ - --complement complement the set of selected bytes, characters\n\ -@@ -362,7 +439,7 @@ - in_digits = false; - /* Starting a range. */ - if (dash_found) -- FATAL_ERROR (_("invalid byte or field list")); -+ FATAL_ERROR (_("invalid byte, character or field list")); - dash_found = true; - fieldstr++; - -@@ -387,14 +464,16 @@ - if (value == 0) - { - /* `n-'. From `initial' to end of line. */ -- eol_range_start = initial; -+ if (eol_range_start == 0 || -+ (eol_range_start != 0 && eol_range_start > initial)) -+ eol_range_start = initial; - field_found = true; - } - else - { - /* `m-n' or `-n' (1-n). */ - if (value < initial) -- FATAL_ERROR (_("invalid byte or field list")); -+ FATAL_ERROR (_("invalid byte, character or field list")); - - /* Is there already a range going to end of line? */ - if (eol_range_start != 0) -@@ -467,6 +546,9 @@ - if (operating_mode == byte_mode) - error (0, 0, - _("byte offset %s is too large"), quote (bad_num)); -+ else if (operating_mode == character_mode) -+ error (0, 0, -+ _("character offset %s is too large"), quote (bad_num)); - else - error (0, 0, - _("field number %s is too large"), quote (bad_num)); -@@ -477,7 +559,7 @@ - fieldstr++; - } - else -- FATAL_ERROR (_("invalid byte or field list")); -+ FATAL_ERROR (_("invalid byte, character or field list")); - } - - max_range_endpoint = 0; -@@ -570,6 +652,63 @@ - } - } - -+#if HAVE_MBRTOWC -+/* This function is in use for the following case. -+ -+ 1. Read from the stream STREAM, printing to standard output any selected -+ characters. -+ -+ 2. Read from stream STREAM, printing to standard output any selected bytes, -+ without splitting multibyte characters. */ -+ -+static void -+cut_characters_or_cut_bytes_no_split (FILE *stream) -+{ -+ int idx; /* number of bytes or characters in the line so far. */ -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ char *bufpos; /* Next read position of BUF. */ -+ size_t buflen; /* The length of the byte sequence in buf. */ -+ wint_t wc; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character which shows -+ as same character as WC. */ -+ mbstate_t state; /* State of the stream. */ -+ int convfail; /* 1, when conversion is failed. Otherwise 0. */ -+ -+ idx = 0; -+ buflen = 0; -+ bufpos = buf; -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ while (1) -+ { -+ REFILL_BUFFER (buf, bufpos, buflen, stream); -+ -+ GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail); -+ -+ if (wc == WEOF) -+ { -+ if (idx > 0) -+ putchar ('\n'); -+ break; -+ } -+ else if (wc == L'\n') -+ { -+ putchar ('\n'); -+ idx = 0; -+ } -+ else -+ { -+ idx += (operating_mode == byte_mode) ? mblength : 1; -+ if (print_kth (idx, NULL)) -+ fwrite (bufpos, mblength, sizeof(char), stdout); -+ } -+ -+ buflen -= mblength; -+ bufpos += mblength; -+ } -+} -+#endif -+ - /* Read from stream STREAM, printing to standard output any selected fields. */ - - static void -@@ -692,13 +831,192 @@ - } - } - -+#if HAVE_MBRTOWC -+static void -+cut_fields_mb (FILE *stream) -+{ -+ int c; -+ unsigned int field_idx; -+ int found_any_selected_field; -+ int buffer_first_field; -+ int empty_input; -+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ -+ char *bufpos; /* Next read position of BUF. */ -+ size_t buflen; /* The length of the byte sequence in buf. */ -+ wint_t wc = 0; /* A gotten wide character. */ -+ size_t mblength; /* The byte size of a multibyte character which shows -+ as same character as WC. */ -+ mbstate_t state; /* State of the stream. */ -+ int convfail; /* 1, when conversion is failed. Otherwise 0. */ -+ -+ found_any_selected_field = 0; -+ field_idx = 1; -+ bufpos = buf; -+ buflen = 0; -+ memset (&state, '\0', sizeof(mbstate_t)); -+ -+ c = getc (stream); -+ empty_input = (c == EOF); -+ if (c != EOF) -+ ungetc (c, stream); -+ else -+ wc = WEOF; -+ -+ /* To support the semantics of the -s flag, we may have to buffer -+ all of the first field to determine whether it is `delimited.' -+ But that is unnecessary if all non-delimited lines must be printed -+ and the first field has been selected, or if non-delimited lines -+ must be suppressed and the first field has *not* been selected. -+ That is because a non-delimited line has exactly one field. */ -+ buffer_first_field = (suppress_non_delimited ^ !print_kth (1, NULL)); -+ -+ while (1) -+ { -+ if (field_idx == 1 && buffer_first_field) -+ { -+ int len = 0; -+ -+ while (1) -+ { -+ REFILL_BUFFER (buf, bufpos, buflen, stream); -+ -+ GET_NEXT_WC_FROM_BUFFER -+ (wc, bufpos, buflen, mblength, state, convfail); -+ -+ if (wc == WEOF) -+ break; -+ -+ field_1_buffer = xrealloc (field_1_buffer, len + mblength); -+ memcpy (field_1_buffer + len, bufpos, mblength); -+ len += mblength; -+ buflen -= mblength; -+ bufpos += mblength; -+ -+ if (!convfail && (wc == L'\n' || wc == wcdelim)) -+ break; -+ } -+ -+ if (wc == WEOF) -+ break; -+ -+ /* If the first field extends to the end of line (it is not -+ delimited) and we are printing all non-delimited lines, -+ print this one. */ -+ if (convfail || (!convfail && wc != wcdelim)) -+ { -+ if (suppress_non_delimited) -+ { -+ /* Empty. */ -+ } -+ else -+ { -+ fwrite (field_1_buffer, sizeof (char), len, stdout); -+ /* Make sure the output line is newline terminated. */ -+ if (convfail || (!convfail && wc != L'\n')) -+ putchar ('\n'); -+ } -+ continue; -+ } -+ -+ if (print_kth (1, NULL)) -+ { -+ /* Print the field, but not the trailing delimiter. */ -+ fwrite (field_1_buffer, sizeof (char), len - 1, stdout); -+ found_any_selected_field = 1; -+ } -+ ++field_idx; -+ } -+ -+ if (wc != WEOF) -+ { -+ if (print_kth (field_idx, NULL)) -+ { -+ if (found_any_selected_field) -+ { -+ fwrite (output_delimiter_string, sizeof (char), -+ output_delimiter_length, stdout); -+ } -+ found_any_selected_field = 1; -+ } -+ -+ while (1) -+ { -+ REFILL_BUFFER (buf, bufpos, buflen, stream); -+ -+ GET_NEXT_WC_FROM_BUFFER -+ (wc, bufpos, buflen, mblength, state, convfail); -+ -+ if (wc == WEOF) -+ break; -+ else if (!convfail && (wc == wcdelim || wc == L'\n')) -+ { -+ buflen -= mblength; -+ bufpos += mblength; -+ break; -+ } -+ -+ if (print_kth (field_idx, NULL)) -+ fwrite (bufpos, mblength, sizeof(char), stdout); -+ -+ buflen -= mblength; -+ bufpos += mblength; -+ } -+ } -+ -+ if ((!convfail || wc == L'\n') && buflen < 1) -+ wc = WEOF; -+ -+ if (!convfail && wc == wcdelim) -+ ++field_idx; -+ else if (wc == WEOF || (!convfail && wc == L'\n')) -+ { -+ if (found_any_selected_field -+ || (!empty_input && !(suppress_non_delimited && field_idx == 1))) -+ putchar ('\n'); -+ if (wc == WEOF) -+ break; -+ field_idx = 1; -+ found_any_selected_field = 0; -+ } -+ } -+} -+#endif -+ - static void - cut_stream (FILE *stream) - { -- if (operating_mode == byte_mode) -- cut_bytes (stream); -+#if HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1 && !force_singlebyte_mode) -+ { -+ switch (operating_mode) -+ { -+ case byte_mode: -+ if (byte_mode_character_aware) -+ cut_characters_or_cut_bytes_no_split (stream); -+ else -+ cut_bytes (stream); -+ break; -+ -+ case character_mode: -+ cut_characters_or_cut_bytes_no_split (stream); -+ break; -+ -+ case field_mode: -+ cut_fields_mb (stream); -+ break; -+ -+ default: -+ abort (); -+ } -+ } - else -- cut_fields (stream); -+#endif -+ { -+ if (operating_mode == field_mode) -+ cut_fields (stream); -+ else -+ cut_bytes (stream); -+ } - } - - /* Process file FILE to standard output. -@@ -748,6 +1066,8 @@ - bool ok; - bool delim_specified = false; - char *spec_list_string IF_LINT(= NULL); -+ char mbdelim[MB_LEN_MAX + 1]; -+ size_t delimlen = 0; - - initialize_main (&argc, &argv); - program_name = argv[0]; -@@ -770,7 +1090,6 @@ - switch (optc) - { - case 'b': -- case 'c': - /* Build the byte list. */ - if (operating_mode != undefined_mode) - FATAL_ERROR (_("only one type of list may be specified")); -@@ -778,6 +1097,14 @@ - spec_list_string = optarg; - break; - -+ case 'c': -+ /* Build the character list. */ -+ if (operating_mode != undefined_mode) -+ FATAL_ERROR (_("only one type of list may be specified")); -+ operating_mode = character_mode; -+ spec_list_string = optarg; -+ break; -+ - case 'f': - /* Build the field list. */ - if (operating_mode != undefined_mode) -@@ -789,10 +1116,35 @@ - case 'd': - /* New delimiter. */ - /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */ -- if (optarg[0] != '\0' && optarg[1] != '\0') -- FATAL_ERROR (_("the delimiter must be a single character")); -- delim = optarg[0]; -- delim_specified = true; -+#if HAVE_MBRTOWC -+ { -+ if(MB_CUR_MAX > 1) -+ { -+ mbstate_t state; -+ -+ memset (&state, '\0', sizeof(mbstate_t)); -+ delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state); -+ -+ if (delimlen == (size_t)-1 || delimlen == (size_t)-2) -+ ++force_singlebyte_mode; -+ else -+ { -+ delimlen = (delimlen < 1) ? 1 : delimlen; -+ if (wcdelim != L'\0' && *(optarg + delimlen) != '\0') -+ FATAL_ERROR (_("the delimiter must be a single character")); -+ memcpy (mbdelim, optarg, delimlen); -+ } -+ } -+ -+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode) -+#endif -+ { -+ if (optarg[0] != '\0' && optarg[1] != '\0') -+ FATAL_ERROR (_("the delimiter must be a single character")); -+ delim = (unsigned char) optarg[0]; -+ } -+ delim_specified = true; -+ } - break; - - case OUTPUT_DELIMITER_OPTION: -@@ -805,6 +1157,7 @@ - break; - - case 'n': -+ byte_mode_character_aware = 1; - break; - - case 's': -@@ -827,7 +1180,7 @@ - if (operating_mode == undefined_mode) - FATAL_ERROR (_("you must specify a list of bytes, characters, or fields")); - -- if (delim != '\0' && operating_mode != field_mode) -+ if (delim_specified && operating_mode != field_mode) - FATAL_ERROR (_("an input delimiter may be specified only\ - when operating on fields")); - -@@ -854,15 +1207,34 @@ - } - - if (!delim_specified) -- delim = '\t'; -+ { -+ delim = '\t'; -+#ifdef HAVE_MBRTOWC -+ wcdelim = L'\t'; -+ mbdelim[0] = '\t'; -+ mbdelim[1] = '\0'; -+ delimlen = 1; -+#endif -+ } - - if (output_delimiter_string == NULL) - { -- static char dummy[2]; -- dummy[0] = delim; -- dummy[1] = '\0'; -- output_delimiter_string = dummy; -- output_delimiter_length = 1; -+#ifdef HAVE_MBRTOWC -+ if (MB_CUR_MAX > 1 && !force_singlebyte_mode) -+ { -+ output_delimiter_string = xstrdup(mbdelim); -+ output_delimiter_length = delimlen; -+ } -+ -+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode) -+#endif -+ { -+ static char dummy[2]; -+ dummy[0] = delim; -+ dummy[1] = '\0'; -+ output_delimiter_string = dummy; -+ output_delimiter_length = 1; -+ } - } - - if (optind == argc) diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch deleted file mode 100644 index aba8742f6a..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch +++ /dev/null @@ -1,117 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- coreutils-6.9/src/ls.c.ls-x 2007-06-13 14:27:36.000000000 +0100 -+++ coreutils-6.9/src/ls.c 2007-06-13 14:28:42.000000000 +0100 -@@ -4151,16 +4151,16 @@ - size_t pos = 0; - size_t cols = calculate_columns (false); - struct column_info const *line_fmt = &column_info[cols - 1]; -- size_t name_length = length_of_file_name_and_frills (cwd_file); -+ struct fileinfo const *f = sorted_file[0]; -+ size_t name_length = length_of_file_name_and_frills (f); - size_t max_name_length = line_fmt->col_arr[0]; - - /* Print first entry. */ -- print_file_name_and_frills (cwd_file); -+ print_file_name_and_frills (f); - - /* Now the rest. */ - for (filesno = 1; filesno < cwd_n_used; ++filesno) - { -- struct fileinfo const *f; - size_t col = filesno % cols; - - if (col == 0) ---- coreutils-6.9/tests/ls/Makefile.am.ls-x 2007-03-18 21:36:43.000000000 +0000 -+++ coreutils-6.9/tests/ls/Makefile.am 2007-06-13 14:28:42.000000000 +0100 -@@ -24,7 +24,7 @@ - stat-dtype \ - inode dangle file-type recursive dired infloop \ - rt-1 time-1 symlink-slash follow-slink no-arg m-option \ -- stat-vs-dirent -+ stat-vs-dirent x-option - - EXTRA_DIST = $(TESTS) - TESTS_ENVIRONMENT = \ ---- /dev/null 2007-06-13 08:43:51.993263382 +0100 -+++ coreutils-6.9/tests/ls/x-option 2007-06-13 14:28:42.000000000 +0100 -@@ -0,0 +1,59 @@ -+#!/bin/sh -+# Exercise the -x option. -+ -+# Copyright (C) 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301, USA. -+ -+if test "$VERBOSE" = yes; then -+ set -x -+ ls --version -+fi -+ -+. $srcdir/../envvar-check -+. $srcdir/../lang-default -+ -+pwd=`pwd` -+t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ -+trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0 -+trap '(exit $?); exit $?' 1 2 13 15 -+ -+framework_failure=0 -+mkdir -p $tmp || framework_failure=1 -+cd $tmp || framework_failure=1 -+mkdir subdir || framework_failure=1 -+touch subdir/b || framework_failure=1 -+touch subdir/a || framework_failure=1 -+ -+if test $framework_failure = 1; then -+ echo "$0: failure in testing framework" 1>&2 -+ (exit 1); exit 1 -+fi -+ -+fail=0 -+ -+# Coreutils 6.8 and 6.9 would output this in the wrong order. -+ls -x subdir > out || fail=1 -+ls -rx subdir >> out || fail=1 -+cat <<\EOF > exp || fail=1 -+a b -+b a -+EOF -+ -+cmp out exp || fail=1 -+test $fail = 1 && diff out exp 2> /dev/null -+ -+(exit $fail); exit $fail ---- coreutils-6.9/NEWS.ls-x 2007-03-22 21:19:45.000000000 +0000 -+++ coreutils-6.9/NEWS 2007-06-13 14:28:42.000000000 +0100 -@@ -13,6 +13,11 @@ - Using pr -m -s (i.e. merging files, with TAB as the output separator) - no longer inserts extraneous spaces between output columns. - -+** Bug fixes -+ -+ ls -x DIR would sometimes output the wrong string in place of the -+ first entry. [introduced in coreutils-6.8] -+ - - * Noteworthy changes in release 6.8 (2007-02-24) [not-unstable] - diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch deleted file mode 100644 index 58074c09a5..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch +++ /dev/null @@ -1,19 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. - -The package is stated as being Licensed as GPLv2+. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- coreutils-5.2.1/src/who.c.overflow 2005-05-25 09:59:06.000000000 +0100 -+++ coreutils-5.2.1/src/who.c 2005-05-25 10:00:31.000000000 +0100 -@@ -75,7 +75,7 @@ - # define NEW_TIME 0 - #endif - --#define IDLESTR_LEN 6 -+#define IDLESTR_LEN 10 - - #if HAVE_STRUCT_XTMP_UT_PID - # define PIDSTR_DECL_AND_INIT(Var, Utmp_ent) \ diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils_fix_for_automake-1.12.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils_fix_for_automake-1.12.patch deleted file mode 100644 index 64e5f12baa..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/coreutils_fix_for_automake-1.12.patch +++ /dev/null @@ -1,32 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.ac:40: error: automatic de-ANSI-fication support has been removed -| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:12: AM_C_PROTOTYPES is expanded from... -| /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-linux/coreutils-native-6.9-r2/coreutils-6.9/m4/jm-macros.m4:138: gl_CHECK_ALL_TYPES is expanded from... -| /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-linux/coreutils-native-6.9-r2/coreutils-6.9/m4/jm-macros.m4:24: coreutils_MACROS is expanded from... -| configure.ac:40: the top level -| autom4te: m4 failed with exit status: 1 - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: coreutils-6.9/m4/jm-macros.m4 -=================================================================== ---- coreutils-6.9.orig/m4/jm-macros.m4 -+++ coreutils-6.9/m4/jm-macros.m4 -@@ -142,11 +142,6 @@ AC_DEFUN([gl_CHECK_ALL_TYPES], - dnl whether functions and headers are available, whether they work, etc. - AC_REQUIRE([AC_SYS_LARGEFILE]) - -- dnl This test must precede tests of compiler characteristics like -- dnl that for the inline keyword, since it may change the degree to -- dnl which the compiler supports such features. -- AC_REQUIRE([AM_C_PROTOTYPES]) -- - dnl Checks for typedefs, structures, and compiler characteristics. - AC_REQUIRE([AC_C_BIGENDIAN]) - AC_REQUIRE([AC_C_VOLATILE]) diff --git a/meta/recipes-core/coreutils/coreutils-6.9/fix_for_manpage_building.patch b/meta/recipes-core/coreutils/coreutils-6.9/fix_for_manpage_building.patch deleted file mode 100644 index e0d600a390..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/fix_for_manpage_building.patch +++ /dev/null @@ -1,85 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -Use native coreutils binaries to build manpages in cross environment. -This avoids man page build issues like this: - -| Making all in man -| make[1]: Entering directory `/build_disk/poky_build/build1/tmp/work/i586-poky-linux/coreutils-6.9-r0/coreutils-6.9/man' -| Updating man page cut.1 -| Updating man page dir.1 -| Updating man page expand.1 -| Updating man page fold.1 -| Updating man page install.1 -| Updating man page join.1 -| Updating man page pr.1 -| Updating man page ls.1 -| Updating man page sort.1 -| Updating man page unexpand.1 -| Updating man page uniq.1 -| Updating man page who.1 -| Updating man page vdir.1 -| help2man: can't get `--help' info from dir.td/dir -| help2man: can't get `--help' info from cut.td/cut -| make[1]: *** [dir.1] Error 126 -| make[1]: *** Waiting for unfinished jobs.... -| help2man: can't get `--help' info from fold.td/fold -| help2man: can't get `--help' info from install.td/install -| help2man: can't get `--help' info from expand.td/expand -| help2man: can't get `--help' info from join.td/join -| make[1]: *** [cut.1] Error 126 -| make[1]: *** [fold.1] Error 126 -| make[1]: *** [install.1] Error 126 -| help2man: can't get `--help' info from sort.td/sort -| make[1]: *** [expand.1] Error 126 -| help2man: can't get `--help' info from pr.td/pr -| make[1]: *** [join.1] Error 126 -| help2man: can't get `--help' info from ls.td/ls -| help2man: can't get `--help' info from unexpand.td/unexpand -| help2man: can't get `--help' info from uniq.td/uniq -| help2man: can't get `--help' info from who.td/who -| make[1]: *** [sort.1] Error 126 -| make[1]: *** [pr.1] Error 126 -| help2man: can't get `--help' info from vdir.td/vdir -| make[1]: *** [ls.1] Error 126 -| make[1]: *** [uniq.1] Error 126 -| make[1]: *** [unexpand.1] Error 126 -| make[1]: *** [who.1] Error 126 -| make[1]: *** [vdir.1] Error 126 -| make[1]: Leaving directory `/build_disk/poky_build/build1/tmp/work/i586-poky-linux/coreutils-6.9-r0/coreutils-6.9/man' -| make: *** [all-recursive] Error 1 -| FATAL: oe_runmake failed -| ERROR: Function 'do_compile' failed (see /build_disk/poky_build/build1/tmp/work/i586-poky-linux/coreutils-6.9-r0/temp/log.do_compile.12780 for further information) -NOTE: package coreutils-6.9-r0: task do_compile: Failed -ERROR: Task 8 (/home/nitin/prj/poky.git/meta/recipes-core/coreutils/coreutils_6.9.bb, do_compile) failed with exit code '1' - - -This patch is made for gplv2 coreutils the recipe -Nitin A Kamble <nitin.a.kamble@intel.com> -2011/03/17 - -Index: man/Makefile.am -=================================================================== ---- a/man.orig/Makefile.am -+++ b/man/Makefile.am -@@ -167,7 +167,7 @@ mapped_name = `echo $*|sed 's/install/gi - $(PERL) -- $(srcdir)/help2man \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/$*.x \ -- --output=$t/$@ $t/$*; \ -+ --output=$t/$@ $*; \ - } \ - && sed 's|$*\.td/||g' $t/$@ > $@ \ - && chmod a-w $@ \ -Index: man/Makefile.in -=================================================================== ---- a/man.orig/Makefile.in -+++ b/man/Makefile.in -@@ -865,7 +865,7 @@ yes.1: $(common_dep) $(srcdir)/yes.x . - $(PERL) -- $(srcdir)/help2man \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/$*.x \ -- --output=$t/$@ $t/$*; \ -+ --output=$t/$@ $*; \ - } \ - && sed 's|$*\.td/||g' $t/$@ > $@ \ - && chmod a-w $@ \ diff --git a/meta/recipes-core/coreutils/coreutils-6.9/futimens.patch b/meta/recipes-core/coreutils/coreutils-6.9/futimens.patch deleted file mode 100644 index 508810623d..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/futimens.patch +++ /dev/null @@ -1,63 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -# coreutils uses gnulib which conflicts with newer libc header on futimens -# this patch simply renames coreutils futimes to avoid confliction -# -# Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 -# (this patch is licensed under GPLv2) - -diff --git a/lib/utimens.c b/lib/utimens.c -index 71bc510..ae870b8 100644 ---- a/lib/utimens.c -+++ b/lib/utimens.c -@@ -75,7 +75,7 @@ struct utimbuf - Return 0 on success, -1 (setting errno) on failure. */ - - int --futimens (int fd ATTRIBUTE_UNUSED, -+futimens_coreutils (int fd ATTRIBUTE_UNUSED, - char const *file, struct timespec const timespec[2]) - { - /* Some Linux-based NFS clients are buggy, and mishandle time stamps -@@ -185,5 +185,5 @@ futimens (int fd ATTRIBUTE_UNUSED, - int - utimens (char const *file, struct timespec const timespec[2]) - { -- return futimens (-1, file, timespec); -+ return futimens_coreutils (-1, file, timespec); - } -diff --git a/lib/utimens.h b/lib/utimens.h -index 0097aaa..13fc45a 100644 ---- a/lib/utimens.h -+++ b/lib/utimens.h -@@ -1,3 +1,3 @@ - #include <time.h> --int futimens (int, char const *, struct timespec const [2]); -+int futimens_coreutils (int, char const *, struct timespec const [2]); - int utimens (char const *, struct timespec const [2]); -diff --git a/src/copy.c b/src/copy.c -index 4bdb75c..04634f1 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -518,7 +518,7 @@ copy_reg (char const *src_name, char const *dst_name, - timespec[0] = get_stat_atime (src_sb); - timespec[1] = get_stat_mtime (src_sb); - -- if (futimens (dest_desc, dst_name, timespec) != 0) -+ if (futimens_coreutils (dest_desc, dst_name, timespec) != 0) - { - error (0, errno, _("preserving times for %s"), quote (dst_name)); - if (x->require_preserve) -diff --git a/src/touch.c b/src/touch.c -index a79c26d..6ef317d 100644 ---- a/src/touch.c -+++ b/src/touch.c -@@ -182,7 +182,7 @@ touch (const char *file) - t = timespec; - } - -- ok = (futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); -+ ok = (futimens_coreutils (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); - - if (fd == STDIN_FILENO) - { diff --git a/meta/recipes-core/coreutils/coreutils-6.9/gnulib_m4.patch b/meta/recipes-core/coreutils/coreutils-6.9/gnulib_m4.patch deleted file mode 100644 index 8a8ffa7264..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/gnulib_m4.patch +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -# remove the line to cause recursive inclusion error from autoreconf, sicne -# newer autoconf has included this definition. Simply rename it here. -# -# Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 -# (this patch is licensed under GPLv2) - -diff --git a/extensions.m4 b/extensions.m4 -index 143a9e5..f6558f1 100644 ---- a/m4/extensions.m4 -+++ b/m4/extensions.m4 -@@ -16,7 +16,7 @@ - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], -+AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS_DUMMY], - [ - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) - AC_BEFORE([$0], [AC_RUN_IFELSE]) diff --git a/meta/recipes-core/coreutils/coreutils-6.9/loadavg.patch b/meta/recipes-core/coreutils/coreutils-6.9/loadavg.patch deleted file mode 100644 index c72efd4d30..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/loadavg.patch +++ /dev/null @@ -1,18 +0,0 @@ -Remove hardcoded paths so OE's configure QA does not detect it and fail the builds -For cross compilation is less interesting to look into host paths for target libraries anyway - -Upstream-Status: Inappropriate [OE Specific] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: coreutils-6.9/m4/getloadavg.m4 -=================================================================== ---- coreutils-6.9.orig/m4/getloadavg.m4 -+++ coreutils-6.9/m4/getloadavg.m4 -@@ -49,7 +49,6 @@ if test $gl_have_func = no; then - # There is a commonly available library for RS/6000 AIX. - # Since it is not a standard part of AIX, it might be installed locally. - gl_getloadavg_LIBS=$LIBS -- LIBS="-L/usr/local/lib $LIBS" - AC_CHECK_LIB(getloadavg, getloadavg, - [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) - fi diff --git a/meta/recipes-core/coreutils/coreutils-6.9/man-touch.patch b/meta/recipes-core/coreutils/coreutils-6.9/man-touch.patch deleted file mode 100644 index 59a4fe0053..0000000000 --- a/meta/recipes-core/coreutils/coreutils-6.9/man-touch.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -# man page for 'touch' is generated differently from others. All other utilities -# are provided static man source files, while for 'touch' it requires help2man -# to invoke "touch --help" and then convert the output into the manual. Since touch -# is with target format which can't be invoked on build system, disable building -# 'touch' man page here. -# -# Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 -# (this patch is licensed under GPLv2) - -diff --git a/man/Makefile.am b/man/Makefile.am -index 32df9d1..37b09e3 100644 ---- a/man/Makefile.am -+++ b/man/Makefile.am -@@ -27,7 +27,7 @@ dist_man_MANS = \ - paste.1 pathchk.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 readlink.1 \ - rm.1 rmdir.1 seq.1 sha1sum.1 sha224sum.1 sha256sum.1 sha384sum.1 sha512sum.1 \ - shred.1 shuf.1 sleep.1 sort.1 split.1 stat.1 \ -- su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 touch.1 tr.1 true.1 tsort.1 \ -+ su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 tr.1 true.1 tsort.1 \ - tty.1 unexpand.1 uniq.1 unlink.1 vdir.1 wc.1 \ - whoami.1 yes.1 $(MAN) - optional_mans = \ diff --git a/meta/recipes-core/coreutils/coreutils_6.9.bb b/meta/recipes-core/coreutils/coreutils_6.9.bb deleted file mode 100644 index 821aafc6e0..0000000000 --- a/meta/recipes-core/coreutils/coreutils_6.9.bb +++ /dev/null @@ -1,107 +0,0 @@ -SUMMARY = "The basic file, shell and text manipulation utilities" -DESCRIPTION = "The GNU Core Utilities provide the basic file, shell and text \ -manipulation utilities. These are the core utilities which are expected to exist on \ -every system." - -HOMEPAGE = "http://www.gnu.org/software/coreutils/" -BUGTRACKER = "http://debbugs.gnu.org/coreutils" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://src/ls.c;beginline=4;endline=16;md5=15ed60f67b1db5fedd5dbc37cf8a9543" -PR = "r5" -DEPENDS = "virtual/libiconv" - -inherit autotools gettext texinfo - -SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.bz2 \ - file://gnulib_m4.patch \ - file://futimens.patch \ - file://coreutils-ls-x.patch \ - file://coreutils-6.9-cp-i-u.patch \ - file://coreutils-i18n.patch \ - file://coreutils-overflow.patch \ - file://coreutils-fix-install.patch \ - file://man-touch.patch \ - file://coreutils_fix_for_automake-1.12.patch \ - file://coreutils-fix-texinfo.patch \ - file://fix_for_manpage_building.patch \ - file://loadavg.patch \ - " - -SRC_URI[md5sum] = "c9607d8495f16e98906e7ed2d9751a06" -SRC_URI[sha256sum] = "89c2895ad157de50e53298b22d91db116ee4e1dd3fdf4019260254e2e31497b0" - -EXTRA_OECONF += "ac_cv_func_getgroups_works=yes \ - ac_cv_func_strcoll_works=yes" - -# acl is not a default feature -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}" - -# with, without, depends, rdepends -# -PACKAGECONFIG[acl] = "ac_cv_header_sys_acl_h=yes ac_cv_header_acl_libacl_h=yes ac_cv_search_acl_get_file=-lacl,ac_cv_header_sys_acl_h=no ac_cv_header_acl_libacl_h=no ac_cv_search_acl_get_file=,acl," - - -# [ gets a special treatment and is not included in this -bindir_progs = "base64 basename cksum comm csplit cut dir dircolors dirname du \ - env expand expr factor fmt fold groups head hostid id install \ - join link logname md5sum mkfifo nice nl nohup od paste pathchk \ - pinky pr printenv printf ptx readlink seq sha1sum sha224sum sha256sum \ - sha384sum sha512sum shred shuf sort split sum tac tail tee test \ - tr tsort tty unexpand uniq unlink users vdir wc who whoami yes uptime" - -# hostname gets a special treatment and is not included in this -base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill ln ls mkdir \ - mknod mv pwd rm rmdir sleep stty sync touch true uname hostname stat" - -sbindir_progs= "chroot" - -# Let aclocal use the relative path for the m4 file rather than the -# absolute since coreutils has a lot of m4 files, otherwise there might -# be an "Argument list too long" error when it is built in a long/deep -# directory. -acpaths = "-I ./m4" - -do_install() { - autotools_do_install - - install -d ${D}${base_bindir} - [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done - - install -d ${D}${sbindir} - [ "${bindir}" != "${sbindir}" ] && for i in ${sbindir_progs}; do mv ${D}${bindir}/$i ${D}${sbindir}/$i; done - - # [ requires special handling because [.coreutils will cause the sed stuff - # in update-alternatives to fail, therefore use lbracket - the name used - # for the actual source file. - mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN} - - # Newer versions of coreutils do not include su, to mimic this behavior - # we simply remove it. - rm -f ${D}${bindir}/su -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN} = "lbracket ${bindir_progs} ${base_bindir_progs} ${sbindir_progs}" - -ALTERNATIVE_${PN}-doc = "su.1 hostname.1" -ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" -ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" - -ALTERNATIVE_PRIORITY[uptime] = "10" -ALTERNATIVE_PRIORITY[hostname] = "10" - -ALTERNATIVE_LINK_NAME[lbracket] = "${bindir}/[" -ALTERNATIVE_TARGET[lbracket] = "${bindir}/lbracket.${BPN}" - -python __anonymous() { - for prog in d.getVar('base_bindir_progs').split(): - d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) - - for prog in d.getVar('sbindir_progs').split(): - d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) -} diff --git a/meta/recipes-core/gettext/gettext-0.16.1/disable_java.patch b/meta/recipes-core/gettext/gettext-0.16.1/disable_java.patch deleted file mode 100644 index e4c5f1566b..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/disable_java.patch +++ /dev/null @@ -1,39 +0,0 @@ - -# Pulled from OpenEmbedded -# -# Commented by: Saul Wold <saul.wold@intel.com> - -Upstream-Status: Inappropriate [licensing] - -Index: gettext-0.16.1/gettext-tools/configure.ac -=================================================================== ---- gettext-0.16.1.orig/gettext-tools/configure.ac 2006-11-27 09:02:01.000000000 -0800 -+++ gettext-0.16.1/gettext-tools/configure.ac 2011-03-16 16:55:36.111396557 -0700 -@@ -36,27 +36,15 @@ - gt_JAVA_CHOICE - - gt_GCJ --if test -n "$HAVE_GCJ" && test "$JAVA_CHOICE" = yes; then -- BUILDJAVAEXE=yes --else - BUILDJAVAEXE=no --fi - AC_SUBST(BUILDJAVAEXE) - - gt_JAVAEXEC - gt_JAVACOMP([1.3]) - AC_CHECK_PROG(JAR, jar, jar) --if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then -- BUILDJAVA=yes --else - BUILDJAVA=no --fi - AC_SUBST(BUILDJAVA) --if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then -- TESTJAVA=yes --else - TESTJAVA=no --fi - AC_SUBST(TESTJAVA) - - gt_CSHARPCOMP diff --git a/meta/recipes-core/gettext/gettext-0.16.1/fix_aclocal_version.patch b/meta/recipes-core/gettext/gettext-0.16.1/fix_aclocal_version.patch deleted file mode 100644 index 49a10f5b18..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/fix_aclocal_version.patch +++ /dev/null @@ -1,110 +0,0 @@ - -This patch updates the required version number from 2.61 to the -current 2.65 version of aclocal, this will need to be updated -when we update aclocal - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/m4/lib-link.m4 2011-03-17 02:24:36.391519775 -0700 -+++ gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 2011-03-17 02:24:45.569526073 -0700 -@@ -148,7 +148,7 @@ - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - dnl Autoconf >= 2.61 supports dots in --with options. -- define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) -+ define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.65]),[-1],[translit([$1],[.],[_])],[$1])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ -Index: gettext-0.16.1/autoconf-lib-link/tests/rpathly/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathly/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 -+++ gettext-0.16.1/autoconf-lib-link/tests/rpathly/aclocal.m4 2011-03-17 02:24:45.570526904 -0700 -@@ -11,8 +11,8 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, --[m4_fatal([this file was generated for autoconf 2.61. -+m4_if(m4_PACKAGE_VERSION, [2.65],, -+[m4_fatal([this file was generated for autoconf 2.65. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) - -Index: gettext-0.16.1/autoconf-lib-link/tests/rpathx/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathx/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 -+++ gettext-0.16.1/autoconf-lib-link/tests/rpathx/aclocal.m4 2011-03-17 02:24:45.572525773 -0700 -@@ -11,8 +11,8 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, --[m4_fatal([this file was generated for autoconf 2.61. -+m4_if(m4_PACKAGE_VERSION, [2.65],, -+[m4_fatal([this file was generated for autoconf 2.65. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) - -Index: gettext-0.16.1/autoconf-lib-link/tests/rpathy/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathy/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 -+++ gettext-0.16.1/autoconf-lib-link/tests/rpathy/aclocal.m4 2011-03-17 02:24:45.578394916 -0700 -@@ -11,7 +11,7 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, -+m4_if(m4_PACKAGE_VERSION, [2.65],, - [m4_fatal([this file was generated for autoconf 2.61. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) -Index: gettext-0.16.1/autoconf-lib-link/tests/rpathz/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathz/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 -+++ gettext-0.16.1/autoconf-lib-link/tests/rpathz/aclocal.m4 2011-03-17 02:24:45.586395416 -0700 -@@ -11,8 +11,8 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, --[m4_fatal([this file was generated for autoconf 2.61. -+m4_if(m4_PACKAGE_VERSION, [2.65],, -+[m4_fatal([this file was generated for autoconf 2.65. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) - -Index: gettext-0.16.1/gettext-tools/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/gettext-tools/aclocal.m4 2006-11-27 09:34:32.000000000 -0800 -+++ gettext-0.16.1/gettext-tools/aclocal.m4 2011-03-17 02:27:01.135682807 -0700 -@@ -11,8 +11,8 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, --[m4_fatal([this file was generated for autoconf 2.61. -+m4_if(m4_PACKAGE_VERSION, [2.65],, -+[m4_fatal([this file was generated for autoconf 2.65. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) - -Index: gettext-0.16.1/gettext-tools/examples/aclocal.m4 -=================================================================== ---- gettext-0.16.1.orig/gettext-tools/examples/aclocal.m4 2006-11-27 09:16:23.000000000 -0800 -+++ gettext-0.16.1/gettext-tools/examples/aclocal.m4 2011-03-17 02:26:52.589396683 -0700 -@@ -11,8 +11,8 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --m4_if(m4_PACKAGE_VERSION, [2.61],, --[m4_fatal([this file was generated for autoconf 2.61. -+m4_if(m4_PACKAGE_VERSION, [2.65],, -+[m4_fatal([this file was generated for autoconf 2.65. - You have another version of autoconf. If you want to use that, - you should regenerate the build system entirely.], [63])]) - diff --git a/meta/recipes-core/gettext/gettext-0.16.1/fix_gnu_source_circular.patch b/meta/recipes-core/gettext/gettext-0.16.1/fix_gnu_source_circular.patch deleted file mode 100644 index fd5feebc85..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/fix_gnu_source_circular.patch +++ /dev/null @@ -1,348 +0,0 @@ - -This patch removes the circular dependency on AC_GNU_SOURCE in -AC_USE_SYSTEM_EXTENSIONS. - -Thanks to Mark Hatle for the timely pointers and fixes. - -Upstream-Status: Inappropriate [licensing] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/extensions.m4 gettext.patched/gettext-runtime/gnulib-m4/extensions.m4 ---- gettext-0.16.1/gettext-runtime/gnulib-m4/extensions.m4 2006-11-27 09:14:38.000000000 -0800 -+++ gettext.patched/gettext-runtime/gnulib-m4/extensions.m4 2011-03-16 23:54:01.711923448 -0700 -@@ -16,43 +16,47 @@ - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], --[ -- AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -- AC_BEFORE([$0], [AC_RUN_IFELSE]) -- -- AC_REQUIRE([AC_GNU_SOURCE]) -- AC_REQUIRE([AC_AIX]) -- AC_REQUIRE([AC_MINIX]) -- -- AH_VERBATIM([__EXTENSIONS__], --[/* Enable extensions on Solaris. */ --#ifndef __EXTENSIONS__ --# undef __EXTENSIONS__ --#endif --#ifndef _POSIX_PTHREAD_SEMANTICS --# undef _POSIX_PTHREAD_SEMANTICS --#endif --#ifndef _TANDEM_SOURCE --# undef _TANDEM_SOURCE --#endif]) -- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -- [ac_cv_safe_to_define___extensions__], -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([ --# define __EXTENSIONS__ 1 -- AC_INCLUDES_DEFAULT])], -- [ac_cv_safe_to_define___extensions__=yes], -- [ac_cv_safe_to_define___extensions__=no])]) -- test $ac_cv_safe_to_define___extensions__ = yes && -- AC_DEFINE([__EXTENSIONS__]) -- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -- AC_DEFINE([_TANDEM_SOURCE]) --]) -+#AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], -+#[ -+# AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -+# AC_BEFORE([$0], [AC_RUN_IFELSE]) -+# -+# AC_REQUIRE([AC_GNU_SOURCE]) -+# AC_REQUIRE([AC_AIX]) -+# AC_REQUIRE([AC_MINIX]) -+# -+# AH_VERBATIM([__EXTENSIONS__], -+#[/* Enable extensions on Solaris. */ -+##ifndef __EXTENSIONS__ -+## undef __EXTENSIONS__ -+##endif -+##ifndef _POSIX_PTHREAD_SEMANTICS -+## undef _POSIX_PTHREAD_SEMANTICS -+##endif -+##ifndef _TANDEM_SOURCE -+## undef _TANDEM_SOURCE -+##endif]) -+# AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -+# [ac_cv_safe_to_define___extensions__], -+# [AC_COMPILE_IFELSE( -+# [AC_LANG_PROGRAM([ -+## define __EXTENSIONS__ 1 -+# AC_INCLUDES_DEFAULT])], -+# [ac_cv_safe_to_define___extensions__=yes], -+# [ac_cv_safe_to_define___extensions__=no])]) -+# test $ac_cv_safe_to_define___extensions__ = yes && -+# AC_DEFINE([__EXTENSIONS__]) -+# AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -+# AC_DEFINE([_TANDEM_SOURCE]) -+#]) - - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. - AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], -- [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) -+[ -+ AC_REQUIRE([AC_GNU_SOURCE]) -+ -+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -+]) -diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-runtime/gnulib-m4/gnulib-comp.m4 ---- gettext-0.16.1/gettext-runtime/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:19.000000000 -0800 -+++ gettext.patched/gettext-runtime/gnulib-m4/gnulib-comp.m4 2011-03-16 23:50:17.471531838 -0700 -@@ -25,7 +25,7 @@ - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - ]) - -diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/mbchar.m4 gettext.patched/gettext-runtime/gnulib-m4/mbchar.m4 ---- gettext-0.16.1/gettext-runtime/gnulib-m4/mbchar.m4 2006-11-27 09:14:38.000000000 -0800 -+++ gettext.patched/gettext-runtime/gnulib-m4/mbchar.m4 2011-03-16 23:50:10.814396529 -0700 -@@ -9,7 +9,7 @@ - - AC_DEFUN([gl_MBCHAR], - [ -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - dnl The following line is that so the user can test HAVE_WCHAR_H - dnl before #include "mbchar.h". - AC_CHECK_HEADERS_ONCE([wchar.h]) -diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/wcwidth.m4 gettext.patched/gettext-runtime/gnulib-m4/wcwidth.m4 ---- gettext-0.16.1/gettext-runtime/gnulib-m4/wcwidth.m4 2006-11-27 09:14:38.000000000 -0800 -+++ gettext.patched/gettext-runtime/gnulib-m4/wcwidth.m4 2011-03-16 23:50:08.357396247 -0700 -@@ -7,7 +7,7 @@ - AC_DEFUN([gl_FUNC_WCWIDTH], - [ - dnl Persuade glibc <wchar.h> to declare wcwidth(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_C_INLINE]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) -diff -ru gettext-0.16.1/gettext-runtime/m4/lock.m4 gettext.patched/gettext-runtime/m4/lock.m4 ---- gettext-0.16.1/gettext-runtime/m4/lock.m4 2006-10-24 13:59:59.000000000 -0700 -+++ gettext.patched/gettext-runtime/m4/lock.m4 2011-03-16 23:50:04.355891676 -0700 -@@ -35,7 +35,7 @@ - AC_BEFORE([$0], [gl_ARGP])dnl - - AC_REQUIRE([AC_CANONICAL_HOST]) -- AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems - dnl Check for multithreading. - AC_ARG_ENABLE(threads, - AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/extensions.m4 gettext.patched/gettext-tools/gnulib-m4/extensions.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/extensions.m4 2006-11-27 09:14:54.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/extensions.m4 2011-03-16 23:53:28.487671266 -0700 -@@ -16,43 +16,47 @@ - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], --[ -- AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -- AC_BEFORE([$0], [AC_RUN_IFELSE]) -- -- AC_REQUIRE([AC_GNU_SOURCE]) -- AC_REQUIRE([AC_AIX]) -- AC_REQUIRE([AC_MINIX]) -- -- AH_VERBATIM([__EXTENSIONS__], --[/* Enable extensions on Solaris. */ --#ifndef __EXTENSIONS__ --# undef __EXTENSIONS__ --#endif --#ifndef _POSIX_PTHREAD_SEMANTICS --# undef _POSIX_PTHREAD_SEMANTICS --#endif --#ifndef _TANDEM_SOURCE --# undef _TANDEM_SOURCE --#endif]) -- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -- [ac_cv_safe_to_define___extensions__], -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([ --# define __EXTENSIONS__ 1 -- AC_INCLUDES_DEFAULT])], -- [ac_cv_safe_to_define___extensions__=yes], -- [ac_cv_safe_to_define___extensions__=no])]) -- test $ac_cv_safe_to_define___extensions__ = yes && -- AC_DEFINE([__EXTENSIONS__]) -- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -- AC_DEFINE([_TANDEM_SOURCE]) --]) -+#AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], -+#[ -+# AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -+# AC_BEFORE([$0], [AC_RUN_IFELSE]) -+# -+# AC_REQUIRE([AC_GNU_SOURCE]) -+# AC_REQUIRE([AC_AIX]) -+# AC_REQUIRE([AC_MINIX]) -+# -+# AH_VERBATIM([__EXTENSIONS__], -+#[/* Enable extensions on Solaris. */ -+##ifndef __EXTENSIONS__ -+## undef __EXTENSIONS__ -+##endif -+##ifndef _POSIX_PTHREAD_SEMANTICS -+## undef _POSIX_PTHREAD_SEMANTICS -+##endif -+##ifndef _TANDEM_SOURCE -+## undef _TANDEM_SOURCE -+##endif]) -+# AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -+# [ac_cv_safe_to_define___extensions__], -+# [AC_COMPILE_IFELSE( -+# [AC_LANG_PROGRAM([ -+## define __EXTENSIONS__ 1 -+# AC_INCLUDES_DEFAULT])], -+# [ac_cv_safe_to_define___extensions__=yes], -+# [ac_cv_safe_to_define___extensions__=no])]) -+# test $ac_cv_safe_to_define___extensions__ = yes && -+# AC_DEFINE([__EXTENSIONS__]) -+# AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -+# AC_DEFINE([_TANDEM_SOURCE]) -+#]) - - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. - AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], -- [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) -+[ -+ AC_REQUIRE([AC_GNU_SOURCE]) -+ -+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -+]) -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/fnmatch.m4 gettext.patched/gettext-tools/gnulib-m4/fnmatch.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/fnmatch.m4 2006-11-27 09:14:54.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/fnmatch.m4 2011-03-16 23:52:06.477463671 -0700 -@@ -91,7 +91,7 @@ - AC_DEFUN([gl_FUNC_FNMATCH_GNU], - [ - dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc. -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - FNMATCH_H= - _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu], -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/getdelim.m4 gettext.patched/gettext-tools/gnulib-m4/getdelim.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/getdelim.m4 2006-11-27 09:14:54.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/getdelim.m4 2011-03-16 23:52:22.871674845 -0700 -@@ -12,7 +12,7 @@ - [ - - dnl Persuade glibc <stdio.h> to declare getdelim(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REPLACE_FUNCS(getdelim) - AC_CHECK_DECLS_ONCE(getdelim) -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/getline.m4 gettext.patched/gettext-tools/gnulib-m4/getline.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/getline.m4 2006-11-27 09:14:54.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/getline.m4 2011-03-16 23:51:49.829971108 -0700 -@@ -16,7 +16,7 @@ - AC_DEFUN([gl_FUNC_GETLINE], - [ - dnl Persuade glibc <stdio.h> to declare getline(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_CHECK_DECLS([getline]) - -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-tools/gnulib-m4/gnulib-comp.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:36.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/gnulib-comp.m4 2011-03-16 23:52:18.970450488 -0700 -@@ -25,7 +25,7 @@ - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_LOCK_EARLY]) - ]) -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/mbchar.m4 gettext.patched/gettext-tools/gnulib-m4/mbchar.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/mbchar.m4 2006-11-27 09:14:55.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/mbchar.m4 2011-03-16 23:51:40.844410216 -0700 -@@ -9,7 +9,7 @@ - - AC_DEFUN([gl_MBCHAR], - [ -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - dnl The following line is that so the user can test HAVE_WCHAR_H - dnl before #include "mbchar.h". - AC_CHECK_HEADERS_ONCE([wchar.h]) -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/stpcpy.m4 gettext.patched/gettext-tools/gnulib-m4/stpcpy.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/stpcpy.m4 2006-11-27 09:14:55.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/stpcpy.m4 2011-03-16 23:52:14.691396045 -0700 -@@ -7,7 +7,7 @@ - AC_DEFUN([gl_FUNC_STPCPY], - [ - dnl Persuade glibc <string.h> to declare stpcpy(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REPLACE_FUNCS(stpcpy) - if test $ac_cv_func_stpcpy = no; then -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/stpncpy.m4 gettext.patched/gettext-tools/gnulib-m4/stpncpy.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/stpncpy.m4 2006-11-27 09:14:55.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/stpncpy.m4 2011-03-16 23:52:10.356641459 -0700 -@@ -7,7 +7,7 @@ - AC_DEFUN([gl_FUNC_STPNCPY], - [ - dnl Persuade glibc <string.h> to declare stpncpy(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - dnl Both glibc and AIX (4.3.3, 5.1) have an stpncpy() function - dnl declared in <string.h>. Its side effects are the same as those -diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/wcwidth.m4 gettext.patched/gettext-tools/gnulib-m4/wcwidth.m4 ---- gettext-0.16.1/gettext-tools/gnulib-m4/wcwidth.m4 2006-11-27 09:14:55.000000000 -0800 -+++ gettext.patched/gettext-tools/gnulib-m4/wcwidth.m4 2011-03-16 23:51:08.260324221 -0700 -@@ -7,7 +7,7 @@ - AC_DEFUN([gl_FUNC_WCWIDTH], - [ - dnl Persuade glibc <wchar.h> to declare wcwidth(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_C_INLINE]) - AC_REQUIRE([gt_TYPE_WCHAR_T]) -diff -ru gettext-0.16.1/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 ---- gettext-0.16.1/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:45.000000000 -0800 -+++ gettext.patched/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 2011-03-16 23:51:02.036061317 -0700 -@@ -25,7 +25,7 @@ - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_LOCK_EARLY]) - ]) -diff -ru gettext-0.16.1/gettext-tools/m4/regex.m4 gettext.patched/gettext-tools/m4/regex.m4 ---- gettext-0.16.1/gettext-tools/m4/regex.m4 2006-11-27 09:02:05.000000000 -0800 -+++ gettext.patched/gettext-tools/m4/regex.m4 2011-03-16 23:50:53.533477195 -0700 -@@ -116,7 +116,7 @@ - dnl to get them. - - dnl Persuade glibc <string.h> to declare mempcpy(). -- AC_REQUIRE([AC_GNU_SOURCE]) -+ dnl AC_REQUIRE([AC_GNU_SOURCE]) - - AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([AC_FUNC_ALLOCA]) diff --git a/meta/recipes-core/gettext/gettext-0.16.1/gettext-autoconf-lib-link-no-L.patch b/meta/recipes-core/gettext/gettext-0.16.1/gettext-autoconf-lib-link-no-L.patch deleted file mode 100644 index 072fe5ff6c..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/gettext-autoconf-lib-link-no-L.patch +++ /dev/null @@ -1,19 +0,0 @@ - -# Pulled from OpenEmbedded -# -# Commented by: Saul Wold <saul.wold@intel.com> - -Upstream-Status: Inappropriate [licensing] - ---- gettext-0.17/autoconf-lib-link/m4/lib-link.m4~ 2009-04-17 15:12:30.000000000 -0700 -+++ gettext-0.17/autoconf-lib-link/m4/lib-link.m4 2009-04-17 15:37:39.000000000 -0700 -@@ -267,6 +267,9 @@ - fi - fi - fi -+ dnl Just let the compiler find the library, the compiler and user are smarter then this script -+ dnl when cross compiling and working with a relocated install. -+ found_dir="" - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) diff --git a/meta/recipes-core/gettext/gettext-0.16.1/gettext-vpath.patch b/meta/recipes-core/gettext/gettext-0.16.1/gettext-vpath.patch deleted file mode 100644 index f09e450efe..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/gettext-vpath.patch +++ /dev/null @@ -1,20 +0,0 @@ - -# Pulled from OpenEmbedded -# -# Commented by: Saul Wold <saul.wold@intel.com> - -Upstream-Status: Inappropriate [licensing] - -Index: gettext-0.16.1/gettext-runtime/intl/Makefile.in -=================================================================== ---- gettext-0.16.1.orig/gettext-runtime/intl/Makefile.in 2006-11-27 09:02:00.000000000 -0800 -+++ gettext-0.16.1/gettext-runtime/intl/Makefile.in 2011-03-16 16:04:49.175419930 -0700 -@@ -35,7 +35,7 @@ - # 'make' does the wrong thing if GNU gettext was configured with - # "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la - # files it finds in srcdir = ../../gettext-runtime/intl. --VPATH = $(srcdir) -+#VPATH = $(srcdir) - - prefix = @prefix@ - exec_prefix = @exec_prefix@ diff --git a/meta/recipes-core/gettext/gettext-0.16.1/hardcode_macro_version.patch b/meta/recipes-core/gettext/gettext-0.16.1/hardcode_macro_version.patch deleted file mode 100644 index 4da8dd4536..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/hardcode_macro_version.patch +++ /dev/null @@ -1,51 +0,0 @@ - -This patch hardcodes in version 0.17 for the GETTEXT_MACRO_VERSION, -the version check is only part of 0.17 and will not affect any 0.16.1 -operations - -Upstream-Status: Inappropriate [licensing] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: gettext-0.16.1/gettext-runtime/m4/po.m4 -=================================================================== ---- gettext-0.16.1.orig/gettext-runtime/m4/po.m4 2011-03-17 02:24:28.953520231 -0700 -+++ gettext-0.16.1/gettext-runtime/m4/po.m4 2011-03-17 02:28:25.455396862 -0700 -@@ -27,6 +27,9 @@ - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - AC_REQUIRE([AM_NLS])dnl - -+ dnl Hardcode the MACRO_VERSION to 0.17 for gnutls -+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) -+ - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - -Index: gettext-0.16.1/gettext-runtime/po/Makefile.in.in -=================================================================== ---- gettext-0.16.1.orig/gettext-runtime/po/Makefile.in.in 2011-03-17 02:24:28.953520231 -0700 -+++ gettext-0.16.1/gettext-runtime/po/Makefile.in.in 2011-03-17 02:28:07.574395144 -0700 -@@ -10,6 +10,9 @@ - # - # Origin: gettext-0.16 - -+# Hardcode this value for gnutls building against gplv2 code -+GETTEXT_MACRO_VERSION = 0.17 -+ - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -Index: gettext-0.16.1/gettext-tools/po/Makefile.in.in -=================================================================== ---- gettext-0.16.1.orig/gettext-tools/po/Makefile.in.in 2011-03-17 02:24:28.953520231 -0700 -+++ gettext-0.16.1/gettext-tools/po/Makefile.in.in 2011-03-17 02:28:07.574395144 -0700 -@@ -10,6 +10,9 @@ - # - # Origin: gettext-0.16 - -+# Hardcode this value for gnutls building against gplv2 code -+GETTEXT_MACRO_VERSION = 0.17 -+ - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ diff --git a/meta/recipes-core/gettext/gettext-0.16.1/linklib_from_0.17.patch b/meta/recipes-core/gettext/gettext-0.16.1/linklib_from_0.17.patch deleted file mode 100644 index d921069711..0000000000 --- a/meta/recipes-core/gettext/gettext-0.16.1/linklib_from_0.17.patch +++ /dev/null @@ -1,720 +0,0 @@ - -# Pulled from OpenEmbedded -# -# Commented by: Saul Wold <saul.wold@intel.com> - -Upstream-Status: Inappropriate [licensing] - -Index: gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/m4/lib-link.m4 2006-11-27 09:01:58.000000000 -0800 -+++ gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 2011-03-17 00:36:08.710836720 -0700 -@@ -6,12 +6,14 @@ - - dnl From Bruno Haible. - --AC_PREREQ(2.50) -+AC_PREREQ(2.54) - - dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and - dnl the libraries corresponding to explicit and implicit dependencies. - dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and - dnl augments the CPPFLAGS variable. -+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. - AC_DEFUN([AC_LIB_LINKFLAGS], - [ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -@@ -24,13 +26,16 @@ - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" -+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" -+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) -+ AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes -@@ -46,6 +51,8 @@ - dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and - dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs - dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. - AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], - [ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -@@ -82,17 +89,24 @@ - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= -+ LIB[]NAME[]_PREFIX= -+ - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) -+ AC_SUBST([LIB]NAME[_PREFIX]) - undefine([Name]) - undefine([NAME]) - ]) - - dnl Determine the platform dependent parameters needed to use rpath: --dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, --dnl hardcode_direct, hardcode_minus_L. -+dnl acl_libext, -+dnl acl_shlibext, -+dnl acl_hardcode_libdir_flag_spec, -+dnl acl_hardcode_libdir_separator, -+dnl acl_hardcode_direct, -+dnl acl_hardcode_minus_L. - AC_DEFUN([AC_LIB_RPATH], - [ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. -@@ -109,12 +123,14 @@ - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" -- libext="$acl_cv_libext" -- shlibext="$acl_cv_shlibext" -- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" -- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" -- hardcode_direct="$acl_cv_hardcode_direct" -- hardcode_minus_L="$acl_cv_hardcode_minus_L" -+ acl_libext="$acl_cv_libext" -+ acl_shlibext="$acl_cv_shlibext" -+ acl_libname_spec="$acl_cv_libname_spec" -+ acl_library_names_spec="$acl_cv_library_names_spec" -+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" -+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" -+ acl_hardcode_direct="$acl_cv_hardcode_direct" -+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, - [ --disable-rpath do not hardcode runtime library paths], -@@ -124,20 +140,24 @@ - dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and - dnl the libraries corresponding to explicit and implicit dependencies. - dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. - AC_DEFUN([AC_LIB_LINKFLAGS_BODY], - [ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ dnl Autoconf >= 2.61 supports dots in --with options. -+ define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) -- AC_LIB_ARG_WITH([lib$1-prefix], --[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib -- --without-lib$1-prefix don't search for lib$1 in includedir and libdir], -+ AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], -+[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib -+ --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], - [ - if test "X$withval" = "Xno"; then - use_additional=no -@@ -158,6 +178,7 @@ - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= -+ LIB[]NAME[]_PREFIX= - rpathdirs= - ltrpathdirs= - names_already_handled= -@@ -197,27 +218,53 @@ - found_la= - found_so= - found_a= -+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name -+ if test -n "$acl_shlibext"; then -+ shrext=".$acl_shlibext" # typically: shrext=.so -+ else -+ shrext= -+ fi - if test $use_additional = yes; then -- if test -n "$shlibext" \ -- && { test -f "$additional_libdir/lib$name.$shlibext" \ -- || { test "$shlibext" = dll \ -- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then -- found_dir="$additional_libdir" -- if test -f "$additional_libdir/lib$name.$shlibext"; then -- found_so="$additional_libdir/lib$name.$shlibext" -+ dir="$additional_libdir" -+ dnl The same code as in the loop below: -+ dnl First look for a shared library. -+ if test -n "$acl_shlibext"; then -+ if test -f "$dir/$libname$shrext"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext" - else -- found_so="$additional_libdir/lib$name.dll.a" -+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then -+ ver=`(cd "$dir" && \ -+ for f in "$libname$shrext".*; do echo "$f"; done \ -+ | sed -e "s,^$libname$shrext\\\\.,," \ -+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ -+ | sed 1q ) 2>/dev/null` -+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext.$ver" -+ fi -+ else -+ eval library_names=\"$acl_library_names_spec\" -+ for f in $library_names; do -+ if test -f "$dir/$f"; then -+ found_dir="$dir" -+ found_so="$dir/$f" -+ break -+ fi -+ done -+ fi - fi -- if test -f "$additional_libdir/lib$name.la"; then -- found_la="$additional_libdir/lib$name.la" -+ fi -+ dnl Then look for a static library. -+ if test "X$found_dir" = "X"; then -+ if test -f "$dir/$libname.$acl_libext"; then -+ found_dir="$dir" -+ found_a="$dir/$libname.$acl_libext" - fi -- else -- if test -f "$additional_libdir/lib$name.$libext"; then -- found_dir="$additional_libdir" -- found_a="$additional_libdir/lib$name.$libext" -- if test -f "$additional_libdir/lib$name.la"; then -- found_la="$additional_libdir/lib$name.la" -- fi -+ fi -+ if test "X$found_dir" != "X"; then -+ if test -f "$dir/$libname.la"; then -+ found_la="$dir/$libname.la" - fi - fi - fi -@@ -227,26 +274,44 @@ - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` -- if test -n "$shlibext" \ -- && { test -f "$dir/lib$name.$shlibext" \ -- || { test "$shlibext" = dll \ -- && test -f "$dir/lib$name.dll.a"; }; }; then -- found_dir="$dir" -- if test -f "$dir/lib$name.$shlibext"; then -- found_so="$dir/lib$name.$shlibext" -+ dnl First look for a shared library. -+ if test -n "$acl_shlibext"; then -+ if test -f "$dir/$libname$shrext"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext" - else -- found_so="$dir/lib$name.dll.a" -- fi -- if test -f "$dir/lib$name.la"; then -- found_la="$dir/lib$name.la" -+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then -+ ver=`(cd "$dir" && \ -+ for f in "$libname$shrext".*; do echo "$f"; done \ -+ | sed -e "s,^$libname$shrext\\\\.,," \ -+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ -+ | sed 1q ) 2>/dev/null` -+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext.$ver" -+ fi -+ else -+ eval library_names=\"$acl_library_names_spec\" -+ for f in $library_names; do -+ if test -f "$dir/$f"; then -+ found_dir="$dir" -+ found_so="$dir/$f" -+ break -+ fi -+ done -+ fi - fi -- else -- if test -f "$dir/lib$name.$libext"; then -+ fi -+ dnl Then look for a static library. -+ if test "X$found_dir" = "X"; then -+ if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" -- found_a="$dir/lib$name.$libext" -- if test -f "$dir/lib$name.la"; then -- found_la="$dir/lib$name.la" -- fi -+ found_a="$dir/$libname.$acl_libext" -+ fi -+ fi -+ if test "X$found_dir" != "X"; then -+ if test -f "$dir/$libname.la"; then -+ found_la="$dir/$libname.la" - fi - fi - ;; -@@ -282,12 +347,12 @@ - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. -- if test "$hardcode_direct" = yes; then -+ if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else -- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then -+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -@@ -318,13 +383,13 @@ - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi -- if test "$hardcode_minus_L" != no; then -+ if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else -- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH -+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. -@@ -512,18 +577,18 @@ - done - done - if test "X$rpathdirs" != "X"; then -- if test -n "$hardcode_libdir_separator"; then -+ if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do -- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" -+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done -- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. -+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" -- eval flag=\"$hardcode_libdir_flag_spec\" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else -@@ -531,7 +596,7 @@ - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" -- eval flag=\"$hardcode_libdir_flag_spec\" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done -@@ -642,3 +707,79 @@ - fi - AC_SUBST([$1]) - ]) -+ -+dnl For those cases where a variable contains several -L and -l options -+dnl referring to unknown libraries and directories, this macro determines the -+dnl necessary additional linker options for the runtime path. -+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -+dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -+dnl otherwise linking without libtool is assumed. -+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -+[ -+ AC_REQUIRE([AC_LIB_RPATH]) -+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) -+ $1= -+ if test "$enable_rpath" != no; then -+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then -+ dnl Use an explicit option to hardcode directories into the resulting -+ dnl binary. -+ rpathdirs= -+ next= -+ for opt in $2; do -+ if test -n "$next"; then -+ dir="$next" -+ dnl No need to hardcode the standard /usr/lib. -+ if test "X$dir" != "X/usr/$acl_libdirstem"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ next= -+ else -+ case $opt in -+ -L) next=yes ;; -+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` -+ dnl No need to hardcode the standard /usr/lib. -+ if test "X$dir" != "X/usr/$acl_libdirstem"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ next= ;; -+ *) next= ;; -+ esac -+ fi -+ done -+ if test "X$rpathdirs" != "X"; then -+ if test -n ""$3""; then -+ dnl libtool is used for linking. Use -R options. -+ for dir in $rpathdirs; do -+ $1="${$1}${$1:+ }-R$dir" -+ done -+ else -+ dnl The linker is used for linking directly. -+ if test -n "$acl_hardcode_libdir_separator"; then -+ dnl Weird platform: only the last -rpath option counts, the user -+ dnl must pass all path elements in one option. -+ alldirs= -+ for dir in $rpathdirs; do -+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" -+ done -+ acl_save_libdir="$libdir" -+ libdir="$alldirs" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ $1="$flag" -+ else -+ dnl The -rpath options are cumulative. -+ for dir in $rpathdirs; do -+ acl_save_libdir="$libdir" -+ libdir="$dir" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ $1="${$1}${$1:+ }$flag" -+ done -+ fi -+ fi -+ fi -+ fi -+ fi -+ AC_SUBST([$1]) -+]) -Index: gettext-0.16.1/autoconf-lib-link/config.rpath -=================================================================== ---- gettext-0.16.1.orig/autoconf-lib-link/config.rpath 2006-11-27 09:01:58.000000000 -0800 -+++ gettext-0.16.1/autoconf-lib-link/config.rpath 2011-03-17 00:33:23.336539490 -0700 -@@ -2,7 +2,7 @@ - # Output a system dependent set of variables, describing how to set the - # run time search path of shared libraries in an executable. - # --# Copyright 1996-2006 Free Software Foundation, Inc. -+# Copyright 1996-2007 Free Software Foundation, Inc. - # Taken from GNU libtool, 2001 - # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - # -@@ -47,6 +47,18 @@ - done - cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -+# Code taken from libtool.m4's _LT_CC_BASENAME. -+ -+for cc_temp in $CC""; do -+ case $cc_temp in -+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; -+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; -+ \-*) ;; -+ *) break;; -+ esac -+done -+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` -+ - # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. - - wl= -@@ -64,7 +76,14 @@ - ;; - esac - ;; -- mingw* | pw32* | os2*) -+ darwin*) -+ case $cc_basename in -+ xlc*) -+ wl='-Wl,' -+ ;; -+ esac -+ ;; -+ mingw* | cygwin* | pw32* | os2*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' -@@ -74,7 +93,7 @@ - ;; - newsos6) - ;; -- linux*) -+ linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - wl='-Wl,' -@@ -100,7 +119,7 @@ - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; -- sco3.2v5*) -+ rdos*) - ;; - solaris*) - wl='-Wl,' -@@ -108,11 +127,14 @@ - sunos4*) - wl='-Qoption ld ' - ;; -- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) -+ sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; -+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) -+ wl='-Wl,' -+ ;; - unicos*) - wl='-Wl,' - ;; -@@ -141,6 +163,10 @@ - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; -+ interix*) -+ # we just hope/assume this is gcc and not c89 (= MSVC++) -+ with_gnu_ld=yes -+ ;; - openbsd*) - with_gnu_ld=no - ;; -@@ -189,11 +215,11 @@ - ld_shlibs=no - fi - ;; -- interix3*) -+ interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; -- linux*) -+ gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else -@@ -280,7 +306,7 @@ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 -- hardcode_direct=yes -+ : - else - # We have old collect2 - hardcode_direct=unsupported -@@ -359,7 +385,7 @@ - hardcode_direct=yes - hardcode_minus_L=yes - ;; -- freebsd* | kfreebsd*-gnu | dragonfly*) -+ freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; -@@ -412,18 +438,22 @@ - hardcode_libdir_separator=: - ;; - openbsd*) -- hardcode_direct=yes -- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -- hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ if test -f /usr/libexec/ld.so; then -+ hardcode_direct=yes -+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ else -+ case "$host_os" in -+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ ;; -+ *) -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ ;; -+ esac -+ fi - else -- case "$host_os" in -- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) -- hardcode_libdir_flag_spec='-R$libdir' -- ;; -- *) -- hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -- ;; -- esac -+ ld_shlibs=no - fi - ;; - os2*) -@@ -471,7 +501,7 @@ - ld_shlibs=yes - fi - ;; -- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) -+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* |sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' -@@ -488,33 +518,51 @@ - - # Check dynamic linker characteristics - # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. -+# Unlike libtool.m4, here we don't care about _all_ names of the library, but -+# only about the one the linker finds when passed -lNAME. This is the last -+# element of library_names_spec in libtool.m4, or possibly two of them if the -+# linker has special search rules. -+library_names_spec= # the last element of library_names_spec in libtool.m4 - libname_spec='lib$name' - case "$host_os" in - aix3*) -+ library_names_spec='$libname.a' - ;; - aix4* | aix5*) -+ library_names_spec='$libname$shrext' - ;; - amigaos*) -+ library_names_spec='$libname.a' - ;; - beos*) -+ library_names_spec='$libname$shrext' - ;; - bsdi[45]*) -+ library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32*) - shrext=.dll -+ library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib -+ library_names_spec='$libname$shrext' - ;; - dgux*) -+ library_names_spec='$libname$shrext' - ;; - freebsd1*) - ;; -- kfreebsd*-gnu) -- ;; - freebsd* | dragonfly*) -+ case "$host_os" in -+ freebsd[123]*) -+ library_names_spec='$libname$shrext$versuffix' ;; -+ *) -+ library_names_spec='$libname$shrext' ;; -+ esac - ;; - gnu*) -+ library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in -@@ -528,10 +576,13 @@ - shrext=.sl - ;; - esac -+ library_names_spec='$libname$shrext' - ;; -- interix3*) -+ interix[3-9]*) -+ library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) -+ library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= -@@ -548,33 +599,46 @@ - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; -- linux*) -+ linux* | k*bsd*-gnu) -+ library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) -+ library_names_spec='$libname$shrext' - ;; - netbsd*) -+ library_names_spec='$libname$shrext' - ;; - newsos6) -+ library_names_spec='$libname$shrext' - ;; - nto-qnx*) -+ library_names_spec='$libname$shrext' - ;; - openbsd*) -+ library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll -+ library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) -+ library_names_spec='$libname$shrext' - ;; - solaris*) -+ library_names_spec='$libname$shrext' - ;; - sunos4*) -+ library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) -+ library_names_spec='$libname$shrext' - ;; - sysv4*MP*) -+ library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) -+ library_names_spec='$libname$shrext' - ;; - uts4*) - ;; -@@ -583,6 +647,8 @@ - sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` - shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - - LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF -@@ -596,6 +662,12 @@ - # Shared library suffix (normally "so"). - shlibext="$shlibext" - -+# Format of library name prefix. -+libname_spec="$escaped_libname_spec" -+ -+# Library names that the linker finds when passed -lNAME. -+library_names_spec="$escaped_library_names_spec" -+ - # Flag to hardcode \$libdir into a binary during linking. - # This must work even if \$libdir does not exist. - hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" diff --git a/meta/recipes-core/gettext/gettext_0.16.1.bb b/meta/recipes-core/gettext/gettext_0.16.1.bb deleted file mode 100644 index e79f4dacf3..0000000000 --- a/meta/recipes-core/gettext/gettext_0.16.1.bb +++ /dev/null @@ -1,124 +0,0 @@ -SUMMARY = "Utilities and libraries for producing multi-lingual messages" -DESCRIPTION = "GNU gettext is a set of tools that provides a framework to help other programs produce multi-lingual messages. These tools include a set of conventions about how programs should be written to support message catalogs, a directory and file naming organization for the message catalogs themselves, a runtime library supporting the retrieval of translated messages, and a few stand-alone programs to massage in various ways the sets of translatable and already translated strings." -HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html" -SECTION = "libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=9ea3144f04c41cd2eada5d3f472e6ea5" - -PR = "r6" -DEPENDS = "virtual/libiconv" -DEPENDS_class-native = "" -PROVIDES = "virtual/libintl virtual/gettext" -PROVIDES_class-native = "virtual/gettext-native" - -SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ - file://gettext-vpath.patch \ - file://linklib_from_0.17.patch \ - file://gettext-autoconf-lib-link-no-L.patch \ - file://disable_java.patch \ - file://fix_aclocal_version.patch \ - file://fix_gnu_source_circular.patch \ - file://hardcode_macro_version.patch \ - " - -SRC_URI[md5sum] = "3d9ad24301c6d6b17ec30704a13fe127" -SRC_URI[sha256sum] = "0bf850d1a079fb5a61f0a47b1a9efd35eb44032255375e1cedb0253bc27b376d" - -PARALLEL_MAKE = "" - -LDFLAGS_prepend_libc-uclibc = " -lrt -lpthread " - -inherit autotools texinfo - -EXTRA_OECONF += "--without-lispdir \ - --disable-csharp \ - --disable-libasprintf \ - --disable-java \ - --disable-native-java \ - --disable-openmp \ - --without-emacs \ - " -EXTRA_OECONF_append_libc-musl = "\ - gt_cv_func_gnugettext1_libc=yes \ - gt_cv_func_gnugettext2_libc=yes \ - " - -acpaths = '-I ${S}/autoconf-lib-link/m4/ \ - -I ${S}/gettext-runtime/m4 \ - -I ${S}/gettext-tools/m4' - -do_configure_prepend() { - rm -f ${S}/config/m4/libtool.m4 -} - -do_install_append_libc-musl () { - rm -f ${D}${libdir}/charset.alias -} - -# these lack the .x behind the .so, but shouldn't be in the -dev package -# Otherwise you get the following results: -# 7.4M glibc/images/ep93xx/Angstrom-console-image-glibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz -# 25M uclibc/images/ep93xx/Angstrom-console-image-uclibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz -# because gettext depends on gettext-dev, which pulls in more -dev packages: -# 15228 KiB /ep93xx/libstdc++-dev_4.2.2-r2_ep93xx.ipk -# 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk -# 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk -# 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk - -PACKAGES =+ "libgettextlib libgettextsrc" -FILES_libgettextlib = "${libdir}/libgettextlib-*.so*" -FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*" - -PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-staticdev gettext-runtime-doc" - -FILES_${PN} += "${libdir}/${BPN}/*" - -FILES_gettext-runtime = "${bindir}/gettext \ - ${bindir}/ngettext \ - ${bindir}/envsubst \ - ${bindir}/gettext.sh \ - ${libdir}/libasprintf${SODEV} \ - ${libdir}/GNU.Gettext.dll \ - " -FILES_gettext-runtime_append_libc-uclibc = " ${libdir}/libintl.so.* \ - ${libdir}/charset.alias \ - " -FILES_gettext-runtime-staticdev += "${libdir}/libasprintf.a" -FILES_gettext-runtime-dev += "${includedir}/autosprintf.h \ - ${libdir}/libasprintf${SOLIBDEV}" -FILES_gettext-runtime-dev_append_libc-uclibc = " ${libdir}/libintl.so \ - ${includedir}/libintl.h \ - " -FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \ - ${mandir}/man1/ngettext.* \ - ${mandir}/man1/envsubst.* \ - ${mandir}/man1/.* \ - ${mandir}/man3/* \ - ${docdir}/gettext/gettext.* \ - ${docdir}/gettext/ngettext.* \ - ${docdir}/gettext/envsubst.* \ - ${docdir}/gettext/*.3.html \ - ${datadir}/gettext/ABOUT-NLS \ - ${docdir}/gettext/csharpdoc/* \ - ${docdir}/libasprintf/autosprintf.html \ - ${infodir}/autosprintf.info \ - " - -do_install_append() { - rm -f ${D}${libdir}/preloadable_libintl.so -} - -do_install_append_class-native () { - rm ${D}${datadir}/aclocal/* - rm ${D}${datadir}/gettext/config.rpath - rm ${D}${datadir}/gettext/po/Makefile.in.in - rm ${D}${datadir}/gettext/po/remove-potcdate.sin -} - -# Anyone inheriting gettext will have both gettext-native and gettext -# available, and we don't want to use older macros from the target gettext in -# a non-gplv3 build, so kill them and let dependent recipes rely on -# gettext-native. -SYSROOT_DIRS_BLACKLIST += "${datadir}/aclocal" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-core/readline/readline-5.2/configure-fix.patch b/meta/recipes-core/readline/readline-5.2/configure-fix.patch deleted file mode 100644 index be60a9861e..0000000000 --- a/meta/recipes-core/readline/readline-5.2/configure-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -Upstream-Status: Pending - -Without this it fails to link against libtermcap causing various missing symbols -issues. - -RP - 8/10/08 - -Index: readline-5.2/configure.in -=================================================================== ---- readline-5.2.orig/configure.in 2008-10-08 09:58:52.000000000 +0100 -+++ readline-5.2/configure.in 2008-10-08 09:59:03.000000000 +0100 -@@ -211,10 +211,10 @@ - AC_MSG_CHECKING(configuration for building shared libraries) - eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}` - --# case "$SHLIB_LIBS" in --# *curses*|*termcap*|*termlib*) ;; --# *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; --# esac -+ case "$SHLIB_LIBS" in -+ *curses*|*termcap*|*termlib*) ;; -+ *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; -+ esac - - AC_SUBST(SHOBJ_CC) - AC_SUBST(SHOBJ_CFLAGS) diff --git a/meta/recipes-core/readline/readline-5.2/fix-redundant-rpath.patch b/meta/recipes-core/readline/readline-5.2/fix-redundant-rpath.patch deleted file mode 100644 index 3166b470f2..0000000000 --- a/meta/recipes-core/readline/readline-5.2/fix-redundant-rpath.patch +++ /dev/null @@ -1,21 +0,0 @@ -This support script ends up hardcoding unnecessary rpaths into the libraries. We -will search $libdir automatically so this is just wastes space. There may be some -cases this is necessary but our use cases aren't one of them. - -Upstream-Status: Inappropriate - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: readline-5.2/support/shobj-conf -=================================================================== ---- readline-5.2.orig/support/shobj-conf -+++ readline-5.2/support/shobj-conf -@@ -110,7 +110,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*) - SHOBJ_LD='${CC}' - SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' - -- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' -+ SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`' - SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' - ;; - diff --git a/meta/recipes-core/readline/readline_5.2.bb b/meta/recipes-core/readline/readline_5.2.bb deleted file mode 100644 index c1007a2311..0000000000 --- a/meta/recipes-core/readline/readline_5.2.bb +++ /dev/null @@ -1,84 +0,0 @@ -SUMMARY = "Library for editing typed command lines" -DESCRIPTION = "The GNU Readline library provides a set of functions for use by applications that allow users to edit \ -command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes \ -additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \ -lines, and perform csh-like history expansion on previous commands." -SECTION = "libs" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=03b36fdd84f74b8d8189a202b980b67f" - -DEPENDS += "ncurses" - -PR = "r9" - -SRC_URI = "${GNU_MIRROR}/readline/${BPN}-${PV}.tar.gz;name=archive \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-001;name=patch1;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-002;name=patch2;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-003;name=patch3;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-004;name=patch4;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-005;name=patch5;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-006;name=patch6;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-007;name=patch7;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-008;name=patch8;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-009;name=patch9;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-010;name=patch10;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-011;name=patch11;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-012;name=patch12;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-013;name=patch13;apply=yes;striplevel=0 \ - ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-014;name=patch14;apply=yes;striplevel=0 \ - file://configure-fix.patch \ - file://config-dirent-symbols.patch \ - file://fix-redundant-rpath.patch" - -SRC_URI[archive.md5sum] = "e39331f32ad14009b9ff49cc10c5e751" -SRC_URI[archive.sha256sum] = "12e88d96aee2cd1192500356f0535540db499282ca7f76339fb4228c31249f45" - -SRC_URI[patch1.md5sum] = "9d4d41622aa9b230c57f68548ce87d8f" -SRC_URI[patch1.sha256sum] = "eac304c369154059f93049ada328739faaf40338d3cb1fb4b544c93d5ce3f8d5" -SRC_URI[patch2.md5sum] = "f03e512d14206e37f7d6a748b56b9476" -SRC_URI[patch2.sha256sum] = "9deacaef25507a0c2ae0b661bf9342559b59a2954d66ea3c5f5bcd900fdfcf78" -SRC_URI[patch3.md5sum] = "252b42d8750f1a94b6bdf086612dceb2" -SRC_URI[patch3.sha256sum] = "2a55d2ecb1c9b0147aeb193a6323616ab31c1c525a83b2db3a994b15594ba934" -SRC_URI[patch4.md5sum] = "a32333c2e603a3ed250514e91050e552" -SRC_URI[patch4.sha256sum] = "a03b65633781efa7c3aae5d57162985e7b7a3c10acf0f2621be610e16f27e5f2" -SRC_URI[patch5.md5sum] = "8106796c09b789523a3a78ab69c04b6d" -SRC_URI[patch5.sha256sum] = "06001896514148a757ea6edbbd40c4fc4331dc653847244386c37b138b150f64" -SRC_URI[patch6.md5sum] = "512188e2bf0837f7eca19dbf71f182ae" -SRC_URI[patch6.sha256sum] = "dfef3e982c0adf8bb5a9b7d0468ec8f5f18138b325e28759437464de5be71013" -SRC_URI[patch7.md5sum] = "ac17aca62eb6fb398c9f2fe9de540aff" -SRC_URI[patch7.sha256sum] = "775b028c7b761397ac6ae1bdfbac7e896dc3b9b3adc2f91312499180ca13bdd1" -SRC_URI[patch8.md5sum] = "2484c392db021905f112cf97a94dfd4c" -SRC_URI[patch8.sha256sum] = "a21b4e0bf0530b878bad24d5be23d18a9e03a75a31ae30844dc0933bb3d77ecd" -SRC_URI[patch9.md5sum] = "fc6eb35d07914fae5c57d49c12483ff7" -SRC_URI[patch9.sha256sum] = "138d5e0f0709a47a2d1621295a3dd5e3cc73b63b5cc28dab03abc4e94fe95ecf" -SRC_URI[patch10.md5sum] = "7a2bf3dc7ac7680b1461a5701100e91b" -SRC_URI[patch10.sha256sum] = "83f8c1aadb86b1a2fad8821a9c6be72a8de5afd7fd9fde58a30b3b57d939693e" -SRC_URI[patch11.md5sum] = "ef6cef6822663470f6ac8c517c5a7ec6" -SRC_URI[patch11.sha256sum] = "08ad3384ab0906e6fa4cc417eb8c43ff59375bcead15fd5c8e31730f0413b3d6" -SRC_URI[patch12.md5sum] = "e3e9f441c8111589855bc363e5640f6c" -SRC_URI[patch12.sha256sum] = "20f0243be2299c23213492cc2c19cfd15cc528d2b566a76a2de58306bb9e4c9e" -SRC_URI[patch13.md5sum] = "3e2e5f543ed268a68fd1fa839faade1a" -SRC_URI[patch13.sha256sum] = "0cc649516a5bdfa61c5e56937407570288b6972d75aa1bd060ad30ebe98144d5" -SRC_URI[patch14.md5sum] = "a1be30e1c6f1099bb5fcef00a2631fb8" -SRC_URI[patch14.sha256sum] = "6f1a68320d01522ca1ea5a737124ecc8739f3dcbfea2dee21e3ccf839a21a817" - -inherit autotools - -EXTRA_AUTORECONF += "--exclude=autoheader" - -LEAD_SONAME = "libreadline.so" - -do_configure_prepend () { - if [ ! -e ${S}/acinclude.m4 ]; then - cat ${S}/aclocal.m4 > ${S}/acinclude.m4 - fi -} - -do_install_append () { - # Make install doesn't properly install these - oe_libinstall -so -C shlib libhistory ${D}${libdir} - oe_libinstall -so -C shlib libreadline ${D}${libdir} -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/bison/bison_2.3.bb b/meta/recipes-devtools/bison/bison_2.3.bb deleted file mode 100644 index 182e8802b2..0000000000 --- a/meta/recipes-devtools/bison/bison_2.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "GNU Project parser generator (yacc replacement)" -DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ -an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ -grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ -little trouble." -HOMEPAGE = "http://www.gnu.org/software/bison/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" -SECTION = "devel" -DEPENDS = "bison-native flex-native" - -PR = "r1" - -SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \ - file://bison-2.3_m4.patch" - -SRC_URI[md5sum] = "22327efdd5080e2b1acb6e560a04b43a" -SRC_URI[sha256sum] = "52f78aa4761a74ceb7fdf770f3554dd84308c3b93c4255e3a5c17558ecda293e" - -inherit autotools gettext texinfo -acpaths = "-I ${S}/m4" - -do_configure_prepend () { - rm -f ${S}/m4/*gl.m4 - cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/runtime-po/ -} diff --git a/meta/recipes-devtools/dosfstools/dosfstools/0001-Include-fcntl.h-for-getting-loff_t-definition.patch b/meta/recipes-devtools/dosfstools/dosfstools/0001-Include-fcntl.h-for-getting-loff_t-definition.patch deleted file mode 100644 index 06f5b7a960..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/0001-Include-fcntl.h-for-getting-loff_t-definition.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b7c42c6a9829bea911b22201edd7df2a9bec1a14 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2015 17:52:34 -0700 -Subject: [PATCH] Include fcntl.h for getting loff_t definition - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - dosfsck/dosfsck.h | 2 ++ - dosfsck/lfn.c | 1 + - 2 files changed, 3 insertions(+) - -diff --git a/dosfsck/dosfsck.h b/dosfsck/dosfsck.h -index d9314b1..2076d5f 100644 ---- a/dosfsck/dosfsck.h -+++ b/dosfsck/dosfsck.h -@@ -50,6 +50,8 @@ - #define CT_LE_L(v) (v) - #endif /* __BIG_ENDIAN */ - -+#include <fcntl.h> -+ - #define VFAT_LN_ATTR (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME) - - /* ++roman: Use own definition of boot sector structure -- the kernel headers' -diff --git a/dosfsck/lfn.c b/dosfsck/lfn.c -index 9b2cfc3..bb04fda 100644 ---- a/dosfsck/lfn.c -+++ b/dosfsck/lfn.c -@@ -7,6 +7,7 @@ - #include <string.h> - #include <limits.h> - #include <time.h> -+#include <fcntl.h> - - #include "common.h" - #include "io.h" --- -2.1.4 - diff --git a/meta/recipes-devtools/dosfstools/dosfstools/alignment_hack.patch b/meta/recipes-devtools/dosfstools/dosfstools/alignment_hack.patch deleted file mode 100644 index b46b2db0a3..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/alignment_hack.patch +++ /dev/null @@ -1,38 +0,0 @@ -The problem is that unsigned char[2] is -guranteed to be 8Bit aligned on arm -but unsigned short is/needs to be 16bit aligned -the union { unsigned short; unsigned char[2] } trick -didn't work so no we use the alpha hack. - -memcpy into an 16bit aligned - - -zecke - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - ---- dosfstools/dosfsck/boot.c.orig 2003-05-15 19:32:23.000000000 +0200 -+++ dosfstools/dosfsck/boot.c 2003-06-13 17:44:25.000000000 +0200 -@@ -36,17 +36,15 @@ - { 0xff, "5.25\" 320k floppy 2s/40tr/8sec" }, - }; - --#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__ -+ - /* Unaligned fields must first be copied byte-wise */ - #define GET_UNALIGNED_W(f) \ - ({ \ - unsigned short __v; \ - memcpy( &__v, &f, sizeof(__v) ); \ -- CF_LE_W( *(unsigned short *)&f ); \ -+ CF_LE_W( *(unsigned short *)&__v ); \ - }) --#else --#define GET_UNALIGNED_W(f) CF_LE_W( *(unsigned short *)&f ) --#endif -+ - - - static char *get_media_descr( unsigned char media ) diff --git a/meta/recipes-devtools/dosfstools/dosfstools/dosfstools-msdos_fs-types.patch b/meta/recipes-devtools/dosfstools/dosfstools/dosfstools-msdos_fs-types.patch deleted file mode 100644 index 35abd1a2b1..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/dosfstools-msdos_fs-types.patch +++ /dev/null @@ -1,37 +0,0 @@ -Ensure the __s8 type is properly defined. - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - ---- dosfstools-2.10/dosfsck/dosfsck.h.org 2006-02-21 08:36:14.000000000 -0700 -+++ dosfstools-2.10/dosfsck/dosfsck.h 2006-02-21 08:40:12.000000000 -0700 -@@ -22,6 +22,14 @@ - #undef __KERNEL__ - #endif - -+#ifndef __s8 -+#include <asm/types.h> -+#endif -+ -+#ifndef __ASM_STUB_BYTEORDER_H__ -+#include <asm/byteorder.h> -+#endif -+ - #include <linux/msdos_fs.h> - - /* 2.1 kernels use le16_to_cpu() type functions for CF_LE_W & Co., but don't ---- dosfstools-2.10/dosfsck/file.c.org 2006-02-21 08:37:36.000000000 -0700 -+++ dosfstools-2.10/dosfsck/file.c 2006-02-21 08:37:47.000000000 -0700 -@@ -23,6 +23,10 @@ - #undef __KERNEL__ - #endif - -+#ifndef __s8 -+#include <asm/types.h> -+#endif -+ - #include <linux/msdos_fs.h> - - #include "common.h" diff --git a/meta/recipes-devtools/dosfstools/dosfstools/fix_populated_dosfs_creation.patch b/meta/recipes-devtools/dosfstools/dosfstools/fix_populated_dosfs_creation.patch deleted file mode 100644 index 9d7f7321ac..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/fix_populated_dosfs_creation.patch +++ /dev/null @@ -1,489 +0,0 @@ -Upstream-Status: Inappropriate - -This patch fixes populated dosfs image creation with directory -structures. Earlier it was causing segfault; and only image -population with no subdirectories was working. - -Issues fixed: -1. (dir->count == dir->entries) check was only needed for root - directory entries. And this check is wrong for non-root - directories. -2. For each dir entry 2 dir->table entries were needed, one for - the file/dir and 2nd for long file name support. Earlier long - name support was added for filenames but the 2nd entry - allocation, initialization & counting was missed. -3. The memory clearing was missed at the code path after dir->table - memroy allocation. -4. Add entries for . & .. directories in all non-root directories. -5. The . directory points to the correct entry in fat now. -6. All directoriy entries' size was not zero as required for dosfsck, - Now all directory entries' size is zero. - -Enhancements: -1. Added support for long names for directory names. This is same - as the existing long name support for filenames. -2. Added error messages for previously silent memory allocation and - other errors. -3. -d options does not work correctly with fat32, so now throwing - an error for that. -4. Use predefined structures from kernel's msdos_fs.h file, rather - than defining again here. And accordingly change the names & use - of structure variables. - -Outstanding Issues: -1. The .. directory entry do not point to the parent of current - directory. This issue can be fixed by running dosfsck -a after - image creation. -2. For files the filesize is correct, but the clusters size is more - than it needs to be, this also can be fixed by running dosfsck -a - after image creation. - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2011/12/13 - - -Index: dosfstools-2.11/mkdosfs/mkdosfs.c -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/mkdosfs.c -+++ dosfstools-2.11/mkdosfs/mkdosfs.c -@@ -21,7 +21,17 @@ - June 2004 - Jordan Crouse (info.linux@amd.com) - Added -d <directory> support to populate the image - Copyright (C) 2004, Advanced Micro Devices, All Rights Reserved -- -+ -+ 2011-12-13: Nitin A Kamble <nitin.a.kamble@intel.com> -+ Enhanced the -d <directory> support for population of image while -+ creation. Earlier subdirectores support was broken, only files in -+ the rootdir were supported. Now directory hirarchy is supported. -+ Also added long filename support to directory names. -+ The -d <directory> option (image population while creation) -+ is broken with fat32. -+ Copyright (C) 2011, Intel Corporation, All Rights Reserved -+ -+ - Fixes/additions May 1998 by Roman Hodek - <Roman.Hodek@informatik.uni-erlangen.de>: - - Atari format support -@@ -86,23 +96,23 @@ - # undef __KERNEL__ - #endif - --#if __BYTE_ORDER == __BIG_ENDIAN -- -+#ifndef __ASM_STUB_BYTEORDER_H__ - #include <asm/byteorder.h> --#ifdef __le16_to_cpu --/* ++roman: 2.1 kernel headers define these function, they're probably more -- * efficient then coding the swaps machine-independently. */ --#define CF_LE_W __le16_to_cpu --#define CF_LE_L __le32_to_cpu --#define CT_LE_W __cpu_to_le16 --#define CT_LE_L __cpu_to_le32 --#else --#define CF_LE_W(v) ((((v) & 0xff) << 8) | (((v) >> 8) & 0xff)) --#define CF_LE_L(v) (((unsigned)(v)>>24) | (((unsigned)(v)>>8)&0xff00) | \ -- (((unsigned)(v)<<8)&0xff0000) | ((unsigned)(v)<<24)) -+#endif -+ -+#include <linux/msdos_fs.h> -+ -+#undef CF_LE_W -+#undef CF_LE_L -+#undef CT_LE_W -+#undef CT_LE_L -+ -+#if __BYTE_ORDER == __BIG_ENDIAN -+#include <byteswap.h> -+#define CF_LE_W(v) bswap_16(v) -+#define CF_LE_L(v) bswap_32(v) - #define CT_LE_W(v) CF_LE_W(v) - #define CT_LE_L(v) CF_LE_L(v) --#endif /* defined(__le16_to_cpu) */ - - #else - -@@ -253,33 +263,6 @@ struct fat32_fsinfo { - __u32 reserved2[4]; - }; - --/* This stores up to 13 chars of the name */ -- --struct msdos_dir_slot { -- __u8 id; /* sequence number for slot */ -- __u8 name0_4[10]; /* first 5 characters in name */ -- __u8 attr; /* attribute byte */ -- __u8 reserved; /* always 0 */ -- __u8 alias_checksum; /* checksum for 8.3 alias */ -- __u8 name5_10[12]; /* 6 more characters in name */ -- __u16 start; /* starting cluster number, 0 in long slots */ -- __u8 name11_12[4]; /* last 2 characters in name */ --}; -- --struct msdos_dir_entry -- { -- char name[8], ext[3]; /* name and extension */ -- __u8 attr; /* attribute bits */ -- __u8 lcase; /* Case for base and extension */ -- __u8 ctime_ms; /* Creation time, milliseconds */ -- __u16 ctime; /* Creation time */ -- __u16 cdate; /* Creation date */ -- __u16 adate; /* Last access date */ -- __u16 starthi; /* high 16 bits of first cl. (FAT32) */ -- __u16 time, date, start; /* time, date and first cluster */ -- __u32 size; /* file size (in bytes) */ -- } __attribute__ ((packed)); -- - /* The "boot code" we put into the filesystem... it writes a message and - tells the user to try again */ - -@@ -356,7 +339,6 @@ static struct msdos_dir_entry *root_dir; - static int size_root_dir; /* Size of the root directory in bytes */ - static int sectors_per_cluster = 0; /* Number of sectors per disk cluster */ - static int root_dir_entries = 0; /* Number of root directory entries */ --static int root_dir_num_entries = 0; - static int last_cluster_written = 0; - - static char *blank_sector; /* Blank sector - all zeros */ -@@ -1315,7 +1297,7 @@ setup_tables (void) - de->date = CT_LE_W((unsigned short)(ctime->tm_mday + - ((ctime->tm_mon+1) << 5) + - ((ctime->tm_year-80) << 9))); -- de->ctime_ms = 0; -+ de->ctime_cs = 0; - de->ctime = de->time; - de->cdate = de->date; - de->adate = de->date; -@@ -1451,16 +1433,23 @@ write_tables (void) - - /* Add a file to the specified directory entry, and also write it into the image */ - --static void copy_filename(char *filename, char *base, char *ext) { -+static void copy_filename(char *filename, char *dos_name) { - - char *ch = filename; - int i, len; - -- memset(base, 0x20, 8); -- memset(ext, 0x20, 3); -+ if (!strcmp(filename, ".")) { -+ strncpy(dos_name, MSDOS_DOT, MSDOS_NAME); -+ return; -+ } -+ if (!strcmp(filename, "..")) { -+ strncpy(dos_name, MSDOS_DOTDOT, MSDOS_NAME); -+ return; -+ } -+ memset(dos_name, 0x20, MSDOS_NAME); - - for(len = 0 ; *ch && *ch != '.'; ch++) { -- base[len++] = toupper(*ch); -+ dos_name[len++] = toupper(*ch); - if (len == 8) break; - } - -@@ -1468,7 +1457,7 @@ static void copy_filename(char *filename - if (*ch) ch++; - - for(len = 0 ; *ch; ch++) { -- ext[len++] = toupper(*ch); -+ dos_name[8 + len++] = toupper(*ch); - if (len == 3) break; - } - } -@@ -1551,7 +1540,7 @@ static int add_file(char *filename, stru - int start; - int usedsec, totalsec; - -- char name83[8], ext83[3]; -+ char dos_name[MSDOS_NAME+1]; - - struct msdos_dir_slot *slot; - int i; -@@ -1562,23 +1551,22 @@ static int add_file(char *filename, stru - if (dir->root) { - if (dir->count == dir->entries) { - printf("Error - too many directory entries\n"); -+ return; - } - } - else { -- if (dir->count == dir->entries) { -- if (!dir->table) -- dir->table = -- (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); -- else { -- dir->table = -- (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * -- sizeof(struct msdos_dir_entry)); -- -- memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); -- } -- -- dir->entries++; -- } -+ /* 2 entries, one extra for long filename */ -+ if (!dir->table) -+ dir->table = -+ (struct msdos_dir_entry *) malloc(2 * sizeof(struct msdos_dir_entry)); -+ else -+ dir->table = -+ (struct msdos_dir_entry *) realloc(dir->table, 2 * (dir->entries + 1) * -+ sizeof(struct msdos_dir_entry)); -+ if (!dir->table) -+ printf("Error - realloc failed\n"); -+ memset(&dir->table[dir->entries], 0, 2 * sizeof(struct msdos_dir_entry)); -+ dir->entries += 2; - } - - infile = open(filename, O_RDONLY, 0); -@@ -1611,13 +1599,13 @@ static int add_file(char *filename, stru - return -1; - } - -- printf("ADD %s\n", filename); -+ printf("ADD FILE %s\n", filename); - - /* Grab the basename of the file */ - base = basename(filename); - -- /* Extract out the 8.3 name */ -- copy_filename(base, name83, ext83); -+ /* convert for dos fat structure */ -+ copy_filename(base, dos_name); - - /* Make an extended name slot */ - -@@ -1629,12 +1617,9 @@ static int add_file(char *filename, stru - - slot->alias_checksum = 0; - -- for(i = 0; i < 8; i++) -- slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + name83[i]; -+ for(i = 0; i < MSDOS_NAME; i++) -+ slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + dos_name[i]; - -- for(i = 0; i < 3; i++) -- slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + ext83[i]; -- - p = base; - - copy_name(slot->name0_4, 10, &p); -@@ -1645,8 +1630,7 @@ static int add_file(char *filename, stru - /* Get the entry from the root filesytem */ - entry = &dir->table[dir->count++]; - -- strncpy(entry->name, name83, 8); -- strncpy(entry->ext, ext83, 3); -+ strncpy(entry->name, dos_name, MSDOS_NAME); - - - /* If the user has it read only, then add read only to the incoming -@@ -1665,7 +1649,7 @@ static int add_file(char *filename, stru - ((ctime->tm_mon+1) << 5) + - ((ctime->tm_year-80) << 9))); - -- entry->ctime_ms = 0; -+ entry->ctime_cs = 0; - entry->ctime = entry->time; - entry->cdate = entry->date; - entry->adate = entry->date; -@@ -1711,6 +1695,7 @@ static int add_file(char *filename, stru - - exit_add: - if (infile) close(infile); -+ return 0; - } - - /* Add a new directory to the specified directory entry, and in turn populate -@@ -1727,10 +1712,18 @@ static void add_directory(char *filename - struct dirent *dentry = 0; - int remain; - char *data; -+ char *base; -+ char dos_name[MSDOS_NAME+1]; -+ struct msdos_dir_slot *slot; -+ int i; -+ char *p; - - /* If the directory doesn't exist */ -- if (!rddir) return; -- -+ if (!rddir) { -+ printf("Error - dir does not exist: %s\n", filename); -+ return; -+ } -+ - if (dir->root) { - if (dir->count == dir->entries) { - printf("Error - too many directory entries\n"); -@@ -1738,28 +1731,58 @@ static void add_directory(char *filename - } - } - else { -- if (dir->count == dir->entries) { -- if (!dir->table) -- dir->table = (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); -- else { -- dir->table = (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * -- sizeof(struct msdos_dir_entry)); -- -- /* Zero it out to avoid issues */ -- memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); -- } -- dir->entries++; -+ /* 2 entries, one extra for long name of the directory */ -+ if (!dir->table) -+ dir->table = (struct msdos_dir_entry *) malloc(2 * sizeof(struct msdos_dir_entry)); -+ else -+ dir->table = (struct msdos_dir_entry *) realloc(dir->table, 2 * (dir->entries + 1) * -+ sizeof(struct msdos_dir_entry)); -+ if (!dir->table) { -+ printf("Error - memory allocation failed\n"); -+ goto exit_add_dir; - } -+ /* Zero it out to avoid issues */ -+ memset(&dir->table[dir->entries], 0, 2 * sizeof(struct msdos_dir_entry)); -+ dir->entries += 2; - } - -+ printf("ADD DIR %s\n", filename); - /* Now, create a new directory entry for the new directory */ - newdir = (struct dir_entry *) calloc(1, sizeof(struct dir_entry)); -- if (!newdir) goto exit_add_dir; -+ if (!newdir) { -+ printf("Error - calloc failed\n"); -+ goto exit_add_dir; -+ } -+ -+ /* Grab the basename of the file */ -+ base = basename(filename); -+ -+ /* convert for dos structure */ -+ copy_filename(base, dos_name); -+ -+ /* Make an extended name slot */ -+ slot = (struct msdos_dir_slot *) &dir->table[dir->count++]; -+ slot->id = 'A'; -+ slot->attr = 0x0F; -+ slot->reserved = 0; -+ slot->start = 0; -+ -+ slot->alias_checksum = 0; - -+ for (i = 0; i < MSDOS_NAME; i++) -+ slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + dos_name[i]; -+ -+ p = base; -+ -+ copy_name(slot->name0_4, 10, &p); -+ copy_name(slot->name5_10, 12, &p); -+ copy_name(slot->name11_12, 4, &p); -+ -+ /* Get the entry from the root filesytem */ - entry = &dir->table[dir->count++]; - -- strncpy(entry->name, basename(filename), sizeof(entry->name)); -- -+ strncpy(entry->name, dos_name, MSDOS_NAME); -+ - entry->attr = ATTR_DIR; - ctime = localtime(&create_time); - -@@ -1770,25 +1793,32 @@ static void add_directory(char *filename - ((ctime->tm_mon+1) << 5) + - ((ctime->tm_year-80) << 9))); - -- entry->ctime_ms = 0; -+ entry->ctime_cs = 0; - entry->ctime = entry->time; - entry->cdate = entry->date; - entry->adate = entry->date; - - /* Now, read the directory */ - -- while((dentry = readdir(rddir))) { -+ -+ while((base[0] != '.') && (dentry = readdir(rddir))) { - struct stat st; - char *buffer; -- -- if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) -- continue; - -- /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ -- if (dentry->d_name[0] == '.') continue; -+ if (dentry->d_name[0] == '.') { -+ /* dos also has . & .. directory entries */ -+ if (! ((!strcmp(dentry->d_name, ".")) || (!strcmp(dentry->d_name, "..")))) { -+ /* ignore other .* files */ -+ printf("Error - File/Dir name is not dos compatible, ignored: %s\n", dentry->d_name); -+ continue; -+ } -+ } - - buffer = malloc(strlen(filename) + strlen(dentry->d_name) + 3); -- if (!buffer) continue; -+ if (!buffer) { -+ printf("Error - malloc failed\n"); -+ goto exit_add_dir; -+ } - - sprintf(buffer, "%s/%s", filename, dentry->d_name); - if (!stat(buffer, &st)) { -@@ -1806,11 +1836,23 @@ static void add_directory(char *filename - /* Now that the entire directory has been written, go ahead and write the directory - entry as well */ - -+ entry->size = 0; /* a directory has zero size */ -+ -+ if (base[0] == '.') { /* . & .. point to parent's cluster */ -+ goto exit_add_dir; -+ } -+ - entry->start = CT_LE_W(last_cluster_written); - entry->starthi = CT_LE_W((last_cluster_written & 0xFFFF0000) >> 16); -- entry->size = newdir->count * sizeof(struct msdos_dir_entry); -+ -+/* . dir start points to parent */ -+ newdir->table[1].start = entry->start; -+/* .. dir points to parent of parent*/ -+/* .. dir start is not set yet, would need more changes to the code, -+ * but dosfsck can fix these .. entry start pointers correctly */ -+ -+ remain = newdir->count * sizeof(struct msdos_dir_entry); - -- remain = entry->size; - data = (char *) newdir->table; - - while(remain) { -@@ -1858,6 +1900,7 @@ static void add_root_directory(char *dir - - if (!newdir) { - closedir(dir); -+ printf("Error - calloc failed!\n"); - return; - } - -@@ -1877,7 +1920,10 @@ static void add_root_directory(char *dir - if (entry->d_name[0] == '.') continue; - - buffer = malloc(strlen(dirname) + strlen(entry->d_name) + 3); -- if (!buffer) continue; -+ if (!buffer) { -+ printf("Error - malloc failed!\n"); -+ continue; -+ } - - sprintf(buffer, "%s/%s", dirname, entry->d_name); - if (!stat(buffer, &st)) { -@@ -2245,6 +2291,9 @@ main (int argc, char **argv) - if (check && listfile) /* Auto and specified bad block handling are mutually */ - die ("-c and -l are incompatible"); /* exclusive of each other! */ - -+ if (dirname && (size_fat == 32)) -+ die ("-d is incompatible with FAT32"); -+ - if (!create) { - check_mount (device_name); /* Is the device already mounted? */ - dev = open (device_name, O_RDWR); /* Is it a suitable device to build the FS on? */ diff --git a/meta/recipes-devtools/dosfstools/dosfstools/include-linux-types.patch b/meta/recipes-devtools/dosfstools/dosfstools/include-linux-types.patch deleted file mode 100644 index ab5c8cf8c3..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/include-linux-types.patch +++ /dev/null @@ -1,22 +0,0 @@ -mkdsofs is using types of the style __u8, which it gets with some -versions of libc headers via linux/hdreg.h including asm/types.h. -Newer version of fedora (at least) have a hdreg.h whichdoes not -include asm/types.h. To work around this patch mkdosfs.c to explicity -include linux/types.h which will in turn pull in asm/types.h which -defines these variables. - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - ---- dosfstools-2.10/mkdosfs/mkdosfs.c~ 2006-07-12 18:46:21.000000000 +1000 -+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2006-07-12 18:46:21.000000000 +1000 -@@ -60,6 +60,7 @@ - #include "../version.h" - - #include <fcntl.h> -+#include <linux/types.h> - #include <linux/hdreg.h> - #include <linux/fs.h> - #include <linux/fd.h> diff --git a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch b/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch deleted file mode 100644 index ae21bee78e..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch +++ /dev/null @@ -1,241 +0,0 @@ -Add option to read in bootcode from a file. - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Index: dosfstools-2.11/mkdosfs/ChangeLog -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/ChangeLog 1997-06-18 10:09:38.000000000 +0000 -+++ dosfstools-2.11/mkdosfs/ChangeLog 2011-12-06 12:14:23.634011558 +0000 -@@ -1,3 +1,14 @@ -+19th June 2003 Sam Bingner (sam@bingner.com) -+ -+ Added option to read in bootcode from a file so that if you have -+ for example Windows 2000 boot code, you can have it write that -+ as the bootcode. This is a dump of the behinning of a partition -+ generally 512 bytes, but can be up to reserved sectors*512 bytes. -+ Also writes 0x80 as the BIOS drive number if we are formatting a -+ hard drive, and sets the number of hidden sectors to be the -+ number of sectors in one track. These were required so that DOS -+ could boot using the bootcode. -+ - 28th January 1995 H. Peter Anvin (hpa@yggdrasil.com) - - Better algorithm to select cluster sizes on large filesystems. -Index: dosfstools-2.11/mkdosfs/mkdosfs.8 -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/mkdosfs.8 2004-02-25 19:36:07.000000000 +0000 -+++ dosfstools-2.11/mkdosfs/mkdosfs.8 2011-12-06 12:19:54.777888434 +0000 -@@ -44,6 +44,10 @@ - .I message-file - ] - [ -+.B \-B -+.I bootcode-file -+] -+[ - .B \-n - .I volume-name - ] -@@ -165,6 +169,18 @@ - carriage return-line feed combinations, and tabs have been expanded. - If the filename is a hyphen (-), the text is taken from standard input. - .TP -+.BI \-B " bootcode-file" -+Uses boot machine code from file "file". On any thing other than FAT32, -+this only writes the first 3 bytes, and 480 bytes from offset 3Eh. On -+FAT32, this writes the first 3 bytes, 420 bytes from offset 5Ah to both -+primary and backup boot sectors. Also writes all other reserved sectors -+excluding the sectors following boot sectors (usually sector 2 and 7). -+Does not require that the input file be as large as reserved_sectors*512. -+To make a FAT32 partition bootable, you will need at least the first -+13 sectors (6656 bytes). You can also specify a partition as the argument -+to clone the boot code from that partition. -+i.e mkdosfs -B /dev/sda1 /dev/sda1 -+.TP - .BI \-n " volume-name" - Sets the volume name (label) of the filesystem. The volume name can - be up to 11 characters long. The default is no label. -@@ -198,8 +214,9 @@ - simply will not support it ;) - .SH AUTHOR - Dave Hudson - <dave@humbug.demon.co.uk>; modified by Peter Anvin --<hpa@yggdrasil.com>. Fixes and additions by Roman Hodek --<roman@hodek.net> for Debian/GNU Linux. -+<hpa@yggdrasil.com> and Sam Bingner <sam@bingner.com>. Fixes and -+additions by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> -+for Debian/GNU Linux. - .SH ACKNOWLEDGEMENTS - .B mkdosfs - is based on code from -Index: dosfstools-2.11/mkdosfs/mkdosfs.c -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2005-03-12 16:12:16.000000000 +0000 -+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.121886076 +0000 -@@ -24,6 +24,12 @@ - - New options -A, -S, -C - - Support for filesystems > 2GB - - FAT32 support -+ -+ Fixes/additions June 2003 by Sam Bingner -+ <sam@bingner.com>: -+ - Add -B option to read in bootcode from a file -+ - Write BIOS drive number so that FS can properly boot -+ - Set number of hidden sectors before boot code to be one track - - Copying: Copyright 1993, 1994 David Hudson (dave@humbug.demon.co.uk) - -@@ -153,6 +159,8 @@ - #define FAT_BAD 0x0ffffff7 - - #define MSDOS_EXT_SIGN 0x29 /* extended boot sector signature */ -+#define HD_DRIVE_NUMBER 0x80 /* Boot off first hard drive */ -+#define FD_DRIVE_NUMBER 0x00 /* Boot off first floppy drive */ - #define MSDOS_FAT12_SIGN "FAT12 " /* FAT12 filesystem signature */ - #define MSDOS_FAT16_SIGN "FAT16 " /* FAT16 filesystem signature */ - #define MSDOS_FAT32_SIGN "FAT32 " /* FAT32 filesystem signature */ -@@ -175,6 +183,8 @@ - #define BOOTCODE_SIZE 448 - #define BOOTCODE_FAT32_SIZE 420 - -+#define MAX_RESERVED 0xFFFF -+ - /* __attribute__ ((packed)) is used on all structures to make gcc ignore any - * alignments */ - -@@ -202,7 +212,7 @@ - __u16 fat_length; /* sectors/FAT */ - __u16 secs_track; /* sectors per track */ - __u16 heads; /* number of heads */ -- __u32 hidden; /* hidden sectors (unused) */ -+ __u32 hidden; /* hidden sectors (one track) */ - __u32 total_sect; /* number of sectors (if sectors == 0) */ - union { - struct { -@@ -285,6 +295,8 @@ - - /* Global variables - the root of all evil :-) - see these and weep! */ - -+static char *template_boot_code; /* Variable to store a full template boot sector in */ -+static int use_template = 0; - static char *program_name = "mkdosfs"; /* Name of the program */ - static char *device_name = NULL; /* Name of the device on which to create the filesystem */ - static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */ -@@ -837,6 +849,12 @@ - vi->volume_id[2] = (unsigned char) ((volume_id & 0x00ff0000) >> 16); - vi->volume_id[3] = (unsigned char) (volume_id >> 24); - } -+ if (bs.media == 0xf8) { -+ vi->drive_number = HD_DRIVE_NUMBER; /* Set bios drive number to 80h */ -+ } -+ else { -+ vi->drive_number = FD_DRIVE_NUMBER; /* Set bios drive number to 00h */ -+ } - - if (!atari_format) { - memcpy(vi->volume_label, volume_name, 11); -@@ -1362,6 +1380,32 @@ - * dir area on FAT12/16, and the first cluster on FAT32. */ - writebuf( (char *) root_dir, size_root_dir, "root directory" ); - -+ if (use_template == 1) { -+ /* dupe template into reserved sectors */ -+ seekto( 0, "Start of partition" ); -+ if (size_fat == 32) { -+ writebuf( template_boot_code, 3, "backup jmpBoot" ); -+ seekto( 0x5a, "sector 1 boot area" ); -+ writebuf( template_boot_code+0x5a, 420, "sector 1 boot area" ); -+ seekto( 512*2, "third sector" ); -+ if (backup_boot != 0) { -+ writebuf( template_boot_code+512*2, backup_boot*sector_size - 512*2, "data to backup boot" ); -+ seekto( backup_boot*sector_size, "backup boot sector" ); -+ writebuf( template_boot_code, 3, "backup jmpBoot" ); -+ seekto( backup_boot*sector_size+0x5a, "backup boot sector boot area" ); -+ writebuf( template_boot_code+0x5a, 420, "backup boot sector boot area" ); -+ seekto( (backup_boot+2)*sector_size, "sector following backup code" ); -+ writebuf( template_boot_code+(backup_boot+2)*sector_size, (reserved_sectors-backup_boot-2)*512, "remaining data" ); -+ } else { -+ writebuf( template_boot_code+512*2, (reserved_sectors-2)*512, "remaining data" ); -+ } -+ } else { -+ writebuf( template_boot_code, 3, "jmpBoot" ); -+ seekto( 0x3e, "sector 1 boot area" ); -+ writebuf( template_boot_code+0x3e, 448, "boot code" ); -+ } -+ } -+ - if (blank_sector) free( blank_sector ); - if (info_sector) free( info_sector ); - free (root_dir); /* Free up the root directory space from setup_tables */ -@@ -1376,7 +1420,7 @@ - { - fatal_error("\ - Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]\n\ -- [-m boot-msg-file] [-n volume-name] [-i volume-id]\n\ -+ [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\ - [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\ - [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\ - /dev/name [blocks]\n"); -@@ -1439,7 +1483,7 @@ - printf ("%s " VERSION " (" VERSION_DATE ")\n", - program_name); - -- while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:h:v")) != EOF) -+ while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) - /* Scan the command line for options */ - switch (c) - { -@@ -1509,6 +1553,51 @@ - listfile = optarg; - break; - -+ case 'B': /* B : read in bootcode */ -+ if ( strcmp(optarg, "-") ) -+ { -+ msgfile = fopen(optarg, "r"); -+ if ( !msgfile ) -+ perror(optarg); -+ } -+ else -+ msgfile = stdin; -+ -+ if ( msgfile ) -+ { -+ if (!(template_boot_code = malloc( MAX_RESERVED ))) -+ die( "Out of memory" ); -+ /* The template boot sector including reserved must not be > 65535 */ -+ use_template = 1; -+ i = 0; -+ do -+ { -+ ch = getc(msgfile); -+ switch (ch) -+ { -+ case EOF: -+ break; -+ -+ default: -+ template_boot_code[i++] = ch; /* Store character */ -+ break; -+ } -+ } -+ while ( ch != EOF && i < MAX_RESERVED ); -+ ch = getc(msgfile); /* find out if we're at EOF */ -+ -+ /* Fill up with zeros */ -+ while( i < MAX_RESERVED ) -+ template_boot_code[i++] = '\0'; -+ -+ if ( ch != EOF ) -+ printf ("Warning: template too long; truncated after %d bytes\n", i); -+ -+ if ( msgfile != stdin ) -+ fclose(msgfile); -+ } -+ break; -+ - case 'm': /* m : Set boot message */ - if ( strcmp(optarg, "-") ) - { diff --git a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-dir.patch b/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-dir.patch deleted file mode 100644 index 3ba4711d12..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-dir.patch +++ /dev/null @@ -1,639 +0,0 @@ -Add -d <directory> support to populate the image. - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Index: dosfstools-2.11/mkdosfs/mkdosfs.c -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.000000000 +0000 -+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:37:13.445950703 +0000 -@@ -18,6 +18,10 @@ - as a rule), and not the block. For example the boot block does not - occupy a full cluster. - -+ June 2004 - Jordan Crouse (info.linux@amd.com) -+ Added -d <directory> support to populate the image -+ Copyright (C) 2004, Advanced Micro Devices, All Rights Reserved -+ - Fixes/additions May 1998 by Roman Hodek - <Roman.Hodek@informatik.uni-erlangen.de>: - - Atari format support -@@ -71,6 +75,8 @@ - #include <unistd.h> - #include <time.h> - #include <errno.h> -+#include <libgen.h> -+#include <dirent.h> - - #include <linux/version.h> - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) -@@ -110,6 +116,8 @@ - * sufficient (or even better :) for 64 bit offsets in the meantime */ - #define llseek lseek - -+#define ROUND_UP(value, divisor) (value + (divisor - (value % divisor))) / divisor -+ - /* Constant definitions */ - - #define TRUE 1 /* Boolean constants */ -@@ -149,7 +157,6 @@ - #define ATTR_VOLUME 8 /* volume label */ - #define ATTR_DIR 16 /* directory */ - #define ATTR_ARCH 32 /* archived */ -- - #define ATTR_NONE 0 /* no attribute bits */ - #define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN) - /* attribute bits that are copied "as is" */ -@@ -245,6 +252,19 @@ - __u32 reserved2[4]; - }; - -+/* This stores up to 13 chars of the name */ -+ -+struct msdos_dir_slot { -+ __u8 id; /* sequence number for slot */ -+ __u8 name0_4[10]; /* first 5 characters in name */ -+ __u8 attr; /* attribute byte */ -+ __u8 reserved; /* always 0 */ -+ __u8 alias_checksum; /* checksum for 8.3 alias */ -+ __u8 name5_10[12]; /* 6 more characters in name */ -+ __u16 start; /* starting cluster number, 0 in long slots */ -+ __u8 name11_12[4]; /* last 2 characters in name */ -+}; -+ - struct msdos_dir_entry - { - char name[8], ext[3]; /* name and extension */ -@@ -293,6 +313,15 @@ - - #define MESSAGE_OFFSET 29 /* Offset of message in above code */ - -+/* Special structure to keep track of directories as we add them for the -d option */ -+ -+struct dir_entry { -+ int root; /* Specifies if this is the root dir or not */ -+ int count; /* Number of items in the table */ -+ int entries; /* Number of entries in the table */ -+ struct msdos_dir_entry *table; /* Pointer to the entry table */ -+}; -+ - /* Global variables - the root of all evil :-) - see these and weep! */ - - static char *template_boot_code; /* Variable to store a full template boot sector in */ -@@ -326,6 +355,9 @@ - static int size_root_dir; /* Size of the root directory in bytes */ - static int sectors_per_cluster = 0; /* Number of sectors per disk cluster */ - static int root_dir_entries = 0; /* Number of root directory entries */ -+static int root_dir_num_entries = 0; -+static int last_cluster_written = 0; -+ - static char *blank_sector; /* Blank sector - all zeros */ - static int hidden_sectors = 0; /* Number of hidden sectors */ - -@@ -399,7 +431,6 @@ - } - } - -- - /* Mark a specified sector as having a particular value in it's FAT entry */ - - static void -@@ -1266,6 +1297,9 @@ - die ("unable to allocate space for root directory in memory"); - } - -+ -+ last_cluster_written = 2; -+ - memset(root_dir, 0, size_root_dir); - if ( memcmp(volume_name, " ", 11) ) - { -@@ -1314,11 +1348,11 @@ - } - - if (!(blank_sector = malloc( sector_size ))) -- die( "Out of memory" ); -+ die( "Out of memory" ); -+ - memset(blank_sector, 0, sector_size); - } -- -- -+ - /* Write the new filesystem's data tables to wherever they're going to end up! */ - - #define error(str) \ -@@ -1340,7 +1374,7 @@ - do { \ - int __size = (size); \ - if (write (dev, buf, __size) != __size) \ -- error ("failed whilst writing " errstr); \ -+ error ("failed whilst writing " errstr); \ - } while(0) - - -@@ -1412,6 +1446,452 @@ - free (fat); /* Free up the fat table space reserved during setup_tables */ - } - -+/* Add a file to the specified directory entry, and also write it into the image */ -+ -+static void copy_filename(char *filename, char *base, char *ext) { -+ -+ char *ch = filename; -+ int i, len; -+ -+ memset(base, 0x20, 8); -+ memset(ext, 0x20, 3); -+ -+ for(len = 0 ; *ch && *ch != '.'; ch++) { -+ base[len++] = toupper(*ch); -+ if (len == 8) break; -+ } -+ -+ for ( ; *ch && *ch != '.'; ch++); -+ if (*ch) ch++; -+ -+ for(len = 0 ; *ch; ch++) { -+ ext[len++] = toupper(*ch); -+ if (len == 3) break; -+ } -+} -+ -+/* Check for an .attrib.<filename> file, and read the attributes therein */ -+ -+/* We are going to be pretty pedantic about this. The file needs 3 -+ bytes at the beginning, the attributes are listed in this order: -+ -+ (H)idden|(S)ystem|(A)rchived -+ -+ A capital HSA means to enable it, anything else will disable it -+ (I recommend a '-') The unix user attributes will still be used -+ for write access. -+ -+ For example, to enable system file access for ldlinux.sys, write -+ the following to .attrib.ldlinux.sys: -S- -+*/ -+ -+unsigned char check_attrib_file(char *dir, char *filename) { -+ -+ char attrib[4] = { '-', '-', '-' }; -+ unsigned char *buffer = 0; -+ int ret = ATTR_NONE; -+ int fd = -1; -+ -+ buffer = (char *) calloc(1, strlen(dir) + strlen(filename) + 10); -+ if (!buffer) return ATTR_NONE; -+ -+ sprintf(buffer, "%s/.attrib.%s", dir, filename); -+ -+ if (access(buffer, R_OK)) -+ goto exit_attrib; -+ -+ if ((fd = open(buffer, O_RDONLY, 0)) < 0) -+ goto exit_attrib; -+ -+ if (read(fd, attrib, 3) < 0) -+ goto exit_attrib; -+ -+ if (attrib[0] == 'H') ret |= ATTR_HIDDEN; -+ if (attrib[1] == 'S') ret |= ATTR_SYS; -+ if (attrib[2] == 'A') ret |= ATTR_ARCH; -+ -+ printf("%s: Setting atrribute %x\n", filename, ret); -+ -+ exit_attrib: -+ if (fd >= 0) close(fd); -+ if (buffer) free(buffer); -+ -+ return ret; -+} -+ -+static void copy_name(char *buffer, int size, char **pointer) { -+ int i; -+ -+ for(i = 0; i < size; i += 2) { -+ if (*pointer) { -+ buffer[i] = **pointer; -+ buffer[i + 1] = 0x00; -+ *pointer = **pointer ? *pointer + 1 : 0; -+ } -+ else { -+ buffer[i] = 0xFF; -+ buffer[i + 1] = 0xFF; -+ } -+ } -+} -+ -+static int add_file(char *filename, struct dir_entry *dir, unsigned char attr) -+{ -+ struct stat stat; -+ struct msdos_dir_entry *entry; -+ int infile = 0; -+ int sectors, clusters; -+ struct tm *ctime; -+ int c, s; -+ int ptr; -+ char *buffer, *base; -+ int start; -+ int usedsec, totalsec; -+ -+ char name83[8], ext83[3]; -+ -+ struct msdos_dir_slot *slot; -+ int i; -+ char *p; -+ -+ /* The root directory is static, everything else grows as needed */ -+ -+ if (dir->root) { -+ if (dir->count == dir->entries) { -+ printf("Error - too many directory entries\n"); -+ } -+ } -+ else { -+ if (dir->count == dir->entries) { -+ if (!dir->table) -+ dir->table = -+ (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); -+ else { -+ dir->table = -+ (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * -+ sizeof(struct msdos_dir_entry)); -+ -+ memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); -+ } -+ -+ dir->entries++; -+ } -+ } -+ -+ infile = open(filename, O_RDONLY, 0); -+ if (!infile) return; -+ -+ if (fstat(infile, &stat)) -+ goto exit_add; -+ -+ if (S_ISCHR(stat.st_mode) ||S_ISBLK(stat.st_mode) || -+ S_ISFIFO(stat.st_mode) || S_ISLNK(stat.st_mode)) { -+ printf("Error - cannot create a special file in a FATFS\n"); -+ goto exit_add; -+ } -+ -+ /* FIXME: This isn't very pretty */ -+ -+ usedsec = start_data_sector + (size_root_dir / sector_size) + -+ (last_cluster_written * bs.cluster_size); -+ -+ totalsec = blocks * BLOCK_SIZE / sector_size; -+ -+ /* Figure out how many sectors / clustors the file requires */ -+ -+ sectors = ROUND_UP(stat.st_size, sector_size); -+ clusters = ROUND_UP(sectors, (int) bs.cluster_size); -+ -+ if (usedsec + sectors > totalsec) { -+ printf("Error - %s is too big (%d vs %d)\n", filename, sectors, totalsec - usedsec); -+ close(infile); -+ return -1; -+ } -+ -+ printf("ADD %s\n", filename); -+ -+ /* Grab the basename of the file */ -+ base = basename(filename); -+ -+ /* Extract out the 8.3 name */ -+ copy_filename(base, name83, ext83); -+ -+ /* Make an extended name slot */ -+ -+ slot = (struct msdos_dir_slot *) &dir->table[dir->count++]; -+ slot->id = 'A'; -+ slot->attr = 0x0F; -+ slot->reserved = 0; -+ slot->start = 0; -+ -+ slot->alias_checksum = 0; -+ -+ for(i = 0; i < 8; i++) -+ slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + name83[i]; -+ -+ for(i = 0; i < 3; i++) -+ slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + ext83[i]; -+ -+ p = base; -+ -+ copy_name(slot->name0_4, 10, &p); -+ copy_name(slot->name5_10, 12, &p); -+ copy_name(slot->name11_12, 4, &p); -+ -+ -+ /* Get the entry from the root filesytem */ -+ entry = &dir->table[dir->count++]; -+ -+ strncpy(entry->name, name83, 8); -+ strncpy(entry->ext, ext83, 3); -+ -+ -+ /* If the user has it read only, then add read only to the incoming -+ attribute settings */ -+ -+ if (!(stat.st_mode & S_IWUSR)) attr |= ATTR_RO; -+ entry->attr = attr; -+ -+ /* Set the access time on the file */ -+ ctime = localtime(&create_time); -+ -+ entry->time = CT_LE_W((unsigned short)((ctime->tm_sec >> 1) + -+ (ctime->tm_min << 5) + (ctime->tm_hour << 11))); -+ -+ entry->date = CT_LE_W((unsigned short)(ctime->tm_mday + -+ ((ctime->tm_mon+1) << 5) + -+ ((ctime->tm_year-80) << 9))); -+ -+ entry->ctime_ms = 0; -+ entry->ctime = entry->time; -+ entry->cdate = entry->date; -+ entry->adate = entry->date; -+ entry->size = stat.st_size; -+ -+ start = last_cluster_written; -+ -+ entry->start = CT_LE_W(start); /* start sector */ -+ entry->starthi = CT_LE_W((start & 0xFFFF0000) >> 16); /* High start sector (for FAT32) */ -+ -+ /* We mark all of the clusters we use in the FAT */ -+ -+ for(c = 0; c < clusters; c++ ) { -+ int free; -+ int next = c == (clusters - 1) ? FAT_EOF : start + c + 1; -+ mark_FAT_cluster(start + c, next); -+ last_cluster_written++; -+ } -+ -+ /* This confused me too - cluster 2 starts after the -+ root directory data - search me as to why */ -+ -+ ptr = (start_data_sector * sector_size) + size_root_dir; -+ ptr += (start - 2) * bs.cluster_size * sector_size; -+ -+ buffer = (char *) malloc(sector_size); -+ -+ if (!buffer) { -+ printf("Error - couldn't allocate memory\n"); -+ goto exit_add; -+ } -+ -+ /* Write the file into the file block */ -+ -+ seekto(ptr, "datafile"); -+ -+ while(1) { -+ int size = read(infile, buffer, sector_size); -+ if (size <= 0) break; -+ -+ writebuf(buffer, size, "data"); -+ } -+ -+ exit_add: -+ if (infile) close(infile); -+} -+ -+/* Add a new directory to the specified directory entry, and in turn populate -+ it with its own files */ -+ -+/* FIXME: This should check to make sure there is enough size to add itself */ -+ -+static void add_directory(char *filename, struct dir_entry *dir) { -+ -+ struct dir_entry *newdir = 0; -+ struct msdos_dir_entry *entry; -+ struct tm *ctime; -+ DIR *rddir = opendir(filename); -+ struct dirent *dentry = 0; -+ int remain; -+ char *data; -+ -+ /* If the directory doesn't exist */ -+ if (!rddir) return; -+ -+ if (dir->root) { -+ if (dir->count == dir->entries) { -+ printf("Error - too many directory entries\n"); -+ goto exit_add_dir; -+ } -+ } -+ else { -+ if (dir->count == dir->entries) { -+ if (!dir->table) -+ dir->table = (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); -+ else { -+ dir->table = (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * -+ sizeof(struct msdos_dir_entry)); -+ -+ /* Zero it out to avoid issues */ -+ memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); -+ } -+ dir->entries++; -+ } -+ } -+ -+ /* Now, create a new directory entry for the new directory */ -+ newdir = (struct dir_entry *) calloc(1, sizeof(struct dir_entry)); -+ if (!newdir) goto exit_add_dir; -+ -+ entry = &dir->table[dir->count++]; -+ -+ strncpy(entry->name, basename(filename), sizeof(entry->name)); -+ -+ entry->attr = ATTR_DIR; -+ ctime = localtime(&create_time); -+ -+ entry->time = CT_LE_W((unsigned short)((ctime->tm_sec >> 1) + -+ (ctime->tm_min << 5) + (ctime->tm_hour << 11))); -+ -+ entry->date = CT_LE_W((unsigned short)(ctime->tm_mday + -+ ((ctime->tm_mon+1) << 5) + -+ ((ctime->tm_year-80) << 9))); -+ -+ entry->ctime_ms = 0; -+ entry->ctime = entry->time; -+ entry->cdate = entry->date; -+ entry->adate = entry->date; -+ -+ /* Now, read the directory */ -+ -+ while((dentry = readdir(rddir))) { -+ struct stat st; -+ char *buffer; -+ -+ if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) -+ continue; -+ -+ /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ -+ if (dentry->d_name[0] == '.') continue; -+ -+ buffer = malloc(strlen(filename) + strlen(dentry->d_name) + 3); -+ if (!buffer) continue; -+ -+ sprintf(buffer, "%s/%s", filename, dentry->d_name); -+ if (!stat(buffer, &st)) { -+ if (S_ISDIR(st.st_mode)) -+ add_directory(buffer, newdir); -+ else if (S_ISREG(st.st_mode)) { -+ unsigned char attrib = check_attrib_file(filename, dentry->d_name); -+ add_file(buffer, newdir, attrib); -+ } -+ } -+ -+ free(buffer); -+ } -+ -+ /* Now that the entire directory has been written, go ahead and write the directory -+ entry as well */ -+ -+ entry->start = CT_LE_W(last_cluster_written); -+ entry->starthi = CT_LE_W((last_cluster_written & 0xFFFF0000) >> 16); -+ entry->size = newdir->count * sizeof(struct msdos_dir_entry); -+ -+ remain = entry->size; -+ data = (char *) newdir->table; -+ -+ while(remain) { -+ int size = -+ remain > bs.cluster_size * sector_size ? bs.cluster_size * sector_size : remain; -+ -+ int pos = (start_data_sector * sector_size) + size_root_dir; -+ pos += (last_cluster_written - 2) * bs.cluster_size * sector_size; -+ -+ seekto(pos, "add_dir"); -+ writebuf(data, size, "add_dir"); -+ -+ remain -= size; -+ data += size; -+ -+ mark_FAT_cluster(last_cluster_written, remain ? last_cluster_written + 1 : FAT_EOF); -+ last_cluster_written++; -+ } -+ -+ exit_add_dir: -+ if (rddir) closedir(rddir); -+ if (newdir->table) free(newdir->table); -+ if (newdir) free(newdir); -+} -+ -+/* Given a directory, add all the files and directories to the root directory of the -+ image. -+*/ -+ -+static void add_root_directory(char *dirname) -+{ -+ DIR *dir = opendir(dirname); -+ struct dirent *entry = 0; -+ struct dir_entry *newdir = 0; -+ -+ if (!dir) { -+ printf("Error - directory %s does not exist\n", dirname); -+ return; -+ } -+ -+ /* Create the root directory structure - this is a bit different then -+ above, because the table already exists, we just refer to it. */ -+ -+ newdir = (struct dir_entry *) calloc(1,sizeof(struct dir_entry)); -+ -+ if (!newdir) { -+ closedir(dir); -+ return; -+ } -+ -+ newdir->entries = root_dir_entries; -+ newdir->root = 1; -+ newdir->count = 0; -+ newdir->table = root_dir; -+ -+ while((entry = readdir(dir))) { -+ struct stat st; -+ char *buffer; -+ -+ if (!strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) -+ continue; -+ -+ /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ -+ if (entry->d_name[0] == '.') continue; -+ -+ buffer = malloc(strlen(dirname) + strlen(entry->d_name) + 3); -+ if (!buffer) continue; -+ -+ sprintf(buffer, "%s/%s", dirname, entry->d_name); -+ if (!stat(buffer, &st)) { -+ if (S_ISDIR(st.st_mode)) -+ add_directory(buffer, newdir); -+ else if (S_ISREG(st.st_mode)) { -+ unsigned char attrib = check_attrib_file(dirname, entry->d_name); -+ add_file(buffer, newdir, attrib); -+ } -+ } -+ -+ free(buffer); -+ } -+ -+ closedir(dir); -+ if (newdir) free(newdir); -+} - - /* Report the command usage and return a failure error code */ - -@@ -1423,7 +1903,7 @@ - [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\ - [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\ - [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\ -- /dev/name [blocks]\n"); -+ [-d directory] /dev/name [blocks]\n"); - } - - /* -@@ -1463,6 +1943,8 @@ - int c; - char *tmp; - char *listfile = NULL; -+ char *dirname = NULL; -+ - FILE *msgfile; - struct stat statbuf; - int i = 0, pos, ch; -@@ -1483,7 +1965,7 @@ - printf ("%s " VERSION " (" VERSION_DATE ")\n", - program_name); - -- while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) -+ while ((c = getopt (argc, argv, "AbcCd:f:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) - /* Scan the command line for options */ - switch (c) - { -@@ -1508,6 +1990,10 @@ - create = TRUE; - break; - -+ case 'd': -+ dirname = optarg; -+ break; -+ - case 'f': /* f : Choose number of FATs */ - nr_fats = (int) strtol (optarg, &tmp, 0); - if (*tmp || nr_fats < 1 || nr_fats > 4) -@@ -1811,8 +2297,10 @@ - else if (listfile) - get_list_blocks (listfile); - -- write_tables (); /* Write the file system tables away! */ - -+ if (dirname) add_root_directory(dirname); -+ -+ write_tables (); /* Write the file system tables away! */ - exit (0); /* Terminate with no errors! */ - } - diff --git a/meta/recipes-devtools/dosfstools/dosfstools/msdos_fat12_undefined.patch b/meta/recipes-devtools/dosfstools/dosfstools/msdos_fat12_undefined.patch deleted file mode 100644 index 11e8a7594b..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/msdos_fat12_undefined.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix a compilation error due to undefined MSDOS_FAT12. - -Upstream-Status: Inappropriate [licensing] -We're tracking an old release of dosfstools due to licensing issues. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - ---- dosfstools-2.10/dosfsck/boot.c.orig 2004-10-15 08:51:42.394725176 -0600 -+++ dosfstools-2.10/dosfsck/boot.c 2004-10-15 08:49:16.776862456 -0600 -@@ -14,6 +14,9 @@ - #include "io.h" - #include "boot.h" - -+#ifndef MSDOS_FAT12 -+#define MSDOS_FAT12 4084 -+#endif - - #define ROUND_TO_MULTIPLE(n,m) ((n) && (m) ? (n)+(m)-1-((n)-1)%(m) : 0) - /* don't divide by zero */ diff --git a/meta/recipes-devtools/dosfstools/dosfstools/nofat32_autoselect.patch b/meta/recipes-devtools/dosfstools/dosfstools/nofat32_autoselect.patch deleted file mode 100644 index 848a76b990..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools/nofat32_autoselect.patch +++ /dev/null @@ -1,27 +0,0 @@ -FAT32 appears to be broken when used with the -d option to populate the msdos -image. This disables the FAT32 autoselection code which means we don't get -broken images with the -d option. It can still be enabled on the commandline -at the users own risk. This changes us back to the 2.10 version's behaviour -which was known to work well even with large images. - -Upstream-Status: Inappropriate [depends on other patches we apply] - -RP 2011/12/13 - -Index: dosfstools-2.11/mkdosfs/mkdosfs.c -=================================================================== ---- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-13 13:54:37.538509391 +0000 -+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-13 13:55:10.258508631 +0000 -@@ -808,10 +808,12 @@ - bs.media = (char) 0xf8; /* Set up the media descriptor for a hard drive */ - bs.dir_entries[0] = (char) 0; /* Default to 512 entries */ - bs.dir_entries[1] = (char) 2; -+/* - if (!size_fat && blocks*SECTORS_PER_BLOCK > 1064960) { - if (verbose) printf("Auto-selecting FAT32 for large filesystem\n"); - size_fat = 32; - } -+*/ - if (size_fat == 32) { - /* For FAT32, try to do the same as M$'s format command: - * fs size < 256M: 0.5k clusters diff --git a/meta/recipes-devtools/dosfstools/dosfstools_2.11.bb b/meta/recipes-devtools/dosfstools/dosfstools_2.11.bb deleted file mode 100644 index 176504d4f3..0000000000 --- a/meta/recipes-devtools/dosfstools/dosfstools_2.11.bb +++ /dev/null @@ -1,34 +0,0 @@ -# dosfstools OE build file -# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved -# Released under the MIT license (see packages/COPYING) -SUMMARY = "DOS FAT Filesystem Utilities" -HOMEPAGE = "https://github.com/dosfstools/dosfstools" - -SECTION = "base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://mkdosfs/COPYING;md5=cbe67f08d6883bff587f615f0cc81aa8" -PR = "r5" - -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.src.tar.gz/407d405ade410f7597d364ab5dc8c9f6/${BP}.src.tar.gz \ - file://mkdosfs-bootcode.patch \ - file://mkdosfs-dir.patch \ - file://alignment_hack.patch \ - file://msdos_fat12_undefined.patch \ - file://dosfstools-msdos_fs-types.patch \ - file://include-linux-types.patch \ - file://nofat32_autoselect.patch \ - file://fix_populated_dosfs_creation.patch \ - file://0001-Include-fcntl.h-for-getting-loff_t-definition.patch \ -" - -SRC_URI[md5sum] = "407d405ade410f7597d364ab5dc8c9f6" -SRC_URI[sha256sum] = "0eac6d12388b3d9ed78684529c1b0d9346fa2abbe406c4d4a3eb5a023c98a484" - -CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}" - -EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" - -do_install () { - oe_runmake "PREFIX=${D}" "SBINDIR=${D}${base_sbindir}" \ - "MANDIR=${D}${mandir}/man8" install -} diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff deleted file mode 100644 index d4e4675ad5..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff +++ /dev/null @@ -1,449 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.146/backends/arm_init.c -=================================================================== ---- elfutils-0.146.orig/backends/arm_init.c 2009-04-21 14:50:01.000000000 +0000 -+++ elfutils-0.146/backends/arm_init.c 2010-04-24 10:11:13.000000000 +0000 -@@ -32,21 +32,32 @@ - #define RELOC_PREFIX R_ARM_ - #include "libebl_CPU.h" - -+#include "libebl_arm.h" -+ - /* This defines the common reloc hooks based on arm_reloc.def. */ - #include "common-reloc.c" - - - const char * - arm_init (elf, machine, eh, ehlen) -- Elf *elf __attribute__ ((unused)); -+ Elf *elf; - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; - { -+ int soft_float = 0; -+ - /* Check whether the Elf_BH object has a sufficent size. */ - if (ehlen < sizeof (Ebl)) - return NULL; - -+ if (elf) { -+ GElf_Ehdr ehdr_mem; -+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); -+ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT)) -+ soft_float = 1; -+ } -+ - /* We handle it. */ - eh->name = "ARM"; - arm_init_reloc (eh); -@@ -58,7 +69,10 @@ - HOOK (eh, core_note); - HOOK (eh, auxv_info); - HOOK (eh, check_object_attribute); -- HOOK (eh, return_value_location); -+ if (soft_float) -+ eh->return_value_location = arm_return_value_location_soft; -+ else -+ eh->return_value_location = arm_return_value_location_hard; - - return MODVERSION; - } -Index: elfutils-0.146/backends/arm_regs.c -=================================================================== ---- elfutils-0.146.orig/backends/arm_regs.c 2009-04-21 14:50:01.000000000 +0000 -+++ elfutils-0.146/backends/arm_regs.c 2010-04-24 10:11:13.000000000 +0000 -@@ -28,6 +28,7 @@ - #endif - - #include <string.h> -+#include <stdio.h> - #include <dwarf.h> - - #define BACKEND arm_ -@@ -58,7 +59,15 @@ - namelen = 2; - break; - -- case 10 ... 12: -+ case 10 ... 11: -+ name[0] = 'r'; -+ name[1] = '1'; -+ name[2] = regno % 10 + '0'; -+ namelen = 3; -+ break; -+ -+ case 12: -+ *type = DW_ATE_unsigned; - name[0] = 'r'; - name[1] = '1'; - name[2] = regno % 10 + '0'; -@@ -73,6 +82,9 @@ - break; - - case 16 + 0 ... 16 + 7: -+ /* AADWARF says that there are no registers in that range, -+ * but gcc maps FPA registers here -+ */ - regno += 96 - 16; - /* Fall through. */ - case 96 + 0 ... 96 + 7: -@@ -84,11 +96,139 @@ - namelen = 2; - break; - -+ case 64 + 0 ... 64 + 9: -+ *setname = "VFP"; -+ *bits = 32; -+ *type = DW_ATE_float; -+ name[0] = 's'; -+ name[1] = regno - 64 + '0'; -+ namelen = 2; -+ break; -+ -+ case 64 + 10 ... 64 + 31: -+ *setname = "VFP"; -+ *bits = 32; -+ *type = DW_ATE_float; -+ name[0] = 's'; -+ name[1] = (regno - 64) / 10 + '0'; -+ name[2] = (regno - 64) % 10 + '0'; -+ namelen = 3; -+ break; -+ -+ case 104 + 0 ... 104 + 7: -+ /* XXX TODO: -+ * This can be either intel wireless MMX general purpose/control -+ * registers or xscale accumulator, which have different usage. -+ * We only have the intel wireless MMX here now. -+ * The name needs to be changed for the xscale accumulator too. */ -+ *setname = "MMX"; -+ *type = DW_ATE_unsigned; -+ *bits = 32; -+ memcpy(name, "wcgr", 4); -+ name[4] = regno - 104 + '0'; -+ namelen = 5; -+ break; -+ -+ case 112 + 0 ... 112 + 9: -+ *setname = "MMX"; -+ *type = DW_ATE_unsigned; -+ *bits = 64; -+ name[0] = 'w'; -+ name[1] = 'r'; -+ name[2] = regno - 112 + '0'; -+ namelen = 3; -+ break; -+ -+ case 112 + 10 ... 112 + 15: -+ *setname = "MMX"; -+ *type = DW_ATE_unsigned; -+ *bits = 64; -+ name[0] = 'w'; -+ name[1] = 'r'; -+ name[2] = '1'; -+ name[3] = regno - 112 - 10 + '0'; -+ namelen = 4; -+ break; -+ - case 128: -+ *setname = "special"; - *type = DW_ATE_unsigned; - return stpcpy (name, "spsr") + 1 - name; - -+ case 129: -+ *setname = "special"; -+ *type = DW_ATE_unsigned; -+ return stpcpy(name, "spsr_fiq") + 1 - name; -+ -+ case 130: -+ *setname = "special"; -+ *type = DW_ATE_unsigned; -+ return stpcpy(name, "spsr_irq") + 1 - name; -+ -+ case 131: -+ *setname = "special"; -+ *type = DW_ATE_unsigned; -+ return stpcpy(name, "spsr_abt") + 1 - name; -+ -+ case 132: -+ *setname = "special"; -+ *type = DW_ATE_unsigned; -+ return stpcpy(name, "spsr_und") + 1 - name; -+ -+ case 133: -+ *setname = "special"; -+ *type = DW_ATE_unsigned; -+ return stpcpy(name, "spsr_svc") + 1 - name; -+ -+ case 144 ... 150: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1; -+ -+ case 151 ... 157: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1; -+ -+ case 158 ... 159: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1; -+ -+ case 160 ... 161: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1; -+ -+ case 162 ... 163: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_und", regno - 162 + 13) + 1; -+ -+ case 164 ... 165: -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1; -+ -+ case 192 ... 199: -+ *setname = "MMX"; -+ *bits = 32; -+ *type = DW_ATE_unsigned; -+ name[0] = 'w'; -+ name[1] = 'c'; -+ name[2] = regno - 192 + '0'; -+ namelen = 3; -+ break; -+ - case 256 + 0 ... 256 + 9: -+ /* XXX TODO: Neon also uses those registers and can contain -+ * both float and integers */ - *setname = "VFP"; - *type = DW_ATE_float; - *bits = 64; -Index: elfutils-0.146/backends/arm_retval.c -=================================================================== ---- elfutils-0.146.orig/backends/arm_retval.c 2010-01-12 16:57:54.000000000 +0000 -+++ elfutils-0.146/backends/arm_retval.c 2010-04-24 10:11:13.000000000 +0000 -@@ -45,6 +45,13 @@ - #define nloc_intreg 1 - #define nloc_intregs(n) (2 * (n)) - -+/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */ -+static const Dwarf_Op loc_fpreg[] = -+ { -+ { .atom = DW_OP_reg16 }, -+ }; -+#define nloc_fpreg 1 -+ - /* The return value is a structure and is actually stored in stack space - passed in a hidden argument by the caller. But, the compiler - helpfully returns the address of that space in r0. */ -@@ -55,8 +62,9 @@ - #define nloc_aggregate 1 - - --int --arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+static int -+arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, -+ int soft_float) - { - /* Start with the function's type, and get the DW_AT_type attribute, - which is the type of the return value. */ -@@ -109,14 +117,31 @@ - else - return -1; - } -+ if (tag == DW_TAG_base_type) -+ { -+ Dwarf_Word encoding; -+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, -+ &attr_mem), &encoding) != 0) -+ return -1; -+ -+ if ((encoding == DW_ATE_float) && !soft_float) -+ { -+ *locp = loc_fpreg; -+ if (size <= 8) -+ return nloc_fpreg; -+ goto aggregate; -+ } -+ } - if (size <= 16) - { - intreg: - *locp = loc_intreg; - return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4); - } -+ /* fall through. */ - - aggregate: -+ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */ - *locp = loc_aggregate; - return nloc_aggregate; - -@@ -135,3 +160,18 @@ - DWARF and might be valid. */ - return -2; - } -+ -+/* return location for -mabi=apcs-gnu -msoft-float */ -+int -+arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+{ -+ return arm_return_value_location_ (functypedie, locp, 1); -+} -+ -+/* return location for -mabi=apcs-gnu -mhard-float (current default) */ -+int -+arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+{ -+ return arm_return_value_location_ (functypedie, locp, 0); -+} -+ -Index: elfutils-0.146/libelf/elf.h -=================================================================== ---- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:11.000000000 +0000 -+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000 -@@ -2290,6 +2290,9 @@ - #define EF_ARM_EABI_VER4 0x04000000 - #define EF_ARM_EABI_VER5 0x05000000 - -+/* EI_OSABI values */ -+#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */ -+ - /* Additional symbol types for Thumb. */ - #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ - #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ -@@ -2307,12 +2310,19 @@ - - /* Processor specific values for the Phdr p_type field. */ - #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ -+#define PT_ARM_UNWIND PT_ARM_EXIDX - - /* Processor specific values for the Shdr sh_type field. */ - #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ - #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ - #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ - -+/* Processor specific values for the Dyn d_tag field. */ -+#define DT_ARM_RESERVED1 (DT_LOPROC + 0) -+#define DT_ARM_SYMTABSZ (DT_LOPROC + 1) -+#define DT_ARM_PREEMTMAB (DT_LOPROC + 2) -+#define DT_ARM_RESERVED2 (DT_LOPROC + 3) -+#define DT_ARM_NUM 4 - - /* ARM relocs. */ - -@@ -2344,12 +2354,75 @@ - #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */ - #define R_ARM_GOT32 26 /* 32 bit GOT entry */ - #define R_ARM_PLT32 27 /* 32 bit PLT address */ -+#define R_ARM_CALL 28 -+#define R_ARM_JUMP24 29 -+#define R_ARM_THM_JUMP24 30 -+#define R_ARM_BASE_ABS 31 - #define R_ARM_ALU_PCREL_7_0 32 - #define R_ARM_ALU_PCREL_15_8 33 - #define R_ARM_ALU_PCREL_23_15 34 - #define R_ARM_LDR_SBREL_11_0 35 - #define R_ARM_ALU_SBREL_19_12 36 - #define R_ARM_ALU_SBREL_27_20 37 -+#define R_ARM_TARGET1 38 -+#define R_ARM_SBREL31 39 -+#define R_ARM_V4BX 40 -+#define R_ARM_TARGET2 41 -+#define R_ARM_PREL31 42 -+#define R_ARM_MOVW_ABS_NC 43 -+#define R_ARM_MOVT_ABS 44 -+#define R_ARM_MOVW_PREL_NC 45 -+#define R_ARM_MOVT_PREL 46 -+#define R_ARM_THM_MOVW_ABS_NC 47 -+#define R_ARM_THM_MOVT_ABS 48 -+#define R_ARM_THM_MOVW_PREL_NC 49 -+#define R_ARM_THM_MOVT_PREL 50 -+#define R_ARM_THM_JUMP19 51 -+#define R_ARM_THM_JUMP6 52 -+#define R_ARM_THM_ALU_PREL_11_0 53 -+#define R_ARM_THM_PC12 54 -+#define R_ARM_ABS32_NOI 55 -+#define R_ARM_REL32_NOI 56 -+#define R_ARM_ALU_PC_G0_NC 57 -+#define R_ARM_ALU_PC_G0 58 -+#define R_ARM_ALU_PC_G1_NC 59 -+#define R_ARM_ALU_PC_G1 60 -+#define R_ARM_ALU_PC_G2 61 -+#define R_ARM_LDR_PC_G1 62 -+#define R_ARM_LDR_PC_G2 63 -+#define R_ARM_LDRS_PC_G0 64 -+#define R_ARM_LDRS_PC_G1 65 -+#define R_ARM_LDRS_PC_G2 66 -+#define R_ARM_LDC_PC_G0 67 -+#define R_ARM_LDC_PC_G1 68 -+#define R_ARM_LDC_PC_G2 69 -+#define R_ARM_ALU_SB_G0_NC 70 -+#define R_ARM_ALU_SB_G0 71 -+#define R_ARM_ALU_SB_G1_NC 72 -+#define R_ARM_ALU_SB_G1 73 -+#define R_ARM_ALU_SB_G2 74 -+#define R_ARM_LDR_SB_G0 75 -+#define R_ARM_LDR_SB_G1 76 -+#define R_ARM_LDR_SB_G2 77 -+#define R_ARM_LDRS_SB_G0 78 -+#define R_ARM_LDRS_SB_G1 79 -+#define R_ARM_LDRS_SB_G2 80 -+#define R_ARM_LDC_G0 81 -+#define R_ARM_LDC_G1 82 -+#define R_ARM_LDC_G2 83 -+#define R_ARM_MOVW_BREL_NC 84 -+#define R_ARM_MOVT_BREL 85 -+#define R_ARM_MOVW_BREL 86 -+#define R_ARM_THM_MOVW_BREL_NC 87 -+#define R_ARM_THM_MOVT_BREL 88 -+#define R_ARM_THM_MOVW_BREL 89 -+/* 90-93 unallocated */ -+#define R_ARM_PLT32_ABS 94 -+#define R_ARM_GOT_ABS 95 -+#define R_ARM_GOT_PREL 96 -+#define R_ARM_GOT_BREL12 97 -+#define R_ARM_GOTOFF12 98 -+#define R_ARM_GOTRELAX 99 - #define R_ARM_GNU_VTENTRY 100 - #define R_ARM_GNU_VTINHERIT 101 - #define R_ARM_THM_PC11 102 /* thumb unconditional branch */ -@@ -2364,6 +2437,12 @@ - static TLS block offset */ - #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static - TLS block */ -+#define R_ARM_TLS_LDO12 109 -+#define R_ARM_TLS_LE12 110 -+#define R_ARM_TLS_IE12GP 111 -+/* 112 - 127 private range */ -+#define R_ARM_ME_TOO 128 /* obsolete */ -+ - #define R_ARM_RXPC25 249 - #define R_ARM_RSBREL32 250 - #define R_ARM_THM_RPC22 251 -Index: elfutils-0.146/backends/libebl_arm.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/libebl_arm.h 2010-04-24 10:11:13.000000000 +0000 -@@ -0,0 +1,9 @@ -+#ifndef _LIBEBL_ARM_H -+#define _LIBEBL_ARM_H 1 -+ -+#include <libdw.h> -+ -+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp); -+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp); -+ -+#endif diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff deleted file mode 100644 index 5baa709000..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff +++ /dev/null @@ -1,71 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.146/libelf/elf.h -=================================================================== ---- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000 -+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:22:43.000000000 +0000 -@@ -143,6 +143,7 @@ - #define ELFOSABI_HPUX 1 /* HP-UX */ - #define ELFOSABI_NETBSD 2 /* NetBSD. */ - #define ELFOSABI_LINUX 3 /* Linux. */ -+#define ELFOSABI_HURD 4 /* GNU/Hurd */ - #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ - #define ELFOSABI_AIX 7 /* IBM AIX. */ - #define ELFOSABI_IRIX 8 /* SGI Irix. */ -@@ -150,8 +151,13 @@ - #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ - #define ELFOSABI_MODESTO 11 /* Novell Modesto. */ - #define ELFOSABI_OPENBSD 12 /* OpenBSD. */ -+#define ELFOSABI_OPENVMS 13 /* OpenVMS */ -+#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ -+#define ELFOSABI_AROS 15 /* Amiga Research OS */ -+/* 64-255 Architecture-specific value range */ - #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */ - #define ELFOSABI_ARM 97 /* ARM */ -+/* This is deprecated? It's not in the latest version anymore. */ - #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ - - #define EI_ABIVERSION 8 /* ABI version */ -@@ -206,7 +212,7 @@ - #define EM_H8_300H 47 /* Hitachi H8/300H */ - #define EM_H8S 48 /* Hitachi H8S */ - #define EM_H8_500 49 /* Hitachi H8/500 */ --#define EM_IA_64 50 /* Intel Merced */ -+#define EM_IA_64 50 /* Intel IA64 */ - #define EM_MIPS_X 51 /* Stanford MIPS-X */ - #define EM_COLDFIRE 52 /* Motorola Coldfire */ - #define EM_68HC12 53 /* Motorola M68HC12 */ -@@ -220,7 +226,8 @@ - #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/ - #define EM_X86_64 62 /* AMD x86-64 architecture */ - #define EM_PDSP 63 /* Sony DSP Processor */ -- -+#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ -+#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ - #define EM_FX66 66 /* Siemens FX66 microcontroller */ - #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ - #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ -@@ -250,7 +257,22 @@ - #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ - #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ - #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ --#define EM_NUM 95 -+#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */ -+#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */ -+#define EM_NS32K 97 /* National Semiconductor 32000 series */ -+#define EM_TPC 98 /* Tenor Network TPC processor */ -+#define EM_SNP1K 99 /* Trebia SNP 1000 processor */ -+#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */ -+#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */ -+#define EM_MAX 102 /* MAX Processor */ -+#define EM_CR 103 /* National Semiconductor CompactRISC */ -+#define EM_F2MC16 104 /* Fujitsu F2MC16 */ -+#define EM_MSP430 105 /* TI msp430 micro controller */ -+#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */ -+#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */ -+#define EM_SEP 108 /* Sharp embedded microprocessor */ -+#define EM_ARCA 109 /* Arca RISC Microprocessor */ -+#define EM_NUM 110 - - /* If it is necessary to assign new unofficial EM_* values, please - pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elf_begin.c-CVE-2014-9447-fix.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/elf_begin.c-CVE-2014-9447-fix.patch deleted file mode 100644 index deba45fa86..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/elf_begin.c-CVE-2014-9447-fix.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 323ca04a0c9189544075c19b49da67f6443a8950 Mon Sep 17 00:00:00 2001 -From: Li xin <lixin.fnst@cn.fujitsu.com> -Date: Wed, 21 Jan 2015 09:33:38 +0900 -Subject: [PATCH] elf_begin.c: CVE-2014-9447 fix - -this patch is from: - https://git.fedorahosted.org/cgit/elfutils.git/commit/?id=147018e729e7c22eeabf15b82d26e4bf68a0d18e - -Upstream-Status: Backport -CVE: CVE-2014-9447 - -Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> ---- - libelf/elf_begin.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c -index e46add3..e83ba35 100644 ---- a/libelf/elf_begin.c -+++ b/libelf/elf_begin.c -@@ -736,11 +736,8 @@ read_long_names (Elf *elf) - break; - - /* NUL-terminate the string. */ -- *runp = '\0'; -- -- /* Skip the NUL byte and the \012. */ -- runp += 2; -- -+ *runp++ = '\0'; -+ - /* A sanity check. Somebody might have generated invalid - archive. */ - if (runp >= newp + len) --- -1.8.4.2 - diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-ar-c-fix-num-passed-to-memset.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-ar-c-fix-num-passed-to-memset.patch deleted file mode 100644 index b619619ec0..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-ar-c-fix-num-passed-to-memset.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Backport - -ar.c (do_oper_delete): Fix num passed to memset -native build failed as following on Fedora18+: -ar.c: In function 'do_oper_delete': -ar.c:918:31: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess] - memset (found, '\0', sizeof (found)); - ^ -The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/ar.c?id=1a4d0668d18bf1090c5c08cdb5cb3ba2b8eb5410 - -Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> - ---- elfutils-0.148/src/ar.c.org 2013-03-12 21:12:17.928281375 -0500 -+++ elfutils-0.148/src/ar.c 2013-03-12 21:15:30.053285271 -0500 -@@ -915,7 +915,7 @@ - long int instance) - { - bool *found = alloca (sizeof (bool) * argc); -- memset (found, '\0', sizeof (found)); -+ memset (found, '\0', sizeof (bool) * argc); - - /* List of the files we keep. */ - struct armem *to_copy = NULL; diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch deleted file mode 100644 index 0ff353d0de..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Backport - -The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table. - -This could cause a failure in the elf*_xlatetof function. - -diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h ---- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800 -+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700 -@@ -94,6 +94,7 @@ - Vernaux32 (Ext_); - Syminfo32 (Ext_); - Move32 (Ext_); -+Lib32 (Ext_); - auxv_t32 (Ext_); - - Ehdr64 (Ext_); -@@ -110,6 +111,7 @@ - Vernaux64 (Ext_); - Syminfo64 (Ext_); - Move64 (Ext_); -+Lib64 (Ext_); - auxv_t64 (Ext_); - - #undef START -diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c ---- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800 -+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700 -@@ -87,7 +87,9 @@ - [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \ - [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \ - [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \ -- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)) -+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \ -+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \ -+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD) - TYPE_SIZES (32) - }, - [ELFCLASS64 - 1] = { diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/fix-build-gcc-4.8.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/fix-build-gcc-4.8.patch deleted file mode 100644 index 0e28690207..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/fix-build-gcc-4.8.patch +++ /dev/null @@ -1,57 +0,0 @@ -This patch fixes a warning seen with gcc 4.8 (especially on ubuntu 13.10) - -| addr2line.c: In function 'handle_address': -| addr2line.c:450:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=] -| if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 -| ^ -| addr2line.c:453:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=] -| switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) -| ^ -| cc1: all warnings being treated as errors - - -%a is old GNU style and should be abandoned in favor of %m - -Also see - -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54361 - -to support this assertion - -This patch is added via redhat-compatibility patch so lets revert this part -here. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [Caused by an earlier patch] - -Index: elfutils-0.148/src/addr2line.c -=================================================================== ---- elfutils-0.148.orig/src/addr2line.c 2013-09-23 17:46:45.513586538 -0700 -+++ elfutils-0.148/src/addr2line.c 2013-09-23 17:46:46.329586558 -0700 -@@ -447,10 +447,10 @@ - bool parsed = false; - int i, j; - char *name = NULL; -- if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 -+ if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 - && string[i] == '\0') - parsed = adjust_to_section (name, &addr, dwfl); -- switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) -+ switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) - { - default: - break; -Index: elfutils-0.148/tests/line2addr.c -=================================================================== ---- elfutils-0.148.orig/tests/line2addr.c 2013-09-23 17:46:45.521586538 -0700 -+++ elfutils-0.148/tests/line2addr.c 2013-09-23 17:46:46.329586558 -0700 -@@ -132,7 +132,7 @@ - { - struct args a = { .arg = argv[cnt] }; - -- switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) -+ switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) - { - default: - case 0: diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch deleted file mode 100644 index c78f95d693..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch +++ /dev/null @@ -1,73 +0,0 @@ -Upstream-Status: pending -gcc 4.7 does not like pointer conversion, so have a void * tmp var to work -around following compilation issue. - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2011/07/07 - -| md5.c: In function 'md5_finish_ctx': -| md5.c:108:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] -| md5.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] -| cc1: all warnings being treated as errors -| -| make[2]: *** [md5.o] Error 1 -| make[2]: *** Waiting for unfinished jobs.... -| sha1.c: In function 'sha1_finish_ctx': -| sha1.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] -| sha1.c:111:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] -| cc1: all warnings being treated as errors -| -| make[2]: *** [sha1.o] Error 1 - -Index: elfutils-0.148/lib/md5.c -=================================================================== ---- elfutils-0.148.orig/lib/md5.c -+++ elfutils-0.148/lib/md5.c -@@ -95,6 +95,7 @@ md5_finish_ctx (ctx, resbuf) - /* Take yet unprocessed bytes into account. */ - md5_uint32 bytes = ctx->buflen; - size_t pad; -+ void * tmp; - - /* Now count remaining bytes. */ - ctx->total[0] += bytes; -@@ -105,9 +106,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)); -+ tmp = &ctx->buffer[bytes + pad]; -+ *(md5_uint32 *) tmp = SWAP (ctx->total[0] << 3); -+ tmp = &ctx->buffer[bytes + pad + 4]; -+ *(md5_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); - - /* Process last bytes. */ - md5_process_block (ctx->buffer, bytes + pad + 8, ctx); -Index: elfutils-0.148/lib/sha1.c -=================================================================== ---- elfutils-0.148.orig/lib/sha1.c -+++ elfutils-0.148/lib/sha1.c -@@ -96,6 +96,7 @@ sha1_finish_ctx (ctx, resbuf) - /* Take yet unprocessed bytes into account. */ - sha1_uint32 bytes = ctx->buflen; - size_t pad; -+ void * tmp; - - /* Now count remaining bytes. */ - ctx->total[0] += bytes; -@@ -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); -+ tmp = &ctx->buffer[bytes + pad]; -+ *(sha1_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); -+ tmp = &ctx->buffer[bytes + pad + 4]; -+ *(sha1_uint32 *) tmp = SWAP (ctx->total[0] << 3); - - /* Process last bytes. */ - sha1_process_block (ctx->buffer, bytes + pad + 8, ctx); diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch deleted file mode 100644 index b56a754f81..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix warnings found with gcc6 - -| ../../elfutils-0.148/libdw/dwarf_siblingof.c: In function 'dwarf_siblingof': -| ../../elfutils-0.148/libdw/dwarf_siblingof.c:69:6: error: nonnull argument 'result' compared to NULL [-Werror=nonnull-compare] -| if (result == NULL) -| ^ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Inappropriate [ unmaintained ] -Index: elfutils-0.148/libdw/dwarf_siblingof.c -=================================================================== ---- elfutils-0.148.orig/libdw/dwarf_siblingof.c -+++ elfutils-0.148/libdw/dwarf_siblingof.c -@@ -66,9 +66,6 @@ dwarf_siblingof (die, result) - if (die == NULL) - return -1; - -- if (result == NULL) -- return -1; -- - if (result != die) - result->addr = NULL; - diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff deleted file mode 100644 index a86b97c683..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff +++ /dev/null @@ -1,801 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.146/backends/parisc_init.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/parisc_init.c 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,74 @@ -+/* Initialization of PA-RISC specific backend library. -+ Copyright (C) 2002, 2005, 2006 Red Hat, Inc. -+ This file is part of Red Hat elfutils. -+ Written by Ulrich Drepper <drepper@redhat.com>, 2002. -+ -+ 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 -+ -+#define BACKEND parisc_ -+#define RELOC_PREFIX R_PARISC_ -+#include "libebl_CPU.h" -+#include "libebl_parisc.h" -+ -+/* This defines the common reloc hooks based on parisc_reloc.def. */ -+#include "common-reloc.c" -+ -+ -+const char * -+parisc_init (elf, machine, eh, ehlen) -+ Elf *elf __attribute__ ((unused)); -+ GElf_Half machine __attribute__ ((unused)); -+ Ebl *eh; -+ size_t ehlen; -+{ -+ int pa64 = 0; -+ -+ /* Check whether the Elf_BH object has a sufficent size. */ -+ if (ehlen < sizeof (Ebl)) -+ return NULL; -+ -+ if (elf) { -+ GElf_Ehdr ehdr_mem; -+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); -+ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE)) -+ pa64 = 1; -+ } -+ /* We handle it. */ -+ eh->name = "PA-RISC"; -+ parisc_init_reloc (eh); -+ HOOK (eh, reloc_simple_type); -+ HOOK (eh, machine_flag_check); -+ HOOK (eh, symbol_type_name); -+ HOOK (eh, segment_type_name); -+ HOOK (eh, section_type_name); -+ HOOK (eh, register_info); -+ if (pa64) -+ eh->return_value_location = parisc_return_value_location_64; -+ else -+ eh->return_value_location = parisc_return_value_location_32; -+ -+ return MODVERSION; -+} -Index: elfutils-0.146/backends/parisc_regs.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/parisc_regs.c 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,159 @@ -+/* Register names and numbers for PA-RISC DWARF. -+ Copyright (C) 2005, 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 <dwarf.h> -+ -+#define BACKEND parisc_ -+#include "libebl_CPU.h" -+ -+ssize_t -+parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen, -+ const char **prefix, const char **setname, -+ int *bits, int *type) -+{ -+ int pa64 = 0; -+ -+ if (ebl->elf) { -+ GElf_Ehdr ehdr_mem; -+ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem); -+ if (ehdr->e_flags & EF_PARISC_WIDE) -+ pa64 = 1; -+ } -+ -+ int nregs = pa64 ? 127 : 128; -+ -+ if (name == NULL) -+ return nregs; -+ -+ if (regno < 0 || regno >= nregs || namelen < 6) -+ return -1; -+ -+ *prefix = "%"; -+ -+ if (regno < 32) -+ { -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ if (pa64) -+ { -+ *bits = 64; -+ } -+ else -+ { -+ *bits = 32; -+ } -+ } -+ else if (regno == 32) -+ { -+ *setname = "special"; -+ if (pa64) -+ { -+ *bits = 6; -+ } -+ else -+ { -+ *bits = 5; -+ } -+ *type = DW_ATE_unsigned; -+ } -+ else -+ { -+ *setname = "FPU"; -+ *type = DW_ATE_float; -+ if (pa64) -+ { -+ *bits = 64; -+ } -+ else -+ { -+ *bits = 32; -+ } -+ } -+ -+ if (regno < 33) { -+ switch (regno) -+ { -+ case 0 ... 9: -+ name[0] = 'r'; -+ name[1] = regno + '0'; -+ namelen = 2; -+ break; -+ case 10 ... 31: -+ name[0] = 'r'; -+ name[1] = regno / 10 + '0'; -+ name[2] = regno % 10 + '0'; -+ namelen = 3; -+ break; -+ case 32: -+ *prefix = NULL; -+ name[0] = 'S'; -+ name[1] = 'A'; -+ name[2] = 'R'; -+ namelen = 3; -+ break; -+ } -+ } -+ else { -+ if (pa64 && ((regno - 72) % 2)) { -+ *setname = NULL; -+ return 0; -+ } -+ -+ switch (regno) -+ { -+ case 72 + 0 ... 72 + 11: -+ name[0] = 'f'; -+ name[1] = 'r'; -+ name[2] = (regno + 8 - 72) / 2 + '0'; -+ namelen = 3; -+ if ((regno + 8 - 72) % 2) { -+ name[3] = 'R'; -+ namelen++; -+ } -+ break; -+ case 72 + 12 ... 72 + 55: -+ name[0] = 'f'; -+ name[1] = 'r'; -+ name[2] = (regno + 8 - 72) / 2 / 10 + '0'; -+ name[3] = (regno + 8 - 72) / 2 % 10 + '0'; -+ namelen = 4; -+ if ((regno + 8 - 72) % 2) { -+ name[4] = 'R'; -+ namelen++; -+ } -+ break; -+ default: -+ *setname = NULL; -+ return 0; -+ } -+ } -+ name[namelen++] = '\0'; -+ return namelen; -+} -Index: elfutils-0.146/backends/parisc_reloc.def -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/parisc_reloc.def 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,128 @@ -+/* List the relocation types for PA-RISC. -*- C -*- -+ Copyright (C) 2005 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>. */ -+ -+/* NAME, REL|EXEC|DYN */ -+ -+RELOC_TYPE (NONE, EXEC|DYN) -+RELOC_TYPE (DIR32, REL|EXEC|DYN) -+RELOC_TYPE (DIR21L, REL|EXEC|DYN) -+RELOC_TYPE (DIR17R, REL) -+RELOC_TYPE (DIR17F, REL) -+RELOC_TYPE (DIR14R, REL|DYN) -+RELOC_TYPE (PCREL32, REL) -+RELOC_TYPE (PCREL21L, REL) -+RELOC_TYPE (PCREL17R, REL) -+RELOC_TYPE (PCREL17F, REL) -+RELOC_TYPE (PCREL14R, REL|EXEC) -+RELOC_TYPE (DPREL21L, REL) -+RELOC_TYPE (DPREL14WR, REL) -+RELOC_TYPE (DPREL14DR, REL) -+RELOC_TYPE (DPREL14R, REL) -+RELOC_TYPE (GPREL21L, 0) -+RELOC_TYPE (GPREL14R, 0) -+RELOC_TYPE (LTOFF21L, REL) -+RELOC_TYPE (LTOFF14R, REL) -+RELOC_TYPE (DLTIND14F, 0) -+RELOC_TYPE (SETBASE, 0) -+RELOC_TYPE (SECREL32, REL) -+RELOC_TYPE (BASEREL21L, 0) -+RELOC_TYPE (BASEREL17R, 0) -+RELOC_TYPE (BASEREL14R, 0) -+RELOC_TYPE (SEGBASE, 0) -+RELOC_TYPE (SEGREL32, REL) -+RELOC_TYPE (PLTOFF21L, 0) -+RELOC_TYPE (PLTOFF14R, 0) -+RELOC_TYPE (PLTOFF14F, 0) -+RELOC_TYPE (LTOFF_FPTR32, 0) -+RELOC_TYPE (LTOFF_FPTR21L, 0) -+RELOC_TYPE (LTOFF_FPTR14R, 0) -+RELOC_TYPE (FPTR64, 0) -+RELOC_TYPE (PLABEL32, REL|DYN) -+RELOC_TYPE (PCREL64, 0) -+RELOC_TYPE (PCREL22C, 0) -+RELOC_TYPE (PCREL22F, 0) -+RELOC_TYPE (PCREL14WR, 0) -+RELOC_TYPE (PCREL14DR, 0) -+RELOC_TYPE (PCREL16F, 0) -+RELOC_TYPE (PCREL16WF, 0) -+RELOC_TYPE (PCREL16DF, 0) -+RELOC_TYPE (DIR64, REL|DYN) -+RELOC_TYPE (DIR14WR, REL) -+RELOC_TYPE (DIR14DR, REL) -+RELOC_TYPE (DIR16F, REL) -+RELOC_TYPE (DIR16WF, REL) -+RELOC_TYPE (DIR16DF, REL) -+RELOC_TYPE (GPREL64, 0) -+RELOC_TYPE (GPREL14WR, 0) -+RELOC_TYPE (GPREL14DR, 0) -+RELOC_TYPE (GPREL16F, 0) -+RELOC_TYPE (GPREL16WF, 0) -+RELOC_TYPE (GPREL16DF, 0) -+RELOC_TYPE (LTOFF64, 0) -+RELOC_TYPE (LTOFF14WR, 0) -+RELOC_TYPE (LTOFF14DR, 0) -+RELOC_TYPE (LTOFF16F, 0) -+RELOC_TYPE (LTOFF16WF, 0) -+RELOC_TYPE (LTOFF16DF, 0) -+RELOC_TYPE (SECREL64, 0) -+RELOC_TYPE (BASEREL14WR, 0) -+RELOC_TYPE (BASEREL14DR, 0) -+RELOC_TYPE (SEGREL64, 0) -+RELOC_TYPE (PLTOFF14WR, 0) -+RELOC_TYPE (PLTOFF14DR, 0) -+RELOC_TYPE (PLTOFF16F, 0) -+RELOC_TYPE (PLTOFF16WF, 0) -+RELOC_TYPE (PLTOFF16DF, 0) -+RELOC_TYPE (LTOFF_FPTR64, 0) -+RELOC_TYPE (LTOFF_FPTR14WR, 0) -+RELOC_TYPE (LTOFF_FPTR14DR, 0) -+RELOC_TYPE (LTOFF_FPTR16F, 0) -+RELOC_TYPE (LTOFF_FPTR16WF, 0) -+RELOC_TYPE (LTOFF_FPTR16DF, 0) -+RELOC_TYPE (COPY, EXEC) -+RELOC_TYPE (IPLT, EXEC|DYN) -+RELOC_TYPE (EPLT, 0) -+RELOC_TYPE (TPREL32, DYN) -+RELOC_TYPE (TPREL21L, 0) -+RELOC_TYPE (TPREL14R, 0) -+RELOC_TYPE (LTOFF_TP21L, 0) -+RELOC_TYPE (LTOFF_TP14R, 0) -+RELOC_TYPE (LTOFF_TP14F, 0) -+RELOC_TYPE (TPREL64, 0) -+RELOC_TYPE (TPREL14WR, 0) -+RELOC_TYPE (TPREL14DR, 0) -+RELOC_TYPE (TPREL16F, 0) -+RELOC_TYPE (TPREL16WF, 0) -+RELOC_TYPE (TPREL16DF, 0) -+RELOC_TYPE (LTOFF_TP64, 0) -+RELOC_TYPE (LTOFF_TP14WR, 0) -+RELOC_TYPE (LTOFF_TP14DR, 0) -+RELOC_TYPE (LTOFF_TP16F, 0) -+RELOC_TYPE (LTOFF_TP16WF, 0) -+RELOC_TYPE (LTOFF_TP16DF, 0) -+RELOC_TYPE (TLS_DTPMOD32, DYN) -+RELOC_TYPE (TLS_DTPMOD64, DYN) -+ -+#define NO_RELATIVE_RELOC 1 -Index: elfutils-0.146/backends/parisc_retval.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/parisc_retval.c 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,213 @@ -+/* Function return value location for Linux/PA-RISC ABI. -+ Copyright (C) 2005 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 <assert.h> -+#include <dwarf.h> -+ -+#define BACKEND parisc_ -+#include "libebl_CPU.h" -+#include "libebl_parisc.h" -+ -+/* %r28, or pair %r28, %r29. */ -+static const Dwarf_Op loc_intreg32[] = -+ { -+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 }, -+ }; -+ -+static const Dwarf_Op loc_intreg[] = -+ { -+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 }, -+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 }, -+ }; -+#define nloc_intreg 1 -+#define nloc_intregpair 4 -+ -+/* %fr4L, or pair %fr4L, %fr4R on pa-32 */ -+static const Dwarf_Op loc_fpreg32[] = -+ { -+ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 }, -+ }; -+#define nloc_fpreg32 2 -+#define nloc_fpregpair32 4 -+ -+/* $fr4 */ -+static const Dwarf_Op loc_fpreg[] = -+ { -+ { .atom = DW_OP_regx, .number = 72 }, -+ }; -+#define nloc_fpreg 1 -+ -+#if 0 -+/* The return value is a structure and is actually stored in stack space -+ passed in a hidden argument by the caller. Address of the location is stored -+ in %r28 before function call, but it may be changed by function. */ -+static const Dwarf_Op loc_aggregate[] = -+ { -+ { .atom = DW_OP_breg28 }, -+ }; -+#define nloc_aggregate 1 -+#endif -+ -+static int -+parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64) -+{ -+ Dwarf_Word regsize = pa64 ? 8 : 4; -+ -+ /* Start with the function's type, and get the DW_AT_type attribute, -+ which is the type of the return value. */ -+ -+ Dwarf_Attribute attr_mem; -+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); -+ if (attr == NULL) -+ /* The function has no return value, like a `void' function in C. */ -+ return 0; -+ -+ Dwarf_Die die_mem; -+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); -+ int tag = dwarf_tag (typedie); -+ -+ /* Follow typedefs and qualifiers to get to the actual type. */ -+ while (tag == DW_TAG_typedef -+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type -+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) -+ { -+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); -+ typedie = dwarf_formref_die (attr, &die_mem); -+ tag = dwarf_tag (typedie); -+ } -+ -+ switch (tag) -+ { -+ case -1: -+ return -1; -+ -+ case DW_TAG_subrange_type: -+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) -+ { -+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); -+ typedie = dwarf_formref_die (attr, &die_mem); -+ tag = dwarf_tag (typedie); -+ } -+ /* Fall through. */ -+ -+ case DW_TAG_base_type: -+ case DW_TAG_enumeration_type: -+ case DW_TAG_pointer_type: -+ case DW_TAG_ptr_to_member_type: -+ { -+ Dwarf_Word size; -+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, -+ &attr_mem), &size) != 0) -+ { -+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) -+ size = 4; -+ else -+ return -1; -+ } -+ if (tag == DW_TAG_base_type) -+ { -+ Dwarf_Word encoding; -+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, -+ &attr_mem), &encoding) != 0) -+ return -1; -+ -+ if (encoding == DW_ATE_float) -+ { -+ if (pa64) { -+ *locp = loc_fpreg; -+ if (size <= 8) -+ return nloc_fpreg; -+ } -+ else { -+ *locp = loc_fpreg32; -+ if (size <= 4) -+ return nloc_fpreg32; -+ else if (size <= 8) -+ return nloc_fpregpair32; -+ } -+ goto aggregate; -+ } -+ } -+ if (pa64) -+ *locp = loc_intreg; -+ else -+ *locp = loc_intreg32; -+ if (size <= regsize) -+ return nloc_intreg; -+ if (size <= 2 * regsize) -+ return nloc_intregpair; -+ -+ /* Else fall through. */ -+ } -+ -+ case DW_TAG_structure_type: -+ case DW_TAG_class_type: -+ case DW_TAG_union_type: -+ case DW_TAG_array_type: -+ aggregate: { -+ Dwarf_Word size; -+ if (dwarf_aggregate_size (typedie, &size) != 0) -+ return -1; -+ if (pa64) -+ *locp = loc_intreg; -+ else -+ *locp = loc_intreg32; -+ if (size <= regsize) -+ return nloc_intreg; -+ if (size <= 2 * regsize) -+ return nloc_intregpair; -+#if 0 -+ /* there should be some way to know this location... But I do not see it. */ -+ *locp = loc_aggregate; -+ return nloc_aggregate; -+#endif -+ /* fall through. */ -+ } -+ } -+ -+ /* XXX We don't have a good way to return specific errors from ebl calls. -+ This value means we do not understand the type, but it is well-formed -+ DWARF and might be valid. */ -+ return -2; -+} -+ -+int -+parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+{ -+ return parisc_return_value_location_ (functypedie, locp, 0); -+} -+ -+int -+parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+{ -+ return parisc_return_value_location_ (functypedie, locp, 1); -+} -+ -Index: elfutils-0.146/backends/parisc_symbol.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/parisc_symbol.c 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,112 @@ -+/* PA-RISC specific symbolic name handling. -+ Copyright (C) 2002, 2005 Red Hat, Inc. -+ This file is part of Red Hat elfutils. -+ Written by Ulrich Drepper <drepper@redhat.com>, 2002. -+ -+ 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 <elf.h> -+#include <stddef.h> -+ -+#define BACKEND parisc_ -+#include "libebl_CPU.h" -+ -+const char * -+parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)), -+ size_t len __attribute__ ((unused))) -+{ -+ switch (segment) -+ { -+ case PT_PARISC_ARCHEXT: -+ return "PARISC_ARCHEXT"; -+ case PT_PARISC_UNWIND: -+ return "PARISC_UNWIND"; -+ default: -+ break; -+ } -+ return NULL; -+} -+ -+/* Return symbolic representation of symbol type. */ -+const char * -+parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)), -+ size_t len __attribute__ ((unused))) -+{ -+ if (symbol == STT_PARISC_MILLICODE) -+ return "PARISC_MILLI"; -+ return NULL; -+} -+ -+/* Return symbolic representation of section type. */ -+const char * -+parisc_section_type_name (int type, -+ char *buf __attribute__ ((unused)), -+ size_t len __attribute__ ((unused))) -+{ -+ switch (type) -+ { -+ case SHT_PARISC_EXT: -+ return "PARISC_EXT"; -+ case SHT_PARISC_UNWIND: -+ return "PARISC_UNWIND"; -+ case SHT_PARISC_DOC: -+ return "PARISC_DOC"; -+ } -+ -+ return NULL; -+} -+ -+/* Check whether machine flags are valid. */ -+bool -+parisc_machine_flag_check (GElf_Word flags) -+{ -+ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB | -+ EF_PARISC_WIDE | EF_PARISC_NO_KABP | -+ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH)) -+ return 0; -+ -+ GElf_Word arch = flags & EF_PARISC_ARCH; -+ -+ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) || -+ (arch == EFA_PARISC_2_0)); -+} -+ -+/* Check for the simple reloc types. */ -+Elf_Type -+parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) -+{ -+ switch (type) -+ { -+ case R_PARISC_DIR64: -+ case R_PARISC_SECREL64: -+ return ELF_T_XWORD; -+ case R_PARISC_DIR32: -+ case R_PARISC_SECREL32: -+ return ELF_T_WORD; -+ default: -+ return ELF_T_NUM; -+ } -+} -Index: elfutils-0.146/backends/libebl_parisc.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/libebl_parisc.h 2010-04-24 10:10:50.000000000 +0000 -@@ -0,0 +1,9 @@ -+#ifndef _LIBEBL_HPPA_H -+#define _LIBEBL_HPPA_H 1 -+ -+#include <libdw.h> -+ -+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp); -+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp); -+ -+#endif -Index: elfutils-0.146/backends/Makefile.am -=================================================================== ---- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:10:41.000000000 +0000 -+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:10:50.000000000 +0000 -@@ -29,11 +29,11 @@ - -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw - - --modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 -+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc - libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ - libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ - libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ -- libebl_s390_pic.a -+ libebl_s390_pic.a libebl_parisc_pic.a - noinst_LIBRARIES = $(libebl_pic) - noinst_DATA = $(libebl_pic:_pic.a=.so) - -@@ -95,6 +95,9 @@ - libebl_s390_pic_a_SOURCES = $(s390_SRCS) - am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os) - -+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c -+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) -+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) - - libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) - @rm -f $(@:.so=.map) -Index: elfutils-0.146/libelf/elf.h -=================================================================== ---- elfutils-0.146.orig/libelf/elf.h 2010-04-13 20:08:02.000000000 +0000 -+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:10:50.000000000 +0000 -@@ -1789,16 +1789,24 @@ - #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */ - #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */ - #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */ -+#define R_PARISC_DPREL14WR 19 -+#define R_PARISC_DPREL14DR 20 - #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */ - #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */ - #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */ - #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */ - #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */ -+#define R_PARISC_DLTIND14F 39 -+#define R_PARISC_SETBASE 40 - #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */ -+#define R_PARISC_BASEREL21L 42 -+#define R_PARISC_BASEREL17R 43 -+#define R_PARISC_BASEREL14R 46 - #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */ - #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */ - #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */ - #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */ -+#define R_PARISC_PLTOFF14F 55 - #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */ - #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */ - #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */ -@@ -1807,6 +1815,7 @@ - #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */ - #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */ - #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */ -+#define R_PARISC_PCREL22C 73 - #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */ - #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */ - #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */ -@@ -1832,6 +1841,8 @@ - #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */ - #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */ - #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */ -+#define R_PARISC_BASEREL14WR 107 -+#define R_PARISC_BASEREL14DR 108 - #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */ - #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */ - #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */ diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h deleted file mode 100644 index a5cc01f919..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h +++ /dev/null @@ -1,1657 +0,0 @@ -#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/meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff deleted file mode 100644 index 5b621f92ff..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff +++ /dev/null @@ -1,309 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.146/backends/m68k_init.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/m68k_init.c 2010-04-24 10:11:38.000000000 +0000 -@@ -0,0 +1,49 @@ -+/* Initialization of m68k specific backend library. -+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> -+ -+ This software is free software; 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. -+ -+ This softare is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this software; if not, write to the Free Software Foundation, -+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. -+ -+*/ -+ -+#ifdef HAVE_CONFIG_H -+# include <config.h> -+#endif -+ -+#define BACKEND m68k_ -+#define RELOC_PREFIX R_68K_ -+#include "libebl_CPU.h" -+ -+/* This defines the common reloc hooks based on m68k_reloc.def. */ -+#include "common-reloc.c" -+ -+ -+const char * -+m68k_init (elf, machine, eh, ehlen) -+ Elf *elf __attribute__ ((unused)); -+ GElf_Half machine __attribute__ ((unused)); -+ Ebl *eh; -+ size_t ehlen; -+{ -+ /* Check whether the Elf_BH object has a sufficent size. */ -+ if (ehlen < sizeof (Ebl)) -+ return NULL; -+ -+ /* We handle it. */ -+ eh->name = "m68k"; -+ m68k_init_reloc (eh); -+ HOOK (eh, reloc_simple_type); -+ HOOK (eh, register_info); -+ -+ return MODVERSION; -+} -Index: elfutils-0.146/backends/m68k_regs.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/m68k_regs.c 2010-04-24 10:11:38.000000000 +0000 -@@ -0,0 +1,106 @@ -+/* Register names and numbers for m68k DWARF. -+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> -+ -+ This software is free software; 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. -+ -+ This software is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this software; if not, write to the Free Software Foundation, -+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. -+ -+ */ -+ -+#ifdef HAVE_CONFIG_H -+# include <config.h> -+#endif -+ -+#include <string.h> -+#include <dwarf.h> -+ -+#define BACKEND m68k_ -+#include "libebl_CPU.h" -+ -+ssize_t -+m68k_register_info (Ebl *ebl __attribute__ ((unused)), -+ int regno, char *name, size_t namelen, -+ const char **prefix, const char **setname, -+ int *bits, int *type) -+{ -+ if (name == NULL) -+ return 25; -+ -+ if (regno < 0 || regno > 24 || namelen < 5) -+ return -1; -+ -+ *prefix = "%"; -+ *bits = 32; -+ *type = (regno < 8 ? DW_ATE_signed -+ : regno < 16 ? DW_ATE_address : DW_ATE_float); -+ -+ if (regno < 8) -+ { -+ *setname = "integer"; -+ } -+ else if (regno < 16) -+ { -+ *setname = "address"; -+ } -+ else if (regno < 24) -+ { -+ *setname = "FPU"; -+ } -+ else -+ { -+ *setname = "address"; -+ *type = DW_ATE_address; -+ } -+ -+ switch (regno) -+ { -+ case 0 ... 7: -+ name[0] = 'd'; -+ name[1] = regno + '0'; -+ namelen = 2; -+ break; -+ -+ case 8 ... 13: -+ name[0] = 'a'; -+ name[1] = regno - 8 + '0'; -+ namelen = 2; -+ break; -+ -+ case 14: -+ name[0] = 'f'; -+ name[1] = 'p'; -+ namelen = 2; -+ break; -+ -+ case 15: -+ name[0] = 's'; -+ name[1] = 'p'; -+ namelen = 2; -+ break; -+ -+ case 16 ... 23: -+ name[0] = 'f'; -+ name[1] = 'p'; -+ name[2] = regno - 16 + '0'; -+ namelen = 3; -+ break; -+ -+ case 24: -+ name[0] = 'p'; -+ name[1] = 'c'; -+ namelen = 2; -+ } -+ -+ name[namelen++] = '\0'; -+ return namelen; -+} -+ -Index: elfutils-0.146/backends/m68k_reloc.def -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/m68k_reloc.def 2010-04-24 10:11:38.000000000 +0000 -@@ -0,0 +1,45 @@ -+/* List the relocation types for m68k. -*- C -*- -+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> -+ -+ This software is free software; 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. -+ -+ This software is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this software; if not, write to the Free Software Foundation, -+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. -+*/ -+ -+/* NAME, REL|EXEC|DYN */ -+ -+RELOC_TYPE (NONE, 0) -+RELOC_TYPE (32, REL|EXEC|DYN) -+RELOC_TYPE (16, REL) -+RELOC_TYPE (8, REL) -+RELOC_TYPE (PC32, REL|EXEC|DYN) -+RELOC_TYPE (PC16, REL) -+RELOC_TYPE (PC8, REL) -+RELOC_TYPE (GOT32, REL) -+RELOC_TYPE (GOT16, REL) -+RELOC_TYPE (GOT8, REL) -+RELOC_TYPE (GOT32O, REL) -+RELOC_TYPE (GOT16O, REL) -+RELOC_TYPE (GOT8O, REL) -+RELOC_TYPE (PLT32, REL) -+RELOC_TYPE (PLT16, REL) -+RELOC_TYPE (PLT8, REL) -+RELOC_TYPE (PLT32O, REL) -+RELOC_TYPE (PLT16O, REL) -+RELOC_TYPE (PLT8O, REL) -+RELOC_TYPE (COPY, EXEC) -+RELOC_TYPE (GLOB_DAT, EXEC|DYN) -+RELOC_TYPE (JMP_SLOT, EXEC|DYN) -+RELOC_TYPE (RELATIVE, EXEC|DYN) -+RELOC_TYPE (GNU_VTINHERIT, REL) -+RELOC_TYPE (GNU_VTENTRY, REL) -+ -Index: elfutils-0.146/libelf/elf.h -=================================================================== ---- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000 -+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000 -@@ -1125,6 +1125,9 @@ - #define R_68K_GLOB_DAT 20 /* Create GOT entry */ - #define R_68K_JMP_SLOT 21 /* Create PLT entry */ - #define R_68K_RELATIVE 22 /* Adjust by program base */ -+/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */ -+#define R_68K_GNU_VTINHERIT 23 -+#define R_68K_GNU_VTENTRY 24 - #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */ - #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */ - #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */ -Index: elfutils-0.146/backends/Makefile.am -=================================================================== ---- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:11:23.000000000 +0000 -+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:11:38.000000000 +0000 -@@ -29,11 +29,12 @@ - -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw - - --modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips -+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k - libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ - libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ - libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ -- libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a -+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \ -+ libebl_m68k_pic.a - noinst_LIBRARIES = $(libebl_pic) - noinst_DATA = $(libebl_pic:_pic.a=.so) - -@@ -103,6 +104,10 @@ - libebl_mips_pic_a_SOURCES = $(mips_SRCS) - am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) - -+m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c -+libebl_m68k_pic_a_SOURCES = $(m68k_SRCS) -+am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os) -+ - libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) - @rm -f $(@:.so=.map) - echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ -Index: elfutils-0.146/backends/m68k_symbol.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.146/backends/m68k_symbol.c 2010-04-24 10:11:38.000000000 +0000 -@@ -0,0 +1,43 @@ -+/* m68k specific symbolic name handling. -+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> -+ -+ This software is free software; 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. -+ -+ This software distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this software; if not, write to the Free Software Foundation, -+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. -+*/ -+ -+#ifdef HAVE_CONFIG_H -+# include <config.h> -+#endif -+ -+#include <elf.h> -+#include <stddef.h> -+ -+#define BACKEND m68k_ -+#include "libebl_CPU.h" -+ -+/* Check for the simple reloc types. */ -+Elf_Type -+m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) -+{ -+ switch (type) -+ { -+ case R_68K_32: -+ return ELF_T_SWORD; -+ case R_68K_16: -+ return ELF_T_HALF; -+ case R_68K_8: -+ return ELF_T_BYTE; -+ default: -+ return ELF_T_NUM; -+ } -+} diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff deleted file mode 100644 index 3f81a75b1a..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff +++ /dev/null @@ -1,713 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.145/backends/mips_init.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.145/backends/mips_init.c 2010-02-24 18:57:35.000000000 +0000 -@@ -0,0 +1,60 @@ -+/* Initialization of mips specific backend library. -+ 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 -+ -+#define BACKEND mips_ -+#define RELOC_PREFIX R_MIPS_ -+#include "libebl_CPU.h" -+ -+/* This defines the common reloc hooks based on mips_reloc.def. */ -+#include "common-reloc.c" -+ -+const char * -+mips_init (elf, machine, eh, ehlen) -+ Elf *elf __attribute__ ((unused)); -+ GElf_Half machine __attribute__ ((unused)); -+ Ebl *eh; -+ size_t ehlen; -+{ -+ /* Check whether the Elf_BH object has a sufficent size. */ -+ if (ehlen < sizeof (Ebl)) -+ return NULL; -+ -+ /* We handle it. */ -+ if (machine == EM_MIPS) -+ eh->name = "MIPS R3000 big-endian"; -+ else if (machine == EM_MIPS_RS3_LE) -+ eh->name = "MIPS R3000 little-endian"; -+ -+ mips_init_reloc (eh); -+ HOOK (eh, reloc_simple_type); -+ HOOK (eh, return_value_location); -+ HOOK (eh, register_info); -+ -+ return MODVERSION; -+} -Index: elfutils-0.145/backends/mips_regs.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.145/backends/mips_regs.c 2010-02-24 18:57:35.000000000 +0000 -@@ -0,0 +1,104 @@ -+/* Register names and numbers for MIPS DWARF. -+ 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 <dwarf.h> -+ -+#define BACKEND mips_ -+#include "libebl_CPU.h" -+ -+ssize_t -+mips_register_info (Ebl *ebl __attribute__((unused)), -+ int regno, char *name, size_t namelen, -+ const char **prefix, const char **setname, -+ int *bits, int *type) -+{ -+ if (name == NULL) -+ return 66; -+ -+ if (regno < 0 || regno > 65 || namelen < 4) -+ return -1; -+ -+ *prefix = "$"; -+ -+ if (regno < 32) -+ { -+ *setname = "integer"; -+ *type = DW_ATE_signed; -+ *bits = 32; -+ if (regno < 32 + 10) -+ { -+ name[0] = regno + '0'; -+ namelen = 1; -+ } -+ else -+ { -+ name[0] = (regno / 10) + '0'; -+ name[1] = (regno % 10) + '0'; -+ namelen = 2; -+ } -+ } -+ else if (regno < 64) -+ { -+ *setname = "FPU"; -+ *type = DW_ATE_float; -+ *bits = 32; -+ name[0] = 'f'; -+ if (regno < 32 + 10) -+ { -+ name[1] = (regno - 32) + '0'; -+ namelen = 2; -+ } -+ else -+ { -+ name[1] = (regno - 32) / 10 + '0'; -+ name[2] = (regno - 32) % 10 + '0'; -+ namelen = 3; -+ } -+ } -+ else if (regno == 64) -+ { -+ *type = DW_ATE_signed; -+ *bits = 32; -+ name[0] = 'h'; -+ name[1] = 'i'; -+ namelen = 2; -+ } -+ else -+ { -+ *type = DW_ATE_signed; -+ *bits = 32; -+ name[0] = 'l'; -+ name[1] = 'o'; -+ namelen = 2; -+ } -+ -+ name[namelen++] = '\0'; -+ return namelen; -+} -Index: elfutils-0.145/backends/mips_reloc.def -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.145/backends/mips_reloc.def 2010-02-24 18:57:35.000000000 +0000 -@@ -0,0 +1,79 @@ -+/* List the relocation types for mips. -*- C -*- -+ 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>. */ -+ -+/* NAME, REL|EXEC|DYN */ -+ -+RELOC_TYPE (NONE, 0) -+RELOC_TYPE (16, 0) -+RELOC_TYPE (32, 0) -+RELOC_TYPE (REL32, 0) -+RELOC_TYPE (26, 0) -+RELOC_TYPE (HI16, 0) -+RELOC_TYPE (LO16, 0) -+RELOC_TYPE (GPREL16, 0) -+RELOC_TYPE (LITERAL, 0) -+RELOC_TYPE (GOT16, 0) -+RELOC_TYPE (PC16, 0) -+RELOC_TYPE (CALL16, 0) -+RELOC_TYPE (GPREL32, 0) -+ -+RELOC_TYPE (SHIFT5, 0) -+RELOC_TYPE (SHIFT6, 0) -+RELOC_TYPE (64, 0) -+RELOC_TYPE (GOT_DISP, 0) -+RELOC_TYPE (GOT_PAGE, 0) -+RELOC_TYPE (GOT_OFST, 0) -+RELOC_TYPE (GOT_HI16, 0) -+RELOC_TYPE (GOT_LO16, 0) -+RELOC_TYPE (SUB, 0) -+RELOC_TYPE (INSERT_A, 0) -+RELOC_TYPE (INSERT_B, 0) -+RELOC_TYPE (DELETE, 0) -+RELOC_TYPE (HIGHER, 0) -+RELOC_TYPE (HIGHEST, 0) -+RELOC_TYPE (CALL_HI16, 0) -+RELOC_TYPE (CALL_LO16, 0) -+RELOC_TYPE (SCN_DISP, 0) -+RELOC_TYPE (REL16, 0) -+RELOC_TYPE (ADD_IMMEDIATE, 0) -+RELOC_TYPE (PJUMP, 0) -+RELOC_TYPE (RELGOT, 0) -+RELOC_TYPE (JALR, 0) -+RELOC_TYPE (TLS_DTPMOD32, 0) -+RELOC_TYPE (TLS_DTPREL32, 0) -+RELOC_TYPE (TLS_DTPMOD64, 0) -+RELOC_TYPE (TLS_DTPREL64, 0) -+RELOC_TYPE (TLS_GD, 0) -+RELOC_TYPE (TLS_LDM, 0) -+RELOC_TYPE (TLS_DTPREL_HI16, 0) -+RELOC_TYPE (TLS_DTPREL_LO16, 0) -+RELOC_TYPE (TLS_GOTTPREL, 0) -+RELOC_TYPE (TLS_TPREL32, 0) -+RELOC_TYPE (TLS_TPREL64, 0) -+RELOC_TYPE (TLS_TPREL_HI16, 0) -+RELOC_TYPE (TLS_TPREL_LO16, 0) -+ -+#define NO_COPY_RELOC 1 -+#define NO_RELATIVE_RELOC 1 -Index: elfutils-0.145/backends/mips_retval.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.145/backends/mips_retval.c 2010-02-24 18:57:35.000000000 +0000 -@@ -0,0 +1,321 @@ -+/* Function return value location for Linux/mips ABI. -+ Copyright (C) 2005 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 <assert.h> -+#include <dwarf.h> -+#include <elf.h> -+ -+#include "../libebl/libeblP.h" -+#include "../libdw/libdwP.h" -+ -+#define BACKEND mips_ -+#include "libebl_CPU.h" -+ -+/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ -+#define EF_MIPS_ABI 0x0000F000 -+ -+/* The original o32 abi. */ -+#define E_MIPS_ABI_O32 0x00001000 -+ -+/* O32 extended to work on 64 bit architectures */ -+#define E_MIPS_ABI_O64 0x00002000 -+ -+/* EABI in 32 bit mode */ -+#define E_MIPS_ABI_EABI32 0x00003000 -+ -+/* EABI in 64 bit mode */ -+#define E_MIPS_ABI_EABI64 0x00004000 -+ -+/* All the possible MIPS ABIs. */ -+enum mips_abi -+ { -+ MIPS_ABI_UNKNOWN = 0, -+ MIPS_ABI_N32, -+ MIPS_ABI_O32, -+ MIPS_ABI_N64, -+ MIPS_ABI_O64, -+ MIPS_ABI_EABI32, -+ MIPS_ABI_EABI64, -+ MIPS_ABI_LAST -+ }; -+ -+/* Find the mips ABI of the current file */ -+enum mips_abi find_mips_abi(Elf *elf) -+{ -+ GElf_Ehdr ehdr_mem; -+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); -+ -+ if (ehdr == NULL) -+ return MIPS_ABI_LAST; -+ -+ GElf_Word elf_flags = ehdr->e_flags; -+ -+ /* Check elf_flags to see if it specifies the ABI being used. */ -+ switch ((elf_flags & EF_MIPS_ABI)) -+ { -+ case E_MIPS_ABI_O32: -+ return MIPS_ABI_O32; -+ case E_MIPS_ABI_O64: -+ return MIPS_ABI_O64; -+ case E_MIPS_ABI_EABI32: -+ return MIPS_ABI_EABI32; -+ case E_MIPS_ABI_EABI64: -+ return MIPS_ABI_EABI64; -+ default: -+ if ((elf_flags & EF_MIPS_ABI2)) -+ return MIPS_ABI_N32; -+ } -+ -+ /* GCC creates a pseudo-section whose name describes the ABI. */ -+ size_t shstrndx; -+ if (elf_getshdrstrndx (elf, &shstrndx) < 0) -+ return MIPS_ABI_LAST; -+ -+ const char *name; -+ Elf_Scn *scn = NULL; -+ while ((scn = elf_nextscn (elf, scn)) != NULL) -+ { -+ GElf_Shdr shdr_mem; -+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); -+ if (shdr == NULL) -+ return MIPS_ABI_LAST; -+ -+ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: ""; -+ if (strncmp (name, ".mdebug.", 8) != 0) -+ continue; -+ -+ if (strcmp (name, ".mdebug.abi32") == 0) -+ return MIPS_ABI_O32; -+ else if (strcmp (name, ".mdebug.abiN32") == 0) -+ return MIPS_ABI_N32; -+ else if (strcmp (name, ".mdebug.abi64") == 0) -+ return MIPS_ABI_N64; -+ else if (strcmp (name, ".mdebug.abiO64") == 0) -+ return MIPS_ABI_O64; -+ else if (strcmp (name, ".mdebug.eabi32") == 0) -+ return MIPS_ABI_EABI32; -+ else if (strcmp (name, ".mdebug.eabi64") == 0) -+ return MIPS_ABI_EABI64; -+ else -+ return MIPS_ABI_UNKNOWN; -+ } -+ -+ return MIPS_ABI_UNKNOWN; -+} -+ -+unsigned int -+mips_abi_regsize (enum mips_abi abi) -+{ -+ switch (abi) -+ { -+ case MIPS_ABI_EABI32: -+ case MIPS_ABI_O32: -+ return 4; -+ case MIPS_ABI_N32: -+ case MIPS_ABI_N64: -+ case MIPS_ABI_O64: -+ case MIPS_ABI_EABI64: -+ return 8; -+ case MIPS_ABI_UNKNOWN: -+ case MIPS_ABI_LAST: -+ default: -+ return 0; -+ } -+} -+ -+ -+/* $v0 or pair $v0, $v1 */ -+static const Dwarf_Op loc_intreg_o32[] = -+ { -+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 }, -+ }; -+ -+static const Dwarf_Op loc_intreg[] = -+ { -+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 }, -+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 }, -+ }; -+#define nloc_intreg 1 -+#define nloc_intregpair 4 -+ -+/* $f0 (float), or pair $f0, $f1 (double). -+ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */ -+static const Dwarf_Op loc_fpreg_o32[] = -+ { -+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 }, -+ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 }, -+ }; -+ -+/* $f0, or pair $f0, $f2. */ -+static const Dwarf_Op loc_fpreg[] = -+ { -+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 }, -+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 }, -+ }; -+#define nloc_fpreg 1 -+#define nloc_fpregpair 4 -+#define nloc_fpregquad 8 -+ -+/* The return value is a structure and is actually stored in stack space -+ passed in a hidden argument by the caller. But, the compiler -+ helpfully returns the address of that space in $v0. */ -+static const Dwarf_Op loc_aggregate[] = -+ { -+ { .atom = DW_OP_breg2, .number = 0 } -+ }; -+#define nloc_aggregate 1 -+ -+int -+mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) -+{ -+ /* First find the ABI used by the elf object */ -+ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf); -+ -+ /* Something went seriously wrong while trying to figure out the ABI */ -+ if (abi == MIPS_ABI_LAST) -+ return -1; -+ -+ /* We couldn't identify the ABI, but the file seems valid */ -+ if (abi == MIPS_ABI_UNKNOWN) -+ return -2; -+ -+ /* Can't handle EABI variants */ -+ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64)) -+ return -2; -+ -+ unsigned int regsize = mips_abi_regsize (abi); -+ if (!regsize) -+ return -2; -+ -+ /* Start with the function's type, and get the DW_AT_type attribute, -+ which is the type of the return value. */ -+ -+ Dwarf_Attribute attr_mem; -+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); -+ if (attr == NULL) -+ /* The function has no return value, like a `void' function in C. */ -+ return 0; -+ -+ Dwarf_Die die_mem; -+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); -+ int tag = dwarf_tag (typedie); -+ -+ /* Follow typedefs and qualifiers to get to the actual type. */ -+ while (tag == DW_TAG_typedef -+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type -+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) -+ { -+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); -+ typedie = dwarf_formref_die (attr, &die_mem); -+ tag = dwarf_tag (typedie); -+ } -+ -+ switch (tag) -+ { -+ case -1: -+ return -1; -+ -+ case DW_TAG_subrange_type: -+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) -+ { -+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); -+ typedie = dwarf_formref_die (attr, &die_mem); -+ tag = dwarf_tag (typedie); -+ } -+ /* Fall through. */ -+ -+ case DW_TAG_base_type: -+ case DW_TAG_enumeration_type: -+ case DW_TAG_pointer_type: -+ case DW_TAG_ptr_to_member_type: -+ { -+ Dwarf_Word size; -+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, -+ &attr_mem), &size) != 0) -+ { -+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) -+ size = regsize; -+ else -+ return -1; -+ } -+ if (tag == DW_TAG_base_type) -+ { -+ Dwarf_Word encoding; -+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, -+ &attr_mem), &encoding) != 0) -+ return -1; -+ -+#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc)) -+ -+ if (encoding == DW_ATE_float) -+ { -+ *locp = ABI_LOC(loc_fpreg, regsize); -+ if (size <= regsize) -+ return nloc_fpreg; -+ -+ if (size <= 2*regsize) -+ return nloc_fpregpair; -+ -+ if (size <= 4*regsize && abi == MIPS_ABI_O32) -+ return nloc_fpregquad; -+ -+ goto aggregate; -+ } -+ } -+ *locp = ABI_LOC(loc_intreg, regsize); -+ if (size <= regsize) -+ return nloc_intreg; -+ if (size <= 2*regsize) -+ return nloc_intregpair; -+ -+ /* Else fall through. Shouldn't happen though (at least with gcc) */ -+ } -+ -+ case DW_TAG_structure_type: -+ case DW_TAG_class_type: -+ case DW_TAG_union_type: -+ case DW_TAG_array_type: -+ aggregate: -+ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */ -+ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64)) -+ return -2; -+ -+ *locp = loc_aggregate; -+ return nloc_aggregate; -+ } -+ -+ /* XXX We don't have a good way to return specific errors from ebl calls. -+ This value means we do not understand the type, but it is well-formed -+ DWARF and might be valid. */ -+ return -2; -+} -Index: elfutils-0.145/backends/mips_symbol.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ elfutils-0.145/backends/mips_symbol.c 2010-02-24 18:57:35.000000000 +0000 -@@ -0,0 +1,52 @@ -+/* MIPS specific symbolic name handling. -+ Copyright (C) 2002, 2003, 2005 Red Hat, Inc. -+ This file is part of Red Hat elfutils. -+ Written by Jakub Jelinek <jakub@redhat.com>, 2002. -+ -+ 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 <elf.h> -+#include <stddef.h> -+ -+#define BACKEND mips_ -+#include "libebl_CPU.h" -+ -+/* Check for the simple reloc types. */ -+Elf_Type -+mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) -+{ -+ switch (type) -+ { -+ case R_MIPS_16: -+ return ELF_T_HALF; -+ case R_MIPS_32: -+ return ELF_T_WORD; -+ case R_MIPS_64: -+ return ELF_T_XWORD; -+ default: -+ return ELF_T_NUM; -+ } -+} -Index: elfutils-0.145/libebl/eblopenbackend.c -=================================================================== ---- elfutils-0.145.orig/libebl/eblopenbackend.c 2010-02-24 18:55:51.000000000 +0000 -+++ elfutils-0.145/libebl/eblopenbackend.c 2010-02-24 18:57:35.000000000 +0000 -@@ -91,6 +91,8 @@ - { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, - { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, - { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, -+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, -+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, - - { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, - { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 }, -Index: elfutils-0.145/backends/common-reloc.c -=================================================================== ---- elfutils-0.145.orig/backends/common-reloc.c 2010-02-24 18:55:51.000000000 +0000 -+++ elfutils-0.145/backends/common-reloc.c 2010-02-24 18:57:35.000000000 +0000 -@@ -109,11 +109,13 @@ - } - - -+#ifndef NO_COPY_RELOC - bool - EBLHOOK(copy_reloc_p) (int reloc) - { - return reloc == R_TYPE (COPY); - } -+#endif - - bool - EBLHOOK(none_reloc_p) (int reloc) -@@ -135,7 +137,9 @@ - ebl->reloc_type_name = EBLHOOK(reloc_type_name); - ebl->reloc_type_check = EBLHOOK(reloc_type_check); - ebl->reloc_valid_use = EBLHOOK(reloc_valid_use); -+#ifndef NO_COPY_RELOC - ebl->copy_reloc_p = EBLHOOK(copy_reloc_p); -+#endif - ebl->none_reloc_p = EBLHOOK(none_reloc_p); - #ifndef NO_RELATIVE_RELOC - ebl->relative_reloc_p = EBLHOOK(relative_reloc_p); -Index: elfutils-0.145/backends/Makefile.am -=================================================================== ---- elfutils-0.145.orig/backends/Makefile.am 2010-02-24 18:57:26.000000000 +0000 -+++ elfutils-0.145/backends/Makefile.am 2010-02-24 18:57:57.000000000 +0000 -@@ -29,11 +29,11 @@ - -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw - - --modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc -+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips - libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ - libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ - libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ -- libebl_s390_pic.a libebl_parisc_pic.a -+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a - noinst_LIBRARIES = $(libebl_pic) - noinst_DATA = $(libebl_pic:_pic.a=.so) - -@@ -99,6 +99,10 @@ - libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) - am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) - -+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c -+libebl_mips_pic_a_SOURCES = $(mips_SRCS) -+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) -+ - libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) - @rm -f $(@:.so=.map) - echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch deleted file mode 100644 index 2b5dad368a..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream-Status: Backport - -nm: Fix size passed to snprintf for invalid sh_name case. -native build failed as following on Fedora18: -nm.c: In function 'show_symbols_sysv': -nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess] - snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", - ^ - -The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58 - -Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> - ---- elfutils-0.148/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500 -+++ elfutils-0.148/src/nm.c 2013-03-11 22:46:09.000000000 -0500 -@@ -752,8 +752,9 @@ - gelf_getshdr (scn, &shdr_mem)->sh_name); - if (unlikely (name == NULL)) - { -- name = alloca (sizeof "[invalid sh_name 0x12345678]"); -- snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", -+ const size_t bufsz = sizeof "[invalid sh_name 0x12345678]"; -+ name = alloca (bufsz); -+ snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]", - gelf_getshdr (scn, &shdr_mem)->sh_name); - } - scnnames[elf_ndxscn (scn)] = name; diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff deleted file mode 100644 index b8a912c412..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff +++ /dev/null @@ -1,756 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.148/backends/ChangeLog -=================================================================== ---- elfutils-0.148.orig/backends/ChangeLog 2010-04-13 20:08:02.000000000 +0000 -+++ elfutils-0.148/backends/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -106,6 +106,10 @@ - * ppc_attrs.c (ppc_check_object_attribute): Handle tag - GNU_Power_ABI_Struct_Return. - -+2009-01-23 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED). -+ - 2008-10-04 Ulrich Drepper <drepper@redhat.com> - - * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and -@@ -433,6 +437,11 @@ - * sparc_init.c: Likewise. - * x86_64_init.c: Likewise. - -+2005-11-22 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure. -+ (libebl_%.so rule): Use it in place of -Wl,--as-needed. -+ - 2005-11-19 Roland McGrath <roland@redhat.com> - - * ppc64_reloc.def: REL30 -> ADDR30. -@@ -455,6 +464,9 @@ - * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). - (CLEANFILES): Add libebl_$(m).so. - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>. - * ppc64_reloc.def: Likewise. - -Index: elfutils-0.148/backends/Makefile.am -=================================================================== ---- elfutils-0.148.orig/backends/Makefile.am 2010-04-13 20:08:02.000000000 +0000 -+++ elfutils-0.148/backends/Makefile.am 2010-07-03 13:04:07.000000000 +0000 -@@ -103,7 +103,7 @@ - $(LINK) -shared -o $(@:.map=.so) \ - -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ - -Wl,--version-script,$(@:.so=.map) \ -- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap) -+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap) - $(textrel_check) - - libebl_i386.so: $(cpu_i386) -Index: elfutils-0.148/ChangeLog -=================================================================== ---- elfutils-0.148.orig/ChangeLog 2010-04-21 14:26:40.000000000 +0000 -+++ elfutils-0.148/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -2,6 +2,10 @@ - - * configure.ac (LOCALEDIR, DATADIRNAME): Removed. - -+2009-11-22 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Use sed and expr instead of modern bash extensions. -+ - 2009-09-21 Ulrich Drepper <drepper@redhat.com> - - * configure.ac: Update for more modern autoconf. -@@ -10,6 +14,10 @@ - - * configure.ac (zip_LIBS): Check for liblzma too. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works. -+ - 2009-04-19 Roland McGrath <roland@redhat.com> - - * configure.ac (eu_version): Round down here, not in version.h macros. -@@ -21,6 +29,8 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * configure.ac: Check for __builtin_popcount. -+ - * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. - - * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of -@@ -101,6 +111,10 @@ - * configure.ac: Add dummy automake conditional to get dependencies - for non-generic linker right. See src/Makefile.am. - -+2005-11-22 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Check for --as-needed linker option. -+ - 2005-11-18 Roland McGrath <roland@redhat.com> - - * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. -@@ -148,6 +162,17 @@ - * Makefile.am (all_SUBDIRS): Add libdwfl. - * configure.ac: Write libdwfl/Makefile. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution. -+ -+ * configure.ac: Check for struct stat st_?tim members. -+ * src/strip.c (process_file): Use st_?time if st_?tim are not there. -+ -+ * configure.ac: Check for futimes function. -+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead. -+ (handle_ar) [! HAVE_FUTIMES]: Likewise. -+ - 2005-05-19 Roland McGrath <roland@redhat.com> - - * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. -Index: elfutils-0.148/config/eu.am -=================================================================== ---- elfutils-0.148.orig/config/eu.am 2010-04-21 14:26:40.000000000 +0000 -+++ elfutils-0.148/config/eu.am 2010-07-03 13:04:07.000000000 +0000 -@@ -25,11 +25,14 @@ - ## <http://www.openinventionnetwork.com>. - ## - -+WEXTRA = @WEXTRA@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ -+ - 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_Wunused),,-Wunused -Wextra) \ -+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \ - $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \ - $($(*F)_CFLAGS) - -Index: elfutils-0.148/config.h.in -=================================================================== ---- elfutils-0.148.orig/config.h.in 2010-06-28 19:07:37.000000000 +0000 -+++ elfutils-0.148/config.h.in 2010-07-03 13:04:07.000000000 +0000 -@@ -1,5 +1,8 @@ - /* config.h.in. Generated from configure.ac by autoheader. */ - -+/* Have __builtin_popcount. */ -+#undef HAVE_BUILTIN_POPCOUNT -+ - /* $libdir subdirectory containing libebl modules. */ - #undef LIBEBL_SUBDIR - -@@ -55,4 +58,7 @@ - /* Define for large files, on AIX-style hosts. */ - #undef _LARGE_FILES - -+/* Stubbed out if missing compiler support. */ -+#undef __thread -+ - #include <eu-config.h> -Index: elfutils-0.148/configure.ac -=================================================================== ---- elfutils-0.148.orig/configure.ac 2010-06-28 19:07:26.000000000 +0000 -+++ elfutils-0.148/configure.ac 2010-07-03 13:04:07.000000000 +0000 -@@ -73,6 +73,54 @@ - AS_IF([test "x$ac_cv_c99" != xyes], - AC_MSG_ERROR([gcc with C99 support required])) - -+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl -+old_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -Wextra" -+AC_COMPILE_IFELSE([void foo (void) { }], -+ ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no) -+CFLAGS="$old_CFLAGS"]) -+AC_SUBST(WEXTRA) -+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W]) -+ -+AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl -+old_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -fgnu89-inline -Werror" -+AC_COMPILE_IFELSE([ -+void foo (void) -+{ -+ inline void bar (void) {} -+ bar (); -+} -+extern inline void baz (void) {} -+], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no) -+CFLAGS="$old_CFLAGS"]) -+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes], -+ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"]) -+ -+AC_CACHE_CHECK([for --as-needed linker option], -+ ac_cv_as_needed, [dnl -+cat > conftest.c <<EOF -+int main (void) { return 0; } -+EOF -+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -+ -fPIC -shared -o conftest.so conftest.c -+ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD]) -+then -+ ac_cv_as_needed=yes -+else -+ ac_cv_as_needed=no -+fi -+rm -f conftest*]) -+AS_IF([test "x$ac_cv_as_needed" = xyes], -+ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=]) -+AC_SUBST(LD_AS_NEEDED) -+ -+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl -+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])], -+ ac_cv_popcount=yes, ac_cv_popcount=no)]) -+AS_IF([test "x$ac_cv_popcount" = xyes], -+ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])]) -+ - 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. -@@ -88,7 +136,10 @@ - CFLAGS="$save_CFLAGS" - LDFLAGS="$save_LDFLAGS"]) - AS_IF([test "x$ac_cv_tls" != xyes], -- AC_MSG_ERROR([__thread support required])) -+ [AS_IF([test "$use_locks" = yes], -+ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])], -+ [AC_DEFINE([__thread], [/* empty: no multi-thread support */], -+ [Stubbed out if missing compiler support.])])]) - - 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 -@@ -251,7 +302,7 @@ - - # 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 -@@ -280,6 +331,6 @@ - esac - - # Round up to the next release API (x.y) version. --[eu_version=$[($eu_version + 999) / 1000]] -+eu_version=`expr \( $eu_version + 999 \) / 1000` - - AC_OUTPUT -Index: elfutils-0.148/lib/ChangeLog -=================================================================== ---- elfutils-0.148.orig/lib/ChangeLog 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/lib/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -14,6 +14,9 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * eu-config.h [! HAVE_BUILTIN_POPCOUNT] -+ (__builtin_popcount): New inline function. -+ - * eu-config.h: Add multiple inclusion protection. - - 2009-01-17 Ulrich Drepper <drepper@redhat.com> -@@ -70,6 +73,11 @@ - * Makefile.am (libeu_a_SOURCES): Add it. - * system.h: Declare crc32_file. - -+2005-02-07 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-04-30 Ulrich Drepper <drepper@redhat.com> - - * Makefile.am: Use -ffunction-sections for xmalloc.c. -Index: elfutils-0.148/lib/eu-config.h -=================================================================== ---- elfutils-0.148.orig/lib/eu-config.h 2009-08-12 14:23:22.000000000 +0000 -+++ elfutils-0.148/lib/eu-config.h 2010-07-03 13:04:07.000000000 +0000 -@@ -182,6 +182,17 @@ - /* This macro is used by the tests conditionalize for standalone building. */ - #define ELFUTILS_HEADER(name) <lib##name.h> - -+#ifndef HAVE_BUILTIN_POPCOUNT -+# define __builtin_popcount hakmem_popcount -+static inline unsigned int __attribute__ ((unused)) -+hakmem_popcount (unsigned int x) -+{ -+ /* HAKMEM 169 */ -+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111); -+ return ((n + (n >> 3)) & 030707070707) % 63; -+} -+#endif /* HAVE_BUILTIN_POPCOUNT */ -+ - - #ifdef SHARED - # define OLD_VERSION(name, version) \ -Index: elfutils-0.148/libasm/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libasm/ChangeLog 2010-03-05 05:48:23.000000000 +0000 -+++ elfutils-0.148/libasm/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -67,6 +67,11 @@ - * asm_error.c: Add new error ASM_E_IOERROR. - * libasmP.h: Add ASM_E_IOERROR definition. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-02-15 Ulrich Drepper <drepper@redhat.com> - - * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. -Index: elfutils-0.148/libcpu/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libcpu/ChangeLog 2010-03-05 05:48:23.000000000 +0000 -+++ elfutils-0.148/libcpu/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -9,6 +9,9 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old -+ compilers that don't realize it's noreturn. -+ - * Makefile.am (i386_parse_CFLAGS): Use quotes around command - substitution that can produce leading whitespace. - -@@ -338,6 +341,11 @@ - * defs/i386.doc: New file. - * defs/x86_64: New file. - -+2005-04-04 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it instead of -Wextra. -+ - 2005-02-15 Ulrich Drepper <drepper@redhat.com> - - * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. -Index: elfutils-0.148/libcpu/i386_disasm.c -=================================================================== ---- elfutils-0.148.orig/libcpu/i386_disasm.c 2009-01-08 20:56:36.000000000 +0000 -+++ elfutils-0.148/libcpu/i386_disasm.c 2010-07-03 13:04:07.000000000 +0000 -@@ -791,6 +791,7 @@ - - default: - assert (! "INVALID not handled"); -+ abort (); - } - } - else -Index: elfutils-0.148/libdw/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libdw/ChangeLog 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/libdw/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -276,6 +276,10 @@ - - * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * libdw.h: Disable extern inlines for GCC 4.2. -+ - 2009-08-10 Roland McGrath <roland@redhat.com> - - * dwarf_getscopevar.c: Use dwarf_diename. -@@ -1044,6 +1048,11 @@ - - 2005-05-31 Roland McGrath <roland@redhat.com> - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ -+2005-05-31 Roland McGrath <roland@redhat.com> -+ - * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to - formref offset. - -Index: elfutils-0.148/libdw/libdw.h -=================================================================== ---- elfutils-0.148.orig/libdw/libdw.h 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/libdw/libdw.h 2010-07-03 13:04:07.000000000 +0000 -@@ -842,7 +842,7 @@ - - - /* Inline optimizations. */ --#ifdef __OPTIMIZE__ -+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) - /* Return attribute code of given attribute. */ - __libdw_extern_inline unsigned int - dwarf_whatattr (Dwarf_Attribute *attr) -Index: elfutils-0.148/libdwfl/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libdwfl/ChangeLog 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/libdwfl/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -1265,6 +1265,11 @@ - - 2005-07-21 Roland McGrath <roland@redhat.com> - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ -+2005-07-21 Roland McGrath <roland@redhat.com> -+ - * Makefile.am (noinst_HEADERS): Add loc2c.c. - - * test2.c (main): Check sscanf result to quiet warning. -Index: elfutils-0.148/libebl/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libebl/ChangeLog 2010-03-05 05:48:23.000000000 +0000 -+++ elfutils-0.148/libebl/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -624,6 +624,11 @@ - * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency - tracking works right. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-21 Ulrich Drepper <drepper@redhat.com> - - * libebl_x86_64.map: Add x86_64_core_note. -Index: elfutils-0.148/libelf/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libelf/ChangeLog 2010-06-14 21:17:20.000000000 +0000 -+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:04:07.000000000 +0000 -@@ -657,6 +657,11 @@ - - * elf.h: Update from glibc. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-08 Roland McGrath <roland@redhat.com> - - * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. -Index: elfutils-0.148/libelf/common.h -=================================================================== ---- elfutils-0.148.orig/libelf/common.h 2009-01-08 20:56:36.000000000 +0000 -+++ elfutils-0.148/libelf/common.h 2010-07-03 13:04:07.000000000 +0000 -@@ -160,7 +160,7 @@ - (Var) = (sizeof (Var) == 1 \ - ? (unsigned char) (Var) \ - : (sizeof (Var) == 2 \ -- ? bswap_16 (Var) \ -+ ? (unsigned short int) bswap_16 (Var) \ - : (sizeof (Var) == 4 \ - ? bswap_32 (Var) \ - : bswap_64 (Var)))) -@@ -169,7 +169,7 @@ - (Dst) = (sizeof (Var) == 1 \ - ? (unsigned char) (Var) \ - : (sizeof (Var) == 2 \ -- ? bswap_16 (Var) \ -+ ? (unsigned short int) bswap_16 (Var) \ - : (sizeof (Var) == 4 \ - ? bswap_32 (Var) \ - : bswap_64 (Var)))) -Index: elfutils-0.148/src/addr2line.c -=================================================================== ---- elfutils-0.148.orig/src/addr2line.c 2010-05-28 14:38:30.000000000 +0000 -+++ elfutils-0.148/src/addr2line.c 2010-07-03 13:05:40.000000000 +0000 -@@ -447,10 +447,10 @@ - bool parsed = false; - int i, j; - char *name = NULL; -- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 -+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 - && string[i] == '\0') - parsed = adjust_to_section (name, &addr, dwfl); -- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) -+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) - { - default: - break; -Index: elfutils-0.148/src/ChangeLog -=================================================================== ---- elfutils-0.148.orig/src/ChangeLog 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:04:08.000000000 +0000 -@@ -165,8 +165,16 @@ - * readelf.c (attr_callback): Use print_block only when we don't use - print_ops. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * ld.h: Disable extern inlines for GCC 4.2. -+ - 2009-08-14 Roland McGrath <roland@redhat.com> - -+ * strings.c (read_block): Conditionalize posix_fadvise use -+ on [POSIX_FADV_SEQUENTIAL]. -+ From Petr Salinger <Petr.Salinger@seznam.cz>. -+ - * ar.c (do_oper_extract): Use pathconf instead of statfs. - - 2009-08-01 Ulrich Drepper <drepper@redhat.com> -@@ -330,6 +338,8 @@ - * readelf.c (print_debug_frame_section): Use t instead of j formats - for ptrdiff_t OFFSET. - -+ * addr2line.c (handle_address): Use %a instead of %m for compatibility. -+ - 2009-01-21 Ulrich Drepper <drepper@redhat.com> - - * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section -@@ -513,6 +523,11 @@ - that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really - is valid in RELRO. - -+2008-03-01 Roland McGrath <roland@redhat.com> -+ -+ * readelf.c (dump_archive_index): Tweak portability hack -+ to match [__GNUC__ < 4] too. -+ - 2008-02-29 Roland McGrath <roland@redhat.com> - - * readelf.c (print_attributes): Add a cast. -@@ -764,6 +779,8 @@ - - * readelf.c (hex_dump): Fix rounding error in whitespace calculation. - -+ * Makefile.am (readelf_no_Werror): New variable. -+ - 2007-10-15 Roland McGrath <roland@redhat.com> - - * make-debug-archive.in: New file. -@@ -1203,6 +1220,10 @@ - * elflint.c (valid_e_machine): Add EM_ALPHA. - Reported by Christian Aichinger <Greek0@gmx.net>. - -+ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to -+ MADV_SEQUENTIAL if undefined. Don't call posix_madvise -+ if neither is defined. -+ - 2006-08-08 Ulrich Drepper <drepper@redhat.com> - - * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. -@@ -1279,6 +1300,10 @@ - * Makefile.am: Add hacks to create dependency files for non-generic - linker. - -+2006-04-05 Roland McGrath <roland@redhat.com> -+ -+ * strings.c (MAP_POPULATE): Define to 0 if undefined. -+ - 2006-06-12 Ulrich Drepper <drepper@redhat.com> - - * ldgeneric.c (ld_generic_generate_sections): Don't create .interp -@@ -1627,6 +1652,11 @@ - * readelf.c (print_debug_loc_section): Fix indentation for larger - address size. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-30 Roland McGrath <roland@redhat.com> - - * readelf.c (print_debug_line_section): Print section offset of each -Index: elfutils-0.148/src/findtextrel.c -=================================================================== ---- elfutils-0.148.orig/src/findtextrel.c 2009-02-11 01:12:59.000000000 +0000 -+++ elfutils-0.148/src/findtextrel.c 2010-07-03 13:04:08.000000000 +0000 -@@ -490,7 +490,11 @@ - - - static void --check_rel (size_t nsegments, struct segments segments[nsegments], -+check_rel (size_t nsegments, struct segments segments[ -+#if __GNUC__ >= 4 -+ nsegments -+#endif -+ ], - GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw, - const char *fname, bool more_than_one, void **knownsrcs) - { -Index: elfutils-0.148/src/ld.h -=================================================================== ---- elfutils-0.148.orig/src/ld.h 2009-06-13 22:39:51.000000000 +0000 -+++ elfutils-0.148/src/ld.h 2010-07-03 13:04:08.000000000 +0000 -@@ -1122,6 +1122,7 @@ - - /* Checked whether the symbol is undefined and referenced from a DSO. */ - extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx); -+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) - #ifdef __GNUC_STDC_INLINE__ - __attribute__ ((__gnu_inline__)) - #endif -@@ -1139,5 +1140,6 @@ - - return sym->defined && sym->in_dso; - } -+#endif /* Optimizing and not GCC 4.2. */ - - #endif /* ld.h */ -Index: elfutils-0.148/src/Makefile.am -=================================================================== ---- elfutils-0.148.orig/src/Makefile.am 2010-03-05 05:48:23.000000000 +0000 -+++ elfutils-0.148/src/Makefile.am 2010-07-03 13:04:08.000000000 +0000 -@@ -99,6 +99,9 @@ - # XXX While the file is not finished, don't warn about this - ldgeneric_no_Wunused = yes - -+# Buggy old compilers. -+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) - -Index: elfutils-0.148/src/readelf.c -=================================================================== ---- elfutils-0.148.orig/src/readelf.c 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/src/readelf.c 2010-07-03 13:04:08.000000000 +0000 -@@ -7845,7 +7845,7 @@ - if (unlikely (elf_rand (elf, as_off) == 0) - || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf)) - == NULL)) --#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) -+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4 - while (1) - #endif - error (EXIT_FAILURE, 0, -Index: elfutils-0.148/src/strings.c -=================================================================== ---- elfutils-0.148.orig/src/strings.c 2009-02-11 01:12:59.000000000 +0000 -+++ elfutils-0.148/src/strings.c 2010-07-03 13:04:08.000000000 +0000 -@@ -51,6 +51,10 @@ - - #include <system.h> - -+#ifndef MAP_POPULATE -+# define MAP_POPULATE 0 -+#endif -+ - - /* Prototypes of local functions. */ - static int read_fd (int fd, const char *fname, off64_t fdlen); -@@ -491,8 +495,13 @@ - fd, start_off); - if (mem != MAP_FAILED) - { -+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL -+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL -+#endif -+#ifdef POSIX_MADV_SEQUENTIAL - /* We will go through the mapping sequentially. */ - (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL); -+#endif - break; - } - if (errno != EINVAL && errno != ENOMEM) -@@ -586,9 +595,11 @@ - elfmap_off = from & ~(ps - 1); - elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size); - -+#ifdef POSIX_FADV_SEQUENTIAL - if (unlikely (elfmap == MAP_FAILED)) - /* Let the kernel know we are going to read everything in sequence. */ - (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL); -+#endif - } - - if (unlikely (elfmap == MAP_FAILED)) -Index: elfutils-0.148/src/strip.c -=================================================================== ---- elfutils-0.148.orig/src/strip.c 2010-01-15 09:05:55.000000000 +0000 -+++ elfutils-0.148/src/strip.c 2010-07-03 13:04:08.000000000 +0000 -@@ -53,6 +53,12 @@ - #include <libebl.h> - #include <system.h> - -+#ifdef HAVE_FUTIMES -+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp) -+#else -+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp) -+#endif -+ - - /* Name and version of program. */ - static void print_version (FILE *stream, struct argp_state *state); -@@ -301,8 +307,18 @@ - - /* If we have to preserve the timestamp, we need it in the - format utimes() understands. */ -+#ifdef HAVE_STRUCT_STAT_ST_ATIM - TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim); -+#else -+ tv[0].tv_sec = pre_st.st_atime; -+ tv[0].tv_usec = 0; -+#endif -+#ifdef HAVE_STRUCT_STAT_ST_MTIM - TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim); -+#else -+ tv[1].tv_sec = pre_st.st_atime; -+ tv[1].tv_usec = 0; -+#endif - } - - /* Open the file. */ -@@ -1747,7 +1763,7 @@ - /* If requested, preserve the timestamp. */ - if (tvp != NULL) - { -- if (futimes (fd, tvp) != 0) -+ if (FUTIMES (fd, output_fname, tvp) != 0) - { - error (0, errno, gettext ("\ - cannot set access and modification date of '%s'"), -@@ -1804,7 +1820,7 @@ - - if (tvp != NULL) - { -- if (unlikely (futimes (fd, tvp) != 0)) -+ if (unlikely (FUTIMES (fd, fname, tvp) != 0)) - { - error (0, errno, gettext ("\ - cannot set access and modification date of '%s'"), fname); -Index: elfutils-0.148/tests/ChangeLog -=================================================================== ---- elfutils-0.148.orig/tests/ChangeLog 2010-06-28 19:05:56.000000000 +0000 -+++ elfutils-0.148/tests/ChangeLog 2010-07-03 13:04:08.000000000 +0000 -@@ -154,6 +154,8 @@ - - 2008-01-21 Roland McGrath <roland@redhat.com> - -+ * line2addr.c (main): Revert last change. -+ - * testfile45.S.bz2: Add tests for cltq, cqto. - * testfile45.expect.bz2: Adjust. - -@@ -862,6 +864,11 @@ - * Makefile.am (TESTS): Add run-elflint-test.sh. - (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-24 Ulrich Drepper <drepper@redhat.com> - - * get-files.c (main): Use correct format specifier. -Index: elfutils-0.148/tests/line2addr.c -=================================================================== ---- elfutils-0.148.orig/tests/line2addr.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/tests/line2addr.c 2010-07-03 13:04:08.000000000 +0000 -@@ -132,7 +132,7 @@ - { - struct args a = { .arg = argv[cnt] }; - -- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) -+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) - { - default: - case 0: diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff deleted file mode 100644 index cd398549df..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff +++ /dev/null @@ -1,1709 +0,0 @@ -Upstream-Status: Backport - -Index: elfutils-0.148/libelf/ChangeLog -=================================================================== ---- elfutils-0.148.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000 -+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000 -@@ -649,10 +649,53 @@ - If section content hasn't been read yet, do it before looking for the - block size. If no section data present, infer size of section header. - -+2005-05-14 Jakub Jelinek <jakub@redhat.com> -+ -+ * libelfP.h (INVALID_NDX): Define. -+ * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any. -+ * gelf_getlib.c (gelf_getlib): Likewise. -+ * gelf_getmove.c (gelf_getmove): Likewise. -+ * gelf_getrel.c (gelf_getrel): Likewise. -+ * gelf_getrela.c (gelf_getrela): Likewise. -+ * gelf_getsym.c (gelf_getsym): Likewise. -+ * gelf_getsyminfo.c (gelf_getsyminfo): Likewise. -+ * gelf_getsymshndx.c (gelf_getsymshndx): Likewise. -+ * gelf_getversym.c (gelf_getversym): Likewise. -+ * gelf_update_dyn.c (gelf_update_dyn): Likewise. -+ * gelf_update_lib.c (gelf_update_lib): Likewise. -+ * gelf_update_move.c (gelf_update_move): Likewise. -+ * gelf_update_rel.c (gelf_update_rel): Likewise. -+ * gelf_update_rela.c (gelf_update_rela): Likewise. -+ * gelf_update_sym.c (gelf_update_sym): Likewise. -+ * gelf_update_syminfo.c (gelf_update_syminfo): Likewise. -+ * gelf_update_symshndx.c (gelf_update_symshndx): Likewise. -+ * gelf_update_versym.c (gelf_update_versym): Likewise. -+ * elf_newscn.c (elf_newscn): Check for overflow. -+ * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. -+ (__elfw2(LIBELFBITS,updatefile)): Likewise. -+ * elf_begin.c (file_read_elf): Likewise. -+ * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. -+ * elf_getarsym.c (elf_getarsym): Likewise. -+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise. - 2005-05-11 Ulrich Drepper <drepper@redhat.com> - - * elf.h: Update again. - -+2005-05-17 Jakub Jelinek <jakub@redhat.com> -+ -+ * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header -+ table fits into object's bounds. -+ * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to -+ elf->map_address. Check if first section header fits into object's -+ bounds. -+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): -+ Check if section header table fits into object's bounds. -+ * elf_begin.c (get_shnum): Ensure section headers fits into -+ object's bounds. -+ (file_read_elf): Make sure scncnt is small enough to allocate both -+ ElfXX_Shdr and Elf_Scn array. Make sure section and program header -+ tables fit into object's bounds. Avoid memory leak on failure. -+ - 2005-05-09 Ulrich Drepper <drepper@redhat.com> - - * elf.h: Update from glibc. -Index: elfutils-0.148/libelf/elf32_getphdr.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000 -+++ elfutils-0.148/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000 -@@ -114,6 +114,16 @@ - - if (elf->map_address != NULL) - { -+ /* First see whether the information in the ELF header is -+ valid and it does not ask for too much. */ -+ if (unlikely (ehdr->e_phoff >= elf->maximum_size) -+ || unlikely (elf->maximum_size - ehdr->e_phoff < size)) -+ { -+ /* Something is wrong. */ -+ __libelf_seterrno (ELF_E_INVALID_PHDR); -+ goto out; -+ } -+ - /* All the data is already mapped. Use it. */ - void *file_phdr = ((char *) elf->map_address - + elf->start_offset + ehdr->e_phoff); -Index: elfutils-0.148/libelf/elf32_getshdr.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000 -+++ elfutils-0.148/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Return section header. -- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc. -+ Copyright (C) 1998-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 1998. - -@@ -81,7 +81,8 @@ - goto out; - - size_t shnum; -- if (__elf_getshdrnum_rdlock (elf, &shnum) != 0) -+ if (__elf_getshdrnum_rdlock (elf, &shnum) != 0 -+ || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr))) - goto out; - size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr)); - -@@ -98,6 +99,16 @@ - - if (elf->map_address != NULL) - { -+ /* First see whether the information in the ELF header is -+ valid and it does not ask for too much. */ -+ if (unlikely (ehdr->e_shoff >= elf->maximum_size) -+ || unlikely (elf->maximum_size - ehdr->e_shoff < size)) -+ { -+ /* Something is wrong. */ -+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); -+ goto free_and_out; -+ } -+ - ElfW2(LIBELFBITS,Shdr) *notcvt; - - /* All the data is already mapped. If we could use it -Index: elfutils-0.148/libelf/elf32_newphdr.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000 -+++ elfutils-0.148/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000 -@@ -135,6 +135,12 @@ - || count == PN_XNUM - || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL) - { -+ if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr)))) -+ { -+ result = NULL; -+ goto out; -+ } -+ - /* Allocate a new program header with the appropriate number of - elements. */ - result = (ElfW2(LIBELFBITS,Phdr) *) -Index: elfutils-0.148/libelf/elf32_updatefile.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000 -+++ elfutils-0.148/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000 -@@ -223,6 +223,9 @@ - /* Write all the sections. Well, only those which are modified. */ - if (shnum > 0) - { -+ if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *))) -+ return 1; -+ - Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns; - Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *)); - char *const shdr_start = ((char *) elf->map_address + elf->start_offset -@@ -645,6 +648,10 @@ - /* Write all the sections. Well, only those which are modified. */ - if (shnum > 0) - { -+ if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *) -+ + sizeof (ElfW2(LIBELFBITS,Shdr))))) -+ return 1; -+ - off_t shdr_offset = elf->start_offset + ehdr->e_shoff; - #if EV_NUM != 2 - xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR]; -Index: elfutils-0.148/libelf/elf_begin.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000 -+++ elfutils-0.148/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000 -@@ -165,7 +165,8 @@ - - if (unlikely (result == 0) && ehdr.e32->e_shoff != 0) - { -- if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize) -+ if (unlikely (ehdr.e32->e_shoff >= maxsize) -+ || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr))) - /* Cannot read the first section header. */ - return 0; - -@@ -213,7 +214,8 @@ - - if (unlikely (result == 0) && ehdr.e64->e_shoff != 0) - { -- if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize) -+ if (unlikely (ehdr.e64->e_shoff >= maxsize) -+ || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)) - /* Cannot read the first section header. */ - return 0; - -@@ -285,6 +287,15 @@ - /* Could not determine the number of sections. */ - return NULL; - -+ /* Check for too many sections. */ -+ if (e_ident[EI_CLASS] == ELFCLASS32) -+ { -+ if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr))) -+ return NULL; -+ } -+ else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr))) -+ return NULL; -+ - /* We can now allocate the memory. Even if there are no section headers, - we allocate space for a zeroth section in case we need it later. */ - const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP) -@@ -324,6 +335,16 @@ - { - /* We can use the mmapped memory. */ - elf->state.elf32.ehdr = ehdr; -+ -+ if (unlikely (ehdr->e_shoff >= maxsize) -+ || unlikely (maxsize - ehdr->e_shoff -+ < scncnt * sizeof (Elf32_Shdr))) -+ { -+ free_and_out: -+ free (elf); -+ __libelf_seterrno (ELF_E_INVALID_FILE); -+ return NULL; -+ } - elf->state.elf32.shdr - = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff); - -@@ -410,6 +431,11 @@ - { - /* We can use the mmapped memory. */ - elf->state.elf64.ehdr = ehdr; -+ -+ if (unlikely (ehdr->e_shoff >= maxsize) -+ || unlikely (ehdr->e_shoff -+ + scncnt * sizeof (Elf32_Shdr) > maxsize)) -+ goto free_and_out; - elf->state.elf64.shdr - = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff); - -Index: elfutils-0.148/libelf/elf_getarsym.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000 -@@ -179,6 +179,9 @@ - size_t index_size = atol (tmpbuf); - - if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size -+#if SIZE_MAX <= 4294967295U -+ || n >= SIZE_MAX / sizeof (Elf_Arsym) -+#endif - || n * sizeof (uint32_t) > index_size) - { - /* This index table cannot be right since it does not fit into -Index: elfutils-0.148/libelf/elf_getshdrstrndx.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000 -+++ elfutils-0.148/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000 -@@ -125,10 +125,25 @@ - if (elf->map_address != NULL - && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA - && (ALLOW_UNALIGNED -- || (((size_t) ((char *) elf->map_address + offset)) -+ || (((size_t) ((char *) elf->map_address -+ + elf->start_offset + offset)) - & (__alignof__ (Elf32_Shdr) - 1)) == 0)) -- /* We can directly access the memory. */ -- num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link; -+ { -+ /* First see whether the information in the ELF header is -+ valid and it does not ask for too much. */ -+ if (unlikely (elf->maximum_size - offset -+ < sizeof (Elf32_Shdr))) -+ { -+ /* Something is wrong. */ -+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); -+ result = -1; -+ goto out; -+ } -+ -+ /* We can directly access the memory. */ -+ num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset -+ + offset))->sh_link; -+ } - else - { - /* We avoid reading in all the section headers. Just read -@@ -163,10 +178,25 @@ - if (elf->map_address != NULL - && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA - && (ALLOW_UNALIGNED -- || (((size_t) ((char *) elf->map_address + offset)) -+ || (((size_t) ((char *) elf->map_address -+ + elf->start_offset + offset)) - & (__alignof__ (Elf64_Shdr) - 1)) == 0)) -- /* We can directly access the memory. */ -- num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link; -+ { -+ /* First see whether the information in the ELF header is -+ valid and it does not ask for too much. */ -+ if (unlikely (elf->maximum_size - offset -+ < sizeof (Elf64_Shdr))) -+ { -+ /* Something is wrong. */ -+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); -+ result = -1; -+ goto out; -+ } -+ -+ /* We can directly access the memory. */ -+ num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset -+ + offset))->sh_link; -+ } - else - { - /* We avoid reading in all the section headers. Just read -Index: elfutils-0.148/libelf/elf_newscn.c -=================================================================== ---- elfutils-0.148.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000 -@@ -104,10 +104,18 @@ - else - { - /* We must allocate a new element. */ -- Elf_ScnList *newp; -+ Elf_ScnList *newp = NULL; - - assert (elf->state.elf.scnincr > 0); - -+ if ( -+#if SIZE_MAX <= 4294967295U -+ likely (elf->state.elf.scnincr -+ < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList)) -+#else -+ 1 -+#endif -+ ) - newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList) - + ((elf->state.elf.scnincr *= 2) - * sizeof (Elf_Scn)), 1); -Index: elfutils-0.148/libelf/gelf_getdyn.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get information from dynamic table at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -93,7 +93,7 @@ - table entries has to be adopted. The user better has provided - a buffer where we can store the information. While copying the - data we are converting the format. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -114,7 +114,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_getlib.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get library from table at the given index. -- Copyright (C) 2004 Red Hat, Inc. -+ Copyright (C) 2004-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2004. - -@@ -86,7 +86,7 @@ - /* The data is already in the correct form. Just make sure the - index is OK. */ - GElf_Lib *result = NULL; -- if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size)) -+ if (INVALID_NDX (ndx, GElf_Lib, data)) - __libelf_seterrno (ELF_E_INVALID_INDEX); - else - { -Index: elfutils-0.148/libelf/gelf_getmove.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get move structure at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -83,7 +83,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size)) -+ if (INVALID_NDX (ndx, GElf_Move, data)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_getrela.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get RELA relocation information at given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -71,12 +71,6 @@ - if (data_scn == NULL) - return NULL; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return NULL; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_RELA)) - { - __libelf_seterrno (ELF_E_INVALID_HANDLE); -@@ -93,7 +87,7 @@ - if (scn->elf->class == ELFCLASS32) - { - /* We have to convert the data. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - result = NULL; -@@ -114,7 +108,7 @@ - { - /* Simply copy the data after we made sure we are actually getting - correct data. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - result = NULL; -Index: elfutils-0.148/libelf/gelf_getrel.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get REL relocation information at given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -71,12 +71,6 @@ - if (data_scn == NULL) - return NULL; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return NULL; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_REL)) - { - __libelf_seterrno (ELF_E_INVALID_HANDLE); -@@ -93,7 +87,7 @@ - if (scn->elf->class == ELFCLASS32) - { - /* We have to convert the data. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - result = NULL; -@@ -113,7 +107,7 @@ - { - /* Simply copy the data after we made sure we are actually getting - correct data. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - result = NULL; -Index: elfutils-0.148/libelf/gelf_getsym.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get symbol information from symbol table at the given index. -- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 1999-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 1999. - -@@ -90,7 +90,7 @@ - table entries has to be adopted. The user better has provided - a buffer where we can store the information. While copying the - data we are converting the format. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size)) -+ if (INVALID_NDX (ndx, Elf32_Sym, data)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -119,7 +119,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size)) -+ if (INVALID_NDX (ndx, GElf_Sym, data)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_getsyminfo.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get additional symbol information from symbol table at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -84,7 +84,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size)) -+ if (INVALID_NDX (ndx, GElf_Syminfo, data)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_getsymshndx.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,6 +1,6 @@ - /* Get symbol information and separate section index from symbol table - at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -90,7 +90,7 @@ - section index table. */ - if (likely (shndxdata_scn != NULL)) - { -- if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -110,7 +110,7 @@ - table entries has to be adopted. The user better has provided - a buffer where we can store the information. While copying the - data we are converting the format. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size)) -+ if (INVALID_NDX (ndx, Elf32_Sym, symdata)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -139,7 +139,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size)) -+ if (INVALID_NDX (ndx, GElf_Sym, symdata)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_getversym.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Get symbol version information at the given index. -- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 1999-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 1999. - -@@ -92,7 +92,7 @@ - - /* The data is already in the correct form. Just make sure the - index is OK. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size)) -+ if (INVALID_NDX (ndx, GElf_Versym, data)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - result = NULL; -Index: elfutils-0.148/libelf/gelf_update_dyn.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update information in dynamic table at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -71,12 +71,6 @@ - if (data == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_DYN)) - { - /* The type of the data better should match. */ -@@ -102,7 +96,7 @@ - } - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -116,7 +110,7 @@ - else - { - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_lib.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update library in table at the given index. -- Copyright (C) 2004 Red Hat, Inc. -+ Copyright (C) 2004-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2004. - -@@ -68,12 +68,6 @@ - if (data == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data; - if (unlikely (data_scn->d.d_type != ELF_T_LIB)) - { -@@ -87,7 +81,7 @@ - - /* Check whether we have to resize the data buffer. */ - int result = 0; -- if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d)) - __libelf_seterrno (ELF_E_INVALID_INDEX); - else - { -Index: elfutils-0.148/libelf/gelf_update_move.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update move structure at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -75,8 +75,7 @@ - assert (sizeof (GElf_Move) == sizeof (Elf64_Move)); - - /* Check whether we have to resize the data buffer. */ -- if (unlikely (ndx < 0) -- || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, GElf_Move, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - return 0; -Index: elfutils-0.148/libelf/gelf_update_rela.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update RELA relocation information at given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -68,12 +68,6 @@ - if (dst == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_RELA)) - { - /* The type of the data better should match. */ -@@ -101,7 +95,7 @@ - } - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -117,7 +111,7 @@ - else - { - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_rel.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update REL relocation information at given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -68,12 +68,6 @@ - if (dst == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_REL)) - { - /* The type of the data better should match. */ -@@ -99,7 +93,7 @@ - } - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -114,7 +108,7 @@ - else - { - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_sym.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update symbol information in symbol table at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -72,12 +72,6 @@ - if (data == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_SYM)) - { - /* The type of the data better should match. */ -@@ -102,7 +96,7 @@ - } - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -125,7 +119,7 @@ - else - { - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_syminfo.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update additional symbol information in symbol table at the given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -72,12 +72,6 @@ - if (data == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO)) - { - /* The type of the data better should match. */ -@@ -93,7 +87,7 @@ - rwlock_wrlock (scn->elf->lock); - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_symshndx.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,6 +1,6 @@ - /* Update symbol information and section index in symbol table at the - given index. -- Copyright (C) 2000, 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2000. - -@@ -77,12 +77,6 @@ - if (symdata == NULL) - return 0; - -- if (unlikely (ndx < 0)) -- { -- __libelf_seterrno (ELF_E_INVALID_INDEX); -- return 0; -- } -- - if (unlikely (symdata_scn->d.d_type != ELF_T_SYM)) - { - /* The type of the data better should match. */ -@@ -128,7 +122,7 @@ - } - - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -@@ -151,7 +145,7 @@ - else - { - /* Check whether we have to resize the data buffer. */ -- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size)) -+ if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - goto out; -Index: elfutils-0.148/libelf/gelf_update_versym.c -=================================================================== ---- elfutils-0.148.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000 -+++ elfutils-0.148/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1,5 +1,5 @@ - /* Update symbol version information. -- Copyright (C) 2001, 2002 Red Hat, Inc. -+ Copyright (C) 2001-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2001. - -@@ -75,8 +75,7 @@ - assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym)); - - /* Check whether we have to resize the data buffer. */ -- if (unlikely (ndx < 0) -- || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size)) -+ if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d)) - { - __libelf_seterrno (ELF_E_INVALID_INDEX); - return 0; -Index: elfutils-0.148/libelf/libelfP.h -=================================================================== ---- elfutils-0.148.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000 -+++ elfutils-0.148/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000 -@@ -608,4 +608,8 @@ - /* Align offset to 4 bytes as needed for note name and descriptor data. */ - #define NOTE_ALIGN(n) (((n) + 3) & -4U) - -+/* Convenience macro. */ -+#define INVALID_NDX(ndx, type, data) \ -+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx)) -+ - #endif /* libelfP.h */ -Index: elfutils-0.148/src/ChangeLog -=================================================================== ---- elfutils-0.148.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000 -+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000 -@@ -1640,6 +1640,16 @@ - object symbols or symbols with unknown type. - (check_rel): Likewise. - -+2005-06-09 Roland McGrath <roland@redhat.com> -+ -+ * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link. -+ (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise. -+ (handle_scngrp): Check for bogus sh_info. -+ -+ * strip.c (handle_elf): Check for bogus values in sh_link, sh_info, -+ st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data. -+ Don't use assert on input values, instead bail with "illformed" error. -+ - 2005-06-08 Roland McGrath <roland@redhat.com> - - * readelf.c (print_ops): Add consts. -@@ -1690,6 +1700,19 @@ - - * readelf.c (dwarf_tag_string): Add new tags. - -+2005-05-17 Jakub Jelinek <jakub@redhat.com> -+ -+ * elflint.c (check_hash): Don't check entries beyond end of section. -+ (check_note): Don't crash if gelf_rawchunk fails. -+ (section_name): Return <invalid> if gelf_getshdr returns NULL. -+ -+2005-05-14 Jakub Jelinek <jakub@redhat.com> -+ -+ * elflint.c (section_name): Return "<invalid>" instead of -+ crashing on invalid section name. -+ (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic, -+ check_symtab_shndx, check_hash, check_versym): Robustify. -+ - 2005-05-08 Roland McGrath <roland@redhat.com> - - * strip.c (handle_elf): Don't translate hash and versym data formats, -Index: elfutils-0.148/src/elflint.c -=================================================================== ---- elfutils-0.148.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000 -+++ elfutils-0.148/src/elflint.c 2010-07-03 13:07:11.000000000 +0000 -@@ -131,6 +131,10 @@ - /* Array to count references in section groups. */ - static int *scnref; - -+/* Numbers of sections and program headers. */ -+static unsigned int shnum; -+static unsigned int phnum; -+ - - int - main (int argc, char *argv[]) -@@ -319,10 +323,19 @@ - { - GElf_Shdr shdr_mem; - GElf_Shdr *shdr; -+ const char *ret; -+ -+ if ((unsigned int) idx > shnum) -+ return "<invalid>"; - - shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); -+ if (shdr == NULL) -+ return "<invalid>"; - -- return elf_strptr (ebl->elf, shstrndx, shdr->sh_name); -+ ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); -+ if (ret == NULL) -+ return "<invalid>"; -+ return ret; - } - - -@@ -344,11 +357,6 @@ - (sizeof (valid_e_machine) / sizeof (valid_e_machine[0])) - - --/* Numbers of sections and program headers. */ --static unsigned int shnum; --static unsigned int phnum; -- -- - static void - check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) - { -@@ -632,7 +640,8 @@ - } - } - -- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)) -+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT); -+ if (shdr->sh_entsize != sh_entsize) - ERROR (gettext ("\ - section [%2u] '%s': entry size is does not match ElfXX_Sym\n"), - idx, section_name (ebl, idx)); -@@ -670,7 +679,7 @@ - xndxscnidx, section_name (ebl, xndxscnidx)); - } - -- for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) -+ for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt) - { - sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx); - if (sym == NULL) -@@ -690,7 +699,8 @@ - else - { - name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name); -- assert (name != NULL); -+ assert (name != NULL -+ || strshdr->sh_type != SHT_STRTAB); - } - - if (sym->st_shndx == SHN_XINDEX) -@@ -1038,9 +1048,11 @@ - { - GElf_Shdr rcshdr_mem; - const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem); -- assert (rcshdr != NULL); - -- if (rcshdr->sh_type == SHT_DYNAMIC) -+ if (rcshdr == NULL) -+ break; -+ -+ if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize) - { - /* Found the dynamic section. Look through it. */ - Elf_Data *d = elf_getdata (scn, NULL); -@@ -1050,7 +1062,9 @@ - { - GElf_Dyn dyn_mem; - GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem); -- assert (dyn != NULL); -+ -+ if (dyn == NULL) -+ break; - - if (dyn->d_tag == DT_RELCOUNT) - { -@@ -1064,7 +1078,9 @@ - /* Does the number specified number of relative - relocations exceed the total number of - relocations? */ -- if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize) -+ if (shdr->sh_entsize != 0 -+ && dyn->d_un.d_val > (shdr->sh_size -+ / shdr->sh_entsize)) - ERROR (gettext ("\ - section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"), - idx, section_name (ebl, idx), -@@ -1224,7 +1240,8 @@ - } - } - -- if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT)) -+ size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT); -+ if (shdr->sh_entsize != sh_entsize) - ERROR (gettext (reltype == ELF_T_RELA ? "\ - section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\ - section [%2d] '%s': section entry size does not match ElfXX_Rel\n"), -@@ -1447,7 +1464,8 @@ - Elf_Data *symdata = elf_getdata (symscn, NULL); - enum load_state state = state_undecided; - -- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) -+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); -+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) - { - GElf_Rela rela_mem; - GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem); -@@ -1497,7 +1515,8 @@ - Elf_Data *symdata = elf_getdata (symscn, NULL); - enum load_state state = state_undecided; - -- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) -+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); -+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) - { - GElf_Rel rel_mem; - GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem); -@@ -1600,7 +1619,8 @@ - shdr->sh_link, section_name (ebl, shdr->sh_link), - idx, section_name (ebl, idx)); - -- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT)) -+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); -+ if (shdr->sh_entsize != sh_entsize) - ERROR (gettext ("\ - section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"), - idx, section_name (ebl, idx)); -@@ -1610,7 +1630,7 @@ - idx, section_name (ebl, idx)); - - bool non_null_warned = false; -- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) -+ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) - { - GElf_Dyn dyn_mem; - GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem); -@@ -1891,6 +1911,8 @@ - idx, section_name (ebl, idx)); - - if (symshdr != NULL -+ && shdr->sh_entsize -+ && symshdr->sh_entsize - && (shdr->sh_size / shdr->sh_entsize - < symshdr->sh_size / symshdr->sh_entsize)) - ERROR (gettext ("\ -@@ -1917,6 +1939,12 @@ - } - - Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL); -+ if (data == NULL) -+ { -+ ERROR (gettext ("section [%2d] '%s': cannot get section data\n"), -+ idx, section_name (ebl, idx)); -+ return; -+ } - - if (*((Elf32_Word *) data->d_buf) != 0) - ERROR (gettext ("symbol 0 should have zero extended section index\n")); -@@ -1959,7 +1987,7 @@ - - size_t maxidx = nchain; - -- if (symshdr != NULL) -+ if (symshdr != NULL && symshdr->sh_entsize != 0) - { - size_t symsize = symshdr->sh_size / symshdr->sh_entsize; - -@@ -1970,18 +1998,28 @@ - maxidx = symsize; - } - -+ Elf32_Word *buf = (Elf32_Word *) data->d_buf; -+ Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size); - size_t cnt; - for (cnt = 2; cnt < 2 + nbucket; ++cnt) -- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) -+ { -+ if (buf + cnt >= end) -+ break; -+ else if (buf[cnt] >= maxidx) - ERROR (gettext ("\ - section [%2d] '%s': hash bucket reference %zu out of bounds\n"), - idx, section_name (ebl, idx), cnt - 2); -+ } - - for (; cnt < 2 + nbucket + nchain; ++cnt) -- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) -+ { -+ if (buf + cnt >= end) -+ break; -+ else if (buf[cnt] >= maxidx) - ERROR (gettext ("\ - section [%2d] '%s': hash chain reference %zu out of bounds\n"), - idx, section_name (ebl, idx), cnt - 2 - nbucket); -+ } - } - - -@@ -2011,18 +2049,28 @@ - maxidx = symsize; - } - -+ Elf64_Xword *buf = (Elf64_Xword *) data->d_buf; -+ Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size); - size_t cnt; - for (cnt = 2; cnt < 2 + nbucket; ++cnt) -- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) -+ { -+ if (buf + cnt >= end) -+ break; -+ else if (buf[cnt] >= maxidx) - ERROR (gettext ("\ - section [%2d] '%s': hash bucket reference %zu out of bounds\n"), - idx, section_name (ebl, idx), cnt - 2); -+ } - - for (; cnt < 2 + nbucket + nchain; ++cnt) -- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) -+ { -+ if (buf + cnt >= end) -+ break; -+ else if (buf[cnt] >= maxidx) - ERROR (gettext ("\ - section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"), -- idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket)); -+ idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket); -+ } - } - - -@@ -2047,7 +2095,7 @@ - if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)) - { - ERROR (gettext ("\ --section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"), -+section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"), - idx, section_name (ebl, idx), (long int) shdr->sh_size, - (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))); - return; -@@ -2719,8 +2767,9 @@ - - /* The number of elements in the version symbol table must be the - same as the number of symbols. */ -- if (shdr->sh_size / shdr->sh_entsize -- != symshdr->sh_size / symshdr->sh_entsize) -+ if (shdr->sh_entsize && symshdr->sh_entsize -+ && (shdr->sh_size / shdr->sh_entsize -+ != symshdr->sh_size / symshdr->sh_entsize)) - ERROR (gettext ("\ - section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"), - idx, section_name (ebl, idx), -Index: elfutils-0.148/src/readelf.c -=================================================================== ---- elfutils-0.148.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000 -+++ elfutils-0.148/src/readelf.c 2010-07-03 13:07:11.000000000 +0000 -@@ -1172,6 +1172,8 @@ - Elf32_Word *grpref = (Elf32_Word *) data->d_buf; - - GElf_Sym sym_mem; -+ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem); -+ - printf ((grpref[0] & GRP_COMDAT) - ? ngettext ("\ - \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n", -@@ -1184,8 +1186,8 @@ - data->d_size / sizeof (Elf32_Word) - 1), - elf_ndxscn (scn), - elf_strptr (ebl->elf, shstrndx, shdr->sh_name), -- elf_strptr (ebl->elf, symshdr->sh_link, -- gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name) -+ (sym == NULL ? NULL -+ : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name)) - ?: gettext ("<INVALID SYMBOL>"), - data->d_size / sizeof (Elf32_Word) - 1); - -@@ -1336,7 +1338,8 @@ - handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) - { - int class = gelf_getclass (ebl->elf); -- GElf_Shdr glink; -+ GElf_Shdr glink_mem; -+ GElf_Shdr *glink; - Elf_Data *data; - size_t cnt; - size_t shstrndx; -@@ -1351,6 +1354,11 @@ - error (EXIT_FAILURE, 0, - gettext ("cannot get section header string table index")); - -+ 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"), -+ elf_ndxscn (scn)); -+ - printf (ngettext ("\ - \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", - "\ -@@ -1360,9 +1368,7 @@ - class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, - shdr->sh_offset, - (int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ 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) -@@ -1945,6 +1951,13 @@ - error (EXIT_FAILURE, 0, - gettext ("cannot get section header string table index")); - -+ GElf_Shdr glink_mem; -+ GElf_Shdr *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"), -+ elf_ndxscn (scn)); -+ - /* Now we can compute the number of entries in the section. */ - unsigned int nsyms = data->d_size / (class == ELFCLASS32 - ? sizeof (Elf32_Sym) -@@ -1955,15 +1968,12 @@ - nsyms), - (unsigned int) elf_ndxscn (scn), - elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms); -- GElf_Shdr glink; - printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n", - " %lu local symbols String table: [%2u] '%s'\n", - shdr->sh_info), - (unsigned long int) shdr->sh_info, - (unsigned int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ elf_strptr (ebl->elf, shstrndx, glink->sh_name)); - - fputs_unlocked (class == ELFCLASS32 - ? gettext ("\ -@@ -2199,7 +2209,13 @@ - error (EXIT_FAILURE, 0, - gettext ("cannot get section header string table index")); - -- GElf_Shdr glink; -+ GElf_Shdr glink_mem; -+ GElf_Shdr *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"), -+ elf_ndxscn (scn)); -+ - printf (ngettext ("\ - \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", - "\ -@@ -2210,9 +2226,7 @@ - class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, - shdr->sh_offset, - (unsigned int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ elf_strptr (ebl->elf, shstrndx, glink->sh_name)); - - unsigned int offset = 0; - for (int cnt = shdr->sh_info; --cnt >= 0; ) -@@ -2265,8 +2279,14 @@ - error (EXIT_FAILURE, 0, - gettext ("cannot get section header string table index")); - -+ GElf_Shdr glink_mem; -+ GElf_Shdr *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"), -+ elf_ndxscn (scn)); -+ - int class = gelf_getclass (ebl->elf); -- GElf_Shdr glink; - printf (ngettext ("\ - \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", - "\ -@@ -2278,9 +2298,7 @@ - class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, - shdr->sh_offset, - (unsigned int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ elf_strptr (ebl->elf, shstrndx, glink->sh_name)); - - unsigned int offset = 0; - for (int cnt = shdr->sh_info; --cnt >= 0; ) -@@ -2542,8 +2560,14 @@ - filename = NULL; - } - -+ GElf_Shdr glink_mem; -+ GElf_Shdr *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"), -+ elf_ndxscn (scn)); -+ - /* Print the header. */ -- GElf_Shdr glink; - printf (ngettext ("\ - \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", - "\ -@@ -2555,9 +2579,7 @@ - class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, - shdr->sh_offset, - (unsigned int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ 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) -@@ -2609,7 +2631,17 @@ - for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt) - ++counts[lengths[cnt]]; - -- GElf_Shdr glink; -+ GElf_Shdr glink_mem; -+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, -+ shdr->sh_link), -+ &glink_mem); -+ if (glink == NULL) -+ { -+ error (0, 0, gettext ("invalid sh_link value in section %Zu"), -+ elf_ndxscn (scn)); -+ return; -+ } -+ - 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", - "\ -@@ -2622,9 +2654,7 @@ - shdr->sh_addr, - shdr->sh_offset, - (unsigned int) shdr->sh_link, -- elf_strptr (ebl->elf, shstrndx, -- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), -- &glink)->sh_name)); -+ elf_strptr (ebl->elf, shstrndx, glink->sh_name)); - - if (extrastr != NULL) - fputs (extrastr, stdout); -@@ -4312,6 +4342,16 @@ - return; - } - -+ GElf_Shdr glink_mem; -+ GElf_Shdr *glink; -+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); -+ if (glink == NULL) -+ { -+ error (0, 0, gettext ("invalid sh_link value in section %Zu"), -+ elf_ndxscn (scn)); -+ return; -+ } -+ - printf (ngettext ("\ - \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n", - "\ -Index: elfutils-0.148/src/strip.c -=================================================================== ---- elfutils-0.148.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000 -+++ elfutils-0.148/src/strip.c 2010-07-03 13:07:11.000000000 +0000 -@@ -561,6 +561,11 @@ - goto fail_close; - } - -+ if (shstrndx >= shnum) -+ goto illformed; -+ -+#define elf_assert(test) do { if (!(test)) goto illformed; } while (0) -+ - /* 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. -@@ -582,7 +587,7 @@ - { - /* This should always be true (i.e., there should not be any - holes in the numbering). */ -- assert (elf_ndxscn (scn) == cnt); -+ elf_assert (elf_ndxscn (scn) == cnt); - - shdr_info[cnt].scn = scn; - -@@ -595,6 +600,7 @@ - shdr_info[cnt].shdr.sh_name); - if (shdr_info[cnt].name == NULL) - { -+ illformed: - error (0, 0, gettext ("illformed file '%s'"), fname); - goto fail_close; - } -@@ -604,6 +610,8 @@ - - /* Remember the shdr.sh_link value. */ - shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; -+ if (shdr_info[cnt].old_sh_link >= shnum) -+ goto illformed; - - /* Sections in files other than relocatable object files which - are not loaded can be freely moved by us. In relocatable -@@ -616,7 +624,7 @@ - appropriate reference. */ - if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) - { -- assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); -+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); - shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; - } - else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) -@@ -633,7 +641,12 @@ - for (inner = 1; - inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); - ++inner) -+ { -+ if (grpref[inner] < shnum) - shdr_info[grpref[inner]].group_idx = cnt; -+ else -+ goto illformed; -+ } - - if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) - /* If the section group contains only one element and this -@@ -644,7 +657,7 @@ - } - else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) - { -- assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); -+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); - shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; - } - -@@ -652,7 +665,7 @@ - discarded right away. */ - if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) - { -- assert (shdr_info[cnt].group_idx != 0); -+ elf_assert (shdr_info[cnt].group_idx != 0); - - if (shdr_info[shdr_info[cnt].group_idx].idx == 0) - { -@@ -727,11 +740,15 @@ - { - /* If a relocation section is marked as being removed make - sure the section it is relocating is removed, too. */ -- if ((shdr_info[cnt].shdr.sh_type == SHT_REL -+ 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) -+ { -+ 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; - } -+ } - - if (shdr_info[cnt].idx == 1) - { -@@ -758,7 +775,7 @@ - if (shdr_info[cnt].symtab_idx != 0 - && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) - { -- assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); -+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); - - shdr_info[shdr_info[cnt].symtab_idx].data - = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, -@@ -798,6 +815,9 @@ - else if (scnidx == SHN_XINDEX) - scnidx = xndx; - -+ if (scnidx >= shnum) -+ goto illformed; -+ - if (shdr_info[scnidx].idx == 0) - /* This symbol table has a real symbol in - a discarded section. So preserve the -@@ -828,12 +848,16 @@ - } - - /* Handle references through sh_info. */ -- if (SH_INFO_LINK_P (&shdr_info[cnt].shdr) -- && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) -+ if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)) -+ { -+ if (shdr_info[cnt].shdr.sh_info >= shnum) -+ goto illformed; -+ else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) - { - shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1; - changes |= shdr_info[cnt].shdr.sh_info < cnt; - } -+ } - - /* Mark the section as investigated. */ - shdr_info[cnt].idx = 2; -@@ -972,7 +996,7 @@ - error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), - elf_errmsg (-1)); - -- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); -+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); - - /* Add this name to the section header string table. */ - shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); -@@ -1009,7 +1033,7 @@ - error (EXIT_FAILURE, 0, - gettext ("while create section header section: %s"), - elf_errmsg (-1)); -- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); -+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); - - shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); - if (shdr_info[cnt].data == NULL) -@@ -1065,7 +1089,7 @@ - error (EXIT_FAILURE, 0, - gettext ("while create section header section: %s"), - elf_errmsg (-1)); -- assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); -+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); - - /* Finalize the string table and fill in the correct indices in the - section headers. */ -@@ -1155,20 +1179,20 @@ - shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, - NULL); - -- assert ((versiondata->d_size / sizeof (Elf32_Word)) -+ elf_assert ((versiondata->d_size / sizeof (Elf32_Word)) - >= shdr_info[cnt].data->d_size / elsize); - } - - if (shdr_info[cnt].version_idx != 0) - { -- assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); -+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); - /* This section has associated version - information. We have to modify that - information, too. */ - versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn, - NULL); - -- assert ((versiondata->d_size / sizeof (GElf_Versym)) -+ elf_assert ((versiondata->d_size / sizeof (GElf_Versym)) - >= shdr_info[cnt].data->d_size / elsize); - } - -@@ -1223,7 +1247,7 @@ - sec = shdr_info[sym->st_shndx].idx; - else - { -- assert (shndxdata != NULL); -+ elf_assert (shndxdata != NULL); - - sec = shdr_info[xshndx].idx; - } -@@ -1244,7 +1268,7 @@ - nxshndx = sec; - } - -- assert (sec < SHN_LORESERVE || shndxdata != NULL); -+ elf_assert (sec < SHN_LORESERVE || shndxdata != NULL); - - if ((inner != destidx || nshndx != sym->st_shndx - || (shndxdata != NULL && nxshndx != xshndx)) -@@ -1268,7 +1292,7 @@ - || 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); - } - - if (destidx != inner) -@@ -1455,11 +1479,11 @@ - { - GElf_Sym sym_mem; - GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); -- assert (sym != NULL); -+ elf_assert (sym != NULL); - - const char *name = elf_strptr (elf, strshndx, - sym->st_name); -- assert (name != NULL); -+ elf_assert (name != NULL); - size_t hidx = elf_hash (name) % nbucket; - - if (bucket[hidx] == 0) -@@ -1478,7 +1502,7 @@ - else - { - /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ -- assert (shdr_info[cnt].shdr.sh_entsize -+ elf_assert (shdr_info[cnt].shdr.sh_entsize - == sizeof (Elf64_Xword)); - - Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; -@@ -1509,11 +1533,11 @@ - { - GElf_Sym sym_mem; - GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); -- assert (sym != NULL); -+ elf_assert (sym != NULL); - - const char *name = elf_strptr (elf, strshndx, - sym->st_name); -- assert (name != NULL); -+ elf_assert (name != NULL); - size_t hidx = elf_hash (name) % nbucket; - - if (bucket[hidx] == 0) diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/remove-unused.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/remove-unused.patch deleted file mode 100644 index 6a19791480..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/remove-unused.patch +++ /dev/null @@ -1,154 +0,0 @@ -Upstream-Status: Backport - -Remove unused variables from the code to prevent -Werror causing a build -failure on hosts with GCC 4.6. - -These changes are all upstream so should not be required once we've updated -to elfutils 0.152 or later. Therefore this patch consolidates several -changes from elfutils upstream by Roland McGrath into a single file so that -it's easier to remove later once we upgrade. -Links to upstream gitweb of the consolidated commits follow: -- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=7094d00a169afb27e0323f8580e817798ae7c240 -- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=fd992543185126eb0280c1ee0883e073020499b4 -- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=4db89f04bb59327abd7a3b60e88f2e7e73c65c79 -- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=8f6c1795ab9d41f03805eebd55767070ade55aac -- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=240784b48aa276822c5a61c9ad6a4355051ce259 - -Joshua Lock <josh@linux.intel.com> - 06/04/11 - -Index: elfutils-0.148/libasm/asm_newscn.c -=================================================================== ---- elfutils-0.148.orig/libasm/asm_newscn.c -+++ elfutils-0.148/libasm/asm_newscn.c -@@ -162,7 +162,6 @@ asm_newscn (ctx, scnname, type, flags) - GElf_Xword flags; - { - size_t scnname_len = strlen (scnname) + 1; -- unsigned long int hval; - AsmScn_t *result; - - /* If no context is given there might be an earlier error. */ -@@ -180,8 +179,6 @@ asm_newscn (ctx, scnname, type, flags) - return NULL; - } - -- hval = elf_hash (scnname); -- - rwlock_wrlock (ctx->lock); - - /* This is a new section. */ -Index: elfutils-0.148/src/elflint.c -=================================================================== ---- elfutils-0.148.orig/src/elflint.c -+++ elfutils-0.148/src/elflint.c -@@ -707,9 +707,10 @@ section [%2d] '%s': symbol %zu: invalid - { - if (xndxdata == NULL) - { -- ERROR (gettext ("\ -+ if (!no_xndx_warned) -+ ERROR (gettext ("\ - section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n"), -- idx, section_name (ebl, idx), cnt); -+ idx, section_name (ebl, idx), cnt); - no_xndx_warned = true; - } - else if (xndx < SHN_LORESERVE) -@@ -1592,10 +1593,6 @@ check_dynamic (Ebl *ebl, GElf_Ehdr *ehdr - [DT_STRSZ] = true, - [DT_SYMENT] = true - }; -- GElf_Addr reladdr = 0; -- GElf_Word relsz = 0; -- GElf_Addr pltreladdr = 0; -- GElf_Word pltrelsz = 0; - - memset (has_dt, '\0', sizeof (has_dt)); - memset (has_val_dt, '\0', sizeof (has_val_dt)); -@@ -1694,15 +1691,6 @@ section [%2d] '%s': entry %zu: level 2 t - section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"), - idx, section_name (ebl, idx), cnt); - -- if (dyn->d_tag == DT_REL) -- reladdr = dyn->d_un.d_ptr; -- if (dyn->d_tag == DT_RELSZ) -- relsz = dyn->d_un.d_val; -- if (dyn->d_tag == DT_JMPREL) -- pltreladdr = dyn->d_un.d_ptr; -- if (dyn->d_tag == DT_PLTRELSZ) -- pltrelsz = dyn->d_un.d_val; -- - /* Check that addresses for entries are in loaded segments. */ - switch (dyn->d_tag) - { -Index: elfutils-0.148/src/ldgeneric.c -=================================================================== ---- elfutils-0.148.orig/src/ldgeneric.c -+++ elfutils-0.148/src/ldgeneric.c -@@ -285,12 +285,10 @@ static int - check_for_duplicate2 (struct usedfiles *newp, struct usedfiles *list) - { - struct usedfiles *first; -- struct usedfiles *prevp; - - if (list == NULL) - return 0; - -- prevp = list; - list = first = list->next; - do - { -Index: elfutils-0.148/src/ldscript.y -=================================================================== ---- elfutils-0.148.orig/src/ldscript.y -+++ elfutils-0.148/src/ldscript.y -@@ -802,12 +802,9 @@ add_versions (struct version *versions) - - do - { -- struct version *oldp; -- - add_id_list (versions->versionname, versions->local_names, true); - add_id_list (versions->versionname, versions->global_names, false); - -- oldp = versions; - versions = versions->next; - } - while (versions != NULL); -Index: elfutils-0.148/src/unstrip.c -=================================================================== ---- elfutils-0.148.orig/src/unstrip.c -+++ elfutils-0.148/src/unstrip.c -@@ -1301,7 +1301,6 @@ more sections in stripped file than debu - /* Match each debuginfo section with its corresponding stripped section. */ - bool check_prelink = false; - Elf_Scn *unstripped_symtab = NULL; -- size_t unstripped_strtab_ndx = SHN_UNDEF; - size_t alloc_avail = 0; - scn = NULL; - while ((scn = elf_nextscn (unstripped, scn)) != NULL) -@@ -1313,7 +1312,6 @@ more sections in stripped file than debu - if (shdr->sh_type == SHT_SYMTAB) - { - unstripped_symtab = scn; -- unstripped_strtab_ndx = shdr->sh_link; - continue; - } - -Index: elfutils-0.148/src/ldscript.c -=================================================================== ---- elfutils-0.148.orig/src/ldscript.c -+++ elfutils-0.148/src/ldscript.c -@@ -2728,12 +2728,9 @@ add_versions (struct version *versions) - - do - { -- struct version *oldp; -- - add_id_list (versions->versionname, versions->local_names, true); - add_id_list (versions->versionname, versions->global_names, false); - -- oldp = versions; - versions = versions->next; - } - while (versions != NULL); diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff deleted file mode 100644 index d792d5fd73..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Backport - -On many architectures this test fails because binaries/libs produced by -binutils don't pass elflint. However elfutils shouldn't FTBFS because of this. - -So we run the tests on all archs to see what breaks, but if it breaks we ignore -the result (exitcode 77 means: this test was skipped). - -Index: elfutils-0.128/tests/run-elflint-self.sh -=================================================================== ---- elfutils-0.128.orig/tests/run-elflint-self.sh 2007-07-08 21:46:16.000000000 +0000 -+++ elfutils-0.128/tests/run-elflint-self.sh 2007-07-08 21:46:49.000000000 +0000 -@@ -32,7 +32,7 @@ - # echo $1 - if [ -f $1 ]; then - testrun ../src/elflint --quiet --gnu-ld $1 || -- { echo "*** failure in $1"; status=1; } -+ { echo "*** failure in $1"; status=77; } - fi - } - diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch deleted file mode 100644 index 3cf16ac923..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch +++ /dev/null @@ -1,91 +0,0 @@ -on uclibc systems libintl and libuargp are separate from libc. -so they need to be specified on commandline when we use proxy-libintl -then libintl is a static archive so it should be listed last since -elfutils does not respect disable-nls we need to link in libintl - -We add a new option --enable-uclibc which will be used to control -the uclibc specific configurations during build. - -Signed-off-by: Khem Raj <raj.khem> - -Upstream-Status: Inappropriate [uclibc specific] - -Index: elfutils-0.148/configure.ac -=================================================================== ---- elfutils-0.148.orig/configure.ac -+++ elfutils-0.148/configure.ac -@@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF - - AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) - -+AC_ARG_ENABLE([uclibc], -+AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]), -+use_uclibc=yes, use_uclibc=no) -+AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes) -+AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)]) -+ -+AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.]) -+ - dnl Add all the languages for which translations are available. - ALL_LINGUAS= -- - AC_PROG_CC - AC_PROG_RANLIB - AC_PROG_YACC -Index: elfutils-0.148/libelf/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libelf/Makefile.am -+++ elfutils-0.148/libelf/Makefile.am -@@ -93,7 +93,12 @@ if !MUDFLAP - libelf_pic_a_SOURCES = - am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) - -+ - libelf_so_LDLIBS = -+if USE_UCLIBC -+libelf_so_LDLIBS += -lintl -luargp -+endif -+ - if USE_LOCKS - libelf_so_LDLIBS += -lpthread - endif -Index: elfutils-0.148/libdw/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libdw/Makefile.am -+++ elfutils-0.148/libdw/Makefile.am -@@ -98,6 +98,11 @@ if !MUDFLAP - libdw_pic_a_SOURCES = - am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) - -+libdw_so_LDLIBS = -+if USE_UCLIBC -+libdw_so_LDLIBS += -lintl -luargp -+endif -+ - libdw_so_SOURCES = - libdw.so: $(srcdir)/libdw.map libdw_pic.a \ - ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ -@@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic. - -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ - -Wl,--version-script,$<,--no-undefined \ - -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ -- -ldl $(zip_LIBS) -+ -ldl $(zip_LIBS) $(libdw_so_LDLIBS) - if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi - ln -fs $@ $@.$(VERSION) - -Index: elfutils-0.148/libcpu/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libcpu/Makefile.am -+++ elfutils-0.148/libcpu/Makefile.am -@@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 - i386_lex.o: i386_parse.h - i386_gendis_LDADD = $(libeu) -lm $(libmudflap) - -+if USE_UCLIBC -+i386_gendis_LDADD += -luargp -lintl -+endif -+ - i386_parse.h: i386_parse.c ; - - noinst_HEADERS = memory-access.h i386_parse.h i386_data.h diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h deleted file mode 100644 index a0198bed97..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h +++ /dev/null @@ -1,1632 +0,0 @@ -#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/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb deleted file mode 100644 index 6080c179fa..0000000000 --- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Utilities and libraries for handling compiled object files" -HOMEPAGE = "https://fedorahosted.org/elfutils" -SECTION = "base" -LICENSE = "(GPL-2+ & Elfutils-Exception)" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\ - file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" -DEPENDS = "libtool bzip2 zlib virtual/libintl" - -PR = "r11" - -SRC_URI = "https://fedorahosted.org/releases/e/l/${BPN}/${BP}.tar.bz2" - -SRC_URI[md5sum] = "a0bed1130135f17ad27533b0034dba8d" -SRC_URI[sha256sum] = "8aebfa4a745db21cf5429c9541fe482729b62efc7e53e9110151b4169fe887da" - -# pick the patch from debian -# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.148-1.debian.tar.gz - -SRC_URI += "\ - file://redhat-portability.diff \ - file://redhat-robustify.diff \ - file://hppa_backend.diff \ - file://arm_backend.diff \ - file://mips_backend.diff \ - file://m68k_backend.diff \ - file://testsuite-ignore-elflint.diff \ - file://elf_additions.diff \ - file://elfutils-fsize.patch \ - file://remove-unused.patch \ - file://fix_for_gcc-4.7.patch \ - file://dso-link-change.patch \ - file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \ - file://elfutils-ar-c-fix-num-passed-to-memset.patch \ - file://Fix_elf_cvt_gunhash.patch \ - file://elf_begin.c-CVE-2014-9447-fix.patch \ - file://fix-build-gcc-4.8.patch \ - file://gcc6.patch \ -" -# Only apply when building uclibc based target recipe -SRC_URI_append_libc-uclibc = " file://uclibc-support-for-elfutils-0.148.patch" - -# The buildsystem wants to generate 2 .h files from source using a binary it just built, -# which can not pass the cross compiling, so let's work around it by adding 2 .h files -# along with the do_configure_prepend() - -SRC_URI += "\ - file://i386_dis.h \ - file://x86_64_dis.h \ -" -inherit autotools gettext - -EXTRA_OECONF = "--program-prefix=eu- --without-lzma" -EXTRA_OECONF_append_class-native = " --without-bzlib" -EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc" - -do_configure_prepend() { - sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am - - cp ${WORKDIR}/*dis.h ${S}/libcpu -} - -# we can not build complete elfutils when using uclibc -# but some recipes e.g. gcc 4.5 depends on libelf so we -# build only libelf for uclibc case - -EXTRA_OEMAKE_libc-uclibc = "-C libelf" -EXTRA_OEMAKE_class-native = "" -EXTRA_OEMAKE_class-nativesdk = "" - -BBCLASSEXTEND = "native nativesdk" - -# Package utilities separately -PACKAGES =+ "${PN}-binutils libelf libasm libdw" -FILES_${PN}-binutils = "\ - ${bindir}/eu-addr2line \ - ${bindir}/eu-ld \ - ${bindir}/eu-nm \ - ${bindir}/eu-readelf \ - ${bindir}/eu-size \ - ${bindir}/eu-strip" - -FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" -FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" -FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" -# Some packages have the version preceeding the .so instead properly -# versioned .so.<version>, so we need to reorder and repackage. -#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" -#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" - -# The package contains symlinks that trip up insane -INSANE_SKIP_${MLPREFIX}libdw = "dev-so" diff --git a/meta/recipes-devtools/m4/m4-1.4.9.inc b/meta/recipes-devtools/m4/m4-1.4.9.inc deleted file mode 100644 index aab2c1efa2..0000000000 --- a/meta/recipes-devtools/m4/m4-1.4.9.inc +++ /dev/null @@ -1,13 +0,0 @@ -require m4.inc - -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe\ - file://examples/COPYING;md5=1d49bd61dc590f014cae7173b43e3e5c" - -PR = "r2" -SRC_URI += "file://fix_for_circular_dependency.patch" - -SRC_URI[md5sum] = "1ba8e147aff5e79bd2bfb983d86b53d5" -SRC_URI[sha256sum] = "815ce53853fbf6493617f467389b799208b1ec98296b95be44a683f8bcfd7c47" - diff --git a/meta/recipes-devtools/m4/m4/fix_for_circular_dependency.patch b/meta/recipes-devtools/m4/m4/fix_for_circular_dependency.patch deleted file mode 100644 index 98774535d5..0000000000 --- a/meta/recipes-devtools/m4/m4/fix_for_circular_dependency.patch +++ /dev/null @@ -1,77 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -The older GPLv2 m4 does not work well with newer autoconf. It causes the -circular dependency as seen bellow. - Removing this m4 file which was needed only forl older autoconf - -| configure.ac:34: error: AC_REQUIRE: circular dependency of AC_GNU_SOURCE -| /build_disk/poky_build/build1/tmp/work/i586-poky-linux/m4-1.4.9-r0/m4-1.4.9/m4/extensions.m4:19: AC_USE_SYSTEM_EXTENSIONS is expanded from... -| ../../lib/autoconf/specific.m4:310: AC_GNU_SOURCE is expanded from... -| /build_disk/poky_build/build1/tmp/work/i586-poky-linux/m4-1.4.9-r0/m4-1.4.9/m4/gnulib-comp.m4:21: M4_EARLY is expanded from... -| configure.ac:34: the top level -| autom4te: /build_disk/poky_build/build1/tmp/sysroots/x86_64-linux/usr/bin/m4 failed with exit status: 1 -| aclocal: /build_disk/poky_build/build1/tmp/sysroots/x86_64-linux/usr/bin/autom4te failed with exit status: 1 -| autoreconf: aclocal failed with exit status: 1 - -Nitin A Kamble <nitin.a.kamble@intel.com> -2011/03/16 - -Index: m4-1.4.9/m4/extensions.m4 -=================================================================== ---- m4-1.4.9.orig/m4/extensions.m4 -+++ m4-1.4.9/m4/extensions.m4 -@@ -6,53 +6,10 @@ - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS --# Autoconf. Perhaps we can remove this once we can assume Autoconf --# 2.61 or later everywhere, but since CVS Autoconf mutates rapidly --# enough in this area it's likely we'll need to redefine --# AC_USE_SYSTEM_EXTENSIONS for quite some time. -- --# AC_USE_SYSTEM_EXTENSIONS --# ------------------------ --# Enable extensions on systems that normally disable them, --# typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], --[ -- AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -- AC_BEFORE([$0], [AC_RUN_IFELSE]) -- -- AC_REQUIRE([AC_GNU_SOURCE]) -- AC_REQUIRE([AC_AIX]) -- AC_REQUIRE([AC_MINIX]) -- -- AH_VERBATIM([__EXTENSIONS__], --[/* Enable extensions on Solaris. */ --#ifndef __EXTENSIONS__ --# undef __EXTENSIONS__ --#endif --#ifndef _POSIX_PTHREAD_SEMANTICS --# undef _POSIX_PTHREAD_SEMANTICS --#endif --#ifndef _TANDEM_SOURCE --# undef _TANDEM_SOURCE --#endif]) -- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -- [ac_cv_safe_to_define___extensions__], -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([ --# define __EXTENSIONS__ 1 -- AC_INCLUDES_DEFAULT])], -- [ac_cv_safe_to_define___extensions__=yes], -- [ac_cv_safe_to_define___extensions__=no])]) -- test $ac_cv_safe_to_define___extensions__ = yes && -- AC_DEFINE([__EXTENSIONS__]) -- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -- AC_DEFINE([_TANDEM_SOURCE]) --]) - - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. - AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], -- [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) -+ []) diff --git a/meta/recipes-devtools/m4/m4_1.4.9.bb b/meta/recipes-devtools/m4/m4_1.4.9.bb deleted file mode 100644 index b12c0adf3a..0000000000 --- a/meta/recipes-devtools/m4/m4_1.4.9.bb +++ /dev/null @@ -1,3 +0,0 @@ -require m4-${PV}.inc - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch b/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch deleted file mode 100644 index 102fe79ab8..0000000000 --- a/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch +++ /dev/null @@ -1,43 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.in:48: error: automatic de-ANSI-fication support has been removed -... -| Makefile.am:19: error: automatic de-ANSI-fication support has been removed -| autoreconf: automake failed with exit status: 1 -| ERROR: autoreconf execution failed. - - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: make-3.81/configure.in -=================================================================== ---- make-3.81.orig/configure.in -+++ make-3.81/configure.in -@@ -44,9 +44,6 @@ AC_AIX - AC_ISC_POSIX - AC_MINIX - --# Needed for ansi2knr --AM_C_PROTOTYPES -- - # Enable gettext, in "external" mode. - - AM_GNU_GETTEXT_VERSION(0.14.1) -Index: make-3.81/Makefile.am -=================================================================== ---- make-3.81.orig/Makefile.am -+++ make-3.81/Makefile.am -@@ -16,7 +16,7 @@ - # GNU Make; see the file COPYING. If not, write to the Free Software - # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - --AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr -+AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news - ACLOCAL_AMFLAGS = -I config - - MAKE_HOST = @MAKE_HOST@ diff --git a/meta/recipes-devtools/make/make-3.81/makeinfo.patch b/meta/recipes-devtools/make/make-3.81/makeinfo.patch deleted file mode 100644 index 5dd7604675..0000000000 --- a/meta/recipes-devtools/make/make-3.81/makeinfo.patch +++ /dev/null @@ -1,22 +0,0 @@ -Allow docs to build with makeinfo 5.X, fixing the error: - -doc/make.texi:8165: @itemx must follow @item - -Upstream-Status: Backport - -RP -2014/03/29 - -Index: make-3.81/doc/make.texi -=================================================================== ---- make-3.81.orig/doc/make.texi 2006-04-01 06:36:40.000000000 +0000 -+++ make-3.81/doc/make.texi 2014-03-29 09:39:51.007727012 +0000 -@@ -8162,7 +8162,7 @@ - rarely need to specify this option since @samp{make} does it for you; - see @ref{-w Option, ,The @samp{--print-directory} Option}.) - --@itemx --no-print-directory -+@item --no-print-directory - @cindex @code{--no-print-directory} - Disable printing of the working directory under @code{-w}. - This option is useful when @code{-w} is turned on automatically, diff --git a/meta/recipes-devtools/make/make_3.81.bb b/meta/recipes-devtools/make/make_3.81.bb deleted file mode 100644 index b8a79b0eb2..0000000000 --- a/meta/recipes-devtools/make/make_3.81.bb +++ /dev/null @@ -1,15 +0,0 @@ -PR = "r1" - -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \ - file://tests/COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ - file://glob/COPYING.LIB;md5=4a770b67e6be0f60da244beb2de0fce4" - -require make.inc - -SRC_URI += "file://make_fix_for_automake-1.12.patch" -SRC_URI += "file://makeinfo.patch" - -SRC_URI[md5sum] = "354853e0b2da90c527e35aabb8d6f1e6" -SRC_URI[sha256sum] = "f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8" - diff --git a/meta/recipes-devtools/mtools/mtools/fix-broken-lz.patch b/meta/recipes-devtools/mtools/mtools/fix-broken-lz.patch deleted file mode 100644 index cb454917ff..0000000000 --- a/meta/recipes-devtools/mtools/mtools/fix-broken-lz.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.in b/Makefile.in -index 8f9305a..694e837 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -251,6 +251,7 @@ install-scripts: ${DESTDIR}$(bindir)/mtools - @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) - @for j in $(SCRIPTS) ; do \ - $(INSTALL_SCRIPT) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ -+ $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ - echo ${DESTDIR}$(bindir)/$$j ; \ - done - rm -f ${DESTDIR}$(bindir)/lz --- -2.0.0 - diff --git a/meta/recipes-devtools/mtools/mtools/mtools.patch b/meta/recipes-devtools/mtools/mtools/mtools.patch deleted file mode 100644 index 15a32088d1..0000000000 --- a/meta/recipes-devtools/mtools/mtools/mtools.patch +++ /dev/null @@ -1,129 +0,0 @@ -$NetBSD: patch-aa,v 1.10 2007/08/17 20:55:34 joerg Exp $ - ---- - Makefile.in | 74 ++++++++++++++++++++++++++---------------------------------- - 1 file changed, 33 insertions(+), 41 deletions(-) - -Upstream-Status: Inappropriate [licensing] - -Index: mtools-3.9.9/Makefile.in -=================================================================== ---- mtools-3.9.9.orig/Makefile.in 2007-10-12 11:18:46.000000000 +0100 -+++ mtools-3.9.9/Makefile.in 2007-10-12 11:28:14.000000000 +0100 -@@ -195,30 +195,22 @@ html: mtools.html mtools_toc.html - - # Don't cd, to avoid breaking install-sh references. - install-info: info -- $(top_srcdir)/mkinstalldirs $(infodir) -+ $(top_srcdir)/mkinstalldirs ${DESTDIR}$(infodir) - if test -f mtools.info; then \ - for i in mtools.info*; do \ -- $(INSTALL_DATA) $$i $(infodir)/$$i; \ -+ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/$$i; \ - done; \ - else \ - for i in $(srcdir)/mtools.info*; do \ -- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ -+ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ - done; \ - fi; \ -- if [ -n "$(INSTALL_INFO)" ] ; then \ -- if [ -f $(infodir)/dir.info ] ; then \ -- $(INSTALL_INFO) $(infodir)/mtools.info $(infodir)/dir.info; \ -- fi; \ -- if [ -f $(infodir)/dir ] ; then \ -- $(INSTALL_INFO) $(infodir)/mtools.info $(infodir)/dir; \ -- fi; \ -- fi - - uninstall-info: - cd $(infodir) && rm -f mtools.info* - --install: $(bindir)/mtools @BINFLOPPYD@ install-man install-links \ -- $(bindir)/mkmanifest install-scripts install-info -+install: ${DESTDIR}$(bindir)/mtools ${DESTDIR}$(bindir)/floppyd install-man install-links \ -+ ${DESTDIR}$(bindir)/mkmanifest install-scripts install-info - - uninstall: uninstall-bin uninstall-man uninstall-links \ - uninstall-scripts -@@ -228,52 +220,52 @@ distclean: clean texclean - maintainer-clean: distclean - - --$(bindir)/floppyd: floppyd -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(INSTALL_PROGRAM) floppyd $(bindir)/floppyd -+${DESTDIR}$(bindir)/floppyd: floppyd -+ $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) -+ $(INSTALL_PROGRAM) floppyd ${DESTDIR}$(bindir)/floppyd - --$(bindir)/floppyd_installtest: floppyd_installtest -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(INSTALL_PROGRAM) floppyd_installtest $(bindir)/floppyd_installtest -+${DESTDIR}$(bindir)/floppyd_installtest: floppyd_installtest -+ $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) -+ $(INSTALL_PROGRAM) floppyd_installtest ${DESTDIR}$(bindir)/floppyd_installtest - --$(bindir)/mtools: mtools -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(INSTALL_PROGRAM) mtools $(bindir)/mtools -+${DESTDIR}$(bindir)/mtools: mtools -+ $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) -+ $(INSTALL_PROGRAM) mtools ${DESTDIR}$(bindir)/mtools - --$(bindir)/mkmanifest: mkmanifest -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(INSTALL_PROGRAM) mkmanifest $(bindir)/mkmanifest -+${DESTDIR}$(bindir)/mkmanifest: mkmanifest -+ $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) -+ $(INSTALL_PROGRAM) mkmanifest ${DESTDIR}$(bindir)/mkmanifest - - #$(ETCDIR)/mtools: mtools.etc - # cp mtools.etc $(ETCDIR)/mtools - --install-links: $(bindir)/mtools -+install-links: ${DESTDIR}$(bindir)/mtools - @for j in $(LINKS); do \ -- rm -f $(bindir)/$$j ; \ -- $(LN_S) mtools $(bindir)/$$j ; \ -- echo $(bindir)/$$j ; \ -+ rm -f ${DESTDIR}$(bindir)/$$j ; \ -+ $(LN_S) mtools ${DESTDIR}$(bindir)/$$j ; \ -+ echo ${DESTDIR}$(bindir)/$$j ; \ - done - - ## "z" is the older version of "gz"; the name is just *too* short --install-scripts: $(bindir)/mtools -- @$(top_srcdir)/mkinstalldirs $(bindir) -+install-scripts: ${DESTDIR}$(bindir)/mtools -+ @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) - @for j in $(SCRIPTS) ; do \ -- $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j $(bindir)/$$j ; \ -- echo $(bindir)/$$j ; \ -+ $(INSTALL_SCRIPT) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ -+ echo ${DESTDIR}$(bindir)/$$j ; \ - done -- rm -f $(bindir)/lz -- $(LN_S) uz $(bindir)/lz -+ rm -f ${DESTDIR}$(bindir)/lz -+ $(LN_S) uz ${DESTDIR}$(bindir)/lz - - install-man: -- @$(top_srcdir)/mkinstalldirs $(MAN1DIR) -+ @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(MAN1DIR) - @for j in $(MAN1); do \ -- $(INSTALL_DATA) $(srcdir)/$$j $(MAN1DIR)/$$j ; \ -- echo $(MAN1DIR)/$$j ; \ -+ $(INSTALL_DATA) $(srcdir)/$$j ${DESTDIR}$(MAN1DIR)/$$j ; \ -+ echo ${DESTDIR}$(MAN1DIR)/$$j ; \ - done -- @$(top_srcdir)/mkinstalldirs $(MAN5DIR) -+ @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(MAN5DIR) - @for j in $(MAN5); do \ -- $(INSTALL_DATA) $(srcdir)/$$j $(MAN5DIR)/$$j ; \ -- echo $(MAN5DIR)/$$j ; \ -+ $(INSTALL_DATA) $(srcdir)/$$j ${DESTDIR}$(MAN5DIR)/$$j ; \ -+ echo ${DESTDIR}$(MAN5DIR)/$$j ; \ - done - - uninstall-bin: diff --git a/meta/recipes-devtools/mtools/mtools/no-x11.patch b/meta/recipes-devtools/mtools/mtools/no-x11.patch deleted file mode 100644 index 705b62944d..0000000000 --- a/meta/recipes-devtools/mtools/mtools/no-x11.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Upstream-Status: Inappropriate [licensing] - ---- mtools-3.9.9.orig/Makefile.in -+++ mtools-3.9.9/Makefile.in -@@ -128,11 +128,11 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ - X_PRE_LIBS = @X_PRE_LIBS@ - CFLAGS = $(CPPFLAGS) $(DEFS) $(MYCFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS) - CXXFLAGS = $(CPPFLAGS) $(DEFS) $(MYCXXFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS) - LINK = $(CC) $(LDFLAGS) $(USERLDFLAGS) @extralibdir@ - ALLLIBS = $(USERLDLIBS) $(MACHDEPLIBS) $(SHLIB) $(LIBS) --X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lXau -lX11 $(LIBS) -+X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(LIBS) - X_CCFLAGS = $(X_CFLAGS) $(CFLAGS) - - all: mtools $(LINKS) mkmanifest @FLOPPYD@ - - %.o: %.c diff --git a/meta/recipes-devtools/mtools/mtools_3.9.9.bb b/meta/recipes-devtools/mtools/mtools_3.9.9.bb deleted file mode 100644 index 2904ff4f98..0000000000 --- a/meta/recipes-devtools/mtools/mtools_3.9.9.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Utilities to access MS-DOS disks without mounting them" -DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." -HOMEPAGE = "http://www.gnu.org/software/mtools/" -SECTION = "optional" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=92b58ec77696788ce278b044d2a8e9d3" -PR = "r6" - -DEPENDS += "virtual/libiconv" - -RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850" -RRECOMMENDS_${PN}_libc-glibc = "\ - glibc-gconv-ibm437 \ - glibc-gconv-ibm737 \ - glibc-gconv-ibm775 \ - glibc-gconv-ibm851 \ - glibc-gconv-ibm852 \ - glibc-gconv-ibm855 \ - glibc-gconv-ibm857 \ - glibc-gconv-ibm860 \ - glibc-gconv-ibm861 \ - glibc-gconv-ibm862 \ - glibc-gconv-ibm863 \ - glibc-gconv-ibm865 \ - glibc-gconv-ibm866 \ - glibc-gconv-ibm869 \ - " -SRC_URI[md5sum] = "3e68b857b4e1f3a6521d1dfefbd30a36" -SRC_URI[sha256sum] = "af083a73425d664d4607ef6c6564fd9319a0e47ee7c105259a45356cb834690e" - -#http://mtools.linux.lu/mtools-${PV}.tar.gz -SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/mtools-${PV}.tar.gz \ - file://mtools-makeinfo.patch \ - file://mtools.patch \ - file://no-x11.patch \ - file://fix-broken-lz.patch \ - file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \ - " - -inherit autotools texinfo - -EXTRA_OECONF = "--without-x" - -LDFLAGS_append_libc-uclibc = " -liconv " - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" - -do_install_prepend () { - # Create bindir to fix parallel installation issues - mkdir -p ${D}/${bindir} - mkdir -p ${D}/${datadir} -} diff --git a/meta/recipes-devtools/patch/patch/debian.patch b/meta/recipes-devtools/patch/patch/debian.patch deleted file mode 100644 index 1a07646591..0000000000 --- a/meta/recipes-devtools/patch/patch/debian.patch +++ /dev/null @@ -1,10426 +0,0 @@ -Upstream-Status: Inappropriate [debian patch] - ---- patch-2.5.9.orig/m4/hash.m4 -+++ patch-2.5.9/m4/hash.m4 -@@ -0,0 +1,15 @@ -+# hash.m4 serial 1 -+dnl Copyright (C) 2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+AC_DEFUN([gl_HASH], -+[ -+ dnl Prerequisites of lib/hash.c. -+ AC_CHECK_HEADERS_ONCE(stdlib.h) -+ AC_HEADER_STDBOOL -+ AC_CHECK_DECLS_ONCE(free malloc) -+]) ---- patch-2.5.9.orig/m4/nanosecond_stat.m4 -+++ patch-2.5.9/m4/nanosecond_stat.m4 -@@ -0,0 +1,35 @@ -+AC_DEFUN([ag_CHECK_NANOSECOND_STAT], -+ [AC_CACHE_CHECK([for nanosecond timestamps in struct stat], -+ [ac_cv_stat_nsec], -+ [AC_TRY_COMPILE( -+ [ -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ ], -+ [ return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; ], -+ [ac_cv_stat_nsec=yes], -+ [ac_cv_stat_nsec=no]) -+ ]) -+ if test $ac_cv_stat_nsec = yes; then -+ AC_DEFINE(HAVE_STAT_NSEC, 1, [Define to 1 if struct stat has nanosecond timestamps.]) -+ fi -+ -+ AC_CACHE_CHECK([for nanosecond timestamps in struct stat], -+ [ac_cv_stat_timeval], -+ [AC_TRY_COMPILE( -+ [ -+ #include <time.h> -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ ], -+ [ return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; ], -+ [ac_cv_stat_timeval=yes], -+ [ac_cv_stat_timeval=no]) -+ ]) -+ if test $ac_cv_stat_timeval = yes; then -+ AC_DEFINE(HAVE_STAT_TIMEVAL, 1, [Define to 1 if struct stat comtains struct timeval's.]) -+ fi]) ---- patch-2.5.9.orig/Makefile.in -+++ patch-2.5.9/Makefile.in -@@ -62,7 +62,7 @@ - SHELL = /bin/sh - - LIBSRCS = error.c malloc.c memchr.c mkdir.c \ -- realloc.c rmdir.c strcasecmp.c strncasecmp.c -+ realloc.c rmdir.c strcasecmp.c strncasecmp.c hash.c - SRCS = $(LIBSRCS) \ - addext.c argmatch.c backupfile.c \ - basename.c dirname.c \ -@@ -78,12 +78,12 @@ - maketime.$(OBJEXT) partime.$(OBJEXT) \ - patch.$(OBJEXT) pch.$(OBJEXT) \ - quote.$(OBJEXT) quotearg.$(OBJEXT) quotesys.$(OBJEXT) \ -- util.$(OBJEXT) version.$(OBJEXT) xmalloc.$(OBJEXT) -+ util.$(OBJEXT) version.$(OBJEXT) xmalloc.$(OBJEXT) hash.$(OBJEXT) - HDRS = argmatch.h backupfile.h common.h dirname.h \ - error.h getopt.h gettext.h \ - inp.h maketime.h partime.h pch.h \ - quote.h quotearg.h quotesys.h \ -- unlocked-io.h util.h version.h xalloc.h -+ unlocked-io.h util.h version.h xalloc.h hash.h - MISC = AUTHORS COPYING ChangeLog INSTALL Makefile.in NEWS README \ - aclocal.m4 \ - config.hin configure configure.ac \ ---- patch-2.5.9.orig/aclocal.m4 -+++ patch-2.5.9/aclocal.m4 -@@ -1,3 +1,1058 @@ -+dnl aclocal.m4 generated automatically by aclocal 1.4-p6 -+ -+dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl This program is distributed in the hope that it will be useful, -+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+dnl PARTICULAR PURPOSE. -+ -+# lib-prefix.m4 serial 3 (gettext-0.13) -+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+dnl From Bruno Haible. -+ -+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -+dnl require excessive bracketing. -+ifdef([AC_HELP_STRING], -+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) -+ -+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -+dnl to access previously installed libraries. The basic assumption is that -+dnl a user will want packages to use other packages he previously installed -+dnl with the same --prefix option. -+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -+dnl libraries, but is otherwise very convenient. -+AC_DEFUN([AC_LIB_PREFIX], -+[ -+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) -+ AC_REQUIRE([AC_PROG_CC]) -+ AC_REQUIRE([AC_CANONICAL_HOST]) -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ dnl By default, look in $includedir and $libdir. -+ use_additional=yes -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ AC_LIB_ARG_WITH([lib-prefix], -+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib -+ --without-lib-prefix don't search for libraries in includedir and libdir], -+[ -+ if test "X$withval" = "Xno"; then -+ use_additional=no -+ else -+ if test "X$withval" = "X"; then -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ else -+ additional_includedir="$withval/include" -+ additional_libdir="$withval/lib" -+ fi -+ fi -+]) -+ if test $use_additional = yes; then -+ dnl Potentially add $additional_includedir to $CPPFLAGS. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/include, -+ dnl 2. if it's already present in $CPPFLAGS, -+ dnl 3. if it's /usr/local/include and we are using GCC on Linux, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_includedir" != "X/usr/include"; then -+ haveit= -+ for x in $CPPFLAGS; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-I$additional_includedir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test "X$additional_includedir" = "X/usr/local/include"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux*) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ if test -d "$additional_includedir"; then -+ dnl Really add $additional_includedir to $CPPFLAGS. -+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" -+ fi -+ fi -+ fi -+ fi -+ dnl Potentially add $additional_libdir to $LDFLAGS. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/lib, -+ dnl 2. if it's already present in $LDFLAGS, -+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_libdir" != "X/usr/lib"; then -+ haveit= -+ for x in $LDFLAGS; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test "X$additional_libdir" = "X/usr/local/lib"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux*) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LDFLAGS. -+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" -+ fi -+ fi -+ fi -+ fi -+ fi -+]) -+ -+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -+dnl acl_final_exec_prefix, containing the values to which $prefix and -+dnl $exec_prefix will expand at the end of the configure script. -+AC_DEFUN([AC_LIB_PREPARE_PREFIX], -+[ -+ dnl Unfortunately, prefix and exec_prefix get only finally determined -+ dnl at the end of configure. -+ if test "X$prefix" = "XNONE"; then -+ acl_final_prefix="$ac_default_prefix" -+ else -+ acl_final_prefix="$prefix" -+ fi -+ if test "X$exec_prefix" = "XNONE"; then -+ acl_final_exec_prefix='${prefix}' -+ else -+ acl_final_exec_prefix="$exec_prefix" -+ fi -+ acl_save_prefix="$prefix" -+ prefix="$acl_final_prefix" -+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" -+ prefix="$acl_save_prefix" -+]) -+ -+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -+dnl variables prefix and exec_prefix bound to the values they will have -+dnl at the end of the configure script. -+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -+[ -+ acl_save_prefix="$prefix" -+ prefix="$acl_final_prefix" -+ acl_save_exec_prefix="$exec_prefix" -+ exec_prefix="$acl_final_exec_prefix" -+ $1 -+ exec_prefix="$acl_save_exec_prefix" -+ prefix="$acl_save_prefix" -+]) -+ -+# lib-link.m4 serial 4 (gettext-0.12) -+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+dnl From Bruno Haible. -+ -+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -+dnl the libraries corresponding to explicit and implicit dependencies. -+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -+dnl augments the CPPFLAGS variable. -+AC_DEFUN([AC_LIB_LINKFLAGS], -+[ -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ AC_REQUIRE([AC_LIB_RPATH]) -+ define([Name],[translit([$1],[./-], [___])]) -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ -+ AC_LIB_LINKFLAGS_BODY([$1], [$2]) -+ ac_cv_lib[]Name[]_libs="$LIB[]NAME" -+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" -+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME" -+ ]) -+ LIB[]NAME="$ac_cv_lib[]Name[]_libs" -+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" -+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags" -+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) -+ AC_SUBST([LIB]NAME) -+ AC_SUBST([LTLIB]NAME) -+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the -+ dnl results of this search when this library appears as a dependency. -+ HAVE_LIB[]NAME=yes -+ undefine([Name]) -+ undefine([NAME]) -+]) -+ -+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -+dnl searches for libname and the libraries corresponding to explicit and -+dnl implicit dependencies, together with the specified include files and -+dnl the ability to compile and link the specified testcode. If found, it -+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -+[ -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ AC_REQUIRE([AC_LIB_RPATH]) -+ define([Name],[translit([$1],[./-], [___])]) -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ -+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME -+ dnl accordingly. -+ AC_LIB_LINKFLAGS_BODY([$1], [$2]) -+ -+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, -+ dnl because if the user has installed lib[]Name and not disabled its use -+ dnl via --without-lib[]Name-prefix, he wants to use it. -+ ac_save_CPPFLAGS="$CPPFLAGS" -+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) -+ -+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ -+ ac_save_LIBS="$LIBS" -+ LIBS="$LIBS $LIB[]NAME" -+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) -+ LIBS="$ac_save_LIBS" -+ ]) -+ if test "$ac_cv_lib[]Name" = yes; then -+ HAVE_LIB[]NAME=yes -+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) -+ AC_MSG_CHECKING([how to link with lib[]$1]) -+ AC_MSG_RESULT([$LIB[]NAME]) -+ else -+ HAVE_LIB[]NAME=no -+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need -+ dnl $INC[]NAME either. -+ CPPFLAGS="$ac_save_CPPFLAGS" -+ LIB[]NAME= -+ LTLIB[]NAME= -+ fi -+ AC_SUBST([HAVE_LIB]NAME) -+ AC_SUBST([LIB]NAME) -+ AC_SUBST([LTLIB]NAME) -+ undefine([Name]) -+ undefine([NAME]) -+]) -+ -+dnl Determine the platform dependent parameters needed to use rpath: -+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, -+dnl hardcode_direct, hardcode_minus_L. -+AC_DEFUN([AC_LIB_RPATH], -+[ -+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS -+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld -+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host -+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir -+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ -+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ -+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh -+ . ./conftest.sh -+ rm -f ./conftest.sh -+ acl_cv_rpath=done -+ ]) -+ wl="$acl_cv_wl" -+ libext="$acl_cv_libext" -+ shlibext="$acl_cv_shlibext" -+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" -+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" -+ hardcode_direct="$acl_cv_hardcode_direct" -+ hardcode_minus_L="$acl_cv_hardcode_minus_L" -+ dnl Determine whether the user wants rpath handling at all. -+ AC_ARG_ENABLE(rpath, -+ [ --disable-rpath do not hardcode runtime library paths], -+ :, enable_rpath=yes) -+]) -+ -+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -+dnl the libraries corresponding to explicit and implicit dependencies. -+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -+AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -+[ -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ dnl By default, look in $includedir and $libdir. -+ use_additional=yes -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ AC_LIB_ARG_WITH([lib$1-prefix], -+[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib -+ --without-lib$1-prefix don't search for lib$1 in includedir and libdir], -+[ -+ if test "X$withval" = "Xno"; then -+ use_additional=no -+ else -+ if test "X$withval" = "X"; then -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ else -+ additional_includedir="$withval/include" -+ additional_libdir="$withval/lib" -+ fi -+ fi -+]) -+ dnl Search the library and its dependencies in $additional_libdir and -+ dnl $LDFLAGS. Using breadth-first-seach. -+ LIB[]NAME= -+ LTLIB[]NAME= -+ INC[]NAME= -+ rpathdirs= -+ ltrpathdirs= -+ names_already_handled= -+ names_next_round='$1 $2' -+ while test -n "$names_next_round"; do -+ names_this_round="$names_next_round" -+ names_next_round= -+ for name in $names_this_round; do -+ already_handled= -+ for n in $names_already_handled; do -+ if test "$n" = "$name"; then -+ already_handled=yes -+ break -+ fi -+ done -+ if test -z "$already_handled"; then -+ names_already_handled="$names_already_handled $name" -+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS -+ dnl or AC_LIB_HAVE_LINKFLAGS call. -+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` -+ eval value=\"\$HAVE_LIB$uppername\" -+ if test -n "$value"; then -+ if test "$value" = yes; then -+ eval value=\"\$LIB$uppername\" -+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" -+ eval value=\"\$LTLIB$uppername\" -+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" -+ else -+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined -+ dnl that this library doesn't exist. So just drop it. -+ : -+ fi -+ else -+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS -+ dnl and the already constructed $LIBNAME/$LTLIBNAME. -+ found_dir= -+ found_la= -+ found_so= -+ found_a= -+ if test $use_additional = yes; then -+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then -+ found_dir="$additional_libdir" -+ found_so="$additional_libdir/lib$name.$shlibext" -+ if test -f "$additional_libdir/lib$name.la"; then -+ found_la="$additional_libdir/lib$name.la" -+ fi -+ else -+ if test -f "$additional_libdir/lib$name.$libext"; then -+ found_dir="$additional_libdir" -+ found_a="$additional_libdir/lib$name.$libext" -+ if test -f "$additional_libdir/lib$name.la"; then -+ found_la="$additional_libdir/lib$name.la" -+ fi -+ fi -+ fi -+ fi -+ if test "X$found_dir" = "X"; then -+ for x in $LDFLAGS $LTLIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ case "$x" in -+ -L*) -+ dir=`echo "X$x" | sed -e 's/^X-L//'` -+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then -+ found_dir="$dir" -+ found_so="$dir/lib$name.$shlibext" -+ if test -f "$dir/lib$name.la"; then -+ found_la="$dir/lib$name.la" -+ fi -+ else -+ if test -f "$dir/lib$name.$libext"; then -+ found_dir="$dir" -+ found_a="$dir/lib$name.$libext" -+ if test -f "$dir/lib$name.la"; then -+ found_la="$dir/lib$name.la" -+ fi -+ fi -+ fi -+ ;; -+ esac -+ if test "X$found_dir" != "X"; then -+ break -+ fi -+ done -+ fi -+ if test "X$found_dir" != "X"; then -+ dnl Found the library. -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" -+ if test "X$found_so" != "X"; then -+ dnl Linking with a shared library. We attempt to hardcode its -+ dnl directory into the executable's runpath, unless it's the -+ dnl standard /usr/lib. -+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then -+ dnl No hardcoding is needed. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ dnl Use an explicit option to hardcode DIR into the resulting -+ dnl binary. -+ dnl Potentially add DIR to ltrpathdirs. -+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. -+ haveit= -+ for x in $ltrpathdirs; do -+ if test "X$x" = "X$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ ltrpathdirs="$ltrpathdirs $found_dir" -+ fi -+ dnl The hardcoding into $LIBNAME is system dependent. -+ if test "$hardcode_direct" = yes; then -+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the -+ dnl resulting binary. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then -+ dnl Use an explicit option to hardcode DIR into the resulting -+ dnl binary. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ dnl Potentially add DIR to rpathdirs. -+ dnl The rpathdirs will be appended to $LIBNAME at the end. -+ haveit= -+ for x in $rpathdirs; do -+ if test "X$x" = "X$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ rpathdirs="$rpathdirs $found_dir" -+ fi -+ else -+ dnl Rely on "-L$found_dir". -+ dnl But don't add it if it's already contained in the LDFLAGS -+ dnl or the already constructed $LIBNAME -+ haveit= -+ for x in $LDFLAGS $LIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" -+ fi -+ if test "$hardcode_minus_L" != no; then -+ dnl FIXME: Not sure whether we should use -+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" -+ dnl here. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH -+ dnl here, because this doesn't fit in flags passed to the -+ dnl compiler. So give up. No hardcoding. This affects only -+ dnl very old systems. -+ dnl FIXME: Not sure whether we should use -+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" -+ dnl here. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" -+ fi -+ fi -+ fi -+ fi -+ else -+ if test "X$found_a" != "X"; then -+ dnl Linking with a static library. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" -+ else -+ dnl We shouldn't come here, but anyway it's good to have a -+ dnl fallback. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" -+ fi -+ fi -+ dnl Assume the include files are nearby. -+ additional_includedir= -+ case "$found_dir" in -+ */lib | */lib/) -+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` -+ additional_includedir="$basedir/include" -+ ;; -+ esac -+ if test "X$additional_includedir" != "X"; then -+ dnl Potentially add $additional_includedir to $INCNAME. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/include, -+ dnl 2. if it's /usr/local/include and we are using GCC on Linux, -+ dnl 3. if it's already present in $CPPFLAGS or the already -+ dnl constructed $INCNAME, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_includedir" != "X/usr/include"; then -+ haveit= -+ if test "X$additional_includedir" = "X/usr/local/include"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux*) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ for x in $CPPFLAGS $INC[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-I$additional_includedir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_includedir"; then -+ dnl Really add $additional_includedir to $INCNAME. -+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" -+ fi -+ fi -+ fi -+ fi -+ fi -+ dnl Look for dependencies. -+ if test -n "$found_la"; then -+ dnl Read the .la file. It defines the variables -+ dnl dlname, library_names, old_library, dependency_libs, current, -+ dnl age, revision, installed, dlopen, dlpreopen, libdir. -+ save_libdir="$libdir" -+ case "$found_la" in -+ */* | *\\*) . "$found_la" ;; -+ *) . "./$found_la" ;; -+ esac -+ libdir="$save_libdir" -+ dnl We use only dependency_libs. -+ for dep in $dependency_libs; do -+ case "$dep" in -+ -L*) -+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` -+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/lib, -+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux, -+ dnl 3. if it's already present in $LDFLAGS or the already -+ dnl constructed $LIBNAME, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_libdir" != "X/usr/lib"; then -+ haveit= -+ if test "X$additional_libdir" = "X/usr/local/lib"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux*) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ haveit= -+ for x in $LDFLAGS $LIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LIBNAME. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" -+ fi -+ fi -+ haveit= -+ for x in $LDFLAGS $LTLIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LTLIBNAME. -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" -+ fi -+ fi -+ fi -+ fi -+ ;; -+ -R*) -+ dir=`echo "X$dep" | sed -e 's/^X-R//'` -+ if test "$enable_rpath" != no; then -+ dnl Potentially add DIR to rpathdirs. -+ dnl The rpathdirs will be appended to $LIBNAME at the end. -+ haveit= -+ for x in $rpathdirs; do -+ if test "X$x" = "X$dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ dnl Potentially add DIR to ltrpathdirs. -+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. -+ haveit= -+ for x in $ltrpathdirs; do -+ if test "X$x" = "X$dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ ltrpathdirs="$ltrpathdirs $dir" -+ fi -+ fi -+ ;; -+ -l*) -+ dnl Handle this in the next round. -+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` -+ ;; -+ *.la) -+ dnl Handle this in the next round. Throw away the .la's -+ dnl directory; it is already contained in a preceding -L -+ dnl option. -+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` -+ ;; -+ *) -+ dnl Most likely an immediate library name. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" -+ ;; -+ esac -+ done -+ fi -+ else -+ dnl Didn't find the library; assume it is in the system directories -+ dnl known to the linker and runtime loader. (All the system -+ dnl directories known to the linker should also be known to the -+ dnl runtime loader, otherwise the system is severely misconfigured.) -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" -+ fi -+ fi -+ fi -+ done -+ done -+ if test "X$rpathdirs" != "X"; then -+ if test -n "$hardcode_libdir_separator"; then -+ dnl Weird platform: only the last -rpath option counts, the user must -+ dnl pass all path elements in one option. We can arrange that for a -+ dnl single library, but not when more than one $LIBNAMEs are used. -+ alldirs= -+ for found_dir in $rpathdirs; do -+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" -+ done -+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. -+ acl_save_libdir="$libdir" -+ libdir="$alldirs" -+ eval flag=\"$hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" -+ else -+ dnl The -rpath options are cumulative. -+ for found_dir in $rpathdirs; do -+ acl_save_libdir="$libdir" -+ libdir="$found_dir" -+ eval flag=\"$hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" -+ done -+ fi -+ fi -+ if test "X$ltrpathdirs" != "X"; then -+ dnl When using libtool, the option that works for both libraries and -+ dnl executables is -R. The -R options are cumulative. -+ for found_dir in $ltrpathdirs; do -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" -+ done -+ fi -+]) -+ -+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -+dnl unless already present in VAR. -+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -+dnl contains two or three consecutive elements that belong together. -+AC_DEFUN([AC_LIB_APPENDTOVAR], -+[ -+ for element in [$2]; do -+ haveit= -+ for x in $[$1]; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X$element"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ [$1]="${[$1]}${[$1]:+ }$element" -+ fi -+ done -+]) -+ -+# lib-ld.m4 serial 3 (gettext-0.13) -+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+dnl Subroutines of libtool.m4, -+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -+dnl with libtool.m4. -+ -+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -+AC_DEFUN([AC_LIB_PROG_LD_GNU], -+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -+[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -+case `$LD -v 2>&1 </dev/null` in -+*GNU* | *'with BFD'*) -+ acl_cv_prog_gnu_ld=yes ;; -+*) -+ acl_cv_prog_gnu_ld=no ;; -+esac]) -+with_gnu_ld=$acl_cv_prog_gnu_ld -+]) -+ -+dnl From libtool-1.4. Sets the variable LD. -+AC_DEFUN([AC_LIB_PROG_LD], -+[AC_ARG_WITH(gnu-ld, -+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -+AC_REQUIRE([AC_PROG_CC])dnl -+AC_REQUIRE([AC_CANONICAL_HOST])dnl -+# Prepare PATH_SEPARATOR. -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ echo "#! /bin/sh" >conf$$.sh -+ echo "exit 0" >>conf$$.sh -+ chmod +x conf$$.sh -+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then -+ PATH_SEPARATOR=';' -+ else -+ PATH_SEPARATOR=: -+ fi -+ rm -f conf$$.sh -+fi -+ac_prog=ld -+if test "$GCC" = yes; then -+ # Check if gcc -print-prog-name=ld gives a path. -+ AC_MSG_CHECKING([for ld used by GCC]) -+ case $host in -+ *-*-mingw*) -+ # gcc leaves a trailing carriage return which upsets mingw -+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; -+ *) -+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; -+ esac -+ case $ac_prog in -+ # Accept absolute paths. -+ [[\\/]* | [A-Za-z]:[\\/]*)] -+ [re_direlt='/[^/][^/]*/\.\./'] -+ # Canonicalize the path of ld -+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` -+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do -+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` -+ done -+ test -z "$LD" && LD="$ac_prog" -+ ;; -+ "") -+ # If it fails, then pretend we aren't using GCC. -+ ac_prog=ld -+ ;; -+ *) -+ # If it is relative, then search for the first ld in PATH. -+ with_gnu_ld=unknown -+ ;; -+ esac -+elif test "$with_gnu_ld" = yes; then -+ AC_MSG_CHECKING([for GNU ld]) -+else -+ AC_MSG_CHECKING([for non-GNU ld]) -+fi -+AC_CACHE_VAL(acl_cv_path_LD, -+[if test -z "$LD"; then -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" -+ for ac_dir in $PATH; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then -+ acl_cv_path_LD="$ac_dir/$ac_prog" -+ # Check to see if the program is GNU ld. I'd rather use --version, -+ # but apparently some GNU ld's only accept -v. -+ # Break only if it was the GNU/non-GNU ld that we prefer. -+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in -+ *GNU* | *'with BFD'*) -+ test "$with_gnu_ld" != no && break ;; -+ *) -+ test "$with_gnu_ld" != yes && break ;; -+ esac -+ fi -+ done -+ IFS="$ac_save_ifs" -+else -+ acl_cv_path_LD="$LD" # Let the user override the test with a path. -+fi]) -+LD="$acl_cv_path_LD" -+if test -n "$LD"; then -+ AC_MSG_RESULT($LD) -+else -+ AC_MSG_RESULT(no) -+fi -+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -+AC_LIB_PROG_LD_GNU -+]) -+ -+# isc-posix.m4 serial 2 (gettext-0.11.2) -+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. -+ -+# This test replaces the one in autoconf. -+# Currently this macro should have the same name as the autoconf macro -+# because gettext's gettext.m4 (distributed in the automake package) -+# still uses it. Otherwise, the use in gettext.m4 makes autoheader -+# give these diagnostics: -+# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -+# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX -+ -+undefine([AC_ISC_POSIX]) -+ -+AC_DEFUN([AC_ISC_POSIX], -+ [ -+ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. -+ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) -+ ] -+) -+ -+# Check for stdbool.h that conforms to C99. -+ -+# Copyright (C) 2002-2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# Prepare for substituting <stdbool.h> if it is not supported. -+ -+AC_DEFUN([AM_STDBOOL_H], -+[ -+ AC_REQUIRE([AC_HEADER_STDBOOL]) -+ -+ # Define two additional variables used in the Makefile substitution. -+ -+ if test "$ac_cv_header_stdbool_h" = yes; then -+ STDBOOL_H='' -+ else -+ STDBOOL_H='stdbool.h' -+ fi -+ AC_SUBST([STDBOOL_H]) -+ -+ if test "$ac_cv_type__Bool" = yes; then -+ HAVE__BOOL=1 -+ else -+ HAVE__BOOL=0 -+ fi -+ AC_SUBST([HAVE__BOOL]) -+]) -+ -+# This macro is only needed in autoconf <= 2.54. Newer versions of autoconf -+# have this macro built-in. -+ -+AC_DEFUN([AC_HEADER_STDBOOL], -+ [AC_CACHE_CHECK([for stdbool.h that conforms to C99], -+ [ac_cv_header_stdbool_h], -+ [AC_TRY_COMPILE( -+ [ -+ #include <stdbool.h> -+ #ifndef bool -+ "error: bool is not defined" -+ #endif -+ #ifndef false -+ "error: false is not defined" -+ #endif -+ #if false -+ "error: false is not 0" -+ #endif -+ #ifndef true -+ "error: false is not defined" -+ #endif -+ #if true != 1 -+ "error: true is not 1" -+ #endif -+ #ifndef __bool_true_false_are_defined -+ "error: __bool_true_false_are_defined is not defined" -+ #endif -+ -+ struct s { _Bool s: 1; _Bool t; } s; -+ -+ char a[true == 1 ? 1 : -1]; -+ char b[false == 0 ? 1 : -1]; -+ char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -+ char d[(bool) -0.5 == true ? 1 : -1]; -+ bool e = &s; -+ char f[(_Bool) -0.0 == false ? 1 : -1]; -+ char g[true]; -+ char h[sizeof (_Bool)]; -+ char i[sizeof s.t]; -+ ], -+ [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], -+ [ac_cv_header_stdbool_h=yes], -+ [ac_cv_header_stdbool_h=no])]) -+ AC_CHECK_TYPES([_Bool]) -+ if test $ac_cv_header_stdbool_h = yes; then -+ AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) -+ fi]) -+ -+#serial 5 -+ -+dnl From Jim Meyering -+ -+dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- -+dnl usually in <utime.h>. -+dnl Some systems have utime.h but don't declare the struct anywhere. -+ -+AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF], -+[ -+ AC_CHECK_HEADERS_ONCE(sys/time.h utime.h) -+ AC_REQUIRE([AC_HEADER_TIME]) -+ AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf, -+ [AC_TRY_COMPILE( -+ [ -+#ifdef TIME_WITH_SYS_TIME -+# include <sys/time.h> -+# include <time.h> -+#else -+# ifdef HAVE_SYS_TIME_H -+# include <sys/time.h> -+# else -+# include <time.h> -+# endif -+#endif -+#ifdef HAVE_UTIME_H -+# include <utime.h> -+#endif -+ ], -+ [static struct utimbuf x; x.actime = x.modtime;], -+ fu_cv_sys_struct_utimbuf=yes, -+ fu_cv_sys_struct_utimbuf=no) -+ ]) -+ -+ if test $fu_cv_sys_struct_utimbuf = yes; then -+ AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, -+ [Define if struct utimbuf is declared -- usually in <utime.h>. -+ Some systems have utime.h but don't declare the struct anywhere. ]) -+ fi -+]) -+ -+# onceonly.m4 serial 3 -+dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+dnl This file defines some "once only" variants of standard autoconf macros. -+dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS -+dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS -+dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS -+dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC -+dnl The advantage is that the check for each of the headers/functions/decls -+dnl will be put only once into the 'configure' file. It keeps the size of -+dnl the 'configure' file down, and avoids redundant output when 'configure' -+dnl is run. -+dnl The drawback is that the checks cannot be conditionalized. If you write -+dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi -+dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to -+dnl empty, and the check will be inserted before the body of the AC_DEFUNed -+dnl function. -+ -+dnl Autoconf version 2.57 or newer is recommended. -+AC_PREREQ(2.54) -+ -+# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of -+# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). -+AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ -+ : -+ AC_FOREACH([gl_HEADER_NAME], [$1], [ -+ AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), -+ [-./], [___])), [ -+ AC_CHECK_HEADERS(gl_HEADER_NAME) -+ ]) -+ AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, -+ [-./], [___]))) -+ ]) -+]) -+ -+# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of -+# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). -+AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ -+ : -+ AC_FOREACH([gl_FUNC_NAME], [$1], [ -+ AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ -+ AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) -+ ]) -+ AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) -+ ]) -+]) -+ -+# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of -+# AC_CHECK_DECLS(DECL1, DECL2, ...). -+AC_DEFUN([AC_CHECK_DECLS_ONCE], [ -+ : -+ AC_FOREACH([gl_DECL_NAME], [$1], [ -+ AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ -+ AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) -+ ]) -+ AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) -+ ]) -+]) -+ - # backupfile.m4 serial 1 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU -@@ -21,6 +1076,7 @@ - AC_CHECK_HEADERS_ONCE(limits.h string.h unistd.h) - AC_CHECK_FUNCS(pathconf) - ]) -+ - #serial 5 - - dnl From Jim Meyering. -@@ -63,31 +1119,7 @@ - fi - ] - ) --# dirname.m4 serial 1 --dnl Copyright (C) 2002 Free Software Foundation, Inc. --dnl This file is free software, distributed under the terms of the GNU --dnl General Public License. As a special exception to the GNU General --dnl Public License, this file may be distributed as part of a program --dnl that contains a configuration script generated by Autoconf, under --dnl the same distribution terms as the rest of that program. - --AC_DEFUN([gl_DIRNAME], --[ -- dnl Prerequisites of lib/dirname.h. -- AC_REQUIRE([jm_AC_DOS]) -- -- dnl Prerequisites of lib/dirname.c. -- AC_REQUIRE([AC_HEADER_STDC]) -- AC_CHECK_HEADERS_ONCE(string.h) -- -- dnl Prerequisites of lib/basename.c. -- AC_REQUIRE([AC_HEADER_STDC]) -- AC_CHECK_HEADERS_ONCE(string.h) -- -- dnl Prerequisites of lib/stripslash.c. -- AC_REQUIRE([AC_HEADER_STDC]) -- AC_CHECK_HEADERS_ONCE(string.h) --]) - #serial 5 - - # Define some macros required for proper operation of code in lib/*.c -@@ -141,6 +1173,33 @@ - [Define if the backslash character may also serve as a file name - component separator.]) - ]) -+ -+# dirname.m4 serial 1 -+dnl Copyright (C) 2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+AC_DEFUN([gl_DIRNAME], -+[ -+ dnl Prerequisites of lib/dirname.h. -+ AC_REQUIRE([jm_AC_DOS]) -+ -+ dnl Prerequisites of lib/dirname.c. -+ AC_REQUIRE([AC_HEADER_STDC]) -+ AC_CHECK_HEADERS_ONCE(string.h) -+ -+ dnl Prerequisites of lib/basename.c. -+ AC_REQUIRE([AC_HEADER_STDC]) -+ AC_CHECK_HEADERS_ONCE(string.h) -+ -+ dnl Prerequisites of lib/stripslash.c. -+ AC_REQUIRE([AC_HEADER_STDC]) -+ AC_CHECK_HEADERS_ONCE(string.h) -+]) -+ - #serial 7 - - AC_DEFUN([gl_ERROR], -@@ -159,7 +1218,67 @@ - AC_CHECK_DECLS([strerror]) - AC_FUNC_STRERROR_R - ]) --# getopt.m4 serial 1 -+ -+# memchr.m4 serial 1 -+dnl Copyright (C) 2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+AC_DEFUN([gl_FUNC_MEMCHR], -+[ -+ AC_REPLACE_FUNCS(memchr) -+ if test $ac_cv_func_memchr = no; then -+ jm_PREREQ_MEMCHR -+ fi -+]) -+ -+# Prerequisites of lib/memchr.c. -+AC_DEFUN([jm_PREREQ_MEMCHR], [ -+ AC_CHECK_HEADERS_ONCE(limits.h stdlib.h) -+ AC_CHECK_HEADERS(bp-sym.h) -+]) -+ -+# rmdir.m4 serial 1 -+dnl Copyright (C) 2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+AC_DEFUN([gl_FUNC_RMDIR], -+[ -+ AC_REPLACE_FUNCS(rmdir) -+ if test $ac_cv_func_rmdir = no; then -+ gl_PREREQ_RMDIR -+ fi -+]) -+ -+# Prerequisites of lib/rmdir.c. -+AC_DEFUN([gl_PREREQ_RMDIR], [ -+ AC_REQUIRE([AC_HEADER_STAT]) -+ : -+]) -+ -+ -+# getopt.m4 serial 1 -+dnl Copyright (C) 2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+AC_DEFUN([gl_GETOPT], -+[ -+ dnl Prerequisites of lib/getopt.c. -+ AC_CHECK_HEADERS_ONCE(string.h) -+]) -+ -+# xalloc.m4 serial 1 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU - dnl General Public License. As a special exception to the GNU General -@@ -167,11 +1286,25 @@ - dnl that contains a configuration script generated by Autoconf, under - dnl the same distribution terms as the rest of that program. - --AC_DEFUN([gl_GETOPT], -+AC_DEFUN([gl_XALLOC], - [ -- dnl Prerequisites of lib/getopt.c. -+ gl_PREREQ_XMALLOC -+ gl_PREREQ_XSTRDUP -+]) -+ -+# Prerequisites of lib/xmalloc.c. -+AC_DEFUN([gl_PREREQ_XMALLOC], [ -+ AC_REQUIRE([AC_HEADER_STDC]) -+ AC_REQUIRE([jm_FUNC_MALLOC]) -+ AC_REQUIRE([jm_FUNC_REALLOC]) -+]) -+ -+# Prerequisites of lib/xstrdup.c. -+AC_DEFUN([gl_PREREQ_XSTRDUP], [ -+ AC_REQUIRE([AC_HEADER_STDC]) - AC_CHECK_HEADERS_ONCE(string.h) - ]) -+ - # malloc.m4 serial 7 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU -@@ -197,66 +1330,8 @@ - AC_DEFUN([gl_PREREQ_MALLOC], [ - : - ]) --# mbrtowc.m4 serial 5 --dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. --dnl This file is free software, distributed under the terms of the GNU --dnl General Public License. As a special exception to the GNU General --dnl Public License, this file may be distributed as part of a program --dnl that contains a configuration script generated by Autoconf, under --dnl the same distribution terms as the rest of that program. -- --dnl From Paul Eggert -- --dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with --dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere. -- --AC_DEFUN([jm_FUNC_MBRTOWC], --[ -- AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], -- jm_cv_func_mbrtowc, -- [AC_TRY_LINK( -- [#include <wchar.h>], -- [mbstate_t state; return ! (sizeof state && mbrtowc);], -- jm_cv_func_mbrtowc=yes, -- jm_cv_func_mbrtowc=no)]) -- if test $jm_cv_func_mbrtowc = yes; then -- AC_DEFINE(HAVE_MBRTOWC, 1, -- [Define to 1 if mbrtowc and mbstate_t are properly declared.]) -- fi --]) --# mbstate_t.m4 serial 9 --dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. --dnl This file is free software, distributed under the terms of the GNU --dnl General Public License. As a special exception to the GNU General --dnl Public License, this file may be distributed as part of a program --dnl that contains a configuration script generated by Autoconf, under --dnl the same distribution terms as the rest of that program. -- --# From Paul Eggert. -- --# BeOS 5 has <wchar.h> but does not define mbstate_t, --# so you can't declare an object of that type. --# Check for this incompatibility with Standard C. - --# AC_TYPE_MBSTATE_T --# ----------------- --AC_DEFUN([AC_TYPE_MBSTATE_T], -- [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM( -- [AC_INCLUDES_DEFAULT --# include <wchar.h>], -- [mbstate_t x; return sizeof x;])], -- [ac_cv_type_mbstate_t=yes], -- [ac_cv_type_mbstate_t=no])]) -- if test $ac_cv_type_mbstate_t = yes; then -- AC_DEFINE([HAVE_MBSTATE_T], 1, -- [Define to 1 if <wchar.h> declares mbstate_t.]) -- else -- AC_DEFINE([mbstate_t], int, -- [Define to a type if <wchar.h> does not define.]) -- fi]) --# memchr.m4 serial 1 -+# realloc.m4 serial 7 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU - dnl General Public License. As a special exception to the GNU General -@@ -264,116 +1339,24 @@ - dnl that contains a configuration script generated by Autoconf, under - dnl the same distribution terms as the rest of that program. - --AC_DEFUN([gl_FUNC_MEMCHR], -+dnl From Jim Meyering. -+dnl Determine whether realloc works when both arguments are 0. -+dnl If it doesn't, arrange to use the replacement function. -+ -+AC_DEFUN([jm_FUNC_REALLOC], - [ -- AC_REPLACE_FUNCS(memchr) -- if test $ac_cv_func_memchr = no; then -- jm_PREREQ_MEMCHR -+ AC_REQUIRE([AC_FUNC_REALLOC]) -+ dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. -+ if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then -+ gl_PREREQ_REALLOC - fi - ]) - --# Prerequisites of lib/memchr.c. --AC_DEFUN([jm_PREREQ_MEMCHR], [ -- AC_CHECK_HEADERS_ONCE(limits.h stdlib.h) -- AC_CHECK_HEADERS(bp-sym.h) --]) --#serial 1 -- --dnl From Mumit Khan and Paul Eggert --dnl Determine whether mkdir accepts only one argument instead of the usual two. -- --AC_DEFUN([PATCH_FUNC_MKDIR_TAKES_ONE_ARG], -- [AC_CHECK_FUNCS(mkdir) -- AC_CACHE_CHECK([whether mkdir takes only one argument], -- patch_cv_mkdir_takes_one_arg, -- [patch_cv_mkdir_takes_one_arg=no -- if test $ac_cv_func_mkdir = yes; then -- AC_TRY_COMPILE([ --#include <sys/types.h> --#include <sys/stat.h> -- ], -- [mkdir (".", 0);], -- , -- [AC_TRY_COMPILE([ --#include <sys/types.h> --#include <sys/stat.h> -- ], -- [mkdir (".");], -- patch_cv_mkdir_takes_one_arg=yes -- )] -- ) -- fi -- ] -- ) -- if test $patch_cv_mkdir_takes_one_arg = yes; then -- AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, -- [Define if mkdir takes only one argument.]) -- fi -- ] --) --# onceonly.m4 serial 3 --dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. --dnl This file is free software, distributed under the terms of the GNU --dnl General Public License. As a special exception to the GNU General --dnl Public License, this file may be distributed as part of a program --dnl that contains a configuration script generated by Autoconf, under --dnl the same distribution terms as the rest of that program. -- --dnl This file defines some "once only" variants of standard autoconf macros. --dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS --dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS --dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS --dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC --dnl The advantage is that the check for each of the headers/functions/decls --dnl will be put only once into the 'configure' file. It keeps the size of --dnl the 'configure' file down, and avoids redundant output when 'configure' --dnl is run. --dnl The drawback is that the checks cannot be conditionalized. If you write --dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi --dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to --dnl empty, and the check will be inserted before the body of the AC_DEFUNed --dnl function. -- --dnl Autoconf version 2.57 or newer is recommended. --AC_PREREQ(2.54) -- --# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of --# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). --AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ -- : -- AC_FOREACH([gl_HEADER_NAME], [$1], [ -- AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), -- [-./], [___])), [ -- AC_CHECK_HEADERS(gl_HEADER_NAME) -- ]) -- AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, -- [-./], [___]))) -- ]) --]) -- --# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of --# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). --AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ -+# Prerequisites of lib/realloc.c. -+AC_DEFUN([gl_PREREQ_REALLOC], [ - : -- AC_FOREACH([gl_FUNC_NAME], [$1], [ -- AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ -- AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) -- ]) -- AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) -- ]) - ]) - --# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of --# AC_CHECK_DECLS(DECL1, DECL2, ...). --AC_DEFUN([AC_CHECK_DECLS_ONCE], [ -- : -- AC_FOREACH([gl_DECL_NAME], [$1], [ -- AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ -- AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) -- ]) -- AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) -- ]) --]) - # quote.m4 serial 1 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU -@@ -387,6 +1370,7 @@ - dnl Prerequisites of lib/quote.c. - AC_CHECK_HEADERS_ONCE(stddef.h) - ]) -+ - # quotearg.m4 serial 1 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU -@@ -403,32 +1387,69 @@ - AC_TYPE_MBSTATE_T - jm_FUNC_MBRTOWC - ]) --# realloc.m4 serial 7 --dnl Copyright (C) 2002 Free Software Foundation, Inc. -+ -+# mbstate_t.m4 serial 9 -+dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU - dnl General Public License. As a special exception to the GNU General - dnl Public License, this file may be distributed as part of a program - dnl that contains a configuration script generated by Autoconf, under - dnl the same distribution terms as the rest of that program. - --dnl From Jim Meyering. --dnl Determine whether realloc works when both arguments are 0. --dnl If it doesn't, arrange to use the replacement function. -+# From Paul Eggert. - --AC_DEFUN([jm_FUNC_REALLOC], -+# BeOS 5 has <wchar.h> but does not define mbstate_t, -+# so you can't declare an object of that type. -+# Check for this incompatibility with Standard C. -+ -+# AC_TYPE_MBSTATE_T -+# ----------------- -+AC_DEFUN([AC_TYPE_MBSTATE_T], -+ [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, -+ [AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM( -+ [AC_INCLUDES_DEFAULT -+# include <wchar.h>], -+ [mbstate_t x; return sizeof x;])], -+ [ac_cv_type_mbstate_t=yes], -+ [ac_cv_type_mbstate_t=no])]) -+ if test $ac_cv_type_mbstate_t = yes; then -+ AC_DEFINE([HAVE_MBSTATE_T], 1, -+ [Define to 1 if <wchar.h> declares mbstate_t.]) -+ else -+ AC_DEFINE([mbstate_t], int, -+ [Define to a type if <wchar.h> does not define.]) -+ fi]) -+ -+# mbrtowc.m4 serial 5 -+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -+dnl This file is free software, distributed under the terms of the GNU -+dnl General Public License. As a special exception to the GNU General -+dnl Public License, this file may be distributed as part of a program -+dnl that contains a configuration script generated by Autoconf, under -+dnl the same distribution terms as the rest of that program. -+ -+dnl From Paul Eggert -+ -+dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with -+dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere. -+ -+AC_DEFUN([jm_FUNC_MBRTOWC], - [ -- AC_REQUIRE([AC_FUNC_REALLOC]) -- dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. -- if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then -- gl_PREREQ_REALLOC -+ AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], -+ jm_cv_func_mbrtowc, -+ [AC_TRY_LINK( -+ [#include <wchar.h>], -+ [mbstate_t state; return ! (sizeof state && mbrtowc);], -+ jm_cv_func_mbrtowc=yes, -+ jm_cv_func_mbrtowc=no)]) -+ if test $jm_cv_func_mbrtowc = yes; then -+ AC_DEFINE(HAVE_MBRTOWC, 1, -+ [Define to 1 if mbrtowc and mbstate_t are properly declared.]) - fi - ]) - --# Prerequisites of lib/realloc.c. --AC_DEFUN([gl_PREREQ_REALLOC], [ -- : --]) --# rmdir.m4 serial 1 -+# hash.m4 serial 1 - dnl Copyright (C) 2002 Free Software Foundation, Inc. - dnl This file is free software, distributed under the terms of the GNU - dnl General Public License. As a special exception to the GNU General -@@ -436,18 +1457,71 @@ - dnl that contains a configuration script generated by Autoconf, under - dnl the same distribution terms as the rest of that program. - --AC_DEFUN([gl_FUNC_RMDIR], -+AC_DEFUN([gl_HASH], - [ -- AC_REPLACE_FUNCS(rmdir) -- if test $ac_cv_func_rmdir = no; then -- gl_PREREQ_RMDIR -- fi -+ dnl Prerequisites of lib/hash.c. -+ AC_CHECK_HEADERS_ONCE(stdlib.h) -+ AC_HEADER_STDBOOL -+ AC_CHECK_DECLS_ONCE(free malloc) - ]) - --# Prerequisites of lib/rmdir.c. --AC_DEFUN([gl_PREREQ_RMDIR], [ -- AC_REQUIRE([AC_HEADER_STAT]) -- : -+AC_DEFUN([ag_CHECK_NANOSECOND_STAT], -+ [AC_CACHE_CHECK([for nanosecond timestamps in struct stat], -+ [ac_cv_stat_nsec], -+ [AC_TRY_COMPILE( -+ [ -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ ], -+ [ return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; ], -+ [ac_cv_stat_nsec=yes], -+ [ac_cv_stat_nsec=no]) -+ ]) -+ if test $ac_cv_stat_nsec = yes; then -+ AC_DEFINE(HAVE_STAT_NSEC, 1, [Define to 1 if struct stat has nanosecond timestamps.]) -+ fi -+ -+ AC_CACHE_CHECK([for nanosecond timestamps in struct stat], -+ [ac_cv_stat_timeval], -+ [AC_TRY_COMPILE( -+ [ -+ #include <time.h> -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ ], -+ [ return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; ], -+ [ac_cv_stat_timeval=yes], -+ [ac_cv_stat_timeval=no]) -+ ]) -+ if test $ac_cv_stat_timeval = yes; then -+ AC_DEFINE(HAVE_STAT_TIMEVAL, 1, [Define to 1 if struct stat comtains struct timeval's.]) -+ fi]) -+ -+#serial 7 -*- autoconf -*- -+ -+dnl From Jim Meyering. -+dnl -+dnl See if the glibc *_unlocked I/O macros or functions are available. -+dnl Use only those *_unlocked macros or functions that are declared -+dnl (because some of them were declared in Solaris 2.5.1 but were removed -+dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run -+dnl on Solaris 2.6). -+ -+AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], -+[ -+ dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked() -+ dnl etc. -+ AC_REQUIRE([AC_GNU_SOURCE]) -+ -+ AC_CHECK_DECLS_ONCE( -+ [clearerr_unlocked feof_unlocked ferror_unlocked -+ fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked -+ fread_unlocked fwrite_unlocked getc_unlocked -+ getchar_unlocked putc_unlocked putchar_unlocked]) - ]) - - # Check for setmode, DOS style. -@@ -488,180 +1562,39 @@ - AC_DEFINE(HAVE_SETMODE_DOS, 1, - [Define to 1 if you have the DOS-style `setmode' function.]) - fi]) --# Check for stdbool.h that conforms to C99. -- --# Copyright (C) 2002-2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- --# Prepare for substituting <stdbool.h> if it is not supported. -- --AC_DEFUN([AM_STDBOOL_H], --[ -- AC_REQUIRE([AC_HEADER_STDBOOL]) -- -- # Define two additional variables used in the Makefile substitution. -- -- if test "$ac_cv_header_stdbool_h" = yes; then -- STDBOOL_H='' -- else -- STDBOOL_H='stdbool.h' -- fi -- AC_SUBST([STDBOOL_H]) -- -- if test "$ac_cv_type__Bool" = yes; then -- HAVE__BOOL=1 -- else -- HAVE__BOOL=0 -- fi -- AC_SUBST([HAVE__BOOL]) --]) -- --# This macro is only needed in autoconf <= 2.54. Newer versions of autoconf --# have this macro built-in. -- --AC_DEFUN([AC_HEADER_STDBOOL], -- [AC_CACHE_CHECK([for stdbool.h that conforms to C99], -- [ac_cv_header_stdbool_h], -- [AC_TRY_COMPILE( -- [ -- #include <stdbool.h> -- #ifndef bool -- "error: bool is not defined" -- #endif -- #ifndef false -- "error: false is not defined" -- #endif -- #if false -- "error: false is not 0" -- #endif -- #ifndef true -- "error: false is not defined" -- #endif -- #if true != 1 -- "error: true is not 1" -- #endif -- #ifndef __bool_true_false_are_defined -- "error: __bool_true_false_are_defined is not defined" -- #endif -- -- struct s { _Bool s: 1; _Bool t; } s; -- -- char a[true == 1 ? 1 : -1]; -- char b[false == 0 ? 1 : -1]; -- char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -- char d[(bool) -0.5 == true ? 1 : -1]; -- bool e = &s; -- char f[(_Bool) -0.0 == false ? 1 : -1]; -- char g[true]; -- char h[sizeof (_Bool)]; -- char i[sizeof s.t]; -- ], -- [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], -- [ac_cv_header_stdbool_h=yes], -- [ac_cv_header_stdbool_h=no])]) -- AC_CHECK_TYPES([_Bool]) -- if test $ac_cv_header_stdbool_h = yes; then -- AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) -- fi]) --#serial 7 -*- autoconf -*- -- --dnl From Jim Meyering. --dnl --dnl See if the glibc *_unlocked I/O macros or functions are available. --dnl Use only those *_unlocked macros or functions that are declared --dnl (because some of them were declared in Solaris 2.5.1 but were removed --dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run --dnl on Solaris 2.6). -- --AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], --[ -- dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked() -- dnl etc. -- AC_REQUIRE([AC_GNU_SOURCE]) -- -- AC_CHECK_DECLS_ONCE( -- [clearerr_unlocked feof_unlocked ferror_unlocked -- fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked -- fread_unlocked fwrite_unlocked getc_unlocked -- getchar_unlocked putc_unlocked putchar_unlocked]) --]) --#serial 5 -- --dnl From Jim Meyering -- --dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- --dnl usually in <utime.h>. --dnl Some systems have utime.h but don't declare the struct anywhere. -- --AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF], --[ -- AC_CHECK_HEADERS_ONCE(sys/time.h utime.h) -- AC_REQUIRE([AC_HEADER_TIME]) -- AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf, -- [AC_TRY_COMPILE( -- [ --#ifdef TIME_WITH_SYS_TIME --# include <sys/time.h> --# include <time.h> --#else --# ifdef HAVE_SYS_TIME_H --# include <sys/time.h> --# else --# include <time.h> --# endif --#endif --#ifdef HAVE_UTIME_H --# include <utime.h> --#endif -- ], -- [static struct utimbuf x; x.actime = x.modtime;], -- fu_cv_sys_struct_utimbuf=yes, -- fu_cv_sys_struct_utimbuf=no) -- ]) - -- if test $fu_cv_sys_struct_utimbuf = yes; then -- AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, -- [Define if struct utimbuf is declared -- usually in <utime.h>. -- Some systems have utime.h but don't declare the struct anywhere. ]) -- fi --]) --# xalloc.m4 serial 1 --dnl Copyright (C) 2002 Free Software Foundation, Inc. --dnl This file is free software, distributed under the terms of the GNU --dnl General Public License. As a special exception to the GNU General --dnl Public License, this file may be distributed as part of a program --dnl that contains a configuration script generated by Autoconf, under --dnl the same distribution terms as the rest of that program. -+#serial 1 - --AC_DEFUN([gl_XALLOC], --[ -- gl_PREREQ_XMALLOC -- gl_PREREQ_XSTRDUP --]) -+dnl From Mumit Khan and Paul Eggert -+dnl Determine whether mkdir accepts only one argument instead of the usual two. - --# Prerequisites of lib/xmalloc.c. --AC_DEFUN([gl_PREREQ_XMALLOC], [ -- AC_REQUIRE([AC_HEADER_STDC]) -- AC_REQUIRE([jm_FUNC_MALLOC]) -- AC_REQUIRE([jm_FUNC_REALLOC]) --]) -+AC_DEFUN([PATCH_FUNC_MKDIR_TAKES_ONE_ARG], -+ [AC_CHECK_FUNCS(mkdir) -+ AC_CACHE_CHECK([whether mkdir takes only one argument], -+ patch_cv_mkdir_takes_one_arg, -+ [patch_cv_mkdir_takes_one_arg=no -+ if test $ac_cv_func_mkdir = yes; then -+ AC_TRY_COMPILE([ -+#include <sys/types.h> -+#include <sys/stat.h> -+ ], -+ [mkdir (".", 0);], -+ , -+ [AC_TRY_COMPILE([ -+#include <sys/types.h> -+#include <sys/stat.h> -+ ], -+ [mkdir (".");], -+ patch_cv_mkdir_takes_one_arg=yes -+ )] -+ ) -+ fi -+ ] -+ ) -+ if test $patch_cv_mkdir_takes_one_arg = yes; then -+ AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, -+ [Define if mkdir takes only one argument.]) -+ fi -+ ] -+) - --# Prerequisites of lib/xstrdup.c. --AC_DEFUN([gl_PREREQ_XSTRDUP], [ -- AC_REQUIRE([AC_HEADER_STDC]) -- AC_CHECK_HEADERS_ONCE(string.h) --]) ---- patch-2.5.9.orig/configure -+++ patch-2.5.9/configure -@@ -1,11 +1,10 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.57 for patch 2.5.9. -+# Generated by GNU Autoconf 2.59 for patch 2.5.9. - # - # Report bugs to <bug-patch@gnu.org>. - # --# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 --# Free Software Foundation, Inc. -+# Copyright (C) 2003 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation - # gives unlimited permission to copy, distribute and modify it. - ## --------------------- ## -@@ -22,9 +21,10 @@ - elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix - fi -+DUALCASE=1; export DUALCASE # for MKS sh - - # Support unset when possible. --if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset - else - as_unset=false -@@ -43,7 +43,7 @@ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME - do -- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then -+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var -@@ -220,16 +220,17 @@ - if mkdir -p . 2>/dev/null; then - as_mkdir_p=: - else -+ test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - - as_executable_p="test -f" - - # Sed expression to map a string onto a valid CPP name. --as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - - # Sed expression to map a string onto a valid variable name. --as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - # IFS -@@ -669,7 +670,7 @@ - - # Be sure to have absolute paths. - for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ -- localstatedir libdir includedir oldincludedir infodir mandir -+ localstatedir libdir includedir oldincludedir infodir mandir - do - eval ac_val=$`echo $ac_var` - case $ac_val in -@@ -709,10 +710,10 @@ - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || - $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$0" : 'X\(//\)[^/]' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$0" : 'X\(//\)[^/]' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -804,9 +805,9 @@ - cat <<_ACEOF - Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX -- [$ac_default_prefix] -+ [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -- [PREFIX] -+ [PREFIX] - - By default, \`make install' will install all the files in - \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -@@ -896,12 +897,45 @@ - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; - esac --# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be --# absolute. --ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` --ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` --ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` --ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+ case "$ac_dir" in -+ .) ac_abs_builddir=`pwd`;; -+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+ *) ac_abs_builddir=`pwd`/"$ac_dir";; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+ case ${ac_top_builddir}. in -+ .) ac_abs_top_builddir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+ case $ac_srcdir in -+ .) ac_abs_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+ case $ac_top_srcdir in -+ .) ac_abs_top_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+ esac;; -+esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. -@@ -912,13 +946,13 @@ - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || -- test -f $ac_srcdir/configure.in; then -+ test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi -- cd $ac_popdir -+ cd "$ac_popdir" - done - fi - -@@ -926,10 +960,9 @@ - if $ac_init_version; then - cat <<\_ACEOF - patch configure 2.5.9 --generated by GNU Autoconf 2.57 -+generated by GNU Autoconf 2.59 - --Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 --Free Software Foundation, Inc. -+Copyright (C) 2003 Free Software Foundation, Inc. - This configure script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it. - _ACEOF -@@ -941,7 +974,7 @@ - running configure, to aid debugging if configure makes a mistake. - - It was created by patch $as_me 2.5.9, which was --generated by GNU Autoconf 2.57. Invocation command line was -+generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ - -@@ -1018,19 +1051,19 @@ - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then -- ac_must_keep_next=false # Got value, back to normal. -+ ac_must_keep_next=false # Got value, back to normal. - else -- case $ac_arg in -- *=* | --config-cache | -C | -disable-* | --disable-* \ -- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -- | -with-* | --with-* | -without-* | --without-* | --x) -- case "$ac_configure_args0 " in -- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -- esac -- ;; -- -* ) ac_must_keep_next=true ;; -- esac -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac - fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. -@@ -1064,12 +1097,12 @@ - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ -- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" -+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; - } -@@ -1098,7 +1131,7 @@ - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` -- echo "$ac_var='"'"'$ac_val'"'"'" -+ echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi -@@ -1117,7 +1150,7 @@ - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 -- rm -f core core.* *.core && -+ rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -@@ -1197,7 +1230,7 @@ - # value. - ac_cache_corrupted=false - for ac_var in `(set) 2>&1 | -- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do -+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" -@@ -1214,13 +1247,13 @@ - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then -- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 - echo "$as_me: former value: $ac_old_val" >&2;} -- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 - echo "$as_me: current value: $ac_new_val" >&2;} -- ac_cache_corrupted=: -+ ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. -@@ -1629,7 +1662,6 @@ - (exit $ac_status); } - - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -1649,8 +1681,8 @@ - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --echo "$as_me:$LINENO: checking for C compiler default output" >&5 --echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 - ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 -@@ -1670,23 +1702,23 @@ - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) -- ;; -+ ;; - conftest.$ac_ext ) -- # This is the source file. -- ;; -+ # This is the source file. -+ ;; - [ab].out ) -- # We found the default executable, but exeext='' is most -- # certainly right. -- break;; -+ # We found the default executable, but exeext='' is most -+ # certainly right. -+ break;; - *.* ) -- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- # FIXME: I believe we export ac_cv_exeext for Libtool, -- # but it would be cool to find out if it's true. Does anybody -- # maintain Libtool? --akim. -- export ac_cv_exeext -- break;; -+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+ # FIXME: I believe we export ac_cv_exeext for Libtool, -+ # but it would be cool to find out if it's true. Does anybody -+ # maintain Libtool? --akim. -+ export ac_cv_exeext -+ break;; - * ) -- break;; -+ break;; - esac - done - else -@@ -1760,8 +1792,8 @@ - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- export ac_cv_exeext -- break;; -+ export ac_cv_exeext -+ break;; - * ) break;; - esac - done -@@ -1786,7 +1818,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -1837,7 +1868,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -1857,11 +1887,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -1874,7 +1913,7 @@ - - ac_compiler_gnu=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_c_compiler_gnu=$ac_compiler_gnu - - fi -@@ -1890,7 +1929,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -1907,11 +1945,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -1924,7 +1971,7 @@ - - ac_cv_prog_cc_g=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 - echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -@@ -1951,7 +1998,6 @@ - ac_cv_prog_cc_stdc=no - ac_save_CC=$CC - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -1979,6 +2025,16 @@ - va_end (v); - return s; - } -+ -+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has -+ function prototypes and stuff, but not '\xHH' hex character constants. -+ These don't provoke an error unfortunately, instead are silently treated -+ as 'x'. The following induces an error, until -std1 is added to get -+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an -+ array size at least. It's necessary to write '\x00'==0 to get something -+ that's true only with -std1. */ -+int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -+ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);}; -@@ -2005,11 +2061,20 @@ - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2022,7 +2087,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext -+rm -f conftest.err conftest.$ac_objext - done - rm -f conftest.$ac_ext conftest.$ac_objext - CC=$ac_save_CC -@@ -2050,19 +2115,27 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ -- ''\ -- '#include <stdlib.h>' \ -+ '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ -@@ -2070,14 +2143,13 @@ - 'void exit (int);' - do - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include <stdlib.h> - $ac_declaration -+#include <stdlib.h> - int - main () - { -@@ -2088,11 +2160,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2105,9 +2186,8 @@ - - continue - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2124,11 +2204,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2140,7 +2229,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done - rm -f conftest* - if test -n "$ac_declaration"; then -@@ -2154,7 +2243,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' - ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -@@ -2189,7 +2278,6 @@ - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2200,7 +2288,7 @@ - #else - # include <assert.h> - #endif -- Syntax error -+ Syntax error - _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -@@ -2212,6 +2300,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -2232,7 +2321,6 @@ - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2250,6 +2338,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -2296,7 +2385,6 @@ - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2307,7 +2395,7 @@ - #else - # include <assert.h> - #endif -- Syntax error -+ Syntax error - _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -@@ -2319,6 +2407,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -2339,7 +2428,6 @@ - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2357,6 +2445,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -2431,6 +2520,7 @@ - # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag - # AFS /usr/afsws/bin/install, which mishandles nonexistent args - # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic - # ./install, which can be erroneously created by make from ./install.sh. - echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 - echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -@@ -2447,6 +2537,7 @@ - case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. -@@ -2454,20 +2545,20 @@ - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -- if test $ac_prog = install && -- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # AIX install. It has an incompatible calling convention. -- : -- elif test $ac_prog = install && -- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # program-specific install script used by HP pwplus--don't use. -- : -- else -- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -- break 3 -- fi -- fi -+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi - done - done - ;; -@@ -2499,7 +2590,7 @@ - - echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 - echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 --set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` - if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -@@ -2596,7 +2687,6 @@ - echo "$as_me:$LINENO: checking for AIX" >&5 - echo $ECHO_N "checking for AIX... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2628,7 +2718,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2649,11 +2738,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2666,12 +2764,11 @@ - - ac_cv_header_stdc=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2693,7 +2790,6 @@ - if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2718,7 +2814,6 @@ - : - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2730,9 +2825,9 @@ - # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) - #else - # define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) -+ (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) - # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) - #endif - -@@ -2743,7 +2838,7 @@ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -+ || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); - } -@@ -2768,7 +2863,7 @@ - ( exit $ac_status ) - ac_cv_header_stdc=no - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - fi -@@ -2793,7 +2888,7 @@ - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h -+ inttypes.h stdint.h unistd.h - do - as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` - echo "$as_me:$LINENO: checking for $ac_header" >&5 -@@ -2802,7 +2897,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2814,11 +2908,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2831,7 +2934,7 @@ - - eval "$as_ac_Header=no" - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -2858,7 +2961,6 @@ - echo "$as_me:$LINENO: checking minix/config.h usability" >&5 - echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2869,11 +2971,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -2886,7 +2997,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -2894,7 +3005,6 @@ - echo "$as_me:$LINENO: checking minix/config.h presence" >&5 - echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -2912,6 +3022,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -2931,33 +3042,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 - echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -3000,15 +3110,15 @@ - fi - - --echo "$as_me:$LINENO: checking for library containing strerror" >&5 --echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 --if test "${ac_cv_search_strerror+set}" = set; then -+ -+ echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 -+echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 -+if test "${ac_cv_lib_cposix_strerror+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- ac_func_search_save_LIBS=$LIBS --ac_cv_search_strerror=no -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lcposix $LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3032,79 +3142,43 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_search_strerror="none required" --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext --if test "$ac_cv_search_strerror" = no; then -- for ac_lib in cposix; do -- LIBS="-l$ac_lib $ac_func_search_save_LIBS" -- cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --/* Override any gcc2 internal prototype to avoid an error. */ --#ifdef __cplusplus --extern "C" --#endif --/* We use char because int might match the return type of a gcc2 -- builtin and then its argument prototype would still apply. */ --char strerror (); --int --main () --{ --strerror (); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then -- ac_cv_search_strerror="-l$ac_lib" --break -+ ac_cv_lib_cposix_strerror=yes - else - echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - -+ac_cv_lib_cposix_strerror=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -- done -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS - fi --LIBS=$ac_func_search_save_LIBS -+echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 -+echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 -+if test $ac_cv_lib_cposix_strerror = yes; then -+ LIBS="$LIBS -lcposix" - fi --echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 --echo "${ECHO_T}$ac_cv_search_strerror" >&6 --if test "$ac_cv_search_strerror" != no; then -- test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" - --fi -+ - - # Check whether --enable-largefile or --disable-largefile was given. - if test "${enable_largefile+set}" = set; then -@@ -3124,8 +3198,7 @@ - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. -- cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" -+ cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3150,11 +3223,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3166,15 +3248,24 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext -+rm -f conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3186,8 +3277,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext -- break -+rm -f conftest.err conftest.$ac_objext -+ break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext -@@ -3207,7 +3298,6 @@ - while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3232,11 +3322,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3248,9 +3347,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3276,11 +3374,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3292,7 +3399,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - break - done - fi -@@ -3314,7 +3421,6 @@ - while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3339,11 +3445,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3355,9 +3470,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3383,11 +3497,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3399,7 +3522,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - break - done - fi -@@ -3443,7 +3566,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3506,11 +3628,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3523,7 +3654,7 @@ - - ac_cv_c_const=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 - echo "${ECHO_T}$ac_cv_c_const" >&6 -@@ -3550,7 +3681,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3570,11 +3700,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3587,7 +3726,7 @@ - - eval "$as_ac_Header=no" - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -3610,7 +3749,6 @@ - ac_func_search_save_LIBS=$LIBS - ac_cv_search_opendir=no - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3634,11 +3772,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3650,12 +3797,12 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - if test "$ac_cv_search_opendir" = no; then - for ac_lib in dir; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3679,11 +3826,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3696,7 +3852,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - done - fi - LIBS=$ac_func_search_save_LIBS -@@ -3717,7 +3874,6 @@ - ac_func_search_save_LIBS=$LIBS - ac_cv_search_opendir=no - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3741,11 +3897,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3757,12 +3922,12 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - if test "$ac_cv_search_opendir" = no; then - for ac_lib in x; do - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3786,11 +3951,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3803,7 +3977,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - done - fi - LIBS=$ac_func_search_save_LIBS -@@ -3823,7 +3998,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3844,11 +4018,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -3861,12 +4044,11 @@ - - ac_cv_header_stdc=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3888,7 +4070,6 @@ - if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3913,7 +4094,6 @@ - : - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -3925,9 +4105,9 @@ - # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) - #else - # define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) -+ (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) - # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) - #endif - -@@ -3938,7 +4118,7 @@ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -+ || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); - } -@@ -3963,7 +4143,7 @@ - ( exit $ac_status ) - ac_cv_header_stdc=no - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - fi -@@ -3999,7 +4179,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4010,11 +4189,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4027,7 +4215,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4035,7 +4223,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4053,6 +4240,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4072,33 +4260,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -- ;; -- no:yes ) -- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 --echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4109,7 +4296,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4131,7 +4318,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4151,11 +4337,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4168,7 +4363,7 @@ - - ac_cv_type_mode_t=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 - echo "${ECHO_T}$ac_cv_type_mode_t" >&6 -@@ -4188,7 +4383,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4208,11 +4402,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4225,7 +4428,7 @@ - - ac_cv_type_off_t=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 - echo "${ECHO_T}$ac_cv_type_off_t" >&6 -@@ -4245,7 +4448,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4265,11 +4467,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4282,7 +4493,7 @@ - - ac_cv_type_pid_t=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 - echo "${ECHO_T}$ac_cv_type_pid_t" >&6 -@@ -4302,7 +4513,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4329,11 +4539,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4346,7 +4565,7 @@ - - ac_cv_type_signal=int - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 - echo "${ECHO_T}$ac_cv_type_signal" >&6 -@@ -4362,7 +4581,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4382,11 +4600,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4399,7 +4626,7 @@ - - ac_cv_type_size_t=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 - echo "${ECHO_T}$ac_cv_type_size_t" >&6 -@@ -4419,7 +4646,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4468,11 +4694,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4485,7 +4720,7 @@ - - ac_cv_header_stdbool_h=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 - echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 -@@ -4495,7 +4730,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4515,11 +4749,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4532,7 +4775,7 @@ - - ac_cv_type__Bool=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 - echo "${ECHO_T}$ac_cv_type__Bool" >&6 -@@ -4589,7 +4832,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4600,11 +4842,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4617,7 +4868,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4625,7 +4876,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4643,6 +4893,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4662,33 +4913,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4699,7 +4949,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4733,7 +4983,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4744,11 +4993,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4761,7 +5019,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -4769,7 +5027,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4787,6 +5044,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -4806,33 +5064,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -4843,7 +5100,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -4865,7 +5122,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4886,11 +5142,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4903,7 +5168,7 @@ - - ac_cv_header_time=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 - echo "${ECHO_T}$ac_cv_header_time" >&6 -@@ -4933,7 +5198,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4964,11 +5228,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -4981,7 +5254,7 @@ - - fu_cv_sys_struct_utimbuf=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - fi - echo "$as_me:$LINENO: result: $fu_cv_sys_struct_utimbuf" >&5 -@@ -5005,7 +5278,6 @@ - ac_cv_func_closedir_void=yes - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5045,7 +5317,7 @@ - ( exit $ac_status ) - ac_cv_func_closedir_void=yes - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 -@@ -5076,7 +5348,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5087,11 +5358,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5104,7 +5384,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -5112,7 +5392,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5130,6 +5409,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -5149,33 +5429,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -5186,7 +5465,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -5220,7 +5499,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5231,11 +5509,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5248,7 +5535,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -5256,7 +5543,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5274,6 +5560,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -5293,33 +5580,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -5330,7 +5616,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -5364,7 +5650,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5375,11 +5660,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5392,7 +5686,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -5400,7 +5694,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5418,6 +5711,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -5437,33 +5731,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -5474,7 +5767,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -5497,7 +5790,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5517,11 +5809,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5534,7 +5835,7 @@ - - ac_cv_have_decl_getenv=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 - echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6 -@@ -5562,7 +5863,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5582,11 +5882,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5599,7 +5908,7 @@ - - ac_cv_have_decl_malloc=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_malloc" >&5 - echo "${ECHO_T}$ac_cv_have_decl_malloc" >&6 -@@ -5628,7 +5937,6 @@ - else - - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5647,11 +5955,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5664,7 +5981,7 @@ - - ac_cv_win_or_dos=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - fi - echo "$as_me:$LINENO: result: $ac_cv_win_or_dos" >&5 -@@ -5714,7 +6031,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5725,11 +6041,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5742,7 +6067,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -5750,7 +6075,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5768,6 +6092,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -5787,33 +6112,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -5824,7 +6148,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -5872,7 +6196,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -5905,11 +6228,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -5922,7 +6254,8 @@ - - jm_cv_struct_dirent_d_ino=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - - - fi -@@ -6011,21 +6344,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6056,11 +6396,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6073,7 +6422,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -6126,21 +6476,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6171,11 +6528,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6188,7 +6554,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -6203,21 +6570,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define _doprnt innocuous__doprnt -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef _doprnt -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6248,11 +6622,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6265,7 +6648,8 @@ - - ac_cv_func__doprnt=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 - echo "${ECHO_T}$ac_cv_func__doprnt" >&6 -@@ -6288,13 +6672,12 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -- -+$ac_includes_default - int - main () - { -@@ -6305,11 +6688,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6322,12 +6714,20 @@ - - ac_cv_lib_error_at_line=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 - echo "${ECHO_T}$ac_cv_lib_error_at_line" >&6 - if test $ac_cv_lib_error_at_line = no; then -- LIBOBJS="$LIBOBJS error.$ac_objext" -+ case $LIBOBJS in -+ "error.$ac_objext" | \ -+ *" error.$ac_objext" | \ -+ "error.$ac_objext "* | \ -+ *" error.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS error.$ac_objext" ;; -+esac -+ - fi - - -@@ -6343,21 +6743,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6388,11 +6795,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6405,7 +6821,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -6423,7 +6840,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6443,11 +6859,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6460,7 +6885,7 @@ - - ac_cv_have_decl_strerror=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 - echo "${ECHO_T}$ac_cv_have_decl_strerror" >&6 -@@ -6486,7 +6911,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6506,11 +6930,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6523,7 +6956,7 @@ - - ac_cv_have_decl_strerror_r=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 - echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6 -@@ -6553,21 +6986,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6598,11 +7038,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6615,7 +7064,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -6636,7 +7086,6 @@ - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6657,11 +7106,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6673,7 +7131,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the -@@ -6685,7 +7143,6 @@ - : - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6721,7 +7178,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - -@@ -6749,21 +7206,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -6794,11 +7258,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6811,7 +7284,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -6821,7 +7295,14 @@ - _ACEOF - - else -- LIBOBJS="$LIBOBJS $ac_func.$ac_objext" -+ case $LIBOBJS in -+ "$ac_func.$ac_objext" | \ -+ *" $ac_func.$ac_objext" | \ -+ "$ac_func.$ac_objext "* | \ -+ *" $ac_func.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; -+esac -+ - fi - done - -@@ -6855,7 +7336,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6866,11 +7346,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -6883,7 +7372,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -6891,7 +7380,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -6909,6 +7397,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -6928,33 +7417,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -6965,7 +7453,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -6989,7 +7477,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7053,21 +7540,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -7098,11 +7592,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7115,7 +7618,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -7125,7 +7629,14 @@ - _ACEOF - - else -- LIBOBJS="$LIBOBJS $ac_func.$ac_objext" -+ case $LIBOBJS in -+ "$ac_func.$ac_objext" | \ -+ *" $ac_func.$ac_objext" | \ -+ "$ac_func.$ac_objext "* | \ -+ *" $ac_func.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; -+esac -+ - fi - done - -@@ -7163,7 +7674,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7174,11 +7684,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7191,7 +7710,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -7199,7 +7718,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7217,6 +7735,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -7236,33 +7755,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -7273,7 +7791,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -7297,7 +7815,6 @@ - ac_cv_func_malloc_0_nonnull=no - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7337,7 +7854,7 @@ - ( exit $ac_status ) - ac_cv_func_malloc_0_nonnull=no - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -@@ -7353,7 +7870,14 @@ - #define HAVE_MALLOC 0 - _ACEOF - -- LIBOBJS="$LIBOBJS malloc.$ac_objext" -+ case $LIBOBJS in -+ "malloc.$ac_objext" | \ -+ *" malloc.$ac_objext" | \ -+ "malloc.$ac_objext "* | \ -+ *" malloc.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; -+esac -+ - - cat >>confdefs.h <<\_ACEOF - #define malloc rpl_malloc -@@ -7388,7 +7912,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7399,11 +7922,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7416,7 +7948,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -7424,7 +7956,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7442,6 +7973,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -7461,33 +7993,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -7498,7 +8029,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -7522,7 +8053,6 @@ - ac_cv_func_realloc_0_nonnull=no - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7562,7 +8092,7 @@ - ( exit $ac_status ) - ac_cv_func_realloc_0_nonnull=no - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 -@@ -7578,7 +8108,14 @@ - #define HAVE_REALLOC 0 - _ACEOF - -- LIBOBJS="$LIBOBJS realloc.$ac_objext" -+ case $LIBOBJS in -+ "realloc.$ac_objext" | \ -+ *" realloc.$ac_objext" | \ -+ "realloc.$ac_objext "* | \ -+ *" realloc.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; -+esac -+ - - cat >>confdefs.h <<\_ACEOF - #define realloc rpl_realloc -@@ -7619,7 +8156,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7630,11 +8166,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7647,7 +8192,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -7655,7 +8200,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7673,6 +8217,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -7692,33 +8237,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -7729,7 +8273,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -7772,7 +8316,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7783,11 +8326,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7800,7 +8352,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -7808,7 +8360,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7826,6 +8377,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -7845,33 +8397,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -7882,7 +8433,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -7916,7 +8467,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7927,11 +8477,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -7944,7 +8503,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -7952,7 +8511,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -7970,6 +8528,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -7989,33 +8548,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -8026,7 +8584,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -8053,21 +8611,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -8098,11 +8663,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8115,7 +8689,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -8139,21 +8714,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -8184,11 +8766,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8201,7 +8792,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -8241,7 +8833,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8259,11 +8850,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8276,7 +8876,7 @@ - - ac_cv_type_mbstate_t=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 - echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6 -@@ -8300,7 +8900,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8317,11 +8916,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8334,7 +8942,8 @@ - - jm_cv_func_mbrtowc=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $jm_cv_func_mbrtowc" >&5 - echo "${ECHO_T}$jm_cv_func_mbrtowc" >&6 -@@ -8348,69 +8957,465 @@ - - - -- -- -- -- --for ac_func in pathconf --do --as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` --echo "$as_me:$LINENO: checking for $ac_func" >&5 --echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 --if eval "test \"\${$as_ac_var+set}\" = set"; then -+ echo "$as_me:$LINENO: checking whether free is declared" >&5 -+echo $ECHO_N "checking whether free is declared... $ECHO_C" >&6 -+if test "${ac_cv_have_decl_free+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --/* System header to define __stub macros and hopefully few prototypes, -- which can conflict with char $ac_func (); below. -- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since -- <limits.h> exists even on freestanding compilers. */ --#ifdef __STDC__ --# include <limits.h> --#else --# include <assert.h> --#endif --/* Override any gcc2 internal prototype to avoid an error. */ --#ifdef __cplusplus --extern "C" --{ --#endif --/* We use char because int might match the return type of a gcc2 -- builtin and then its argument prototype would still apply. */ --char $ac_func (); --/* The GNU C library defines this for functions which it implements -- to always fail with ENOSYS. Some functions are actually named -- something starting with __ and the normal name is an alias. */ --#if defined (__stub_$ac_func) || defined (__stub___$ac_func) --choke me --#else --char (*f) () = $ac_func; --#endif --#ifdef __cplusplus --} --#endif -- -+$ac_includes_default - int - main () - { --return f != $ac_func; -+#ifndef free -+ char *p = (char *) free; -+#endif -+ - ; - return 0; - } - _ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_have_decl_free=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_have_decl_free=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_have_decl_free" >&5 -+echo "${ECHO_T}$ac_cv_have_decl_free" >&6 -+if test $ac_cv_have_decl_free = yes; then -+ -+cat >>confdefs.h <<_ACEOF -+#define HAVE_DECL_FREE 1 -+_ACEOF -+ -+ -+else -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_DECL_FREE 0 -+_ACEOF -+ -+ -+fi -+ -+ -+ -+ -+ -+ : -+ -+ -+ -+ -+ -+ echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 -+echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6 -+if test "${ac_cv_header_stdbool_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+ #include <stdbool.h> -+ #ifndef bool -+ "error: bool is not defined" -+ #endif -+ #ifndef false -+ "error: false is not defined" -+ #endif -+ #if false -+ "error: false is not 0" -+ #endif -+ #ifndef true -+ "error: false is not defined" -+ #endif -+ #if true != 1 -+ "error: true is not 1" -+ #endif -+ #ifndef __bool_true_false_are_defined -+ "error: __bool_true_false_are_defined is not defined" -+ #endif -+ -+ struct s { _Bool s: 1; _Bool t; } s; -+ -+ char a[true == 1 ? 1 : -1]; -+ char b[false == 0 ? 1 : -1]; -+ char c[__bool_true_false_are_defined == 1 ? 1 : -1]; -+ char d[(bool) -0.5 == true ? 1 : -1]; -+ bool e = &s; -+ char f[(_Bool) -0.0 == false ? 1 : -1]; -+ char g[true]; -+ char h[sizeof (_Bool)]; -+ char i[sizeof s.t]; -+ -+int -+main () -+{ -+ return !a + !b + !c + !d + !e + !f + !g + !h + !i; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_header_stdbool_h=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_header_stdbool_h=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 -+echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 -+ echo "$as_me:$LINENO: checking for _Bool" >&5 -+echo $ECHO_N "checking for _Bool... $ECHO_C" >&6 -+if test "${ac_cv_type__Bool+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if ((_Bool *) 0) -+ return 0; -+if (sizeof (_Bool)) -+ return 0; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_type__Bool=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_type__Bool=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -+echo "${ECHO_T}$ac_cv_type__Bool" >&6 -+if test $ac_cv_type__Bool = yes; then -+ -+cat >>confdefs.h <<_ACEOF -+#define HAVE__BOOL 1 -+_ACEOF -+ -+ -+fi -+ -+ if test $ac_cv_header_stdbool_h = yes; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_STDBOOL_H 1 -+_ACEOF -+ -+ fi -+ -+ : -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+echo "$as_me:$LINENO: checking for nanosecond timestamps in struct stat" >&5 -+echo $ECHO_N "checking for nanosecond timestamps in struct stat... $ECHO_C" >&6 -+if test "${ac_cv_stat_nsec+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ -+int -+main () -+{ -+ return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_stat_nsec=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_stat_nsec=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_stat_nsec" >&5 -+echo "${ECHO_T}$ac_cv_stat_nsec" >&6 -+ if test $ac_cv_stat_nsec = yes; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_STAT_NSEC 1 -+_ACEOF -+ -+ fi -+ -+ echo "$as_me:$LINENO: checking for nanosecond timestamps in struct stat" >&5 -+echo $ECHO_N "checking for nanosecond timestamps in struct stat... $ECHO_C" >&6 -+if test "${ac_cv_stat_timeval+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+ #include <time.h> -+ #include <sys/types.h> -+ #include <sys/stat.h> -+ #include <unistd.h> -+ struct stat st; -+ -+int -+main () -+{ -+ return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_stat_timeval=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_stat_timeval=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_stat_timeval" >&5 -+echo "${ECHO_T}$ac_cv_stat_timeval" >&6 -+ if test $ac_cv_stat_timeval = yes; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_STAT_TIMEVAL 1 -+_ACEOF -+ -+ fi -+ -+ -+ -+ -+ -+for ac_func in pathconf -+do -+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -+echo "$as_me:$LINENO: checking for $ac_func" >&5 -+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_var+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char $ac_func (); below. -+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since -+ <limits.h> exists even on freestanding compilers. */ -+ -+#ifdef __STDC__ -+# include <limits.h> -+#else -+# include <assert.h> -+#endif -+ -+#undef $ac_func -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+{ -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char $ac_func (); -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -+choke me -+#else -+char (*f) () = $ac_func; -+#endif -+#ifdef __cplusplus -+} -+#endif -+ -+int -+main () -+{ -+return f != $ac_func; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8423,7 +9428,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -8454,7 +9460,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8465,11 +9470,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8482,7 +9496,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -8490,7 +9504,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8508,6 +9521,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -8527,33 +9541,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -8564,7 +9577,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -8587,7 +9600,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8607,11 +9619,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8624,7 +9645,7 @@ - - ac_cv_have_decl_free=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_free" >&5 - echo "${ECHO_T}$ac_cv_have_decl_free" >&6 -@@ -8648,7 +9669,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8668,11 +9688,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8685,7 +9714,7 @@ - - ac_cv_have_decl_getenv=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 - echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6 -@@ -8709,7 +9738,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8729,11 +9757,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8746,7 +9783,7 @@ - - ac_cv_have_decl_malloc=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_malloc" >&5 - echo "${ECHO_T}$ac_cv_have_decl_malloc" >&6 -@@ -8770,7 +9807,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -8790,11 +9826,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8807,7 +9852,7 @@ - - ac_cv_have_decl_mktemp=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_mktemp" >&5 - echo "${ECHO_T}$ac_cv_have_decl_mktemp" >&6 -@@ -8849,21 +9894,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -8894,11 +9946,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8911,7 +9972,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -8934,21 +9996,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -8979,11 +10048,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -8996,7 +10074,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -9006,7 +10085,14 @@ - _ACEOF - - else -- LIBOBJS="$LIBOBJS $ac_func.$ac_objext" -+ case $LIBOBJS in -+ "$ac_func.$ac_objext" | \ -+ *" $ac_func.$ac_objext" | \ -+ "$ac_func.$ac_objext "* | \ -+ *" $ac_func.$ac_objext "* ) ;; -+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; -+esac -+ - fi - done - -@@ -9019,7 +10105,6 @@ - while :; do - ac_cv_sys_largefile_source=no - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9036,11 +10121,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9052,9 +10146,8 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9072,11 +10165,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9088,7 +10190,7 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - break - done - fi -@@ -9112,7 +10214,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9129,11 +10230,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9146,7 +10256,8 @@ - - ac_cv_func_fseeko=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_func_fseeko" >&5 - echo "${ECHO_T}$ac_cv_func_fseeko" >&6 -@@ -9165,7 +10276,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9185,11 +10295,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9202,7 +10321,7 @@ - - ac_cv_have_decl_clearerr_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_clearerr_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_clearerr_unlocked" >&6 -@@ -9230,7 +10349,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9250,11 +10368,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9267,7 +10394,7 @@ - - ac_cv_have_decl_feof_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_feof_unlocked" >&6 -@@ -9295,7 +10422,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9315,11 +10441,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9332,7 +10467,7 @@ - - ac_cv_have_decl_ferror_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_ferror_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_ferror_unlocked" >&6 -@@ -9360,7 +10495,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9380,11 +10514,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9397,7 +10540,7 @@ - - ac_cv_have_decl_fflush_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fflush_unlocked" >&6 -@@ -9425,7 +10568,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9445,11 +10587,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9462,7 +10613,7 @@ - - ac_cv_have_decl_fgets_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fgets_unlocked" >&6 -@@ -9490,7 +10641,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9510,11 +10660,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9527,7 +10686,7 @@ - - ac_cv_have_decl_fputc_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputc_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fputc_unlocked" >&6 -@@ -9555,7 +10714,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9575,11 +10733,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9592,7 +10759,7 @@ - - ac_cv_have_decl_fputs_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fputs_unlocked" >&6 -@@ -9620,7 +10787,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9640,11 +10806,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9657,7 +10832,7 @@ - - ac_cv_have_decl_fread_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fread_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fread_unlocked" >&6 -@@ -9685,7 +10860,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9705,11 +10879,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9722,7 +10905,7 @@ - - ac_cv_have_decl_fwrite_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_fwrite_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_fwrite_unlocked" >&6 -@@ -9750,7 +10933,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9770,11 +10952,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9787,7 +10978,7 @@ - - ac_cv_have_decl_getc_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6 -@@ -9815,7 +11006,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9835,11 +11025,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9852,7 +11051,7 @@ - - ac_cv_have_decl_getchar_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_getchar_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_getchar_unlocked" >&6 -@@ -9880,7 +11079,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9900,11 +11098,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9917,7 +11124,7 @@ - - ac_cv_have_decl_putc_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_putc_unlocked" >&6 -@@ -9945,7 +11152,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -9965,11 +11171,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -9982,7 +11197,7 @@ - - ac_cv_have_decl_putchar_unlocked=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_have_decl_putchar_unlocked" >&5 - echo "${ECHO_T}$ac_cv_have_decl_putchar_unlocked" >&6 -@@ -10075,7 +11290,6 @@ - ac_cv_func_closedir_void=yes - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10115,7 +11329,7 @@ - ( exit $ac_status ) - ac_cv_func_closedir_void=yes - fi --rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - fi - echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 -@@ -10146,7 +11360,6 @@ - echo "$as_me:$LINENO: checking $ac_header usability" >&5 - echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10157,11 +11370,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10174,7 +11396,7 @@ - - ac_header_compiler=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 - echo "${ECHO_T}$ac_header_compiler" >&6 - -@@ -10182,7 +11404,6 @@ - echo "$as_me:$LINENO: checking $ac_header presence" >&5 - echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10200,6 +11421,7 @@ - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -@@ -10219,33 +11441,32 @@ - echo "${ECHO_T}$ac_header_preproc" >&6 - - # So? What about this header? --case $ac_header_compiler:$ac_header_preproc in -- yes:no ) -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 - echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes - ;; -- no:yes ) -+ no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 - echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 - echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX --## ------------------------------------ ## --## Report this to bug-autoconf@gnu.org. ## --## ------------------------------------ ## -+## -------------------------------- ## -+## Report this to bug-patch@gnu.org ## -+## -------------------------------- ## - _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 -@@ -10256,7 +11477,7 @@ - if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- eval "$as_ac_Header=$ac_header_preproc" -+ eval "$as_ac_Header=\$ac_header_preproc" - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -@@ -10277,7 +11498,6 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10300,11 +11520,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10317,7 +11546,8 @@ - - ac_cv_func_setmode_dos=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_func_setmode_dos" >&5 - echo "${ECHO_T}$ac_cv_func_setmode_dos" >&6 -@@ -10338,21 +11568,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -10383,11 +11620,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10400,7 +11646,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -10415,21 +11662,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define _doprnt innocuous__doprnt -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef _doprnt -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -10460,11 +11714,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10477,7 +11740,8 @@ - - ac_cv_func__doprnt=no - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 - echo "${ECHO_T}$ac_cv_func__doprnt" >&6 -@@ -10503,21 +11767,28 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> - #endif -+ -+#undef $ac_func -+ - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" -@@ -10548,11 +11819,20 @@ - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -+ (eval $ac_link) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest$ac_exeext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10565,7 +11845,8 @@ - - eval "$as_ac_var=no" - fi --rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -@@ -10585,7 +11866,6 @@ - patch_cv_mkdir_takes_one_arg=no - if test $ac_cv_func_mkdir = yes; then - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10605,11 +11885,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10621,7 +11910,6 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10641,11 +11929,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10658,10 +11955,10 @@ - sed 's/^/| /' conftest.$ac_ext >&5 - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - fi - - -@@ -10686,7 +11983,6 @@ - else - - cat >conftest.$ac_ext <<_ACEOF --#line $LINENO "configure" - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -10705,11 +12001,20 @@ - _ACEOF - rm -f conftest.$ac_objext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -+ (eval $ac_compile) 2>conftest.er1 - ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && -- { ac_try='test -s conftest.$ac_objext' -+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? -@@ -10722,7 +12027,7 @@ - - ac_cv_win_or_dos=no - fi --rm -f conftest.$ac_objext conftest.$ac_ext -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - fi - echo "$as_me:$LINENO: result: $ac_cv_win_or_dos" >&5 -@@ -10834,13 +12139,13 @@ - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ -- "s/'/'\\\\''/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; - } | -@@ -10870,13 +12175,13 @@ - # trailing colons and then remove the whole line if VPATH becomes empty - # (actually we leave an empty line to preserve line numbers). - if test "x$srcdir" = x.; then -- ac_vpsub='/^[ ]*VPATH[ ]*=/{ -+ ac_vpsub='/^[ ]*VPATH[ ]*=/{ - s/:*\$(srcdir):*/:/; - s/:*\${srcdir}:*/:/; - s/:*@srcdir@:*/:/; --s/^\([^=]*=[ ]*\):*/\1/; -+s/^\([^=]*=[ ]*\):*/\1/; - s/:*$//; --s/^[^=]*=[ ]*$//; -+s/^[^=]*=[ ]*$//; - }' - fi - -@@ -10887,7 +12192,7 @@ - for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | -- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` -+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -@@ -10931,9 +12236,10 @@ - elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix - fi -+DUALCASE=1; export DUALCASE # for MKS sh - - # Support unset when possible. --if (FOO=FOO; unset FOO) >/dev/null 2>&1; then -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset - else - as_unset=false -@@ -10952,7 +12258,7 @@ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME - do -- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then -+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var -@@ -11131,16 +12437,17 @@ - if mkdir -p . 2>/dev/null; then - as_mkdir_p=: - else -+ test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - - as_executable_p="test -f" - - # Sed expression to map a string onto a valid CPP name. --as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - - # Sed expression to map a string onto a valid variable name. --as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - # IFS -@@ -11167,7 +12474,7 @@ - cat >&5 <<_CSEOF - - This file was extended by patch $as_me 2.5.9, which was --generated by GNU Autoconf 2.57. Invocation command line was -+generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS -@@ -11211,9 +12518,9 @@ - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] -- instantiate the configuration file FILE -+ instantiate the configuration file FILE - --header=FILE[:TEMPLATE] -- instantiate the configuration header FILE -+ instantiate the configuration header FILE - - Configuration files: - $config_files -@@ -11227,11 +12534,10 @@ - cat >>$CONFIG_STATUS <<_ACEOF - ac_cs_version="\\ - patch config.status 2.5.9 --configured by $0, generated by GNU Autoconf 2.57, -+configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - --Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 --Free Software Foundation, Inc. -+Copyright (C) 2003 Free Software Foundation, Inc. - This config.status script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it." - srcdir=$srcdir -@@ -11463,9 +12769,9 @@ - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then -- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" -+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else -- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" -+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end -@@ -11483,21 +12789,21 @@ - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || - $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -11513,10 +12819,10 @@ - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || - $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -11554,12 +12860,45 @@ - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; - esac --# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be --# absolute. --ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` --ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` --ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` --ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+ case "$ac_dir" in -+ .) ac_abs_builddir=`pwd`;; -+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+ *) ac_abs_builddir=`pwd`/"$ac_dir";; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+ case ${ac_top_builddir}. in -+ .) ac_abs_top_builddir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+ case $ac_srcdir in -+ .) ac_abs_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+ esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+ case $ac_top_srcdir in -+ .) ac_abs_top_srcdir=$ac_abs_builddir;; -+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+ esac;; -+esac - - - case $INSTALL in -@@ -11567,11 +12906,6 @@ - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - -- if test x"$ac_file" != x-; then -- { echo "$as_me:$LINENO: creating $ac_file" >&5 --echo "$as_me: creating $ac_file" >&6;} -- rm -f "$ac_file" -- fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ -@@ -11581,7 +12915,7 @@ - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | -- sed 's,.*/,,'` by configure." -+ sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. -@@ -11590,26 +12924,32 @@ - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- echo $f;; -+ echo "$f";; - *) # Relative -- if test -f "$f"; then -- # Build tree -- echo $f -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo $srcdir/$f -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ if test -f "$f"; then -+ # Build tree -+ echo "$f" -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo "$srcdir/$f" -+ else -+ # /dev/null tree -+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- fi;; -+ fi;; - esac - done` || { (exit 1); exit 1; } -+ -+ if test x"$ac_file" != x-; then -+ { echo "$as_me:$LINENO: creating $ac_file" >&5 -+echo "$as_me: creating $ac_file" >&6;} -+ rm -f "$ac_file" -+ fi - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -@@ -11649,12 +12989,12 @@ - # NAME is the cpp macro being defined and VALUE is the value it is being given. - # - # ac_d sets the value in "#define NAME VALUE" lines. --ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' --ac_dB='[ ].*$,\1#\2' -+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -+ac_dB='[ ].*$,\1#\2' - ac_dC=' ' - ac_dD=',;t' - # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". --ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' - ac_uB='$,\1#\2define\3' - ac_uC=' ' - ac_uD=',;t' -@@ -11663,11 +13003,11 @@ - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ cat >$tmp/stdin -+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - -@@ -11681,28 +13021,29 @@ - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ # Absolute (can't be DOS-style, as IFS=:) -+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- echo $f;; -+ # Do quote $f, to prevent DOS paths from being IFS'd. -+ echo "$f";; - *) # Relative -- if test -f "$f"; then -- # Build tree -- echo $f -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo $srcdir/$f -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+ if test -f "$f"; then -+ # Build tree -+ echo "$f" -+ elif test -f "$srcdir/$f"; then -+ # Source tree -+ echo "$srcdir/$f" -+ else -+ # /dev/null tree -+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 - echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } -- fi;; -+ fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. -- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - - _ACEOF - -@@ -11725,9 +13066,9 @@ - s,[\\$`],\\&,g - t clear - : clear --s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp - t end --s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp - : end - _ACEOF - # If some macros were called several times there might be several times -@@ -11741,13 +13082,13 @@ - # example, in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - cat >>conftest.undefs <<\_ACEOF --s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, - _ACEOF - - # Break up conftest.defines because some shells have a limit on the size - # of here documents, and old seds have small limits too (100 cmds). - echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS --echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS - echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS - echo ' :' >>$CONFIG_STATUS - rm -f conftest.tail -@@ -11756,7 +13097,7 @@ - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. -- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS -+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS -@@ -11783,7 +13124,7 @@ - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' -- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS -+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS -@@ -11817,10 +13158,10 @@ - else - ac_dir=`(dirname "$ac_file") 2>/dev/null || - $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } -@@ -11836,10 +13177,10 @@ - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || - $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| \ -+ . : '\(.\)' 2>/dev/null || - echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } ---- patch-2.5.9.orig/configure.ac -+++ patch-2.5.9/configure.ac -@@ -64,6 +64,9 @@ - gl_PREREQ_XMALLOC - gl_QUOTE - gl_QUOTEARG -+gl_HASH -+ -+ag_CHECK_NANOSECOND_STAT - - dnl This should be in gnulib, but isn't for some reason. - AC_DEFUN([jm_PREREQ_ADDEXT], ---- patch-2.5.9.orig/pch.c -+++ patch-2.5.9/pch.c -@@ -1,6 +1,6 @@ - /* reading patches */ - --/* $Id: pch.c,v 1.44 2003/05/20 14:03:17 eggert Exp $ */ -+/* $Id: pch.c,v 1.45 2003/07/02 22:19:21 eggert Exp $ */ - - /* Copyright (C) 1986, 1987, 1988 Larry Wall - -@@ -366,10 +366,16 @@ - if (!stars_last_line && strnEQ(s, "*** ", 4)) - name[OLD] = fetchname (s+4, strippath, &p_timestamp[OLD]); - else if (strnEQ(s, "+++ ", 4)) -+ { - /* Swap with NEW below. */ - name[OLD] = fetchname (s+4, strippath, &p_timestamp[OLD]); -+ p_strip_trailing_cr = strip_trailing_cr; -+ } - else if (strnEQ(s, "Index:", 6)) -+ { - name[INDEX] = fetchname (s+6, strippath, (time_t *) 0); -+ p_strip_trailing_cr = strip_trailing_cr; -+ } - else if (strnEQ(s, "Prereq:", 7)) { - for (t = s + 7; ISSPACE ((unsigned char) *t); t++) - continue; -@@ -409,6 +415,7 @@ - p_timestamp[NEW] = timestamp; - p_rfc934_nesting = (t - s) >> 1; - } -+ p_strip_trailing_cr = strip_trailing_cr; - } - } - if ((diff_type == NO_DIFF || diff_type == ED_DIFF) && ---- patch-2.5.9.orig/util.c -+++ patch-2.5.9/util.c -@@ -45,9 +45,17 @@ - # define raise(sig) kill (getpid (), sig) - #endif - -+#if defined(HAVE_STAT_TIMEVAL) -+#include <time.h> -+#endif -+ - #include <stdarg.h> -+#include <hash.h> - - static void makedirs (char *); -+static bool fid_search (const char *, const struct stat *, bool); -+# define fid_exists(name, pst) fid_search (name, pst, false) -+# define insert_fid(name) fid_search (name, NULL, true) - - /* Move a file FROM (where *FROM_NEEDS_REMOVAL is nonzero if FROM - needs removal when cleaning up at the end of execution) -@@ -64,7 +72,7 @@ - struct stat to_st; - int to_errno = ! backup ? -1 : stat (to, &to_st) == 0 ? 0 : errno; - -- if (backup) -+ if (backup && (to_errno || ! fid_exists (to, &to_st))) - { - int try_makedirs_errno = 0; - char *bakname; -@@ -165,6 +173,7 @@ - if (! to_dir_known_to_exist) - makedirs (to); - copy_file (from, to, 0, mode); -+ insert_fid (to); - return; - } - -@@ -173,6 +182,7 @@ - } - - rename_succeeded: -+ insert_fid (to); - /* Do not clear *FROM_NEEDS_REMOVAL if it's possible that the - rename returned zero because FROM and TO are hard links to - the same file. */ -@@ -1011,3 +1021,105 @@ - if (file_seek (stream, offset, ptrname) != 0) - pfatal ("fseek"); - } -+ -+typedef struct -+{ -+ dev_t fid_dev; -+ ino_t fid_ino; -+ time_t fid_mtime; -+ unsigned long fid_mtimensec; -+} file_id; -+ -+unsigned -+file_id_hasher (file_id *entry, unsigned table_size) -+{ -+ return ((unsigned long) entry->fid_ino + -+ (unsigned long) entry->fid_dev + -+ (unsigned long) entry->fid_mtime + -+ (unsigned long) entry->fid_mtimensec) % table_size; -+} -+ -+bool -+file_id_comparator (file_id *entry1, file_id *entry2) -+{ -+ return (entry1->fid_dev == entry2->fid_dev && -+ entry1->fid_ino == entry2->fid_ino && -+ entry1->fid_mtime == entry2->fid_mtime && -+ entry1->fid_mtimensec == entry2->fid_mtimensec); -+} -+ -+void -+file_id_freer (file_id *entry) -+{ -+ free (entry); -+} -+ -+Hash_table *file_id_hash; -+ -+/* Check if the file identified by FILENAME and PST was already seen. If the -+ file was already seen, returns TRUE. If the file has not yet been seen -+ and INSERT is TRUE, it is inserted. PST or FILENAME may be NULL (but not -+ both of them). */ -+ -+static bool -+fid_search (const char *filename, const struct stat *pst, bool insert) -+{ -+ struct stat st; -+ -+ if (!file_id_hash) -+ { -+ file_id_hash = hash_initialize (0, NULL, (Hash_hasher) file_id_hasher, -+ (Hash_comparator) file_id_comparator, -+ (Hash_data_freer) file_id_freer); -+ if (!file_id_hash) -+ pfatal ("hash_initialize"); -+ } -+ -+ if (!pst) -+ { -+ if (stat (filename, &st) != 0) -+ pfatal ("%s", quotearg (filename)); -+ pst = &st; -+ } -+ -+ if (insert) -+ { -+ file_id *pfid = xmalloc (sizeof (file_id)), *old_pfid; -+ pfid->fid_dev = pst->st_dev; -+ pfid->fid_ino = pst->st_ino; -+ pfid->fid_mtime = pst->st_mtime; -+#if defined(HAVE_STAT_NSEC) -+ pfid->fid_mtimensec = pst->st_mtimensec; -+#elif defined(HAVE_STAT_TIMEVAL) -+ pfid->fid_mtimensec = pst->st_mtim.tv_nsec; -+#else -+ pfid->fid_mtimensec = 0; -+#endif -+ old_pfid = hash_insert (file_id_hash, pfid); -+ if (!old_pfid) -+ pfatal ("hash_insert"); -+ else if (old_pfid != pfid) -+ { -+ free (pfid); -+ return true; -+ } -+ else -+ return false; -+ } -+ else -+ { -+ file_id fid; -+ fid.fid_dev = pst->st_dev; -+ fid.fid_ino = pst->st_ino; -+ fid.fid_mtime = pst->st_mtime; -+#if defined(HAVE_STAT_NSEC) -+ fid.fid_mtimensec = pst->st_mtimensec; -+#elif defined(HAVE_STAT_TIMEVAL) -+ fid.fid_mtimensec = pst->st_mtim.tv_nsec; -+#else -+ fid.fid_mtimensec = 0; -+#endif -+ return hash_lookup (file_id_hash, &fid) != 0; -+ } -+} -+ ---- patch-2.5.9.orig/hash.c -+++ patch-2.5.9/hash.c -@@ -0,0 +1,1051 @@ -+/* hash - hashing table processing. -+ -+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software -+ Foundation, Inc. -+ -+ Written by Jim Meyering, 1992. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+/* A generic hash table package. */ -+ -+/* Define USE_OBSTACK to 1 if you want the allocator to use obstacks instead -+ of malloc. If you change USE_OBSTACK, you have to recompile! */ -+ -+#if HAVE_CONFIG_H -+# include <config.h> -+#endif -+#if HAVE_STDLIB_H -+# include <stdlib.h> -+#endif -+ -+#include <limits.h> -+#include <stdbool.h> -+#include <stdio.h> -+ -+#ifndef HAVE_DECL_FREE -+"this configure-time declaration test was not run" -+#endif -+#if !HAVE_DECL_FREE -+void free (); -+#endif -+ -+#ifndef HAVE_DECL_MALLOC -+"this configure-time declaration test was not run" -+#endif -+#if !HAVE_DECL_MALLOC -+char *malloc (); -+#endif -+ -+#if USE_OBSTACK -+# include "obstack.h" -+# ifndef obstack_chunk_alloc -+# define obstack_chunk_alloc malloc -+# endif -+# ifndef obstack_chunk_free -+# define obstack_chunk_free free -+# endif -+#endif -+ -+#include "hash.h" -+ -+struct hash_table -+ { -+ /* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1, -+ for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets -+ are not empty, there are N_ENTRIES active entries in the table. */ -+ struct hash_entry *bucket; -+ struct hash_entry *bucket_limit; -+ unsigned n_buckets; -+ unsigned n_buckets_used; -+ unsigned n_entries; -+ -+ /* Tuning arguments, kept in a physicaly separate structure. */ -+ const Hash_tuning *tuning; -+ -+ /* Three functions are given to `hash_initialize', see the documentation -+ block for this function. In a word, HASHER randomizes a user entry -+ into a number up from 0 up to some maximum minus 1; COMPARATOR returns -+ true if two user entries compare equally; and DATA_FREER is the cleanup -+ function for a user entry. */ -+ Hash_hasher hasher; -+ Hash_comparator comparator; -+ Hash_data_freer data_freer; -+ -+ /* A linked list of freed struct hash_entry structs. */ -+ struct hash_entry *free_entry_list; -+ -+#if USE_OBSTACK -+ /* Whenever obstacks are used, it is possible to allocate all overflowed -+ entries into a single stack, so they all can be freed in a single -+ operation. It is not clear if the speedup is worth the trouble. */ -+ struct obstack entry_stack; -+#endif -+ }; -+ -+/* A hash table contains many internal entries, each holding a pointer to -+ some user provided data (also called a user entry). An entry indistinctly -+ refers to both the internal entry and its associated user entry. A user -+ entry contents may be hashed by a randomization function (the hashing -+ function, or just `hasher' for short) into a number (or `slot') between 0 -+ and the current table size. At each slot position in the hash table, -+ starts a linked chain of entries for which the user data all hash to this -+ slot. A bucket is the collection of all entries hashing to the same slot. -+ -+ A good `hasher' function will distribute entries rather evenly in buckets. -+ In the ideal case, the length of each bucket is roughly the number of -+ entries divided by the table size. Finding the slot for a data is usually -+ done in constant time by the `hasher', and the later finding of a precise -+ entry is linear in time with the size of the bucket. Consequently, a -+ larger hash table size (that is, a larger number of buckets) is prone to -+ yielding shorter chains, *given* the `hasher' function behaves properly. -+ -+ Long buckets slow down the lookup algorithm. One might use big hash table -+ sizes in hope to reduce the average length of buckets, but this might -+ become inordinate, as unused slots in the hash table take some space. The -+ best bet is to make sure you are using a good `hasher' function (beware -+ that those are not that easy to write! :-), and to use a table size -+ larger than the actual number of entries. */ -+ -+/* If an insertion makes the ratio of nonempty buckets to table size larger -+ than the growth threshold (a number between 0.0 and 1.0), then increase -+ the table size by multiplying by the growth factor (a number greater than -+ 1.0). The growth threshold defaults to 0.8, and the growth factor -+ defaults to 1.414, meaning that the table will have doubled its size -+ every second time 80% of the buckets get used. */ -+#define DEFAULT_GROWTH_THRESHOLD 0.8 -+#define DEFAULT_GROWTH_FACTOR 1.414 -+ -+/* If a deletion empties a bucket and causes the ratio of used buckets to -+ table size to become smaller than the shrink threshold (a number between -+ 0.0 and 1.0), then shrink the table by multiplying by the shrink factor (a -+ number greater than the shrink threshold but smaller than 1.0). The shrink -+ threshold and factor default to 0.0 and 1.0, meaning that the table never -+ shrinks. */ -+#define DEFAULT_SHRINK_THRESHOLD 0.0 -+#define DEFAULT_SHRINK_FACTOR 1.0 -+ -+/* Use this to initialize or reset a TUNING structure to -+ some sensible values. */ -+static const Hash_tuning default_tuning = -+ { -+ DEFAULT_SHRINK_THRESHOLD, -+ DEFAULT_SHRINK_FACTOR, -+ DEFAULT_GROWTH_THRESHOLD, -+ DEFAULT_GROWTH_FACTOR, -+ false -+ }; -+ -+/* Information and lookup. */ -+ -+/* The following few functions provide information about the overall hash -+ table organization: the number of entries, number of buckets and maximum -+ length of buckets. */ -+ -+/* Return the number of buckets in the hash table. The table size, the total -+ number of buckets (used plus unused), or the maximum number of slots, are -+ the same quantity. */ -+ -+unsigned -+hash_get_n_buckets (const Hash_table *table) -+{ -+ return table->n_buckets; -+} -+ -+/* Return the number of slots in use (non-empty buckets). */ -+ -+unsigned -+hash_get_n_buckets_used (const Hash_table *table) -+{ -+ return table->n_buckets_used; -+} -+ -+/* Return the number of active entries. */ -+ -+unsigned -+hash_get_n_entries (const Hash_table *table) -+{ -+ return table->n_entries; -+} -+ -+/* Return the length of the longest chain (bucket). */ -+ -+unsigned -+hash_get_max_bucket_length (const Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ unsigned max_bucket_length = 0; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ struct hash_entry *cursor = bucket; -+ unsigned bucket_length = 1; -+ -+ while (cursor = cursor->next, cursor) -+ bucket_length++; -+ -+ if (bucket_length > max_bucket_length) -+ max_bucket_length = bucket_length; -+ } -+ } -+ -+ return max_bucket_length; -+} -+ -+/* Do a mild validation of a hash table, by traversing it and checking two -+ statistics. */ -+ -+bool -+hash_table_ok (const Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ unsigned n_buckets_used = 0; -+ unsigned n_entries = 0; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ struct hash_entry *cursor = bucket; -+ -+ /* Count bucket head. */ -+ n_buckets_used++; -+ n_entries++; -+ -+ /* Count bucket overflow. */ -+ while (cursor = cursor->next, cursor) -+ n_entries++; -+ } -+ } -+ -+ if (n_buckets_used == table->n_buckets_used && n_entries == table->n_entries) -+ return true; -+ -+ return false; -+} -+ -+void -+hash_print_statistics (const Hash_table *table, FILE *stream) -+{ -+ unsigned n_entries = hash_get_n_entries (table); -+ unsigned n_buckets = hash_get_n_buckets (table); -+ unsigned n_buckets_used = hash_get_n_buckets_used (table); -+ unsigned max_bucket_length = hash_get_max_bucket_length (table); -+ -+ fprintf (stream, "# entries: %u\n", n_entries); -+ fprintf (stream, "# buckets: %u\n", n_buckets); -+ fprintf (stream, "# buckets used: %u (%.2f%%)\n", n_buckets_used, -+ (100.0 * n_buckets_used) / n_buckets); -+ fprintf (stream, "max bucket length: %u\n", max_bucket_length); -+} -+ -+/* If ENTRY matches an entry already in the hash table, return the -+ entry from the table. Otherwise, return NULL. */ -+ -+void * -+hash_lookup (const Hash_table *table, const void *entry) -+{ -+ struct hash_entry *bucket -+ = table->bucket + table->hasher (entry, table->n_buckets); -+ struct hash_entry *cursor; -+ -+ if (! (bucket < table->bucket_limit)) -+ abort (); -+ -+ if (bucket->data == NULL) -+ return NULL; -+ -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ if (table->comparator (entry, cursor->data)) -+ return cursor->data; -+ -+ return NULL; -+} -+ -+/* Walking. */ -+ -+/* The functions in this page traverse the hash table and process the -+ contained entries. For the traversal to work properly, the hash table -+ should not be resized nor modified while any particular entry is being -+ processed. In particular, entries should not be added or removed. */ -+ -+/* Return the first data in the table, or NULL if the table is empty. */ -+ -+void * -+hash_get_first (const Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ -+ if (table->n_entries == 0) -+ return NULL; -+ -+ for (bucket = table->bucket; ; bucket++) -+ if (! (bucket < table->bucket_limit)) -+ abort (); -+ else if (bucket->data) -+ return bucket->data; -+} -+ -+/* Return the user data for the entry following ENTRY, where ENTRY has been -+ returned by a previous call to either `hash_get_first' or `hash_get_next'. -+ Return NULL if there are no more entries. */ -+ -+void * -+hash_get_next (const Hash_table *table, const void *entry) -+{ -+ struct hash_entry *bucket -+ = table->bucket + table->hasher (entry, table->n_buckets); -+ struct hash_entry *cursor; -+ -+ if (! (bucket < table->bucket_limit)) -+ abort (); -+ -+ /* Find next entry in the same bucket. */ -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ if (cursor->data == entry && cursor->next) -+ return cursor->next->data; -+ -+ /* Find first entry in any subsequent bucket. */ -+ while (++bucket < table->bucket_limit) -+ if (bucket->data) -+ return bucket->data; -+ -+ /* None found. */ -+ return NULL; -+} -+ -+/* Fill BUFFER with pointers to active user entries in the hash table, then -+ return the number of pointers copied. Do not copy more than BUFFER_SIZE -+ pointers. */ -+ -+unsigned -+hash_get_entries (const Hash_table *table, void **buffer, -+ unsigned buffer_size) -+{ -+ unsigned counter = 0; -+ struct hash_entry *bucket; -+ struct hash_entry *cursor; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ { -+ if (counter >= buffer_size) -+ return counter; -+ buffer[counter++] = cursor->data; -+ } -+ } -+ } -+ -+ return counter; -+} -+ -+/* Call a PROCESSOR function for each entry of a hash table, and return the -+ number of entries for which the processor function returned success. A -+ pointer to some PROCESSOR_DATA which will be made available to each call to -+ the processor function. The PROCESSOR accepts two arguments: the first is -+ the user entry being walked into, the second is the value of PROCESSOR_DATA -+ as received. The walking continue for as long as the PROCESSOR function -+ returns nonzero. When it returns zero, the walking is interrupted. */ -+ -+unsigned -+hash_do_for_each (const Hash_table *table, Hash_processor processor, -+ void *processor_data) -+{ -+ unsigned counter = 0; -+ struct hash_entry *bucket; -+ struct hash_entry *cursor; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ { -+ if (!(*processor) (cursor->data, processor_data)) -+ return counter; -+ counter++; -+ } -+ } -+ } -+ -+ return counter; -+} -+ -+/* Allocation and clean-up. */ -+ -+/* Return a hash index for a NUL-terminated STRING between 0 and N_BUCKETS-1. -+ This is a convenience routine for constructing other hashing functions. */ -+ -+#if USE_DIFF_HASH -+ -+/* About hashings, Paul Eggert writes to me (FP), on 1994-01-01: "Please see -+ B. J. McKenzie, R. Harries & T. Bell, Selecting a hashing algorithm, -+ Software--practice & experience 20, 2 (Feb 1990), 209-224. Good hash -+ algorithms tend to be domain-specific, so what's good for [diffutils'] io.c -+ may not be good for your application." */ -+ -+unsigned -+hash_string (const char *string, unsigned n_buckets) -+{ -+# define ROTATE_LEFT(Value, Shift) \ -+ ((Value) << (Shift) | (Value) >> ((sizeof (unsigned) * CHAR_BIT) - (Shift))) -+# define HASH_ONE_CHAR(Value, Byte) \ -+ ((Byte) + ROTATE_LEFT (Value, 7)) -+ -+ unsigned value = 0; -+ -+ for (; *string; string++) -+ value = HASH_ONE_CHAR (value, *(const unsigned char *) string); -+ return value % n_buckets; -+ -+# undef ROTATE_LEFT -+# undef HASH_ONE_CHAR -+} -+ -+#else /* not USE_DIFF_HASH */ -+ -+/* This one comes from `recode', and performs a bit better than the above as -+ per a few experiments. It is inspired from a hashing routine found in the -+ very old Cyber `snoop', itself written in typical Greg Mansfield style. -+ (By the way, what happened to this excellent man? Is he still alive?) */ -+ -+unsigned -+hash_string (const char *string, unsigned n_buckets) -+{ -+ unsigned value = 0; -+ -+ while (*string) -+ value = ((value * 31 + (int) *(const unsigned char *) string++) -+ % n_buckets); -+ return value; -+} -+ -+#endif /* not USE_DIFF_HASH */ -+ -+/* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd -+ number at least equal to 11. */ -+ -+static bool -+is_prime (unsigned long candidate) -+{ -+ unsigned long divisor = 3; -+ unsigned long square = divisor * divisor; -+ -+ while (square < candidate && (candidate % divisor)) -+ { -+ divisor++; -+ square += 4 * divisor; -+ divisor++; -+ } -+ -+ return (candidate % divisor ? true : false); -+} -+ -+/* Round a given CANDIDATE number up to the nearest prime, and return that -+ prime. Primes lower than 10 are merely skipped. */ -+ -+static unsigned long -+next_prime (unsigned long candidate) -+{ -+ /* Skip small primes. */ -+ if (candidate < 10) -+ candidate = 10; -+ -+ /* Make it definitely odd. */ -+ candidate |= 1; -+ -+ while (!is_prime (candidate)) -+ candidate += 2; -+ -+ return candidate; -+} -+ -+void -+hash_reset_tuning (Hash_tuning *tuning) -+{ -+ *tuning = default_tuning; -+} -+ -+/* For the given hash TABLE, check the user supplied tuning structure for -+ reasonable values, and return true if there is no gross error with it. -+ Otherwise, definitively reset the TUNING field to some acceptable default -+ in the hash table (that is, the user loses the right of further modifying -+ tuning arguments), and return false. */ -+ -+static bool -+check_tuning (Hash_table *table) -+{ -+ const Hash_tuning *tuning = table->tuning; -+ -+ if (tuning->growth_threshold > 0.0 -+ && tuning->growth_threshold < 1.0 -+ && tuning->growth_factor > 1.0 -+ && tuning->shrink_threshold >= 0.0 -+ && tuning->shrink_threshold < 1.0 -+ && tuning->shrink_factor > tuning->shrink_threshold -+ && tuning->shrink_factor <= 1.0 -+ && tuning->shrink_threshold < tuning->growth_threshold) -+ return true; -+ -+ table->tuning = &default_tuning; -+ return false; -+} -+ -+/* Allocate and return a new hash table, or NULL upon failure. The initial -+ number of buckets is automatically selected so as to _guarantee_ that you -+ may insert at least CANDIDATE different user entries before any growth of -+ the hash table size occurs. So, if have a reasonably tight a-priori upper -+ bound on the number of entries you intend to insert in the hash table, you -+ may save some table memory and insertion time, by specifying it here. If -+ the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE -+ argument has its meaning changed to the wanted number of buckets. -+ -+ TUNING points to a structure of user-supplied values, in case some fine -+ tuning is wanted over the default behavior of the hasher. If TUNING is -+ NULL, the default tuning parameters are used instead. -+ -+ The user-supplied HASHER function should be provided. It accepts two -+ arguments ENTRY and TABLE_SIZE. It computes, by hashing ENTRY contents, a -+ slot number for that entry which should be in the range 0..TABLE_SIZE-1. -+ This slot number is then returned. -+ -+ The user-supplied COMPARATOR function should be provided. It accepts two -+ arguments pointing to user data, it then returns true for a pair of entries -+ that compare equal, or false otherwise. This function is internally called -+ on entries which are already known to hash to the same bucket index. -+ -+ The user-supplied DATA_FREER function, when not NULL, may be later called -+ with the user data as an argument, just before the entry containing the -+ data gets freed. This happens from within `hash_free' or `hash_clear'. -+ You should specify this function only if you want these functions to free -+ all of your `data' data. This is typically the case when your data is -+ simply an auxiliary struct that you have malloc'd to aggregate several -+ values. */ -+ -+Hash_table * -+hash_initialize (unsigned candidate, const Hash_tuning *tuning, -+ Hash_hasher hasher, Hash_comparator comparator, -+ Hash_data_freer data_freer) -+{ -+ Hash_table *table; -+ struct hash_entry *bucket; -+ -+ if (hasher == NULL || comparator == NULL) -+ return NULL; -+ -+ table = (Hash_table *) malloc (sizeof (Hash_table)); -+ if (table == NULL) -+ return NULL; -+ -+ if (!tuning) -+ tuning = &default_tuning; -+ table->tuning = tuning; -+ if (!check_tuning (table)) -+ { -+ /* Fail if the tuning options are invalid. This is the only occasion -+ when the user gets some feedback about it. Once the table is created, -+ if the user provides invalid tuning options, we silently revert to -+ using the defaults, and ignore further request to change the tuning -+ options. */ -+ free (table); -+ return NULL; -+ } -+ -+ table->n_buckets -+ = next_prime (tuning->is_n_buckets ? candidate -+ : (unsigned) (candidate / tuning->growth_threshold)); -+ -+ table->bucket = (struct hash_entry *) -+ malloc (table->n_buckets * sizeof (struct hash_entry)); -+ if (table->bucket == NULL) -+ { -+ free (table); -+ return NULL; -+ } -+ table->bucket_limit = table->bucket + table->n_buckets; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ bucket->data = NULL; -+ bucket->next = NULL; -+ } -+ table->n_buckets_used = 0; -+ table->n_entries = 0; -+ -+ table->hasher = hasher; -+ table->comparator = comparator; -+ table->data_freer = data_freer; -+ -+ table->free_entry_list = NULL; -+#if USE_OBSTACK -+ obstack_init (&table->entry_stack); -+#endif -+ return table; -+} -+ -+/* Make all buckets empty, placing any chained entries on the free list. -+ Apply the user-specified function data_freer (if any) to the datas of any -+ affected entries. */ -+ -+void -+hash_clear (Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ struct hash_entry *cursor; -+ struct hash_entry *next; -+ -+ /* Free the bucket overflow. */ -+ for (cursor = bucket->next; cursor; cursor = next) -+ { -+ if (table->data_freer) -+ (*table->data_freer) (cursor->data); -+ cursor->data = NULL; -+ -+ next = cursor->next; -+ /* Relinking is done one entry at a time, as it is to be expected -+ that overflows are either rare or short. */ -+ cursor->next = table->free_entry_list; -+ table->free_entry_list = cursor; -+ } -+ -+ /* Free the bucket head. */ -+ if (table->data_freer) -+ (*table->data_freer) (bucket->data); -+ bucket->data = NULL; -+ bucket->next = NULL; -+ } -+ } -+ -+ table->n_buckets_used = 0; -+ table->n_entries = 0; -+} -+ -+/* Reclaim all storage associated with a hash table. If a data_freer -+ function has been supplied by the user when the hash table was created, -+ this function applies it to the data of each entry before freeing that -+ entry. */ -+ -+void -+hash_free (Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ struct hash_entry *cursor; -+ struct hash_entry *next; -+ -+ /* Call the user data_freer function. */ -+ if (table->data_freer && table->n_entries) -+ { -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ if (bucket->data) -+ { -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ { -+ (*table->data_freer) (cursor->data); -+ } -+ } -+ } -+ } -+ -+#if USE_OBSTACK -+ -+ obstack_free (&table->entry_stack, NULL); -+ -+#else -+ -+ /* Free all bucket overflowed entries. */ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ for (cursor = bucket->next; cursor; cursor = next) -+ { -+ next = cursor->next; -+ free (cursor); -+ } -+ } -+ -+ /* Also reclaim the internal list of previously freed entries. */ -+ for (cursor = table->free_entry_list; cursor; cursor = next) -+ { -+ next = cursor->next; -+ free (cursor); -+ } -+ -+#endif -+ -+ /* Free the remainder of the hash table structure. */ -+ free (table->bucket); -+ free (table); -+} -+ -+/* Insertion and deletion. */ -+ -+/* Get a new hash entry for a bucket overflow, possibly by reclying a -+ previously freed one. If this is not possible, allocate a new one. */ -+ -+static struct hash_entry * -+allocate_entry (Hash_table *table) -+{ -+ struct hash_entry *new; -+ -+ if (table->free_entry_list) -+ { -+ new = table->free_entry_list; -+ table->free_entry_list = new->next; -+ } -+ else -+ { -+#if USE_OBSTACK -+ new = (struct hash_entry *) -+ obstack_alloc (&table->entry_stack, sizeof (struct hash_entry)); -+#else -+ new = (struct hash_entry *) malloc (sizeof (struct hash_entry)); -+#endif -+ } -+ -+ return new; -+} -+ -+/* Free a hash entry which was part of some bucket overflow, -+ saving it for later recycling. */ -+ -+static void -+free_entry (Hash_table *table, struct hash_entry *entry) -+{ -+ entry->data = NULL; -+ entry->next = table->free_entry_list; -+ table->free_entry_list = entry; -+} -+ -+/* This private function is used to help with insertion and deletion. When -+ ENTRY matches an entry in the table, return a pointer to the corresponding -+ user data and set *BUCKET_HEAD to the head of the selected bucket. -+ Otherwise, return NULL. When DELETE is true and ENTRY matches an entry in -+ the table, unlink the matching entry. */ -+ -+static void * -+hash_find_entry (Hash_table *table, const void *entry, -+ struct hash_entry **bucket_head, bool delete) -+{ -+ struct hash_entry *bucket -+ = table->bucket + table->hasher (entry, table->n_buckets); -+ struct hash_entry *cursor; -+ -+ if (! (bucket < table->bucket_limit)) -+ abort (); -+ -+ *bucket_head = bucket; -+ -+ /* Test for empty bucket. */ -+ if (bucket->data == NULL) -+ return NULL; -+ -+ /* See if the entry is the first in the bucket. */ -+ if ((*table->comparator) (entry, bucket->data)) -+ { -+ void *data = bucket->data; -+ -+ if (delete) -+ { -+ if (bucket->next) -+ { -+ struct hash_entry *next = bucket->next; -+ -+ /* Bump the first overflow entry into the bucket head, then save -+ the previous first overflow entry for later recycling. */ -+ *bucket = *next; -+ free_entry (table, next); -+ } -+ else -+ { -+ bucket->data = NULL; -+ } -+ } -+ -+ return data; -+ } -+ -+ /* Scan the bucket overflow. */ -+ for (cursor = bucket; cursor->next; cursor = cursor->next) -+ { -+ if ((*table->comparator) (entry, cursor->next->data)) -+ { -+ void *data = cursor->next->data; -+ -+ if (delete) -+ { -+ struct hash_entry *next = cursor->next; -+ -+ /* Unlink the entry to delete, then save the freed entry for later -+ recycling. */ -+ cursor->next = next->next; -+ free_entry (table, next); -+ } -+ -+ return data; -+ } -+ } -+ -+ /* No entry found. */ -+ return NULL; -+} -+ -+/* For an already existing hash table, change the number of buckets through -+ specifying CANDIDATE. The contents of the hash table are preserved. The -+ new number of buckets is automatically selected so as to _guarantee_ that -+ the table may receive at least CANDIDATE different user entries, including -+ those already in the table, before any other growth of the hash table size -+ occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the -+ exact number of buckets desired. */ -+ -+bool -+hash_rehash (Hash_table *table, unsigned candidate) -+{ -+ Hash_table *new_table; -+ struct hash_entry *bucket; -+ struct hash_entry *cursor; -+ struct hash_entry *next; -+ -+ new_table = hash_initialize (candidate, table->tuning, table->hasher, -+ table->comparator, table->data_freer); -+ if (new_table == NULL) -+ return false; -+ -+ /* Merely reuse the extra old space into the new table. */ -+#if USE_OBSTACK -+ obstack_free (&new_table->entry_stack, NULL); -+ new_table->entry_stack = table->entry_stack; -+#endif -+ new_table->free_entry_list = table->free_entry_list; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ if (bucket->data) -+ for (cursor = bucket; cursor; cursor = next) -+ { -+ void *data = cursor->data; -+ struct hash_entry *new_bucket -+ = (new_table->bucket -+ + new_table->hasher (data, new_table->n_buckets)); -+ -+ if (! (new_bucket < new_table->bucket_limit)) -+ abort (); -+ -+ next = cursor->next; -+ -+ if (new_bucket->data) -+ { -+ if (cursor == bucket) -+ { -+ /* Allocate or recycle an entry, when moving from a bucket -+ header into a bucket overflow. */ -+ struct hash_entry *new_entry = allocate_entry (new_table); -+ -+ if (new_entry == NULL) -+ return false; -+ -+ new_entry->data = data; -+ new_entry->next = new_bucket->next; -+ new_bucket->next = new_entry; -+ } -+ else -+ { -+ /* Merely relink an existing entry, when moving from a -+ bucket overflow into a bucket overflow. */ -+ cursor->next = new_bucket->next; -+ new_bucket->next = cursor; -+ } -+ } -+ else -+ { -+ /* Free an existing entry, when moving from a bucket -+ overflow into a bucket header. Also take care of the -+ simple case of moving from a bucket header into a bucket -+ header. */ -+ new_bucket->data = data; -+ new_table->n_buckets_used++; -+ if (cursor != bucket) -+ free_entry (new_table, cursor); -+ } -+ } -+ -+ free (table->bucket); -+ table->bucket = new_table->bucket; -+ table->bucket_limit = new_table->bucket_limit; -+ table->n_buckets = new_table->n_buckets; -+ table->n_buckets_used = new_table->n_buckets_used; -+ table->free_entry_list = new_table->free_entry_list; -+ /* table->n_entries already holds its value. */ -+#if USE_OBSTACK -+ table->entry_stack = new_table->entry_stack; -+#endif -+ free (new_table); -+ -+ return true; -+} -+ -+/* If ENTRY matches an entry already in the hash table, return the pointer -+ to the entry from the table. Otherwise, insert ENTRY and return ENTRY. -+ Return NULL if the storage required for insertion cannot be allocated. */ -+ -+void * -+hash_insert (Hash_table *table, const void *entry) -+{ -+ void *data; -+ struct hash_entry *bucket; -+ -+ /* The caller cannot insert a NULL entry. */ -+ if (! entry) -+ abort (); -+ -+ /* If there's a matching entry already in the table, return that. */ -+ if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL) -+ return data; -+ -+ /* ENTRY is not matched, it should be inserted. */ -+ -+ if (bucket->data) -+ { -+ struct hash_entry *new_entry = allocate_entry (table); -+ -+ if (new_entry == NULL) -+ return NULL; -+ -+ /* Add ENTRY in the overflow of the bucket. */ -+ -+ new_entry->data = (void *) entry; -+ new_entry->next = bucket->next; -+ bucket->next = new_entry; -+ table->n_entries++; -+ return (void *) entry; -+ } -+ -+ /* Add ENTRY right in the bucket head. */ -+ -+ bucket->data = (void *) entry; -+ table->n_entries++; -+ table->n_buckets_used++; -+ -+ /* If the growth threshold of the buckets in use has been reached, increase -+ the table size and rehash. There's no point in checking the number of -+ entries: if the hashing function is ill-conditioned, rehashing is not -+ likely to improve it. */ -+ -+ if (table->n_buckets_used -+ > table->tuning->growth_threshold * table->n_buckets) -+ { -+ /* Check more fully, before starting real work. If tuning arguments -+ became invalid, the second check will rely on proper defaults. */ -+ check_tuning (table); -+ if (table->n_buckets_used -+ > table->tuning->growth_threshold * table->n_buckets) -+ { -+ const Hash_tuning *tuning = table->tuning; -+ unsigned candidate -+ = (unsigned) (tuning->is_n_buckets -+ ? (table->n_buckets * tuning->growth_factor) -+ : (table->n_buckets * tuning->growth_factor -+ * tuning->growth_threshold)); -+ -+ /* If the rehash fails, arrange to return NULL. */ -+ if (!hash_rehash (table, candidate)) -+ entry = NULL; -+ } -+ } -+ -+ return (void *) entry; -+} -+ -+/* If ENTRY is already in the table, remove it and return the just-deleted -+ data (the user may want to deallocate its storage). If ENTRY is not in the -+ table, don't modify the table and return NULL. */ -+ -+void * -+hash_delete (Hash_table *table, const void *entry) -+{ -+ void *data; -+ struct hash_entry *bucket; -+ -+ data = hash_find_entry (table, entry, &bucket, true); -+ if (!data) -+ return NULL; -+ -+ table->n_entries--; -+ if (!bucket->data) -+ { -+ table->n_buckets_used--; -+ -+ /* If the shrink threshold of the buckets in use has been reached, -+ rehash into a smaller table. */ -+ -+ if (table->n_buckets_used -+ < table->tuning->shrink_threshold * table->n_buckets) -+ { -+ /* Check more fully, before starting real work. If tuning arguments -+ became invalid, the second check will rely on proper defaults. */ -+ check_tuning (table); -+ if (table->n_buckets_used -+ < table->tuning->shrink_threshold * table->n_buckets) -+ { -+ const Hash_tuning *tuning = table->tuning; -+ unsigned candidate -+ = (unsigned) (tuning->is_n_buckets -+ ? table->n_buckets * tuning->shrink_factor -+ : (table->n_buckets * tuning->shrink_factor -+ * tuning->growth_threshold)); -+ -+ hash_rehash (table, candidate); -+ } -+ } -+ } -+ -+ return data; -+} -+ -+/* Testing. */ -+ -+#if TESTING -+ -+void -+hash_print (const Hash_table *table) -+{ -+ struct hash_entry *bucket; -+ -+ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) -+ { -+ struct hash_entry *cursor; -+ -+ if (bucket) -+ printf ("%d:\n", bucket - table->bucket); -+ -+ for (cursor = bucket; cursor; cursor = cursor->next) -+ { -+ char *s = (char *) cursor->data; -+ /* FIXME */ -+ if (s) -+ printf (" %s\n", s); -+ } -+ } -+} -+ -+#endif /* TESTING */ ---- patch-2.5.9.orig/hash.h -+++ patch-2.5.9/hash.h -@@ -0,0 +1,93 @@ -+/* hash - hashing table processing. -+ Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. -+ Written by Jim Meyering <meyering@ascend.com>, 1998. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+/* A generic hash table package. */ -+ -+/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use -+ obstacks instead of malloc, and recompile `hash.c' with same setting. */ -+ -+#ifndef HASH_H_ -+# define HASH_H_ -+ -+# ifndef PARAMS -+# if PROTOTYPES || __STDC__ -+# define PARAMS(Args) Args -+# else -+# define PARAMS(Args) () -+# endif -+# endif -+ -+typedef unsigned (*Hash_hasher) PARAMS ((const void *, unsigned)); -+typedef bool (*Hash_comparator) PARAMS ((const void *, const void *)); -+typedef void (*Hash_data_freer) PARAMS ((void *)); -+typedef bool (*Hash_processor) PARAMS ((void *, void *)); -+ -+struct hash_entry -+ { -+ void *data; -+ struct hash_entry *next; -+ }; -+ -+struct hash_tuning -+ { -+ /* This structure is mainly used for `hash_initialize', see the block -+ documentation of `hash_reset_tuning' for more complete comments. */ -+ -+ float shrink_threshold; /* ratio of used buckets to trigger a shrink */ -+ float shrink_factor; /* ratio of new smaller size to original size */ -+ float growth_threshold; /* ratio of used buckets to trigger a growth */ -+ float growth_factor; /* ratio of new bigger size to original size */ -+ bool is_n_buckets; /* if CANDIDATE really means table size */ -+ }; -+ -+typedef struct hash_tuning Hash_tuning; -+ -+struct hash_table; -+ -+typedef struct hash_table Hash_table; -+ -+/* Information and lookup. */ -+unsigned hash_get_n_buckets PARAMS ((const Hash_table *)); -+unsigned hash_get_n_buckets_used PARAMS ((const Hash_table *)); -+unsigned hash_get_n_entries PARAMS ((const Hash_table *)); -+unsigned hash_get_max_bucket_length PARAMS ((const Hash_table *)); -+bool hash_table_ok PARAMS ((const Hash_table *)); -+void hash_print_statistics PARAMS ((const Hash_table *, FILE *)); -+void *hash_lookup PARAMS ((const Hash_table *, const void *)); -+ -+/* Walking. */ -+void *hash_get_first PARAMS ((const Hash_table *)); -+void *hash_get_next PARAMS ((const Hash_table *, const void *)); -+unsigned hash_get_entries PARAMS ((const Hash_table *, void **, unsigned)); -+unsigned hash_do_for_each PARAMS ((const Hash_table *, Hash_processor, void *)); -+ -+/* Allocation and clean-up. */ -+unsigned hash_string PARAMS ((const char *, unsigned)); -+void hash_reset_tuning PARAMS ((Hash_tuning *)); -+Hash_table *hash_initialize PARAMS ((unsigned, const Hash_tuning *, -+ Hash_hasher, Hash_comparator, -+ Hash_data_freer)); -+void hash_clear PARAMS ((Hash_table *)); -+void hash_free PARAMS ((Hash_table *)); -+ -+/* Insertion and deletion. */ -+bool hash_rehash PARAMS ((Hash_table *, unsigned)); -+void *hash_insert PARAMS ((Hash_table *, const void *)); -+void *hash_delete PARAMS ((Hash_table *, const void *)); -+ -+#endif diff --git a/meta/recipes-devtools/patch/patch/global-reject-file.diff b/meta/recipes-devtools/patch/patch/global-reject-file.diff deleted file mode 100644 index bb7ca79123..0000000000 --- a/meta/recipes-devtools/patch/patch/global-reject-file.diff +++ /dev/null @@ -1,203 +0,0 @@ -Upstream-Status: Inappropriate [debian patch] - -Index: patch-2.5.9/patch.man -=================================================================== ---- patch-2.5.9.orig/patch.man -+++ patch-2.5.9/patch.man -@@ -520,6 +520,15 @@ file. - \fB\*=reject\-unified\fP - Produce unified reject files. The default is to produce context type reject files. - .TP -+.BI \*=global\-reject\-file= rejectfile -+Put all rejects into -+.I rejectfile -+instead of creating separate reject files for all files that have rejects. The -+.I rejectfile -+will contain headers that identify which file each reject refers to. Note that -+the global reject file is created even if \-\-dry\-run is specified (while -+non-global reject files will only be created without \-\-dry\-run). -+.TP - \fB\-R\fP or \fB\*=reverse\fP - Assume that this patch was created with the old and new files swapped. - (Yes, I'm afraid that does happen occasionally, human nature being what it -Index: patch-2.5.9/patch.c -=================================================================== ---- patch-2.5.9.orig/patch.c -+++ patch-2.5.9/patch.c -@@ -67,6 +67,7 @@ static bool similar (char const *, size_ - static bool spew_output (struct outstate *); - static char const *make_temp (char); - static int numeric_string (char const *, bool, char const *); -+static void reject_header (const char *filename); - static void abort_hunk (void); - static void cleanup (void); - static void get_some_switches (void); -@@ -98,6 +99,7 @@ static int Argc; - static char * const *Argv; - - static FILE *rejfp; /* reject file pointer */ -+static char *global_reject; - - static char const *patchname; - static char *rejname; -@@ -172,6 +174,10 @@ main (int argc, char **argv) - /* Make sure we clean up in case of disaster. */ - set_signals (false); - -+ /* initialize global reject file */ -+ if (global_reject) -+ init_reject (); -+ - for ( - open_patch_file (patchname); - there_is_another_patch(); -@@ -208,8 +214,9 @@ main (int argc, char **argv) - init_output (TMPOUTNAME, exclusive, &outstate); - } - -- /* initialize reject file */ -- init_reject (); -+ /* initialize per-patch reject file */ -+ if (!global_reject) -+ init_reject (); - - /* find out where all the lines are */ - if (!skip_rest_of_patch) -@@ -278,6 +285,8 @@ main (int argc, char **argv) - - newwhere = pch_newfirst() + last_offset; - if (skip_rest_of_patch) { -+ if (!failed) -+ reject_header(outname); - abort_hunk(); - failed++; - if (verbosity == VERBOSE) -@@ -292,6 +301,8 @@ main (int argc, char **argv) - say ("Patch attempted to create file %s, which already exists.\n", - quotearg (inname)); - -+ if (!failed) -+ reject_header(outname); - abort_hunk(); - failed++; - if (verbosity != SILENT) -@@ -299,6 +310,8 @@ main (int argc, char **argv) - format_linenum (numbuf, newwhere)); - } - else if (! apply_hunk (&outstate, where)) { -+ if (!failed) -+ reject_header(outname); - abort_hunk (); - failed++; - if (verbosity != SILENT) -@@ -332,7 +345,8 @@ main (int argc, char **argv) - fclose (outstate.ofp); - outstate.ofp = 0; - } -- fclose (rejfp); -+ if (!global_reject) -+ fclose (rejfp); - continue; - } - -@@ -412,13 +426,13 @@ main (int argc, char **argv) - } - } - if (diff_type != ED_DIFF) { -- if (fclose (rejfp) != 0) -+ if (!global_reject && fclose (rejfp) != 0) - write_fatal (); - if (failed) { - somefailed = true; - say ("%d out of %d hunk%s %s", failed, hunk, "s" + (hunk == 1), - skip_rest_of_patch ? "ignored" : "FAILED"); -- if (outname) { -+ if (!global_reject && outname) { - char *rej = rejname; - if (!rejname) { - rej = xmalloc (strlen (outname) + 5); -@@ -445,6 +459,20 @@ main (int argc, char **argv) - } - set_signals (true); - } -+ if (global_reject) -+ { -+ if (fclose (rejfp) != 0) -+ write_fatal (); -+ if (somefailed) -+ { -+ say (" -- saving rejects to file %s\n", quotearg (global_reject)); -+ /*if (! dry_run) -+ {*/ -+ move_file (TMPREJNAME, &TMPREJNAME_needs_removal, -+ global_reject, 0644, false); -+ /*}*/ -+ } -+ } - if (outstate.ofp && (ferror (outstate.ofp) || fclose (outstate.ofp) != 0)) - write_fatal (); - cleanup (); -@@ -523,6 +551,7 @@ static struct option const longopts[] = - {"posix", no_argument, NULL, CHAR_MAX + 7}, - {"quoting-style", required_argument, NULL, CHAR_MAX + 8}, - {"unified-reject-files", no_argument, NULL, CHAR_MAX + 9}, -+ {"global-reject-file", required_argument, NULL, CHAR_MAX + 10}, - {NULL, no_argument, NULL, 0} - }; - -@@ -582,6 +611,7 @@ static char const *const option_help[] = - " --dry-run Do not actually change any files; just print what would happen.", - " --posix Conform to the POSIX standard.", - " --unified-reject-files Create unified reject files.", -+" --global-reject-file=file Put all rejects into one file.", - "", - " -d DIR --directory=DIR Change the working directory to DIR first.", - #if HAVE_SETMODE_DOS -@@ -784,6 +814,9 @@ get_some_switches (void) - case CHAR_MAX + 9: - unified_reject_files = true; - break; -+ case CHAR_MAX + 10: -+ global_reject = savestr (optarg); -+ break; - default: - usage (stderr, 2); - } -@@ -933,6 +966,37 @@ locate_hunk (LINENUM fuzz) - } - - static char * -+format_timestamp (char timebuf[37], bool which) -+{ -+ time_t ts = pch_timestamp(which); -+ if (ts != -1) -+ { -+ struct tm *tm = localtime(&ts); -+ strftime(timebuf, 37, "\t%Y-%m-%d %H:%M:%S.000000000 %z", tm); -+ } -+ else -+ timebuf[0] = 0; -+ return timebuf; -+} -+ -+/* Write a header in a reject file that combines multiple hunks. */ -+static void -+reject_header (const char *outname) -+{ -+ char timebuf0[37], timebuf1[37]; -+ if (!global_reject) -+ return; -+ if (diff_type == UNI_DIFF) -+ fprintf(rejfp, "--- %s.orig%s\n+++ %s%s\n", -+ outname, format_timestamp(timebuf0, reverse), -+ outname, format_timestamp(timebuf1, !reverse)); -+ else -+ fprintf(rejfp, "*** %s.orig%s\n--- %s%s\n", -+ outname, format_timestamp(timebuf0, reverse), -+ outname, format_timestamp(timebuf1, !reverse)); -+} -+ -+static char * - format_linerange (char rangebuf[LINENUM_LENGTH_BOUND*2 + 2], - LINENUM first, LINENUM lines) - { diff --git a/meta/recipes-devtools/patch/patch/install.patch b/meta/recipes-devtools/patch/patch/install.patch deleted file mode 100644 index 0354ec8f04..0000000000 --- a/meta/recipes-devtools/patch/patch/install.patch +++ /dev/null @@ -1,43 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Index: patch-2.5.4/Makefile.in -=================================================================== ---- patch-2.5.4.orig/Makefile.in 2005-03-09 07:23:54.779311824 -0500 -+++ patch-2.5.4/Makefile.in 2005-03-09 07:26:09.616813408 -0500 -@@ -43,10 +43,11 @@ - PACKAGE_NAME = @PACKAGE_NAME@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - -+DESTDIR = - prefix = @prefix@ - exec_prefix = @exec_prefix@ - --bindir = $(exec_prefix)/bin -+bindir = @bindir@ - - # Where to put the manual pages. - mandir = @mandir@ -@@ -112,18 +113,18 @@ - $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) - - install:: all installdirs -- $(INSTALL_PROGRAM) patch$(EXEEXT) $(bindir)/$(patch_name)$(EXEEXT) -- -$(INSTALL_DATA) $(srcdir)/patch.man $(man1dir)/$(patch_name)$(man1ext) -+ $(INSTALL_PROGRAM) patch$(EXEEXT) $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) -+ -$(INSTALL_DATA) $(srcdir)/patch.man $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) - - installdirs:: -- $(SHELL) $(srcdir)/mkinstalldirs $(bindir) $(man1dir) -+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) - - install-strip:: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install - - uninstall:: -- rm -f $(bindir)/$(patch_name)$(EXEEXT) -- rm -f $(man1dir)/$(patch_name)$(man1ext) -+ rm -f $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) -+ rm -f $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) - - Makefile: Makefile.in $(CONFIG_STATUS) - $(SHELL) $(CONFIG_STATUS) diff --git a/meta/recipes-devtools/patch/patch/unified-reject-files.diff b/meta/recipes-devtools/patch/patch/unified-reject-files.diff deleted file mode 100644 index 4b59212dba..0000000000 --- a/meta/recipes-devtools/patch/patch/unified-reject-files.diff +++ /dev/null @@ -1,307 +0,0 @@ -Upstream-Status: Inappropriate [debian patch] - -Generate unified diff style reject files. Also include the C function names -in reject files whenever possible. - - $ cat > f.orig - < a() { - < 2 - < 3 - < - < 5 - < 6 - < } - - $ sed -e 's/5/5a/' f.orig > f - $ diff -U2 -p f.orig f > f.diff - $ sed -e 's/5/5a/' -e 's/6/6x/' f.orig > f - $ ./patch -F0 -s --no-backup-if-mismatch f --reject-unified < f.diff - > 1 out of 1 hunk FAILED -- saving rejects to file f.rej - - $ cat f.rej - > @@ -3,5 +3,5 @@ a() { - > 3 - > - > -5 - > +5a - > 6 - > } - - $ ./patch -F0 -s --no-backup-if-mismatch f < f.diff - > 1 out of 1 hunk FAILED -- saving rejects to file f.rej - - $ cat f.rej - > *************** a() { - > *** 3,7 **** - > 3 - > - > - 5 - > 6 - > } - > --- 3,7 ---- - > 3 - > - > + 5a - > 6 - > } - - $ diff -Nu -p /dev/null f.orig > f2.diff - $ ./patch -F0 -s --no-backup-if-mismatch f --reject-unified < f2.diff - > Patch attempted to create file f, which already exists. - > 1 out of 1 hunk FAILED -- saving rejects to file f.rej - - $ cat f.rej - > @@ -0,0 +1,7 @@ - > +a() { - > +2 - > +3 - > + - > +5 - > +6 - > +} - - $ rm -f f f.orig f.rej f.diff f2.diff - -Index: patch-2.5.9/pch.c -=================================================================== ---- patch-2.5.9.orig/pch.c -+++ patch-2.5.9/pch.c -@@ -68,6 +68,7 @@ static LINENUM p_sline; /* and the lin - static LINENUM p_hunk_beg; /* line number of current hunk */ - static LINENUM p_efake = -1; /* end of faked up lines--don't free */ - static LINENUM p_bfake = -1; /* beg of faked up lines */ -+static char *p_c_function; /* the C function a hunk is in */ - - enum nametype { OLD, NEW, INDEX, NONE }; - -@@ -888,6 +889,19 @@ another_hunk (enum diff difftype, bool r - next_intuit_at(line_beginning,p_input_line); - return chars_read == (size_t) -1 ? -1 : 0; - } -+ s = buf; -+ while (*s == '*') -+ s++; -+ if (*s == ' ') -+ { -+ p_c_function = s; -+ while (*s != '\n') -+ s++; -+ *s = '\0'; -+ p_c_function = savestr (p_c_function); -+ } -+ else -+ p_c_function = NULL; - p_hunk_beg = p_input_line + 1; - while (p_end < p_max) { - chars_read = get_line (); -@@ -1277,8 +1291,18 @@ another_hunk (enum diff difftype, bool r - else - p_repl_lines = 1; - if (*s == ' ') s++; -- if (*s != '@') -+ if (*s++ != '@') - malformed (); -+ if (*s++ == '@' && *s == ' ' && *s != '\0') -+ { -+ p_c_function = s; -+ while (*s != '\n') -+ s++; -+ *s = '\0'; -+ p_c_function = savestr (p_c_function); -+ } -+ else -+ p_c_function = NULL; - if (!p_ptrn_lines) - p_first++; /* do append rather than insert */ - if (!p_repl_lines) -@@ -1884,6 +1908,12 @@ pch_hunk_beg (void) - return p_hunk_beg; - } - -+char const * -+pch_c_function (void) -+{ -+ return p_c_function; -+} -+ - /* Is the newline-terminated line a valid `ed' command for patch - input? If so, return the command character; if not, return 0. - This accepts accepts just a subset of the valid commands, but it's -Index: patch-2.5.9/pch.h -=================================================================== ---- patch-2.5.9.orig/pch.h -+++ patch-2.5.9/pch.h -@@ -25,6 +25,7 @@ - LINENUM pch_end (void); - LINENUM pch_first (void); - LINENUM pch_hunk_beg (void); -+char const *pch_c_function (void); - LINENUM pch_newfirst (void); - LINENUM pch_prefix_context (void); - LINENUM pch_ptrn_lines (void); -Index: patch-2.5.9/patch.man -=================================================================== ---- patch-2.5.9.orig/patch.man -+++ patch-2.5.9/patch.man -@@ -517,6 +517,9 @@ instead of the default - .B \&.rej - file. - .TP -+\fB\*=reject\-unified\fP -+Produce unified reject files. The default is to produce context type reject files. -+.TP - \fB\-R\fP or \fB\*=reverse\fP - Assume that this patch was created with the old and new files swapped. - (Yes, I'm afraid that does happen occasionally, human nature being what it -Index: patch-2.5.9/common.h -=================================================================== ---- patch-2.5.9.orig/common.h -+++ patch-2.5.9/common.h -@@ -146,6 +146,7 @@ XTERN int invc; - XTERN struct stat instat; - XTERN bool dry_run; - XTERN bool posixly_correct; -+XTERN bool unified_reject_files; - - XTERN char const *origprae; - XTERN char const *origbase; -Index: patch-2.5.9/patch.c -=================================================================== ---- patch-2.5.9.orig/patch.c -+++ patch-2.5.9/patch.c -@@ -522,6 +522,7 @@ static struct option const longopts[] = - {"no-backup-if-mismatch", no_argument, NULL, CHAR_MAX + 6}, - {"posix", no_argument, NULL, CHAR_MAX + 7}, - {"quoting-style", required_argument, NULL, CHAR_MAX + 8}, -+ {"unified-reject-files", no_argument, NULL, CHAR_MAX + 9}, - {NULL, no_argument, NULL, 0} - }; - -@@ -580,6 +581,7 @@ static char const *const option_help[] = - " --verbose Output extra information about the work being done.", - " --dry-run Do not actually change any files; just print what would happen.", - " --posix Conform to the POSIX standard.", -+" --unified-reject-files Create unified reject files.", - "", - " -d DIR --directory=DIR Change the working directory to DIR first.", - #if HAVE_SETMODE_DOS -@@ -779,6 +781,9 @@ get_some_switches (void) - (enum quoting_style) i); - } - break; -+ case CHAR_MAX + 9: -+ unified_reject_files = true; -+ break; - default: - usage (stderr, 2); - } -@@ -927,6 +932,24 @@ locate_hunk (LINENUM fuzz) - return 0; - } - -+static char * -+format_linerange (char rangebuf[LINENUM_LENGTH_BOUND*2 + 2], -+ LINENUM first, LINENUM lines) -+{ -+ if (lines == 1) -+ rangebuf = format_linenum (rangebuf, first); -+ else -+ { -+ char *rb; -+ rangebuf = format_linenum (rangebuf + LINENUM_LENGTH_BOUND + 1, lines); -+ rb = rangebuf-1; -+ rangebuf = format_linenum (rangebuf - LINENUM_LENGTH_BOUND - 1, -+ (lines > 0) ? first : 0); -+ *rb = ','; -+ } -+ return rangebuf; -+} -+ - /* We did not find the pattern, dump out the hunk so they can handle it. */ - - static void -@@ -943,8 +966,83 @@ abort_hunk (void) - (int) NEW_CONTEXT_DIFF <= (int) diff_type ? " ****" : ""; - char const *minuses = - (int) NEW_CONTEXT_DIFF <= (int) diff_type ? " ----" : " -----"; -+ char const *function = pch_c_function(); -+ if (function == NULL) -+ function = ""; -+ -+ if (unified_reject_files) -+ { -+ /* produce unified reject files */ -+ char rangebuf0[LINENUM_LENGTH_BOUND*2 + 2]; -+ char rangebuf1[LINENUM_LENGTH_BOUND*2 + 2]; -+ LINENUM j; -+ -+ /* Find the beginning of the remove and insert section. */ -+ for (j = 0; j <= pat_end; j++) -+ if (pch_char (j) == '=') -+ break; -+ for (i = j+1; i <= pat_end; i++) -+ if (pch_char (i) == '^') -+ break; -+ if (pch_char (0) != '*' || j > pat_end || i > pat_end+1) -+ fatal ("internal error in abort_hunk"); -+ i = 1; j++; -+ -+ /* @@ -from,lines +to,lines @@ */ -+ fprintf (rejfp, "@@ -%s +%s @@%s\n", -+ format_linerange (rangebuf0, oldfirst, pch_ptrn_lines()), -+ format_linerange (rangebuf1, newfirst, pch_repl_lines()), -+ function); -+ -+ while ( (i <= pat_end && pch_char (i) != '=') -+ || (j <= pat_end && pch_char (j) != '^')) -+ { -+ if (i <= pat_end -+ && (pch_char (i) == '-' || pch_char (i) == '!')) -+ { -+ fputc('-', rejfp); -+ pch_write_line (i++, rejfp); -+ } -+ else if (j <= pat_end -+ && (pch_char (j) == '+' || pch_char (j) == '!')) -+ { -+ fputc('+', rejfp); -+ pch_write_line (j++, rejfp); -+ } -+ else if ((i <= pat_end -+ && (pch_char (i) == ' ' || pch_char (i) == '\n')) && -+ (j > pat_end -+ || (pch_char (j) == ' ' || pch_char (j) == '\n'))) -+ { -+ /* Unless j is already past the end, lines i and j -+ must be equal here. */ -+ -+ if (pch_char (i) == ' ') -+ fputc(' ', rejfp); -+ pch_write_line (i++, rejfp); -+ if (j <= pat_end) -+ j++; -+ } -+ else if ((j <= pat_end && -+ (pch_char (j) == ' ' || pch_char (j) == '\n')) && -+ (pch_char (i) == '=')) -+ { -+ if (pch_char (j) == ' ') -+ fputc(' ', rejfp); -+ pch_write_line (j++, rejfp); -+ } -+ else -+ fatal ("internal error in abort_hunk"); -+ } -+ -+ if (ferror (rejfp)) -+ write_fatal (); -+ return; -+ } - -- fprintf(rejfp, "***************\n"); -+ /* produce context type reject files */ -+ -+ fprintf(rejfp, "***************%s\n", function); - for (i=0; i<=pat_end; i++) { - char numbuf0[LINENUM_LENGTH_BOUND + 1]; - char numbuf1[LINENUM_LENGTH_BOUND + 1]; diff --git a/meta/recipes-devtools/patch/patch_2.5.9.bb b/meta/recipes-devtools/patch/patch_2.5.9.bb deleted file mode 100644 index c29b240756..0000000000 --- a/meta/recipes-devtools/patch/patch_2.5.9.bb +++ /dev/null @@ -1,12 +0,0 @@ -require patch.inc -LICENSE = "GPLv2" - -SRC_URI += " file://debian.patch \ - file://install.patch \ - file://unified-reject-files.diff \ - file://global-reject-file.diff " -PR = "r3" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SRC_URI[md5sum] = "dacfb618082f8d3a2194601193cf8716" -SRC_URI[sha256sum] = "ecb5c6469d732bcf01d6ec1afe9e64f1668caba5bfdb103c28d7f537ba3cdb8a" diff --git a/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch b/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch deleted file mode 100644 index bea325ea05..0000000000 --- a/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch +++ /dev/null @@ -1,71 +0,0 @@ -Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ] -CVE: CVE-2007-4091 - -The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to -address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091 - -Date: Tue May 10 10:07:36 2011 +0800 -Dexuan Cui <dexuan.cui@intel.com> - -diff --git a/sender.c b/sender.c -index 6fcaa65..053a8f1 100644 ---- a/sender.c -+++ b/sender.c -@@ -123,6 +123,7 @@ void successful_send(int ndx) - char fname[MAXPATHLEN]; - struct file_struct *file; - unsigned int offset; -+ size_t l = 0; - - if (ndx < 0 || ndx >= the_file_list->count) - return; -@@ -133,6 +134,20 @@ void successful_send(int ndx) - file->dir.root, "/", NULL); - } else - offset = 0; -+ -+ l = offset + 1; -+ if (file) { -+ if (file->dirname) -+ l += strlen(file->dirname); -+ if (file->basename) -+ l += strlen(file->basename); -+ } -+ -+ if (l >= sizeof(fname)) { -+ rprintf(FERROR, "Overlong pathname\n"); -+ exit_cleanup(RERR_FILESELECT); -+ } -+ - f_name(file, fname + offset); - if (remove_source_files) { - if (do_unlink(fname) == 0) { -@@ -224,6 +239,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) - enum logcode log_code = log_before_transfer ? FLOG : FINFO; - int f_xfer = write_batch < 0 ? batch_fd : f_out; - int i, j; -+ size_t l = 0; - - if (verbose > 2) - rprintf(FINFO, "send_files starting\n"); -@@ -259,6 +275,20 @@ void send_files(struct file_list *flist, int f_out, int f_in) - fname[offset++] = '/'; - } else - offset = 0; -+ -+ l = offset + 1; -+ if (file) { -+ if (file->dirname) -+ l += strlen(file->dirname); -+ if (file->basename) -+ l += strlen(file->basename); -+ } -+ -+ if (l >= sizeof(fname)) { -+ rprintf(FERROR, "Overlong pathname\n"); -+ exit_cleanup(RERR_FILESELECT); -+ } -+ - fname2 = f_name(file, fname + offset); - - if (verbose > 2) diff --git a/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf b/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf deleted file mode 100644 index 845f5b33f5..0000000000 --- a/meta/recipes-devtools/rsync/rsync-2.6.9/rsyncd.conf +++ /dev/null @@ -1,15 +0,0 @@ -# /etc/rsyncd.conf - -# Minimal configuration file for rsync daemon -# See rsync(1) and rsyncd.conf(5) man pages for help - -# This file is required by rsync --daemon -pid file = /var/run/rsyncd.pid -use chroot = yes -read only = yes - -# Simple example for enabling your own local rsync server -#[everything] -# path = / -# comment = Everything except /etc exposed -# exclude = /etc diff --git a/meta/recipes-devtools/rsync/rsync_2.6.9.bb b/meta/recipes-devtools/rsync/rsync_2.6.9.bb deleted file mode 100644 index 17f1d31945..0000000000 --- a/meta/recipes-devtools/rsync/rsync_2.6.9.bb +++ /dev/null @@ -1,15 +0,0 @@ -require rsync.inc - -SRC_URI += "file://rsync-2.6.9-fname-obo.patch \ - file://rsyncd.conf \ -" - -SRC_URI[md5sum] = "996d8d8831dbca17910094e56dcb5942" -SRC_URI[sha256sum] = "ca437301becd890e73300bc69a39189ff1564baa761948ff149b3dd7bde633f9" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c" - -PR = "r4" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" diff --git a/meta/recipes-extended/bash/bash-3.2.57/build-tests.patch b/meta/recipes-extended/bash/bash-3.2.57/build-tests.patch deleted file mode 100644 index e63457cf2b..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/build-tests.patch +++ /dev/null @@ -1,44 +0,0 @@ -Add 'ptest' target to Makefile, to run tests without checking dependencies. - -Signed-off-by: Anders Roxell <anders.roxell@enea.com> -Upstream-Status: Pending ---- -diff -dNaur bash-3.2.48/Makefile.in.orig bash-3.2.48/Makefile.in ---- bash-3.2.48/Makefile.in.orig 2006-08-17 23:03:35.000000000 +0500 -+++ bash-3.2.48/Makefile.in 2013-07-02 20:20:07.512709327 +0500 -@@ -803,17 +803,31 @@ - fi - - recho$(EXEEXT): $(SUPPORT_SRC)recho.c -- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD} -+ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< - - zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c -- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD} -+ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< - - printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c -- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD} -+ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< - --test tests check: force $(Program) $(TESTS_SUPPORT) -+test tests check: -+ @$(MAKE) install-test -+ @$(MAKE) runtest -+ -+install-test: buildtest -+ifeq ($(origin INSTALL_TEST_DIR), undefined) - @-test -d tests || mkdir tests - @cp $(TESTS_SUPPORT) tests -+else -+ @-test -d $(INSTALL_TEST_DIR) || mkdir -p $(INSTALL_TEST_DIR) -+ @cp -r $(srcdir)/tests/* $(INSTALL_TEST_DIR)/ -+ @cp $(TESTS_SUPPORT) $(INSTALL_TEST_DIR) -+endif -+ -+buildtest: force $(Program) $(TESTS_SUPPORT) -+ -+runtest: - @( cd $(srcdir)/tests && \ - PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} ) - diff --git a/meta/recipes-extended/bash/bash-3.2.57/dont-include-target-CFLAGS-in-host-LDFLAGS.patch b/meta/recipes-extended/bash/bash-3.2.57/dont-include-target-CFLAGS-in-host-LDFLAGS.patch deleted file mode 100644 index ee756dc9e3..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/dont-include-target-CFLAGS-in-host-LDFLAGS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 933bd886af49667e88e2385409449ab598813dab Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Wed, 15 Jul 2015 00:54:33 -0700 -Subject: [PATCH] dont include target CFLAGS in host LDFLAGS - -Building the host tool 'mkbuiltins' will fail if the target CFLAGS -contains an option which isn't supported by the host's gcc. To prevent -the issue, define LDFLAGS_FOR_BUILD based on CFLAGS_FOR_BUILD instead -of CFLAGS. - -Upstream-Status: Inappropriate [required for bash 3.2.57 (GPLv2) recipe only] - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> ---- - builtins/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/builtins/Makefile.in b/builtins/Makefile.in -index e027f7a..ebfddf3 100644 ---- a/builtins/Makefile.in -+++ b/builtins/Makefile.in -@@ -63,7 +63,7 @@ LOCAL_DEFS = @LOCAL_DEFS@ - - LIBS = @LIBS@ - LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) --LDFLAGS_FOR_BUILD = $(LDFLAGS) -+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) - LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ - #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ - LIBS_FOR_BUILD = $(LIBS) --- -1.9.1 - diff --git a/meta/recipes-extended/bash/bash-3.2.57/mkbuiltins_have_stringize.patch b/meta/recipes-extended/bash/bash-3.2.57/mkbuiltins_have_stringize.patch deleted file mode 100644 index c4229a7ed9..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/mkbuiltins_have_stringize.patch +++ /dev/null @@ -1,29 +0,0 @@ -On hosts with FORTIFY_SOURCES, stringize support is required, as it's used by -the macros to wrap functions (e.g. read and open in unistd.h). Those wrappers -use the STRING() macro from unistd.h. A header in the bash sources overrides -the unistd.h macro to 'x' when HAVE_STRINGIZE is not defined, causing the -wrappers to generate calls to 'xread' and 'xopen', which do not exist, -resulting in a failure to link. - -Assume we have stringize support when cross-compiling, which works around the -issue. - -It may be best for upstream to either give up on supporting compilers without -stringize support, or to not define STRING() at all when FORTIFY_SOURCES is -defined, letting the unistd.h one be used, instead. - -Upstream-Status: Pending - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> -Signed-off-by: Saul Wold <sgw@linux.intel.com> - ---- bash-4.2.orig/builtins/mkbuiltins.c -+++ bash-4.2/builtins/mkbuiltins.c -@@ -28,6 +28,7 @@ - # define HAVE_STDLIB_H - - # define HAVE_RENAME -+# define HAVE_STRINGIZE - #endif /* CROSS_COMPILING */ - - #if defined (HAVE_UNISTD_H) diff --git a/meta/recipes-extended/bash/bash-3.2.57/run-ptest b/meta/recipes-extended/bash/bash-3.2.57/run-ptest deleted file mode 100644 index 8dd3b9981d..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/run-ptest +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -make -k THIS_SH=/bin/bash BUILD_DIR=. runtest diff --git a/meta/recipes-extended/bash/bash-3.2.57/string-format.patch b/meta/recipes-extended/bash/bash-3.2.57/string-format.patch deleted file mode 100644 index eda39649d9..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/string-format.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix a string format warning when using security flags: - -| ../bash-3.2.48/print_cmd.c:1152:3: error: format not a string literal and no format arguments [-Werror=format-security] -| cprintf (indentation_string); - -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/print_cmd.c b/print_cmd.c -index d1dfd1a..956db53 100644 ---- a/print_cmd.c -+++ b/print_cmd.c -@@ -1149,7 +1149,7 @@ indent (amount) - for (i = 0; amount > 0; amount--) - indentation_string[i++] = ' '; - indentation_string[i] = '\0'; -- cprintf (indentation_string); -+ cprintf ("%s", indentation_string); - } - - static void diff --git a/meta/recipes-extended/bash/bash-3.2.57/test-output.patch b/meta/recipes-extended/bash/bash-3.2.57/test-output.patch deleted file mode 100644 index 2b09b7d977..0000000000 --- a/meta/recipes-extended/bash/bash-3.2.57/test-output.patch +++ /dev/null @@ -1,25 +0,0 @@ -Add FAIL/PASS output to test output. - -Signed-off-by: Björn Stenberg <bjst@enea.com> -Upstream-Status: Pending ---- -diff -uNr a/tests/run-all b/tests/run-all ---- a/tests/run-all 1999-10-08 17:07:46.000000000 +0200 -+++ b/tests/run-all 2012-10-27 21:04:18.663331887 +0200 -@@ -22,7 +22,15 @@ - case $x in - $0|run-minimal|run-gprof) ;; - *.orig|*~) ;; -- *) echo $x ; sh $x ;; -+ *) echo $x -+ output=`sh $x` -+ if [ -n "$output" ]; then -+ echo "$output" -+ echo "FAIL: $x" -+ else -+ echo "PASS: $x" -+ fi -+ ;; - esac - done - diff --git a/meta/recipes-extended/bash/bash_3.2.57.bb b/meta/recipes-extended/bash/bash_3.2.57.bb deleted file mode 100644 index 5c288b35a2..0000000000 --- a/meta/recipes-extended/bash/bash_3.2.57.bb +++ /dev/null @@ -1,18 +0,0 @@ -require bash.inc - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://mkbuiltins_have_stringize.patch \ - file://build-tests.patch \ - file://test-output.patch \ - file://run-ptest \ - file://dont-include-target-CFLAGS-in-host-LDFLAGS.patch \ - file://string-format.patch \ - " - -SRC_URI[md5sum] = "237a8767c990b43ae2c89895c2dbc062" -SRC_URI[sha256sum] = "3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4" - -PARALLEL_MAKE = "" diff --git a/meta/recipes-extended/cpio/cpio-2.8/avoid_heap_overflow.patch b/meta/recipes-extended/cpio/cpio-2.8/avoid_heap_overflow.patch deleted file mode 100644 index a31573510a..0000000000 --- a/meta/recipes-extended/cpio/cpio-2.8/avoid_heap_overflow.patch +++ /dev/null @@ -1,26 +0,0 @@ -Upstream-Status: Inappropriate [bugfix: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624] -CVE: CVE-2010-0624 - -This patch avoids heap overflow reported by : -http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624 - -This is a clean patch for the GPLv2 tar recipe. - -the GPLv2 tar recipe patch is also applicable to this GPLv2 cpio -recipe, as they share code. - -Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/25 - -Index: tar-1.17/lib/rtapelib.c -=================================================================== ---- tar-1.17.orig/lib/rtapelib.c -+++ tar-1.17/lib/rtapelib.c -@@ -570,7 +570,7 @@ rmt_read__ (int handle, char *buffer, si - - sprintf (command_buffer, "R%lu\n", (unsigned long) length); - if (do_command (handle, command_buffer) == -1 -- || (status = get_status (handle)) == SAFE_READ_ERROR) -+ || ((status = get_status (handle)) == SAFE_READ_ERROR) || (status > length)) - return SAFE_READ_ERROR; - - for (counter = 0; counter < status; counter += rlen, buffer += rlen) diff --git a/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch b/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch deleted file mode 100644 index 0148e70797..0000000000 --- a/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch +++ /dev/null @@ -1,217 +0,0 @@ -cpio: Fix memory overrun on reading improperly created link records - -Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> - -http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d - - * src/copyin.c (get_link_name): New function. - (list_file, copyin_link): use get_link_name - - * tests/symlink-bad-length.at: New file. - * tests/symlink-long.at: New file. - * tests/Makefile.am: Add new files. - * tests/testsuite.at: Likewise. - - See http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html - -Upstream-Status: Backport - -Signed-off-by: Sergey Poznyakoff <gray@gnu.org.ua> - -diff -Nurp cpio-2.8.orig/src/copyin.c cpio-2.8/src/copyin.c ---- cpio-2.8.orig/src/copyin.c 2007-06-07 19:58:03.000000000 +0800 -+++ cpio-2.8/src/copyin.c 2014-12-08 11:30:01.159791484 +0800 -@@ -126,6 +126,28 @@ tape_skip_padding (int in_file_des, int - } - - -+static char * -+get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) -+{ -+ off_t n = file_hdr->c_filesize + 1; -+ char *link_name; -+ -+ if (n == 0 || n > SIZE_MAX) -+ { -+ error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name); -+ link_name = NULL; -+ } -+ else -+ { -+ link_name = xmalloc (n); -+ tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); -+ link_name[file_hdr->c_filesize] = '\0'; -+ tape_skip_padding (in_file_des, file_hdr->c_filesize); -+ } -+ return link_name; -+} -+ -+ - static void - list_file(struct cpio_file_stat* file_hdr, int in_file_des) - { -@@ -136,21 +158,16 @@ list_file(struct cpio_file_stat* file_hd - { - if (archive_format != arf_tar && archive_format != arf_ustar) - { -- char *link_name = NULL; /* Name of hard and symbolic links. */ -- -- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); -- link_name[file_hdr->c_filesize] = '\0'; -- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); -- long_format (file_hdr, link_name); -- free (link_name); -- tape_skip_padding (in_file_des, file_hdr->c_filesize); -- return; -+ char *link_name = get_link_name (file_hdr, in_file_des); -+ if (link_name) -+ { -+ long_format (file_hdr, link_name); -+ free (link_name); -+ } - } - else -- { - long_format (file_hdr, file_hdr->c_tar_linkname); -- return; -- } -+ return; - } - else - #endif -@@ -732,10 +749,7 @@ copyin_link(struct cpio_file_stat *file_ - - if (archive_format != arf_tar && archive_format != arf_ustar) - { -- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); -- link_name[file_hdr->c_filesize] = '\0'; -- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); -- tape_skip_padding (in_file_des, file_hdr->c_filesize); -+ link_name = get_link_name (file_hdr, in_file_des); - } - else - { -diff -Nurp cpio-2.8.orig/tests/Makefile.am cpio-2.8/tests/Makefile.am ---- cpio-2.8.orig/tests/Makefile.am 2006-10-24 18:32:13.000000000 +0800 -+++ cpio-2.8/tests/Makefile.am 2014-12-08 11:30:52.387789482 +0800 -@@ -45,6 +45,8 @@ TESTSUITE_AT = \ - testsuite.at\ - inout.at\ - symlink.at\ -+ symlink-bad-length.at\ -+ symlink-long.at\ - version.at - - TESTSUITE = $(srcdir)/testsuite -diff -Nurp cpio-2.8.orig/tests/symlink-bad-length.at cpio-2.8/tests/symlink-bad-length.at ---- cpio-2.8.orig/tests/symlink-bad-length.at 1970-01-01 08:00:00.000000000 +0800 -+++ cpio-2.8/tests/symlink-bad-length.at 2014-12-08 11:33:25.283783507 +0800 -@@ -0,0 +1,49 @@ -+# Process this file with autom4te to create testsuite. -*- Autotest -*- -+# Copyright (C) 2014 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301 USA. -+ -+# Cpio v2.11 did segfault with badly set symlink length. -+# References: -+# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html -+ -+AT_SETUP([symlink-bad-length]) -+AT_KEYWORDS([symlink-long copyout]) -+ -+AT_DATA([ARCHIVE.base64], -+[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv -+JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF -+UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -+]) -+ -+AT_CHECK([ -+base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST -+cpio -ntv < ARCHIVE -+test $? -eq 2 -+], -+[0], -+[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE -+],[cpio: LINK: stored filename length too big -+cpio: premature end of file -+]) -+ -+AT_CLEANUP -diff -Nurp cpio-2.8.orig/tests/symlink-long.at cpio-2.8/tests/symlink-long.at ---- cpio-2.8.orig/tests/symlink-long.at 1970-01-01 08:00:00.000000000 +0800 -+++ cpio-2.8/tests/symlink-long.at 2014-12-08 11:34:28.807781024 +0800 -@@ -0,0 +1,46 @@ -+# Process this file with autom4te to create testsuite. -*- Autotest -*- -+# Copyright (C) 2014 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301 USA. -+ -+# Cpio v2.11.90 changed the way symlink name is read from archive. -+# References: -+# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html -+ -+AT_SETUP([symlink-long]) -+AT_KEYWORDS([symlink-long copyout]) -+ -+AT_CHECK([ -+ -+# len(dirname) > READBUFSIZE -+dirname= -+for i in {1..52}; do -+ dirname="xxxxxxxxx/$dirname" -+ mkdir "$dirname" -+done -+ln -s "$dirname" x || AT_SKIP_TEST -+ -+echo x | cpio -o > ar -+list=`cpio -tv < ar | sed 's|.*-> ||'` -+test "$list" = "$dirname" && echo success || echo fail -+], -+[0], -+[success -+],[2 blocks -+2 blocks -+]) -+ -+AT_CLEANUP -diff -Nurp cpio-2.8.orig/tests/testsuite.at cpio-2.8/tests/testsuite.at ---- cpio-2.8.orig/tests/testsuite.at 2006-10-24 18:32:13.000000000 +0800 -+++ cpio-2.8/tests/testsuite.at 2014-12-08 11:34:56.515779942 +0800 -@@ -31,3 +31,5 @@ m4_include([version.at]) - - m4_include([inout.at]) - m4_include([symlink.at]) -+m4_include([symlink-bad-length.at]) -+m4_include([symlink-long.at]) diff --git a/meta/recipes-extended/cpio/cpio-2.8/m4extensions.patch b/meta/recipes-extended/cpio/cpio-2.8/m4extensions.patch deleted file mode 100644 index e16585dd3f..0000000000 --- a/meta/recipes-extended/cpio/cpio-2.8/m4extensions.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -# Define AC_USE_SYSTEM_EXTENSIONS only if it was previously undefined. -# This is needed to configure correctly with newer versions of autoconf. - -diff -urN cpio-2.8.orig/m4/extensions.m4 cpio-2.8/m4/extensions.m4 ---- cpio-2.8.orig/m4/extensions.m4 2006-10-12 04:34:45.000000000 -0700 -+++ cpio-2.8/m4/extensions.m4 2010-07-23 14:37:36.000000000 -0700 -@@ -1,4 +1,4 @@ --# serial 4 -*- Autoconf -*- -+# serial 5 -*- Autoconf -*- - # Enable extensions on systems that normally disable them. - - # Copyright (C) 2003, 2006 Free Software Foundation, Inc. -@@ -16,6 +16,7 @@ - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. -+m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [], [ - AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], - [ - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -@@ -48,7 +49,7 @@ - AC_DEFINE([__EXTENSIONS__]) - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) - AC_DEFINE([_TANDEM_SOURCE]) --]) -+])]) - - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ diff --git a/meta/recipes-extended/cpio/cpio-2.8/statdef.patch b/meta/recipes-extended/cpio/cpio-2.8/statdef.patch deleted file mode 100644 index a00799fea9..0000000000 --- a/meta/recipes-extended/cpio/cpio-2.8/statdef.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -# Avoid multiple stat definitions -# Patch taken from cpio mailing list posting 2010-03-19 - -diff -urN cpio-2.11.orig/src/filetypes.h cpio-2.11/src/filetypes.h ---- cpio-2.11.orig/src/filetypes.h 2010-02-12 02:19:23.000000000 -0800 -+++ cpio-2.11/src/filetypes.h 2010-07-23 13:17:25.000000000 -0700 -@@ -82,4 +82,6 @@ - #define lstat stat - #endif - int lstat (); -+#ifndef stat - int stat (); -+#endif diff --git a/meta/recipes-extended/cpio/cpio_2.8.bb b/meta/recipes-extended/cpio/cpio_2.8.bb deleted file mode 100644 index 624906b134..0000000000 --- a/meta/recipes-extended/cpio/cpio_2.8.bb +++ /dev/null @@ -1,19 +0,0 @@ -require cpio_v2.inc - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b7f772ea3a2489231cb4872656cac34b" - -PR = "r4" - -SRC_URI += " \ - file://statdef.patch \ - file://m4extensions.patch \ - file://avoid_heap_overflow.patch \ - file://fix-memory-overrun.patch \ - " - -SRC_URI[md5sum] = "0caa356e69e149fb49b76bacc64615a1" -SRC_URI[sha256sum] = "1b203248874c3b5a728b351f06513e5282f73e0170b7f207fbf8c39f28f6b4ad" - -# Required to build with gcc 4.3 and later: -CFLAGS += "-fgnu89-inline" diff --git a/meta/recipes-extended/diffutils/diffutils-2.8.1/diffutils_fix_for_automake-1.12.patch b/meta/recipes-extended/diffutils/diffutils-2.8.1/diffutils_fix_for_automake-1.12.patch deleted file mode 100644 index f8638bbffe..0000000000 --- a/meta/recipes-extended/diffutils/diffutils-2.8.1/diffutils_fix_for_automake-1.12.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.ac:90: error: automatic de-ANSI-fication support has been removed -| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:12: AM_C_PROTOTYPES is expanded from... -| /srv/home/nitin/builds/build-gcc47/tmp/work/i586-poky-linux/diffutils-2.8.1-r4/diffutils-2.8.1/m4/prereq.m4:110: jm_PREREQ_QUOTEARG is expanded from... -| configure.ac:90: the top level -| autom4te: m4 failed with exit status: 1 - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: diffutils-2.8.1/m4/prereq.m4 -=================================================================== ---- diffutils-2.8.1.orig/m4/prereq.m4 -+++ diffutils-2.8.1/m4/prereq.m4 -@@ -115,7 +115,6 @@ AC_DEFUN([jm_PREREQ_QUOTEARG], - AC_HEADER_STDC - AC_C_BACKSLASH_A - AC_MBSTATE_T -- AM_C_PROTOTYPES - ]) - - AC_DEFUN([jm_PREREQ_REGEX], diff --git a/meta/recipes-extended/diffutils/diffutils-2.8.1/fix_gcc6.patch b/meta/recipes-extended/diffutils/diffutils-2.8.1/fix_gcc6.patch deleted file mode 100644 index f915287fe7..0000000000 --- a/meta/recipes-extended/diffutils/diffutils-2.8.1/fix_gcc6.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fixes to allow diffutils to build with gcc v6. - -RP -2016/5/25 - -Index: diffutils-2.8.1/lib/posix/regex.h -=================================================================== ---- diffutils-2.8.1.orig/lib/posix/regex.h -+++ diffutils-2.8.1/lib/posix/regex.h -@@ -529,7 +529,9 @@ extern int re_exec _RE_ARGS ((const char - /* For now unconditionally define __restrict_arr to expand to nothing. - Ideally we would have a test for the compiler which allows defining - it to restrict. */ -+#ifndef __restrict_arr - #define __restrict_arr -+#endif - - /* POSIX compatibility. */ - extern int regcomp _RE_ARGS ((regex_t *__restrict __preg, -Index: diffutils-2.8.1/src/diff.c -=================================================================== ---- diffutils-2.8.1.orig/src/diff.c -+++ diffutils-2.8.1/src/diff.c -@@ -71,6 +71,7 @@ static void usage (void); - static bool recursive; - - /* In context diffs, show previous lines that match these regexps. */ -+struct re_pattern_buffer function_regexp; - static struct regexp_list function_regexp_list; - - /* Ignore changes affecting only lines that match these regexps. */ diff --git a/meta/recipes-extended/diffutils/diffutils_2.8.1.bb b/meta/recipes-extended/diffutils/diffutils_2.8.1.bb deleted file mode 100644 index fe56f9ce5f..0000000000 --- a/meta/recipes-extended/diffutils/diffutils_2.8.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -require diffutils.inc - -PR = "r7.0" - -SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \ - file://diffutils_fix_for_automake-1.12.patch \ - file://fix_gcc6.patch" - -SRC_URI[md5sum] = "71f9c5ae19b60608f6c7f162da86a428" -SRC_URI[sha256sum] = "c5001748b069224dd98bf1bb9ee877321c7de8b332c8aad5af3e2a7372d23f5a" - -do_configure_prepend () { - chmod u+w ${S}/po/Makefile.in.in -} diff --git a/meta/recipes-extended/ed/ed_0.5.bb b/meta/recipes-extended/ed/ed_0.5.bb deleted file mode 100644 index e2df13f4bc..0000000000 --- a/meta/recipes-extended/ed/ed_0.5.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Line-oriented text editor" -HOMEPAGE = "http://www.gnu.org/software/ed/" -SECTION = "base" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=6ddd5335ef96fb858a138230af773710 \ - file://main.c;beginline=1;endline=17;md5=36d4b85e5ae9028e918d1cc775c2475e" - -PR = "r2" -SRC_URI = "${SAVANNAH_GNU_MIRROR}/ed/ed-${PV}.tar.bz2" - -SRC_URI[md5sum] = "4ee21e9dcc9b5b6012c23038734e1632" -SRC_URI[sha256sum] = "edef2bbde0fbf0d88232782a0eded323f483a0519d6fde9a3b1809056fd35f3e" - -inherit autotools texinfo - -EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" - -CONFIGUREOPTS_remove = "--disable-dependency-tracking" -CONFIGUREOPTS_remove = "--disable-silent-rules" -EXTRA_OECONF_remove = "--disable-static" diff --git a/meta/recipes-extended/findutils/findutils-4.2.31/findutils-fix-doc-build-error.patch b/meta/recipes-extended/findutils/findutils-4.2.31/findutils-fix-doc-build-error.patch deleted file mode 100644 index 2076e44097..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.2.31/findutils-fix-doc-build-error.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 33cba24cba7b0973a702e9627bd5b93962948ae4 Mon Sep 17 00:00:00 2001 -From: Jackie Huang <jackie.huang@windriver.com> -Date: Tue, 17 Sep 2013 16:11:16 +0800 -Subject: [PATCH] findutils: fix doc build error - -Upstream-Status: Backport - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - doc/find.texi | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/doc/find.texi b/doc/find.texi -index 5b5f0cf..b3d9c6b 100644 ---- a/doc/find.texi -+++ b/doc/find.texi -@@ -63,7 +63,7 @@ translation approved by the Foundation. - - @page - @vskip 0pt plus 1filll --@insertcopying{} -+@insertcopying - @end titlepage - - @contents -@@ -1466,6 +1466,7 @@ no output is ever sent to it. - * Escapes:: - * Format Directives:: - * Time Formats:: -+* Formatting Flags:: - @end menu - - @node Escapes -@@ -1534,7 +1535,6 @@ from the novel you are reading. - * Size Directives:: - * Location Directives:: - * Time Directives:: --* Formatting Flags:: - @end menu - - @node Name Directives -@@ -1780,7 +1780,7 @@ setting the TZ environment variable). This is a GNU extension. - @end table - - @node Formatting Flags --@subsubsection Formatting Flags -+@subsection Formatting Flags - - The @samp{%m} and @samp{%d} directives support the @samp{#}, @samp{0} - and @samp{+} flags, but the other directives do not, even if they --- -1.7.4.1 - diff --git a/meta/recipes-extended/findutils/findutils-4.2.31/findutils_fix_for_automake-1.12.patch b/meta/recipes-extended/findutils/findutils-4.2.31/findutils_fix_for_automake-1.12.patch deleted file mode 100644 index 1b7f8cfb99..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.2.31/findutils_fix_for_automake-1.12.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.in:75: error: automatic de-ANSI-fication support has been removed - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: findutils-4.2.31/configure.in -=================================================================== ---- findutils-4.2.31.orig/configure.in -+++ findutils-4.2.31/configure.in -@@ -72,7 +72,6 @@ dnl gl_EARLY calls AC_GNU_SOURCE anyway. - - - AC_ISC_POSIX --AM_C_PROTOTYPES - - AC_PROG_INSTALL - AC_PROG_RANLIB diff --git a/meta/recipes-extended/findutils/findutils-4.2.31/gnulib-extension.patch b/meta/recipes-extended/findutils/findutils-4.2.31/gnulib-extension.patch deleted file mode 100644 index 65bd64277c..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.2.31/gnulib-extension.patch +++ /dev/null @@ -1,56 +0,0 @@ -Upstream-Status: Inappropriate [legacy version] - -the old AC_USE_SYSTEM_EXTENSIONS won't work with AC_GNU_SOURCE - -against 4.2.31 -07/08/2010 - qhe - -diff --git a/gnulib/m4/extensions.m4 b/gnulib/m4/extensions.m4 -index 143a9e5..0f27ceb 100644 ---- a/gnulib/m4/extensions.m4 -+++ b/gnulib/m4/extensions.m4 -@@ -12,44 +12,6 @@ - # enough in this area it's likely we'll need to redefine - # AC_USE_SYSTEM_EXTENSIONS for quite some time. - --# AC_USE_SYSTEM_EXTENSIONS --# ------------------------ --# Enable extensions on systems that normally disable them, --# typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], --[ -- AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -- AC_BEFORE([$0], [AC_RUN_IFELSE]) -- -- AC_REQUIRE([AC_GNU_SOURCE]) -- AC_REQUIRE([AC_AIX]) -- AC_REQUIRE([AC_MINIX]) -- -- AH_VERBATIM([__EXTENSIONS__], --[/* Enable extensions on Solaris. */ --#ifndef __EXTENSIONS__ --# undef __EXTENSIONS__ --#endif --#ifndef _POSIX_PTHREAD_SEMANTICS --# undef _POSIX_PTHREAD_SEMANTICS --#endif --#ifndef _TANDEM_SOURCE --# undef _TANDEM_SOURCE --#endif]) -- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -- [ac_cv_safe_to_define___extensions__], -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([ --# define __EXTENSIONS__ 1 -- AC_INCLUDES_DEFAULT])], -- [ac_cv_safe_to_define___extensions__=yes], -- [ac_cv_safe_to_define___extensions__=no])]) -- test $ac_cv_safe_to_define___extensions__ = yes && -- AC_DEFINE([__EXTENSIONS__]) -- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -- AC_DEFINE([_TANDEM_SOURCE]) --]) -- - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ - # Enable extensions on systems that normally disable them, diff --git a/meta/recipes-extended/findutils/findutils_4.2.31.bb b/meta/recipes-extended/findutils/findutils_4.2.31.bb deleted file mode 100644 index 7dee018834..0000000000 --- a/meta/recipes-extended/findutils/findutils_4.2.31.bb +++ /dev/null @@ -1,14 +0,0 @@ -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -PR = "r4" - -require findutils.inc - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://gnulib-extension.patch \ - file://findutils_fix_for_automake-1.12.patch \ - file://findutils-fix-doc-build-error.patch \ - " - -SRC_URI[md5sum] = "a0e31a0f18a49709bf5a449867c8049a" -SRC_URI[sha256sum] = "e0d34b8faca0b3cca0703f6c6b498afbe72f0ba16c35980c10ec9ef7724d6204" diff --git a/meta/recipes-extended/gawk/gawk-3.1.5/0001-gawk-fix-non-glibc-gcc-4-compilation.patch b/meta/recipes-extended/gawk/gawk-3.1.5/0001-gawk-fix-non-glibc-gcc-4-compilation.patch deleted file mode 100644 index bc9201b631..0000000000 --- a/meta/recipes-extended/gawk/gawk-3.1.5/0001-gawk-fix-non-glibc-gcc-4-compilation.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 53496e2e306b16ac59801553f775bcca164e6a39 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> -Date: Wed, 14 Sep 2016 16:20:37 +0100 -Subject: [PATCH] fix gcc >= 4 compilation - -| ../gawk-3.1.5/hard-locale.h: In function 'hard_locale': -| ../gawk-3.1.5/hard-locale.h:43:20: error: invalid storage class for function 'xmalloc' -| static ptr_t xmalloc PARAMS ((size_t n)); -| ^~~~~~~ - -| ../gawk-3.1.5/hard-locale.h:45:22: warning: implicit declaration of function 'xmalloc' [-Wimplicit-function-declaration] -| char *locale = xmalloc (strlen (p) + 1); -| ^~~~~~~ -| ../gawk-3.1.5/hard-locale.h:45:22: warning: initialization makes pointer from integer without a cast [-Wint-conversion] -| ../gawk-3.1.5/dfa.c: At top level: -| ../gawk-3.1.5/dfa.c:125:14: error: conflicting types for 'xmalloc' -| static ptr_t xmalloc PARAMS ((size_t n)); -| ^~~~~~~ -| In file included from ../gawk-3.1.5/dfa.c:112:0: -| ../gawk-3.1.5/hard-locale.h:45:22: note: previous implicit declaration of 'xmalloc' was here -| char *locale = xmalloc (strlen (p) + 1); -| ^~~~~~~ - -Upstream-Status: Inappropriate [required for gawk 3.1.5 (GPLv2) recipe only] - -Signed-off-by: André Draszik <git@andred.net> ---- - dfa.c | 2 +- - hard-locale.h | 2 -- - 2 files changed, 1 insertion(+), 3 deletions(-) - -diff --git a/dfa.c b/dfa.c -index 71e3736..97f6045 100644 ---- a/dfa.c -+++ b/dfa.c -@@ -109,6 +109,7 @@ extern void free(); - - #include "regex.h" - #include "dfa.h" -+static ptr_t xmalloc PARAMS ((size_t n)); - #include "hard-locale.h" - - /* HPUX, define those as macros in sys/param.h */ -@@ -122,7 +123,6 @@ extern void free(); - static void dfamust PARAMS ((struct dfa *dfa)); - - static ptr_t xcalloc PARAMS ((size_t n, size_t s)); --static ptr_t xmalloc PARAMS ((size_t n)); - static ptr_t xrealloc PARAMS ((ptr_t p, size_t n)); - #ifdef DEBUG - static void prtok PARAMS ((token t)); -diff --git a/hard-locale.h b/hard-locale.h -index 0f4986b..9ee57e0 100644 ---- a/hard-locale.h -+++ b/hard-locale.h -@@ -40,8 +40,6 @@ hard_locale (int category) - if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0) - hard = 0; - # else -- static ptr_t xmalloc PARAMS ((size_t n)); -- - char *locale = xmalloc (strlen (p) + 1); - strcpy (locale, p); - --- -2.9.3 - diff --git a/meta/recipes-extended/gawk/gawk-3.1.5/gawk-3.1.5_fix_for_automake-1.12.patch b/meta/recipes-extended/gawk/gawk-3.1.5/gawk-3.1.5_fix_for_automake-1.12.patch deleted file mode 100644 index c42c33c420..0000000000 --- a/meta/recipes-extended/gawk/gawk-3.1.5/gawk-3.1.5_fix_for_automake-1.12.patch +++ /dev/null @@ -1,41 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.ac:127: error: automatic de-ANSI-fication support has been removed -| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:12: AM_C_PROTOTYPES is expanded from... -| configure.ac:127: the top level -| autom4te: m4 failed with exit status: 1 -... -| Makefile.am:27: error: automatic de-ANSI-fication support has been removed - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: gawk-3.1.5/configure.ac -=================================================================== ---- gawk-3.1.5.orig/configure.ac -+++ gawk-3.1.5/configure.ac -@@ -124,7 +124,6 @@ fi - - dnl check for C compiler for automake - AM_PROG_CC_STDC --AM_C_PROTOTYPES - - dnl Cygwin doesn't like to get libs with full paths - dnl since that overrides linking against DLLs. -Index: gawk-3.1.5/Makefile.am -=================================================================== ---- gawk-3.1.5.orig/Makefile.am -+++ gawk-3.1.5/Makefile.am -@@ -24,7 +24,7 @@ - ## process this file with automake to produce Makefile.in - - # Automatic de-ANSI-fication if needed, make .bz2 files also. --AUTOMAKE_OPTIONS = ansi2knr dist-bzip2 -+AUTOMAKE_OPTIONS = dist-bzip2 - - # This undocumented variable insures that aclocal runs - # correctly after changing configure.ac diff --git a/meta/recipes-extended/gawk/gawk_3.1.5.bb b/meta/recipes-extended/gawk/gawk_3.1.5.bb deleted file mode 100644 index 63fd32f4b9..0000000000 --- a/meta/recipes-extended/gawk/gawk_3.1.5.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "GNU awk text processing utility" -DESCRIPTION = "The GNU version of awk, a text processing utility. \ -Awk interprets a special-purpose programming language to do \ -quick and easy text pattern matching and reformatting jobs." -HOMEPAGE = "www.gnu.org/software/gawk" -BUGTRACKER = "bug-gawk@gnu.org" -SECTION = "console/utils" - -# gawk <= 3.1.5: GPLv2 -# gawk >= 3.1.6: GPLv3 -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -RDEPENDS_gawk += "gawk-common" -RDEPENDS_pgawk += "gawk-common" -PR = "r2" - -SRC_URI = "\ - ${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ - file://gawk-3.1.5_fix_for_automake-1.12.patch \ - file://0001-gawk-fix-non-glibc-gcc-4-compilation.patch \ -" - -SRC_URI[md5sum] = "4760325489479cac17fe0114b8f62f30" -SRC_URI[sha256sum] = "463dcb9d0ca398b1d4f5a332f6cd9cec56441265fca616f2ea1b44d459e9f0f8" - -inherit autotools gettext texinfo update-alternatives - -PACKAGES += "gawk-common pgawk" - -FILES_${PN} = "${bindir}/gawk* ${bindir}/igawk" -FILES_gawk-common += "${datadir}/awk/* ${libexecdir}/awk/*" -FILES_pgawk = "${bindir}/pgawk*" - -ALTERNATIVE_${PN} = "awk" -ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" -ALTERNATIVE_PRIORITY = "100" - -CFLAGS += "-D PROTOTYPES" - -do_install_append() { - # remove the link since we don't package it - rm ${D}${bindir}/awk -} diff --git a/meta/recipes-extended/gperf/gperf_3.0.3.bb b/meta/recipes-extended/gperf/gperf_3.0.3.bb deleted file mode 100644 index 772886121b..0000000000 --- a/meta/recipes-extended/gperf/gperf_3.0.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -require gperf.inc - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=a5f84abb0070adf8a0925d7d534b6e0a \ - file://src/main.cc;beginline=8;endline=19;md5=72a3034a19e72f08ee48ef8244a121fd" - -PR = "r1" - -SRC_URI[md5sum] = "cc20e58975a38075440423c8fb85fd00" -SRC_URI[sha256sum] = "63287527c8d9e27e801cf0804436f3494bd569db05d49dcdd2a942ae72fa9055" diff --git a/meta/recipes-extended/grep/grep-2.5.1a/Makevars b/meta/recipes-extended/grep/grep-2.5.1a/Makevars deleted file mode 100644 index 8b09f53b0f..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/Makevars +++ /dev/null @@ -1,25 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = Free Software Foundation, Inc. - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = diff --git a/meta/recipes-extended/grep/grep-2.5.1a/fix-for-texinfo-5.1.patch b/meta/recipes-extended/grep/grep-2.5.1a/fix-for-texinfo-5.1.patch deleted file mode 100644 index ce595099f4..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/fix-for-texinfo-5.1.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Inappropriate [Poky Specific this is gplv2 version] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: grep-2.5.1a/doc/grep.texi -=================================================================== ---- grep-2.5.1a.orig/doc/grep.texi -+++ grep-2.5.1a/doc/grep.texi -@@ -288,7 +288,7 @@ This version number should be included i - Print a usage message briefly summarizing these command-line options - and the bug-reporting address, then exit. - --@itemx --binary-files=@var{type} -+@item --binary-files=@var{type} - @opindex --binary-files - @cindex binary files - If the first few bytes of a file indicate that the file contains binary diff --git a/meta/recipes-extended/grep/grep-2.5.1a/fix64-int-to-pointer.patch b/meta/recipes-extended/grep/grep-2.5.1a/fix64-int-to-pointer.patch deleted file mode 100644 index 3b91520fb2..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/fix64-int-to-pointer.patch +++ /dev/null @@ -1,17 +0,0 @@ -Always use locale.h as HAVE_LOCALE_H is no longer handled by ./configure -Upstream-Status: Inappropriate [ old version that will not be maintained ] -Signed-off-by: Alex DAMIAN <alexandru.damian@intel.com> - -diff --recursive --unified grep-2.5.1a-orig/lib/hard-locale.c grep-2.5.1a/lib/hard-locale.c ---- grep-2.5.1a-orig/lib/hard-locale.c 2001-03-04 07:33:12.000000000 +0200 -+++ grep-2.5.1a/lib/hard-locale.c 2013-03-11 17:05:52.086444891 +0200 -@@ -38,9 +38,7 @@ - # endif - #endif - --#if HAVE_LOCALE_H - # include <locale.h> --#endif - - #if HAVE_STRING_H - # include <string.h> diff --git a/meta/recipes-extended/grep/grep-2.5.1a/gettext.patch b/meta/recipes-extended/grep/grep-2.5.1a/gettext.patch deleted file mode 100644 index 57463355a7..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/gettext.patch +++ /dev/null @@ -1,15 +0,0 @@ -Enable operation with later versions of gettext. - -Upstream-Status: Inappropriate -RP 2012/10/19 - -Index: grep-2.5.1a/configure.in -=================================================================== ---- grep-2.5.1a.orig/configure.in 2012-10-19 12:57:51.646970204 +0000 -+++ grep-2.5.1a/configure.in 2012-10-19 12:59:49.946968803 +0000 -@@ -140,4 +140,4 @@ - AC_CHECK_LIB(pcre, pcre_exec) - fi - --AC_OUTPUT(Makefile lib/Makefile lib/posix/Makefile src/Makefile tests/Makefile po/Makefile.in intl/Makefile doc/Makefile m4/Makefile vms/Makefile bootstrap/Makefile, [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; echo timestamp > stamp-h]) -+AC_OUTPUT(Makefile lib/Makefile lib/posix/Makefile src/Makefile tests/Makefile po/Makefile.in intl/Makefile doc/Makefile m4/Makefile vms/Makefile bootstrap/Makefile, [echo timestamp > stamp-h]) diff --git a/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch b/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch deleted file mode 100644 index a40a9f30bc..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch +++ /dev/null @@ -1,33 +0,0 @@ -The patch to fix CVE-2012-5667 -Reference: https://bugzilla.redhat.com/attachment.cgi?id=686605&action=diff - -Multiple integer overflows in GNU Grep before 2.11 might allow -context-dependent attackers to execute arbitrary code via vectors -involving a long input line that triggers a heap-based buffer overflow. - -http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667 - -Upstream-Status: Inappropriate [other] -This version of GNU Grep has been abandoned upstream and they are no longer -accepting patches. This is not a backport. -CVE: CVE-2012-5667 - -Signed-off-by: Ming Liu <ming.liu@windriver.com> ---- - grep.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - ---- a/src/grep.c 2013-05-15 13:39:33.359191769 +0800 -+++ a/src/grep.c 2013-05-15 13:50:22.609191882 +0800 -@@ -306,6 +306,11 @@ fillbuf (size_t save, struct stats const - int cc = 1; - char *readbuf; - size_t readsize; -+ const size_t max_save = INT_MAX / 2; -+ -+ /* Limit the amount of saved data to INT_MAX to fix CVE-2012-5667 */ -+ if (save > max_save) -+ error (2, 0, _("line too long")); - - /* Offset from start of buffer to start of old stuff - that we want to save. */ diff --git a/meta/recipes-extended/grep/grep-2.5.1a/grep-egrep-fgrep-Fix-LSB-NG-cases.patch b/meta/recipes-extended/grep/grep-2.5.1a/grep-egrep-fgrep-Fix-LSB-NG-cases.patch deleted file mode 100644 index 327ee56402..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/grep-egrep-fgrep-Fix-LSB-NG-cases.patch +++ /dev/null @@ -1,1342 +0,0 @@ -From c884dd12ec062569335702848fc5f29f436c28fa Mon Sep 17 00:00:00 2001 -From: Li xin <lixin.fnst@cn.fujitsu.com> -Date: Mon, 25 May 2015 10:15:57 +0900 -Subject: [PATCH] grep egrep fgrep: Fix LSB NG cases. - -The LSB core test requires grep egrep and fgrep can -perform pattern matching in searches without regard -to case if -i option is specified. - -Upstream-Status: backport. - -Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> ---- - lib/posix/regex.h | 4 + - src/dfa.c | 22 +- - src/grep.c | 96 ++++--- - src/search.c | 833 +++++++++++++++++++++++++++++++++++++++++++++--------- - 4 files changed, 768 insertions(+), 187 deletions(-) - -diff --git a/lib/posix/regex.h b/lib/posix/regex.h -index 63c2fef..7bb2b0e 100644 ---- a/lib/posix/regex.h -+++ b/lib/posix/regex.h -@@ -109,6 +109,10 @@ typedef unsigned long int reg_syntax_t; - If not set, \{, \}, {, and } are literals. */ - #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) - -+/* If this bit is set, then ignore case when matching. -+ If not set, then case is significant. */ -+#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) -+ - /* If this bit is set, +, ? and | aren't recognized as operators. - If not set, they are. */ - #define RE_LIMITED_OPS (RE_INTERVALS << 1) -diff --git a/src/dfa.c b/src/dfa.c -index 590bfa7..27c876a 100644 ---- a/src/dfa.c -+++ b/src/dfa.c -@@ -414,7 +414,7 @@ update_mb_len_index (unsigned char const *p, int len) - - /* This function fetch a wide character, and update cur_mb_len, - used only if the current locale is a multibyte environment. */ --static wchar_t -+static wint_t - fetch_wc (char const *eoferr) - { - wchar_t wc; -@@ -423,7 +423,7 @@ fetch_wc (char const *eoferr) - if (eoferr != 0) - dfaerror (eoferr); - else -- return -1; -+ return WEOF; - } - - cur_mb_len = mbrtowc(&wc, lexptr, lexleft, &mbs); -@@ -459,7 +459,7 @@ fetch_wc (char const *eoferr) - static void - parse_bracket_exp_mb () - { -- wchar_t wc, wc1, wc2; -+ wint_t wc, wc1, wc2; - - /* Work area to build a mb_char_classes. */ - struct mb_char_classes *work_mbc; -@@ -496,7 +496,7 @@ parse_bracket_exp_mb () - work_mbc->invert = 0; - do - { -- wc1 = -1; /* mark wc1 is not initialized". */ -+ wc1 = WEOF; /* mark wc1 is not initialized". */ - - /* Note that if we're looking at some other [:...:] construct, - we just treat it as a bunch of ordinary characters. We can do -@@ -586,7 +586,7 @@ parse_bracket_exp_mb () - work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem; - } - } -- wc = -1; -+ wc1 = wc = WEOF; - } - else - /* We treat '[' as a normal character here. */ -@@ -600,7 +600,7 @@ parse_bracket_exp_mb () - wc = fetch_wc(("Unbalanced [")); - } - -- if (wc1 == -1) -+ if (wc1 == WEOF) - wc1 = fetch_wc(_("Unbalanced [")); - - if (wc1 == L'-') -@@ -630,17 +630,17 @@ parse_bracket_exp_mb () - } - REALLOC_IF_NECESSARY(work_mbc->range_sts, wchar_t, - range_sts_al, work_mbc->nranges + 1); -- work_mbc->range_sts[work_mbc->nranges] = wc; -+ work_mbc->range_sts[work_mbc->nranges] = (wchar_t)wc; - REALLOC_IF_NECESSARY(work_mbc->range_ends, wchar_t, - range_ends_al, work_mbc->nranges + 1); -- work_mbc->range_ends[work_mbc->nranges++] = wc2; -+ work_mbc->range_ends[work_mbc->nranges++] = (wchar_t)wc2; - } -- else if (wc != -1) -+ else if (wc != WEOF) - /* build normal characters. */ - { - REALLOC_IF_NECESSARY(work_mbc->chars, wchar_t, chars_al, - work_mbc->nchars + 1); -- work_mbc->chars[work_mbc->nchars++] = wc; -+ work_mbc->chars[work_mbc->nchars++] = (wchar_t)wc; - } - } - while ((wc = wc1) != L']'); -@@ -2552,6 +2552,8 @@ match_mb_charset (struct dfa *d, int s, position pos, int index) - } - - /* match with a character? */ -+ if (case_fold) -+ wc = towlower (wc); - for (i = 0; i<work_mbc->nchars; i++) - { - if (wc == work_mbc->chars[i]) -diff --git a/src/grep.c b/src/grep.c -index 2fb2fac..3fd4b47 100644 ---- a/src/grep.c -+++ b/src/grep.c -@@ -30,6 +30,12 @@ - # include <sys/time.h> - # include <sys/resource.h> - #endif -+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_MBRTOWC -+/* We can handle multibyte string. */ -+# define MBS_SUPPORT -+# include <wchar.h> -+# include <wctype.h> -+#endif - #include <stdio.h> - #include "system.h" - #include "getopt.h" -@@ -255,19 +261,6 @@ reset (int fd, char const *file, struct stats *stats) - bufbeg[-1] = eolbyte; - bufdesc = fd; - -- if (fstat (fd, &stats->stat) != 0) -- { -- error (0, errno, "fstat"); -- return 0; -- } -- if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) -- return 0; --#ifndef DJGPP -- if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode))) --#else -- if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) --#endif -- return 0; - if (S_ISREG (stats->stat.st_mode)) - { - if (file) -@@ -558,33 +551,6 @@ prline (char const *beg, char const *lim, int sep) - { - size_t match_size; - size_t match_offset; -- if(match_icase) -- { -- /* Yuck, this is tricky */ -- char *buf = (char*) xmalloc (lim - beg); -- char *ibeg = buf; -- char *ilim = ibeg + (lim - beg); -- int i; -- for (i = 0; i < lim - beg; i++) -- ibeg[i] = tolower (beg[i]); -- while ((match_offset = (*execute) (ibeg, ilim-ibeg, &match_size, 1)) -- != (size_t) -1) -- { -- char const *b = beg + match_offset; -- if (b == lim) -- break; -- fwrite (beg, sizeof (char), match_offset, stdout); -- printf ("\33[%sm", grep_color); -- fwrite (b, sizeof (char), match_size, stdout); -- fputs ("\33[00m", stdout); -- beg = b + match_size; -- ibeg = ibeg + match_offset + match_size; -- } -- fwrite (beg, 1, lim - beg, stdout); -- free (buf); -- lastout = lim; -- return; -- } - while (lim-beg && (match_offset = (*execute) (beg, lim - beg, &match_size, 1)) - != (size_t) -1) - { -@@ -601,6 +567,7 @@ prline (char const *beg, char const *lim, int sep) - fputs ("\33[00m", stdout); - beg = b + match_size; - } -+ fputs ("\33[K", stdout); - } - fwrite (beg, 1, lim - beg, stdout); - if (ferror (stdout)) -@@ -623,7 +590,7 @@ prpending (char const *lim) - size_t match_size; - --pending; - if (outleft -- || (((*execute) (lastout, nl - lastout, &match_size, 0) == (size_t) -1) -+ || (((*execute) (lastout, nl + 1 - lastout, &match_size, 0) == (size_t) -1) - == !out_invert)) - prline (lastout, nl + 1, '-'); - else -@@ -895,6 +862,19 @@ grepfile (char const *file, struct stats *stats) - } - else - { -+ if (stat (file, &stats->stat) != 0) -+ { -+ suppressible_error (file, errno); -+ return 1; -+ } -+ if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) -+ return 1; -+#ifndef DJGPP -+ if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode) || S_ISFIFO(stats->stat.st_mode))) -+#else -+ if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) -+#endif -+ return 1; - while ((desc = open (file, O_RDONLY)) < 0 && errno == EINTR) - continue; - -@@ -1681,9 +1661,6 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")) - out_invert ^= 1; - match_lines = match_words = 0; - } -- else -- /* Strip trailing newline. */ -- --keycc; - } - else - if (optind < argc) -@@ -1697,6 +1674,37 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")) - if (!install_matcher (matcher) && !install_matcher ("default")) - abort (); - -+#ifdef MBS_SUPPORT -+ if (MB_CUR_MAX != 1 && match_icase) -+ { -+ wchar_t wc; -+ mbstate_t cur_state, prev_state; -+ int i, len = strlen(keys); -+ -+ memset(&cur_state, 0, sizeof(mbstate_t)); -+ for (i = 0; i <= len ;) -+ { -+ size_t mbclen; -+ mbclen = mbrtowc(&wc, keys + i, len - i, &cur_state); -+ if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) -+ { -+ /* An invalid sequence, or a truncated multibyte character. -+ We treat it as a singlebyte character. */ -+ mbclen = 1; -+ } -+ else -+ { -+ if (iswupper((wint_t)wc)) -+ { -+ wc = towlower((wint_t)wc); -+ wcrtomb(keys + i, wc, &cur_state); -+ } -+ } -+ i += mbclen; -+ } -+ } -+#endif /* MBS_SUPPORT */ -+ - (*compile)(keys, keycc); - - if ((argc - optind > 1 && !no_filenames) || with_filenames) -diff --git a/src/search.c b/src/search.c -index 7bd233f..3c6a485 100644 ---- a/src/search.c -+++ b/src/search.c -@@ -18,9 +18,13 @@ - - /* Written August 1992 by Mike Haertel. */ - -+#ifndef _GNU_SOURCE -+# define _GNU_SOURCE 1 -+#endif - #ifdef HAVE_CONFIG_H - # include <config.h> - #endif -+#include <assert.h> - #include <sys/types.h> - #if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_MBRTOWC - /* We can handle multibyte string. */ -@@ -31,7 +35,7 @@ - - #include "system.h" - #include "grep.h" --#include "regex.h" -+#include <regex.h> - #include "dfa.h" - #include "kwset.h" - #include "error.h" -@@ -39,6 +43,9 @@ - #ifdef HAVE_LIBPCRE - # include <pcre.h> - #endif -+#ifdef HAVE_LANGINFO_CODESET -+# include <langinfo.h> -+#endif - - #define NCHAR (UCHAR_MAX + 1) - -@@ -70,9 +77,10 @@ static kwset_t kwset; - call the regexp matcher at all. */ - static int kwset_exact_matches; - --#if defined(MBS_SUPPORT) --static char* check_multibyte_string PARAMS ((char const *buf, size_t size)); --#endif -+/* UTF-8 encoding allows some optimizations that we can't otherwise -+ assume in a multibyte encoding. */ -+static int using_utf8; -+ - static void kwsinit PARAMS ((void)); - static void kwsmusts PARAMS ((void)); - static void Gcompile PARAMS ((char const *, size_t)); -@@ -84,6 +92,15 @@ static void Pcompile PARAMS ((char const *, size_t )); - static size_t Pexecute PARAMS ((char const *, size_t, size_t *, int)); - - void -+check_utf8 (void) -+{ -+#ifdef HAVE_LANGINFO_CODESET -+ if (strcmp (nl_langinfo (CODESET), "UTF-8") == 0) -+ using_utf8 = 1; -+#endif -+} -+ -+void - dfaerror (char const *mesg) - { - error (2, 0, mesg); -@@ -141,38 +158,6 @@ kwsmusts (void) - } - } - --#ifdef MBS_SUPPORT --/* This function allocate the array which correspond to "buf". -- Then this check multibyte string and mark on the positions which -- are not singlebyte character nor the first byte of a multibyte -- character. Caller must free the array. */ --static char* --check_multibyte_string(char const *buf, size_t size) --{ -- char *mb_properties = malloc(size); -- mbstate_t cur_state; -- int i; -- memset(&cur_state, 0, sizeof(mbstate_t)); -- memset(mb_properties, 0, sizeof(char)*size); -- for (i = 0; i < size ;) -- { -- size_t mbclen; -- mbclen = mbrlen(buf + i, size - i, &cur_state); -- -- if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) -- { -- /* An invalid sequence, or a truncated multibyte character. -- We treat it as a singlebyte character. */ -- mbclen = 1; -- } -- mb_properties[i] = mbclen; -- i += mbclen; -- } -- -- return mb_properties; --} --#endif -- - static void - Gcompile (char const *pattern, size_t size) - { -@@ -181,7 +166,8 @@ Gcompile (char const *pattern, size_t size) - size_t total = size; - char const *motif = pattern; - -- re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE); -+ check_utf8 (); -+ re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | (match_icase ? RE_ICASE : 0)); - dfasyntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE, match_icase, eolbyte); - - /* For GNU regex compiler we have to pass the patterns separately to detect -@@ -218,6 +204,10 @@ Gcompile (char const *pattern, size_t size) - motif = sep; - } while (sep && total != 0); - -+ /* Strip trailing newline. */ -+ if (size && pattern[size - 1] == '\n') -+ size--; -+ - /* In the match_words and match_lines cases, we use a different pattern - for the DFA matcher that will quickly throw out cases that won't work. - Then if DFA succeeds we do some hairy stuff using the regex matcher -@@ -233,7 +223,7 @@ Gcompile (char const *pattern, size_t size) - static char const line_end[] = "\\)$"; - static char const word_beg[] = "\\(^\\|[^[:alnum:]_]\\)\\("; - static char const word_end[] = "\\)\\([^[:alnum:]_]\\|$\\)"; -- char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); -+ char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); - size_t i; - strcpy (n, match_lines ? line_beg : word_beg); - i = strlen (n); -@@ -257,14 +247,15 @@ Ecompile (char const *pattern, size_t size) - size_t total = size; - char const *motif = pattern; - -+ check_utf8 (); - if (strcmp (matcher, "awk") == 0) - { -- re_set_syntax (RE_SYNTAX_AWK); -+ re_set_syntax (RE_SYNTAX_AWK | (match_icase ? RE_ICASE : 0)); - dfasyntax (RE_SYNTAX_AWK, match_icase, eolbyte); - } - else - { -- re_set_syntax (RE_SYNTAX_POSIX_EGREP); -+ re_set_syntax (RE_SYNTAX_POSIX_EGREP | (match_icase ? RE_ICASE : 0)); - dfasyntax (RE_SYNTAX_POSIX_EGREP, match_icase, eolbyte); - } - -@@ -301,6 +292,10 @@ Ecompile (char const *pattern, size_t size) - motif = sep; - } while (sep && total != 0); - -+ /* Strip trailing newline. */ -+ if (size && pattern[size - 1] == '\n') -+ size--; -+ - /* In the match_words and match_lines cases, we use a different pattern - for the DFA matcher that will quickly throw out cases that won't work. - Then if DFA succeeds we do some hairy stuff using the regex matcher -@@ -316,7 +311,7 @@ Ecompile (char const *pattern, size_t size) - static char const line_end[] = ")$"; - static char const word_beg[] = "(^|[^[:alnum:]_])("; - static char const word_end[] = ")([^[:alnum:]_]|$)"; -- char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); -+ char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); - size_t i; - strcpy (n, match_lines ? line_beg : word_beg); - i = strlen(n); -@@ -339,15 +334,34 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) - char eol = eolbyte; - int backref, start, len; - struct kwsmatch kwsm; -- size_t i; -+ size_t i, ret_val; -+ static int use_dfa; -+ static int use_dfa_checked = 0; - #ifdef MBS_SUPPORT -- char *mb_properties = NULL; -+ int mb_cur_max = MB_CUR_MAX; -+ mbstate_t mbs; -+ memset (&mbs, '\0', sizeof (mbstate_t)); - #endif /* MBS_SUPPORT */ - -+ if (!use_dfa_checked) -+ { -+ char *grep_use_dfa = getenv ("GREP_USE_DFA"); -+ if (!grep_use_dfa) -+ { - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1 && kwset) -- mb_properties = check_multibyte_string(buf, size); -+ /* Turn off DFA when processing multibyte input. */ -+ use_dfa = (MB_CUR_MAX == 1); -+#else -+ use_dfa = 1; - #endif /* MBS_SUPPORT */ -+ } -+ else -+ { -+ use_dfa = atoi (grep_use_dfa); -+ } -+ -+ use_dfa_checked = 1; -+ } - - buflim = buf + size; - -@@ -358,47 +372,120 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) - if (kwset) - { - /* Find a possible match using the KWset matcher. */ -- size_t offset = kwsexec (kwset, beg, buflim - beg, &kwsm); -+#ifdef MBS_SUPPORT -+ size_t bytes_left = 0; -+#endif /* MBS_SUPPORT */ -+ size_t offset; -+#ifdef MBS_SUPPORT -+ /* kwsexec doesn't work with match_icase and multibyte input. */ -+ if (match_icase && mb_cur_max > 1) -+ /* Avoid kwset */ -+ offset = 0; -+ else -+#endif /* MBS_SUPPORT */ -+ offset = kwsexec (kwset, beg, buflim - beg, &kwsm); - if (offset == (size_t) -1) -- { -+ goto failure; - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free(mb_properties); --#endif -- return (size_t)-1; -+ if (mb_cur_max > 1 && !using_utf8) -+ { -+ bytes_left = offset; -+ while (bytes_left) -+ { -+ size_t mlen = mbrlen (beg, bytes_left, &mbs); -+ if (mlen == (size_t) -1 || mlen == 0) -+ { -+ /* Incomplete character: treat as single-byte. */ -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ beg++; -+ bytes_left--; -+ continue; -+ } -+ -+ if (mlen == (size_t) -2) -+ /* Offset points inside multibyte character: -+ * no good. */ -+ break; -+ -+ beg += mlen; -+ bytes_left -= mlen; -+ } - } -+ else -+#endif /* MBS_SUPPORT */ - beg += offset; - /* Narrow down to the line containing the candidate, and - run it through DFA. */ - end = memchr(beg, eol, buflim - beg); - end++; - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1 && mb_properties[beg - buf] == 0) -+ if (mb_cur_max > 1 && bytes_left) - continue; --#endif -+#endif /* MBS_SUPPORT */ - while (beg > buf && beg[-1] != eol) - --beg; -- if (kwsm.index < kwset_exact_matches) -- goto success; -- if (dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1) -+ if ( -+#ifdef MBS_SUPPORT -+ !(match_icase && mb_cur_max > 1) && -+#endif /* MBS_SUPPORT */ -+ (kwsm.index < kwset_exact_matches)) -+ goto success_in_beg_and_end; -+ if (use_dfa && -+ dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1) - continue; - } - else - { - /* No good fixed strings; start with DFA. */ -- size_t offset = dfaexec (&dfa, beg, buflim - beg, &backref); -+#ifdef MBS_SUPPORT -+ size_t bytes_left = 0; -+#endif /* MBS_SUPPORT */ -+ size_t offset = 0; -+ if (use_dfa) -+ offset = dfaexec (&dfa, beg, buflim - beg, &backref); - if (offset == (size_t) -1) - break; - /* Narrow down to the line we've found. */ -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1 && !using_utf8) -+ { -+ bytes_left = offset; -+ while (bytes_left) -+ { -+ size_t mlen = mbrlen (beg, bytes_left, &mbs); -+ if (mlen == (size_t) -1 || mlen == 0) -+ { -+ /* Incomplete character: treat as single-byte. */ -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ beg++; -+ bytes_left--; -+ continue; -+ } -+ -+ if (mlen == (size_t) -2) -+ /* Offset points inside multibyte character: -+ * no good. */ -+ break; -+ -+ beg += mlen; -+ bytes_left -= mlen; -+ } -+ } -+ else -+#endif /* MBS_SUPPORT */ - beg += offset; - end = memchr (beg, eol, buflim - beg); - end++; -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1 && bytes_left) -+ continue; -+#endif /* MBS_SUPPORT */ - while (beg > buf && beg[-1] != eol) - --beg; - } - /* Successful, no backreferences encountered! */ -- if (!backref) -- goto success; -+ if (use_dfa && !backref) -+ goto success_in_beg_and_end; - } - else - end = beg + size; -@@ -413,14 +500,11 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) - end - beg - 1, &(patterns[i].regs)))) - { - len = patterns[i].regs.end[0] - start; -- if (exact) -- { -- *match_size = len; -- return start; -- } -+ if (exact && !match_words) -+ goto success_in_start_and_len; - if ((!match_lines && !match_words) - || (match_lines && len == end - beg - 1)) -- goto success; -+ goto success_in_beg_and_end; - /* If -w, check if the match aligns with word boundaries. - We do this iteratively because: - (a) the line may contain more than one occurence of the -@@ -431,10 +515,114 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) - if (match_words) - while (start >= 0) - { -- if ((start == 0 || !WCHAR ((unsigned char) beg[start - 1])) -- && (len == end - beg - 1 -- || !WCHAR ((unsigned char) beg[start + len]))) -- goto success; -+ int lword_match = 0; -+ if (start == 0) -+ lword_match = 1; -+ else -+ { -+ assert (start > 0); -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1) -+ { -+ const char *s; -+ size_t mr; -+ wchar_t pwc; -+ -+ /* Locate the start of the multibyte character -+ before the match position (== beg + start). */ -+ if (using_utf8) -+ { -+ /* UTF-8 is a special case: scan backwards -+ until we find a 7-bit character or a -+ lead byte. */ -+ s = beg + start - 1; -+ while (s > buf -+ && (unsigned char) *s >= 0x80 -+ && (unsigned char) *s <= 0xbf) -+ --s; -+ } -+ else -+ { -+ /* Scan forwards to find the start of the -+ last complete character before the -+ match position. */ -+ size_t bytes_left = start - 1; -+ s = beg; -+ while (bytes_left > 0) -+ { -+ mr = mbrlen (s, bytes_left, &mbs); -+ if (mr == (size_t) -1 || mr == 0) -+ { -+ memset (&mbs, '\0', sizeof (mbs)); -+ s++; -+ bytes_left--; -+ continue; -+ } -+ if (mr == (size_t) -2) -+ { -+ memset (&mbs, '\0', sizeof (mbs)); -+ break; -+ } -+ s += mr; -+ bytes_left -= mr; -+ } -+ } -+ mr = mbrtowc (&pwc, s, beg + start - s, &mbs); -+ if (mr == (size_t) -2 || mr == (size_t) -1 || -+ mr == 0) -+ { -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ lword_match = 1; -+ } -+ else if (!(iswalnum (pwc) || pwc == L'_') -+ && mr == beg + start - s) -+ lword_match = 1; -+ } -+ else -+#endif /* MBS_SUPPORT */ -+ if (!WCHAR ((unsigned char) beg[start - 1])) -+ lword_match = 1; -+ } -+ -+ if (lword_match) -+ { -+ int rword_match = 0; -+ if (start + len == end - beg - 1) -+ rword_match = 1; -+ else -+ { -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1) -+ { -+ wchar_t nwc; -+ int mr; -+ -+ mr = mbtowc (&nwc, beg + start + len, -+ end - beg - start - len - 1); -+ if (mr <= 0) -+ { -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ rword_match = 1; -+ } -+ else if (!iswalnum (nwc) && nwc != L'_') -+ rword_match = 1; -+ } -+ else -+#endif /* MBS_SUPPORT */ -+ if (!WCHAR ((unsigned char) beg[start + len])) -+ rword_match = 1; -+ } -+ -+ if (rword_match) -+ { -+ if (!exact) -+ /* Returns the whole line. */ -+ goto success_in_beg_and_end; -+ else -+ /* Returns just this word match. */ -+ goto success_in_start_and_len; -+ } -+ } - if (len > 0) - { - /* Try a shorter length anchored at the same place. */ -@@ -461,26 +649,154 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) - } - } /* for Regex patterns. */ - } /* for (beg = end ..) */ --#ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1 && mb_properties) -- free (mb_properties); --#endif /* MBS_SUPPORT */ -+ -+ failure: - return (size_t) -1; - -- success: --#ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1 && mb_properties) -- free (mb_properties); --#endif /* MBS_SUPPORT */ -- *match_size = end - beg; -- return beg - buf; -+ success_in_beg_and_end: -+ len = end - beg; -+ start = beg - buf; -+ /* FALLTHROUGH */ -+ -+ success_in_start_and_len: -+ *match_size = len; -+ return start; - } - -+#ifdef MBS_SUPPORT -+static int f_i_multibyte; /* whether we're using the new -Fi MB method */ -+static struct -+{ -+ wchar_t **patterns; -+ size_t count, maxlen; -+ unsigned char *match; -+} Fimb; -+#endif -+ - static void - Fcompile (char const *pattern, size_t size) - { -+ int mb_cur_max = MB_CUR_MAX; - char const *beg, *lim, *err; - -+ check_utf8 (); -+#ifdef MBS_SUPPORT -+ /* Support -F -i for UTF-8 input. */ -+ if (match_icase && mb_cur_max > 1) -+ { -+ mbstate_t mbs; -+ wchar_t *wcpattern = xmalloc ((size + 1) * sizeof (wchar_t)); -+ const char *patternend = pattern; -+ size_t wcsize; -+ kwset_t fimb_kwset = NULL; -+ char *starts = NULL; -+ wchar_t *wcbeg, *wclim; -+ size_t allocated = 0; -+ -+ memset (&mbs, '\0', sizeof (mbs)); -+# ifdef __GNU_LIBRARY__ -+ wcsize = mbsnrtowcs (wcpattern, &patternend, size, size, &mbs); -+ if (patternend != pattern + size) -+ wcsize = (size_t) -1; -+# else -+ { -+ char *patterncopy = xmalloc (size + 1); -+ -+ memcpy (patterncopy, pattern, size); -+ patterncopy[size] = '\0'; -+ patternend = patterncopy; -+ wcsize = mbsrtowcs (wcpattern, &patternend, size, &mbs); -+ if (patternend != patterncopy + size) -+ wcsize = (size_t) -1; -+ free (patterncopy); -+ } -+# endif -+ if (wcsize + 2 <= 2) -+ { -+fimb_fail: -+ free (wcpattern); -+ free (starts); -+ if (fimb_kwset) -+ kwsfree (fimb_kwset); -+ free (Fimb.patterns); -+ Fimb.patterns = NULL; -+ } -+ else -+ { -+ if (!(fimb_kwset = kwsalloc (NULL))) -+ error (2, 0, _("memory exhausted")); -+ -+ starts = xmalloc (mb_cur_max * 3); -+ wcbeg = wcpattern; -+ do -+ { -+ int i; -+ size_t wclen; -+ -+ if (Fimb.count >= allocated) -+ { -+ if (allocated == 0) -+ allocated = 128; -+ else -+ allocated *= 2; -+ Fimb.patterns = xrealloc (Fimb.patterns, -+ sizeof (wchar_t *) * allocated); -+ } -+ Fimb.patterns[Fimb.count++] = wcbeg; -+ for (wclim = wcbeg; -+ wclim < wcpattern + wcsize && *wclim != L'\n'; ++wclim) -+ *wclim = towlower (*wclim); -+ *wclim = L'\0'; -+ wclen = wclim - wcbeg; -+ if (wclen > Fimb.maxlen) -+ Fimb.maxlen = wclen; -+ if (wclen > 3) -+ wclen = 3; -+ if (wclen == 0) -+ { -+ if ((err = kwsincr (fimb_kwset, "", 0)) != 0) -+ error (2, 0, err); -+ } -+ else -+ for (i = 0; i < (1 << wclen); i++) -+ { -+ char *p = starts; -+ int j, k; -+ -+ for (j = 0; j < wclen; ++j) -+ { -+ wchar_t wc = wcbeg[j]; -+ if (i & (1 << j)) -+ { -+ wc = towupper (wc); -+ if (wc == wcbeg[j]) -+ continue; -+ } -+ k = wctomb (p, wc); -+ if (k <= 0) -+ goto fimb_fail; -+ p += k; -+ } -+ if ((err = kwsincr (fimb_kwset, starts, p - starts)) != 0) -+ error (2, 0, err); -+ } -+ if (wclim < wcpattern + wcsize) -+ ++wclim; -+ wcbeg = wclim; -+ } -+ while (wcbeg < wcpattern + wcsize); -+ f_i_multibyte = 1; -+ kwset = fimb_kwset; -+ free (starts); -+ Fimb.match = xmalloc (Fimb.count); -+ if ((err = kwsprep (kwset)) != 0) -+ error (2, 0, err); -+ return; -+ } -+ } -+#endif /* MBS_SUPPORT */ -+ -+ - kwsinit (); - beg = pattern; - do -@@ -499,6 +815,76 @@ Fcompile (char const *pattern, size_t size) - error (2, 0, err); - } - -+#ifdef MBS_SUPPORT -+static int -+Fimbexec (const char *buf, size_t size, size_t *plen, int exact) -+{ -+ size_t len, letter, i; -+ int ret = -1; -+ mbstate_t mbs; -+ wchar_t wc; -+ int patterns_left; -+ -+ assert (match_icase && f_i_multibyte == 1); -+ assert (MB_CUR_MAX > 1); -+ -+ memset (&mbs, '\0', sizeof (mbs)); -+ memset (Fimb.match, '\1', Fimb.count); -+ letter = len = 0; -+ patterns_left = 1; -+ while (patterns_left && len <= size) -+ { -+ size_t c; -+ -+ patterns_left = 0; -+ if (len < size) -+ { -+ c = mbrtowc (&wc, buf + len, size - len, &mbs); -+ if (c + 2 <= 2) -+ return ret; -+ -+ wc = towlower (wc); -+ } -+ else -+ { -+ c = 1; -+ wc = L'\0'; -+ } -+ -+ for (i = 0; i < Fimb.count; i++) -+ { -+ if (Fimb.match[i]) -+ { -+ if (Fimb.patterns[i][letter] == L'\0') -+ { -+ /* Found a match. */ -+ *plen = len; -+ if (!exact && !match_words) -+ return 0; -+ else -+ { -+ /* For -w or exact look for longest match. */ -+ ret = 0; -+ Fimb.match[i] = '\0'; -+ continue; -+ } -+ } -+ -+ if (Fimb.patterns[i][letter] == wc) -+ patterns_left = 1; -+ else -+ Fimb.match[i] = '\0'; -+ } -+ } -+ -+ len += c; -+ letter++; -+ } -+ -+ return ret; -+} -+#endif /* MBS_SUPPORT */ -+ - static size_t - Fexecute (char const *buf, size_t size, size_t *match_size, int exact) - { -@@ -506,88 +892,268 @@ Fexecute (char const *buf, size_t size, size_t *match_size, int exact) - register size_t len; - char eol = eolbyte; - struct kwsmatch kwsmatch; -+ size_t ret_val; - #ifdef MBS_SUPPORT -- char *mb_properties; -- if (MB_CUR_MAX > 1) -- mb_properties = check_multibyte_string (buf, size); -+ int mb_cur_max = MB_CUR_MAX; -+ mbstate_t mbs; -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ const char *last_char = NULL; - #endif /* MBS_SUPPORT */ - -- for (beg = buf; beg <= buf + size; ++beg) -+ for (beg = buf; beg < buf + size; ++beg) - { -- size_t offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); -+ size_t offset; -+ offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); -+ - if (offset == (size_t) -1) -- { -+ goto failure; - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free(mb_properties); --#endif /* MBS_SUPPORT */ -- return offset; -+ if (mb_cur_max > 1 && !using_utf8) -+ { -+ size_t bytes_left = offset; -+ while (bytes_left) -+ { -+ size_t mlen = mbrlen (beg, bytes_left, &mbs); -+ -+ last_char = beg; -+ if (mlen == (size_t) -1 || mlen == 0) -+ { -+ /* Incomplete character: treat as single-byte. */ -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ beg++; -+ bytes_left--; -+ continue; -+ } -+ -+ if (mlen == (size_t) -2) -+ /* Offset points inside multibyte character: no good. */ -+ break; -+ -+ beg += mlen; -+ bytes_left -= mlen; -+ } -+ -+ if (bytes_left) -+ continue; - } --#ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1 && mb_properties[offset+beg-buf] == 0) -- continue; /* It is a part of multibyte character. */ -+ else - #endif /* MBS_SUPPORT */ - beg += offset; -- len = kwsmatch.size[0]; -- if (exact) -- { -- *match_size = len; - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free (mb_properties); -+ /* For f_i_multibyte, the string at beg now matches first 3 chars of -+ one of the search strings (less if there are shorter search strings). -+ See if this is a real match. */ -+ if (f_i_multibyte -+ && Fimbexec (beg, buf + size - beg, &kwsmatch.size[0], exact)) -+ goto next_char; - #endif /* MBS_SUPPORT */ -- return beg - buf; -- } -+ len = kwsmatch.size[0]; -+ if (exact && !match_words) -+ goto success_in_beg_and_len; - if (match_lines) - { - if (beg > buf && beg[-1] != eol) -- continue; -+ goto next_char; - if (beg + len < buf + size && beg[len] != eol) -- continue; -+ goto next_char; - goto success; - } - else if (match_words) -- for (try = beg; len; ) -- { -- if (try > buf && WCHAR((unsigned char) try[-1])) -- break; -- if (try + len < buf + size && WCHAR((unsigned char) try[len])) -- { -- offset = kwsexec (kwset, beg, --len, &kwsmatch); -- if (offset == (size_t) -1) -- { -+ { -+ while (len) -+ { -+ int word_match = 0; -+ if (beg > buf) -+ { - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free (mb_properties); -+ if (mb_cur_max > 1) -+ { -+ const char *s; -+ int mr; -+ wchar_t pwc; -+ -+ if (using_utf8) -+ { -+ s = beg - 1; -+ while (s > buf -+ && (unsigned char) *s >= 0x80 -+ && (unsigned char) *s <= 0xbf) -+ --s; -+ } -+ else -+ s = last_char; -+ mr = mbtowc (&pwc, s, beg - s); -+ if (mr <= 0) -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ else if ((iswalnum (pwc) || pwc == L'_') -+ && mr == (int) (beg - s)) -+ goto next_char; -+ } -+ else - #endif /* MBS_SUPPORT */ -- return offset; -- } -- try = beg + offset; -- len = kwsmatch.size[0]; -- } -- else -- goto success; -- } -+ if (WCHAR ((unsigned char) beg[-1])) -+ goto next_char; -+ } -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1) -+ { -+ wchar_t nwc; -+ int mr; -+ -+ mr = mbtowc (&nwc, beg + len, buf + size - beg - len); -+ if (mr <= 0) -+ { -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ word_match = 1; -+ } -+ else if (!iswalnum (nwc) && nwc != L'_') -+ word_match = 1; -+ } -+ else -+#endif /* MBS_SUPPORT */ -+ if (beg + len >= buf + size || !WCHAR ((unsigned char) beg[len])) -+ word_match = 1; -+ if (word_match) -+ { -+ if (!exact) -+ /* Returns the whole line now we know there's a word match. */ -+ goto success; -+ else -+ /* Returns just this word match. */ -+ goto success_in_beg_and_len; -+ } -+ if (len > 0) -+ { -+ /* Try a shorter length anchored at the same place. */ -+ --len; -+ offset = kwsexec (kwset, beg, len, &kwsmatch); -+ -+ if (offset == -1) -+ goto next_char; /* Try a different anchor. */ -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1 && !using_utf8) -+ { -+ size_t bytes_left = offset; -+ while (bytes_left) -+ { -+ size_t mlen = mbrlen (beg, bytes_left, &mbs); -+ -+ last_char = beg; -+ if (mlen == (size_t) -1 || mlen == 0) -+ { -+ /* Incomplete character: treat as single-byte. */ -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ beg++; -+ bytes_left--; -+ continue; -+ } -+ -+ if (mlen == (size_t) -2) -+ { -+ /* Offset points inside multibyte character: -+ * no good. */ -+ break; -+ } -+ -+ beg += mlen; -+ bytes_left -= mlen; -+ } -+ -+ if (bytes_left) -+ { -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ goto next_char; /* Try a different anchor. */ -+ } -+ } -+ else -+#endif /* MBS_SUPPORT */ -+ beg += offset; -+#ifdef MBS_SUPPORT -+ /* The string at beg now matches first 3 chars of one of -+ the search strings (less if there are shorter search -+ strings). See if this is a real match. */ -+ if (f_i_multibyte -+ && Fimbexec (beg, len - offset, &kwsmatch.size[0], -+ exact)) -+ goto next_char; -+#endif /* MBS_SUPPORT */ -+ len = kwsmatch.size[0]; -+ } -+ } -+ } - else - goto success; -- } -- -+next_char:; - #ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free (mb_properties); -+ /* Advance to next character. For MB_CUR_MAX == 1 case this is handled -+ by ++beg above. */ -+ if (mb_cur_max > 1) -+ { -+ if (using_utf8) -+ { -+ unsigned char c = *beg; -+ if (c >= 0xc2) -+ { -+ if (c < 0xe0) -+ ++beg; -+ else if (c < 0xf0) -+ beg += 2; -+ else if (c < 0xf8) -+ beg += 3; -+ else if (c < 0xfc) -+ beg += 4; -+ else if (c < 0xfe) -+ beg += 5; -+ } -+ } -+ else -+ { -+ size_t l = mbrlen (beg, buf + size - beg, &mbs); -+ -+ last_char = beg; -+ if (l + 2 >= 2) -+ beg += l - 1; -+ else -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ } -+ } - #endif /* MBS_SUPPORT */ -+ } -+ -+ failure: - return -1; - - success: -+#ifdef MBS_SUPPORT -+ if (mb_cur_max > 1 && !using_utf8) -+ { -+ end = beg + len; -+ while (end < buf + size) -+ { -+ size_t mlen = mbrlen (end, buf + size - end, &mbs); -+ if (mlen == (size_t) -1 || mlen == (size_t) -2 || mlen == 0) -+ { -+ memset (&mbs, '\0', sizeof (mbstate_t)); -+ mlen = 1; -+ } -+ if (mlen == 1 && *end == eol) -+ break; -+ -+ end += mlen; -+ } -+ } -+ else -+#endif /* MBS_SUPPORT */ - end = memchr (beg + len, eol, (buf + size) - (beg + len)); -+ - end++; - while (buf < beg && beg[-1] != eol) - --beg; -- *match_size = end - beg; --#ifdef MBS_SUPPORT -- if (MB_CUR_MAX > 1) -- free (mb_properties); --#endif /* MBS_SUPPORT */ -+ len = end - beg; -+ /* FALLTHROUGH */ -+ -+ success_in_beg_and_len: -+ *match_size = len; - return beg - buf; - } - -@@ -701,8 +1267,9 @@ Pexecute (char const *buf, size_t size, size_t *match_size, int exact) - char eol = eolbyte; - if (!exact) - { -- end = memchr (end, eol, buflim - end); -- end++; -+ while (end < buflim) -+ if (*end++ == eol) -+ break; - while (buf < beg && beg[-1] != eol) - --beg; - } --- -1.8.4.2 - diff --git a/meta/recipes-extended/grep/grep-2.5.1a/grep_fix_for_automake-1.12.patch b/meta/recipes-extended/grep/grep-2.5.1a/grep_fix_for_automake-1.12.patch deleted file mode 100644 index d9b1e35e72..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/grep_fix_for_automake-1.12.patch +++ /dev/null @@ -1,52 +0,0 @@ -Upstream-Status: Pending - -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.in:33: error: automatic de-ANSI-fication support has been removed -| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12/protos.m4:12: AM_C_PROTOTYPES is expanded from... -| configure.in:33: the top level -| autom4te: m4 failed with exit status: 1 -... -| lib/Makefile.am:2: error: automatic de-ANSI-fication support has been removed -| src/Makefile.am:2: error: automatic de-ANSI-fication support has been removed -| autoreconf: automake failed with exit status: 1 - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/04 - -Index: grep-2.5.1a/configure.in -=================================================================== ---- grep-2.5.1a.orig/configure.in -+++ grep-2.5.1a/configure.in -@@ -30,7 +30,6 @@ AC_PROG_RANLIB - - dnl Checks for typedefs, structures, and compiler characteristics. - AC_SYS_LARGEFILE --AM_C_PROTOTYPES - AC_TYPE_SIZE_T - AC_CHECK_TYPE(ssize_t, int) - AC_C_CONST -Index: grep-2.5.1a/lib/Makefile.am -=================================================================== ---- grep-2.5.1a.orig/lib/Makefile.am -+++ grep-2.5.1a/lib/Makefile.am -@@ -1,5 +1,5 @@ - # --AUTOMAKE_OPTIONS = ../src/ansi2knr -+AUTOMAKE_OPTIONS = - - SUBDIRS = posix - -Index: grep-2.5.1a/src/Makefile.am -=================================================================== ---- grep-2.5.1a.orig/src/Makefile.am -+++ grep-2.5.1a/src/Makefile.am -@@ -1,5 +1,5 @@ - ## Process this file with automake to create Makefile.in --AUTOMAKE_OPTIONS = ansi2knr no-dependencies -+AUTOMAKE_OPTIONS = no-dependencies - - LN = ln - diff --git a/meta/recipes-extended/grep/grep-2.5.1a/uclibc-fix.patch b/meta/recipes-extended/grep/grep-2.5.1a/uclibc-fix.patch deleted file mode 100644 index de054fc755..0000000000 --- a/meta/recipes-extended/grep/grep-2.5.1a/uclibc-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -# Fix to use mempcpy instead of __mempcpy. This is needed for uclibc which -# doesn't define __mempcpy, only mempcpy. Since both uclibc and glibc have -# mempcpy, we'll just use that instead. -# Patch source: OpenEmbedded - -Index: grep-2.5.1/intl/localealias.c -=================================================================== ---- grep-2.5.1.orig/intl/localealias.c 2002-03-14 00:39:06.000000000 +1100 -+++ grep-2.5.1/intl/localealias.c 2007-05-17 13:53:58.000000000 +1000 -@@ -65,7 +65,7 @@ - # define strcasecmp __strcasecmp - - # ifndef mempcpy --# define mempcpy __mempcpy -+# error "mempcpy not detected" - # endif - # define HAVE_MEMPCPY 1 - # define HAVE___FSETLOCKING 1 -Index: grep-2.5.1/lib/getopt.c -=================================================================== ---- grep-2.5.1.orig/lib/getopt.c 2001-03-04 16:33:12.000000000 +1100 -+++ grep-2.5.1/lib/getopt.c 2007-05-17 13:51:44.000000000 +1000 -@@ -326,7 +326,7 @@ - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { -- memset (__mempcpy (new_str, __getopt_nonoption_flags, -+ memset (mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; -@@ -437,7 +437,7 @@ - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else -- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), -+ memset (mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } -Index: grep-2.5.1/lib/regex.c -=================================================================== ---- grep-2.5.1.orig/lib/regex.c 2001-04-03 04:04:45.000000000 +1000 -+++ grep-2.5.1/lib/regex.c 2007-05-17 13:51:48.000000000 +1000 -@@ -7842,7 +7842,7 @@ - if (msg_size > errbuf_size) - { - #if defined HAVE_MEMPCPY || defined _LIBC -- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; -+ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; - #else - memcpy (errbuf, msg, errbuf_size - 1); - errbuf[errbuf_size - 1] = 0; diff --git a/meta/recipes-extended/grep/grep_2.5.1a.bb b/meta/recipes-extended/grep/grep_2.5.1a.bb deleted file mode 100644 index 5a2da28327..0000000000 --- a/meta/recipes-extended/grep/grep_2.5.1a.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "Pattern matching utilities" -DESCRIPTION = "The GNU versions of commonly used grep utilities. The grep command searches one or more input \ -files for lines containing a match to a specified pattern." -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -PR = "r2" - -SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \ - file://uclibc-fix.patch \ - file://grep_fix_for_automake-1.12.patch \ - file://gettext.patch \ - file://fix64-int-to-pointer.patch \ - file://Makevars \ - file://grep-CVE-2012-5667.patch \ - file://fix-for-texinfo-5.1.patch \ - file://grep-egrep-fgrep-Fix-LSB-NG-cases.patch \ - " - -SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" -SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132" - -inherit autotools gettext texinfo - -EXTRA_OECONF_INCLUDED_REGEX = "--without-included-regex" -EXTRA_OECONF_INCLUDED_REGEX_libc-musl = "--with-included-regex" - -EXTRA_OECONF = "--disable-perl-regexp \ - ${EXTRA_OECONF_INCLUDED_REGEX}" - -CFLAGS += "-D PROTOTYPES" -do_configure_prepend () { - rm -f ${S}/m4/init.m4 - cp -f ${WORKDIR}/Makevars ${S}/po/ -} - -do_install () { - autotools_do_install - install -d ${D}${base_bindir} - mv ${D}${bindir}/grep ${D}${base_bindir}/grep - mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep - mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep - rmdir ${D}${bindir}/ -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN} = "grep egrep fgrep" -ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" -ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" -ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" - -export CONFIG_SHELL="/bin/sh" diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/fix-narrowing-conversion-error.patch b/meta/recipes-extended/groff/groff-1.18.1.4/fix-narrowing-conversion-error.patch deleted file mode 100644 index 4b0176fcdd..0000000000 --- a/meta/recipes-extended/groff/groff-1.18.1.4/fix-narrowing-conversion-error.patch +++ /dev/null @@ -1,61 +0,0 @@ -From fc289ab69c6d7e4ad489172509a85f68afec43ea Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 29 Jul 2016 03:19:39 -0400 -Subject: [PATCH] fix narrowing conversion error - -While gcc6 used, build old groff (for anti-GPLv3 reasons) failed: -..... -|groff-1.18.1.4/src/devices/grolbp/charset.h:69:1: error: narrowing -conversion of '130' from 'int' to 'char' inside { } [-Wnarrowing] -...... - -In upstream git://git.savannah.gnu.org/groff.git, -the following commit fix the issue, but the license is GPLV3, -we could not backport it to the old groff which license is GPLV2. -... -commit d180038ae0da19655bc2760ae2043efa0550a76c -Author: Werner LEMBERG <wl@gnu.org> -Date: Wed Apr 16 21:11:07 2003 +0000 - * src/devices/grolbp/charset.h (symset): Use `unsigned char'. -... - -We use another different way to fix the issue. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - src/devices/grolbp/charset.h | 2 +- - src/devices/grolbp/lbp.cc | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/devices/grolbp/charset.h b/src/devices/grolbp/charset.h -index adc76f4..e9c6c5b 100644 ---- a/src/devices/grolbp/charset.h -+++ b/src/devices/grolbp/charset.h -@@ -1,6 +1,6 @@ - // Definition of the WP54 character set - --char symset[] = { -+int symset[] = { - 0x57,0x50,0x35,0x34,0x00,0x41,0x76,0x61,0x6e,0x74,0x47,0x61, - 0x72,0x64,0x65,0x2d,0x42,0x6f,0x6f,0x6b,0x00,0x41,0x76, - 0x61,0x6e,0x74,0x47,0x61,0x72,0x64,0x65,0x2d,0x44,0x65, -diff --git a/src/devices/grolbp/lbp.cc b/src/devices/grolbp/lbp.cc -index 76db32a..00d4ca7 100644 ---- a/src/devices/grolbp/lbp.cc -+++ b/src/devices/grolbp/lbp.cc -@@ -152,8 +152,8 @@ static void wp54charset() - { - unsigned int i; - lbpputs("\033[714;100;29;0;32;120.}"); -- for (i = 0; i < sizeof(symset); i++) -- lbpputc(symset[i]); -+ for (i = 0; i < sizeof(symset)/sizeof(symset[0]); i++) -+ lbpputc((char)symset[i]&0xFF); - lbpputs("\033[100;0 D"); - return; - } --- -2.8.1 - diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch b/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch deleted file mode 100644 index 559ae72898..0000000000 --- a/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Inappropriate [embedded] - -Signed-off-by: Ming Liu <ming.liu@windriver.com> ---- - Makefile.sub | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/contrib/groffer/Makefile.sub -+++ b/contrib/groffer/Makefile.sub -@@ -38,16 +38,16 @@ groffer: groffer.sh groffer2.sh version. - $(RM) $@; - sed \ - -e "s|@g@|$(g)|g" \ -- -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \ -+ -e "s|@BINDIR@|$(bindir)|g" \ - -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \ - -e "s|@VERSION@|$(version)$(revision)|g" \ - $(srcdir)/groffer.sh >$@; - chmod +x $@ - - install_data: groffer -- -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir) -- -$(RM) $(DESTDIR)$(bindir)/groffer -- $(INSTALL_SCRIPT) groffer $(DESTDIR)$(bindir)/groffer -+ -test -d $(bindir) || $(mkinstalldirs) $(bindir) -+ -$(RM) $(bindir)/groffer -+ $(INSTALL_SCRIPT) groffer $(bindir)/groffer - -test -d $(DESTDIR)$(libdir)/groff/groffer || \ - $(mkinstalldirs) $(DESTDIR)$(libdir)/groff/groffer - -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh -@@ -58,7 +58,7 @@ install_data: groffer - $(DESTDIR)$(libdir)/groff/groffer/version.sh - - uninstall_sub: -- -$(RM) $(DESTDIR)$(bindir)/groffer -+ -$(RM) $(bindir)/groffer - -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh - -$(RM) $(DESTDIR)$(libdir)/groff/groffer/version.sh - -rmdir $(DESTDIR)$(libdir)/groff/groffer diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-remove-mom.patch b/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-remove-mom.patch deleted file mode 100644 index c24eff9af5..0000000000 --- a/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-remove-mom.patch +++ /dev/null @@ -1,39 +0,0 @@ - -Upstream-Status: Inappropriate [embedded] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> ---- - groff-1.18.1.4/Makefile.in | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -460,27 +460,22 @@ OTHERDIRS=\ - src/roff/grog \ - src/roff/nroff \ - contrib/mm \ - contrib/pic2graph \ - contrib/eqn2graph \ -- contrib/groffer \ -- contrib/mom \ -- doc -+ contrib/groffer - ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \ - $(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS) - EXTRADIRS=\ - font/devps/generate \ - font/devdvi/generate \ - font/devlj4/generate \ -- src/xditview \ - doc - NOMAKEDIRS=\ - arch/djgpp \ - contrib/mm/examples \ - contrib/mm/mm \ -- contrib/mom/examples \ -- contrib/mom/momdoc \ - src/libs/snprintf - DISTDIRS=\ - $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDEVDIRS) \ - $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS) - TARGETS=all install install_bin install_data clean distclean mostlyclean \ diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/man-local.patch b/meta/recipes-extended/groff/groff-1.18.1.4/man-local.patch deleted file mode 100644 index e3f1aa6a48..0000000000 --- a/meta/recipes-extended/groff/groff-1.18.1.4/man-local.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Inappropriate [embedded] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: groff-1.18.1.4/tmac/man.local -=================================================================== ---- groff-1.18.1.4.orig/tmac/man.local 2000-10-26 22:15:17.000000000 +0800 -+++ groff-1.18.1.4/tmac/man.local 2010-08-24 14:17:52.070006664 +0800 -@@ -1,2 +1,27 @@ - .\" This file is loaded after an-old.tmac. - .\" Put any local modifications to an-old.tmac here. -+. -+.if n \{\ -+. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other -+. \" than utf8. -+. if !'\*[.T]'utf8' \ -+. tr \[oq]' -+. -+. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by -+. \" grotty. -+. if '\V[GROFF_SGR]'' \ -+. output x X tty: sgr 0 -+. -+. \" Debian: Map \- to the Unicode HYPHEN-MINUS character, to make -+. \" searching in man pages easier. -+. if '\*[.T]'utf8' \ -+. char \- \N'45' -+. -+. \" Debian: Many UTF-8 man pages use "-" instead of "\-" for dashes such -+. \" as those in command-line options. This is a bug in those pages, but -+. \" too many fonts are missing the Unicode HYPHEN character, so we render -+. \" this as the ASCII-compatible HYPHEN-MINUS instead. -+. if '\*[.T]'utf8' \ -+. char - \N'45' -+.\} -+ diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/mdoc-local.patch b/meta/recipes-extended/groff/groff-1.18.1.4/mdoc-local.patch deleted file mode 100644 index 409c1a5a18..0000000000 --- a/meta/recipes-extended/groff/groff-1.18.1.4/mdoc-local.patch +++ /dev/null @@ -1,36 +0,0 @@ - -Upstream-Status: Inappropriate [embedded] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: groff-1.18.1.4/tmac/mdoc.local -=================================================================== ---- groff-1.18.1.4.orig/tmac/mdoc.local 2001-03-23 08:17:51.000000000 +0800 -+++ groff-1.18.1.4/tmac/mdoc.local 2010-08-24 14:20:22.014006846 +0800 -@@ -1,2 +1,26 @@ - .\" This file is loaded after doc.tmac. - .\" Put any local modifications to doc.tmac here. -+. -+.if n \{\ -+. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other -+. \" than utf8. -+. if !'\*[.T]'utf8' \ -+. tr \[oq]' -+. -+. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by -+. \" grotty. -+. if '\V[GROFF_SGR]'' \ -+. output x X tty: sgr 0 -+. -+. \" Debian: Map \- to the Unicode HYPHEN-MINUS character, to make -+. \" searching in man pages easier. -+. if '\*[.T]'utf8' \ -+. char \- \N'45' -+. -+. \" Debian: Many UTF-8 man pages use "-" instead of "\-" for dashes such -+. \" as those in command-line options. This is a bug in those pages, but -+. \" too many fonts are missing the Unicode HYPHEN character, so we render -+. \" this as the ASCII-compatible HYPHEN-MINUS instead. -+. if '\*[.T]'utf8' \ -+. char - \N'45' -+.\} diff --git a/meta/recipes-extended/groff/groff_1.18.1.4.bb b/meta/recipes-extended/groff/groff_1.18.1.4.bb deleted file mode 100644 index fc7eb44781..0000000000 --- a/meta/recipes-extended/groff/groff_1.18.1.4.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "GNU Troff software" -DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \ -formatting commands and produces formatted output." -SECTION = "console/utils" -HOMEPAGE = "http://www.gnu.org/software/groff/" -LICENSE = "GPLv2" -PR = "r1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=e43fc16fccd8519fba405f0a0ff6e8a3" - -SRC_URI = "${GNU_MIRROR}/${BPN}/old/${BP}.tar.gz \ - file://groff-1.18.1.4-remove-mom.patch;striplevel=1 \ - file://man-local.patch \ - file://mdoc-local.patch \ - file://groff-1.18.1.4-fix-bindir.patch \ - file://fix-narrowing-conversion-error.patch \ -" - -inherit autotools texinfo - -EXTRA_OECONF="--without-x --prefix=${D} --exec-prefix=${D} --bindir=${D}${bindir} --datadir=${D}${datadir} --mandir=${D}${datadir}/man --infodir=${D}${datadir}info --with-appresdir=${D}${datadir}" - -SRC_URI[md5sum] = "ceecb81533936d251ed015f40e5f7287" -SRC_URI[sha256sum] = "ff3c7c3b6cae5e8cc5062a144de5eff0022e8e970e1774529cc2d5dde46ce50d" -PARALLEL_MAKE = "" - -do_configure (){ - oe_runconf -} - -do_install_append() { - # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location - # for target as /usr/bin/perl, so fix it to /usr/bin/perl. - for i in afmtodit mmroff; do - if [ -f ${D}${bindir}/$i ]; then - sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i - fi - done - - mkdir -p ${D}${sysconfdir}/groff - cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${sysconfdir}/groff/ - cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${datadir}/groff/${PV}/tmac/ -} - -pkg_postinst_${PN}() { - ln -s tbl $D${bindir}/gtbl - echo "export GROFF_FONT_PATH=/usr/share/groff/${PV}/font" >> $D${sysconfdir}/profile - echo "export GROFF_TMAC_PATH=/usr/share/groff/${PV}/tmac" >> $D${sysconfdir}/profile -} - diff --git a/meta/recipes-extended/gzip/gzip-1.3.12/dup-def-fix.patch b/meta/recipes-extended/gzip/gzip-1.3.12/dup-def-fix.patch deleted file mode 100644 index d9e8d212bf..0000000000 --- a/meta/recipes-extended/gzip/gzip-1.3.12/dup-def-fix.patch +++ /dev/null @@ -1,48 +0,0 @@ -gzip uses gnulib, whose header conflict with glibc. This patch rename some function to avoid conflict. - -Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> - -Upstream-Status: Inappropriate [licensing] - -Index: gzip-1.3.12/gzip.c -=================================================================== ---- gzip-1.3.12.orig/gzip.c 2010-08-13 10:29:38.000000000 +0800 -+++ gzip-1.3.12/gzip.c 2010-08-13 10:29:44.000000000 +0800 -@@ -1637,7 +1637,7 @@ - } - } - -- if (futimens (ofd, ofname, timespec) != 0) -+ if (futimens_gnulib (ofd, ofname, timespec) != 0) - { - int e = errno; - WARN ((stderr, "%s: ", program_name)); -Index: gzip-1.3.12/lib/utimens.c -=================================================================== ---- gzip-1.3.12.orig/lib/utimens.c 2010-08-13 10:33:47.000000000 +0800 -+++ gzip-1.3.12/lib/utimens.c 2010-08-13 10:34:02.000000000 +0800 -@@ -75,7 +75,7 @@ - Return 0 on success, -1 (setting errno) on failure. */ - - int --futimens (int fd ATTRIBUTE_UNUSED, -+futimens_gnulib (int fd ATTRIBUTE_UNUSED, - char const *file, struct timespec const timespec[2]) - { - /* Some Linux-based NFS clients are buggy, and mishandle time stamps -@@ -185,5 +185,5 @@ - int - utimens (char const *file, struct timespec const timespec[2]) - { -- return futimens (-1, file, timespec); -+ return futimens_gnulib (-1, file, timespec); - } -Index: gzip-1.3.12/lib/utimens.h -=================================================================== ---- gzip-1.3.12.orig/lib/utimens.h 2010-08-13 10:14:57.000000000 +0800 -+++ gzip-1.3.12/lib/utimens.h 2010-08-13 10:21:45.000000000 +0800 -@@ -1,3 +1,3 @@ - #include <time.h> --int futimens (int, char const *, struct timespec const [2]); -+int futimens_gnulib (int, char const *, struct timespec const [2]); - int utimens (char const *, struct timespec const [2]); diff --git a/meta/recipes-extended/gzip/gzip-1.3.12/m4-extensions-fix.patch b/meta/recipes-extended/gzip/gzip-1.3.12/m4-extensions-fix.patch deleted file mode 100644 index 6b2f69870e..0000000000 --- a/meta/recipes-extended/gzip/gzip-1.3.12/m4-extensions-fix.patch +++ /dev/null @@ -1,56 +0,0 @@ -remove AC_USE_SYSTEM_EXTENSIONS to fix the autoconf error "AC_REQUIRE: circular -dependency of AC_GNU_SOURCE" - -Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> - -Upstream-Status: Inappropriate [licensing] - -Index: gzip-1.3.12/m4/extensions.m4 -=================================================================== ---- gzip-1.3.12.orig/m4/extensions.m4 2010-08-16 14:18:16.000000000 +0800 -+++ gzip-1.3.12/m4/extensions.m4 2010-08-16 14:21:54.000000000 +0800 -@@ -12,44 +12,6 @@ - # enough in this area it's likely we'll need to redefine - # AC_USE_SYSTEM_EXTENSIONS for quite some time. - --# AC_USE_SYSTEM_EXTENSIONS --# ------------------------ --# Enable extensions on systems that normally disable them, --# typically due to standards-conformance issues. --AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], --[ -- AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -- AC_BEFORE([$0], [AC_RUN_IFELSE]) -- -- AC_REQUIRE([AC_GNU_SOURCE]) -- AC_REQUIRE([AC_AIX]) -- AC_REQUIRE([AC_MINIX]) -- -- AH_VERBATIM([__EXTENSIONS__], --[/* Enable extensions on Solaris. */ --#ifndef __EXTENSIONS__ --# undef __EXTENSIONS__ --#endif --#ifndef _POSIX_PTHREAD_SEMANTICS --# undef _POSIX_PTHREAD_SEMANTICS --#endif --#ifndef _TANDEM_SOURCE --# undef _TANDEM_SOURCE --#endif]) -- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], -- [ac_cv_safe_to_define___extensions__], -- [AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([ --# define __EXTENSIONS__ 1 -- AC_INCLUDES_DEFAULT])], -- [ac_cv_safe_to_define___extensions__=yes], -- [ac_cv_safe_to_define___extensions__=no])]) -- test $ac_cv_safe_to_define___extensions__ = yes && -- AC_DEFINE([__EXTENSIONS__]) -- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) -- AC_DEFINE([_TANDEM_SOURCE]) --]) -- - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ - # Enable extensions on systems that normally disable them, diff --git a/meta/recipes-extended/gzip/gzip_1.3.12.bb b/meta/recipes-extended/gzip/gzip_1.3.12.bb deleted file mode 100644 index e4062827bd..0000000000 --- a/meta/recipes-extended/gzip/gzip_1.3.12.bb +++ /dev/null @@ -1,15 +0,0 @@ -require gzip.inc - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://gzip.h;endline=22;md5=c0934ad1900d927f86556153d4c76d23 \ - file://lzw.h;endline=19;md5=c273e09a02edd9801cc74d39683049e9 " - -SRC_URI = "${GNU_MIRROR}/gzip/gzip-${PV}.tar.gz \ - file://m4-extensions-fix.patch \ - file://dup-def-fix.patch" - -SRC_URI[md5sum] = "b5bac2d21840ae077e0217bc5e4845b1" -SRC_URI[sha256sum] = "3f565be05f7f3d1aff117c030eb7c738300510b7d098cedea796ca8e4cd587af" - -PR = "r2" diff --git a/meta/recipes-extended/libidn/libidn_0.6.14.bb b/meta/recipes-extended/libidn/libidn_0.6.14.bb deleted file mode 100644 index c681560d82..0000000000 --- a/meta/recipes-extended/libidn/libidn_0.6.14.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Internationalized Domain Name support library" -DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." -HOMEPAGE = "http://www.gnu.org/software/libidn/" -SECTION = "libs" -LICENSE = "LGPLv2.1+ & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://lib/idna.h;beginline=6;endline=18;md5=1336e848ca7b8e25767c3c7e8fa38a89 \ - file://src/idn.c;beginline=6;endline=18;md5=56c89e359652a71cda128d75f0ffdac4" -PR = "r1" - -inherit pkgconfig autotools gettext texinfo - -SRC_URI = "http://alpha.gnu.org/gnu/libidn/${BPN}-${PV}.tar.gz" - -SRC_URI[md5sum] = "040f012a45feb56168853998bb87ad4d" -SRC_URI[sha256sum] = "98910c2ad664bdf4eed2c2fff88e24f8882636ec9d26669366ff03b469c05ae3" - -do_configure_prepend() { - # this version of libidn copies AC_USE_SYSTEM_EXTENSIONS from - # autoconf CVS because atm the autoconf it uses is a bit old - # now with cross autotool, that macro is already there and this - # local definition causes circular dependency. Actually AC_GNU_SOURCE - # is identical to AC_USE_SYSTEM_EXTENSIONS. So remove all local - # references to the latter here. - sed -i -e "/AC_REQUIRE(\[gl_USE_SYSTEM_EXTENSIONS/d" ${S}/lib/gl/m4/gnulib-comp.m4 - rm -f ${S}/lib/gl/m4/extensions.m4 -} - -do_install_append() { - rm -rf ${D}${libdir}/Libidn.dll - rm -rf ${D}${datadir}/emacs -} - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta/recipes-extended/mc/mc/mc-CTRL.patch b/meta/recipes-extended/mc/mc/mc-CTRL.patch deleted file mode 100644 index ee4ba9f26b..0000000000 --- a/meta/recipes-extended/mc/mc/mc-CTRL.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix build with musl by ensuring CTRL is defined. - -musl does not define CTRL in <termios.h>, we could include <sys/ttydefaults.h> -explicitly but it's easier just to ensure CTRL is defined. - -This patch is taken from Sabotage Linux, the license statement for patches and -build scripts in Sabotage Linux says: - - To the extent possible under law, Christian Neukirchen has waived - all copyright and related or neighboring rights to this work. - - http://creativecommons.org/publicdomain/zero/1.0/ - -Therefore this should be good to include in OpenEmbedded. - -Signed-off-by: Paul Barker <paul@paulbarker.me.uk> - -Upstream-Status: Accepted (should be included in v4.8.14) - -diff -u mc-4.8.1.7.org/lib/tty/tty-ncurses.c mc-4.8.1.7/lib/tty/tty-ncurses.c ---- mc-4.8.1.7.org/lib/tty/tty-ncurses.c -+++ mc-4.8.1.7/lib/tty/tty-ncurses.c -@@ -65,7 +65,7 @@ - - /*** file scope macro definitions ****************************************************************/ - --#if defined(_AIX) && !defined(CTRL) -+#if !defined(CTRL) - #define CTRL(x) ((x) & 0x1f) - #endif - diff --git a/meta/recipes-extended/mc/mc_4.7.5.2.bb b/meta/recipes-extended/mc/mc_4.7.5.2.bb deleted file mode 100644 index b38964d827..0000000000 --- a/meta/recipes-extended/mc/mc_4.7.5.2.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Midnight Commander is an ncurses based file manager" -HOMEPAGE = "http://www.midnight-commander.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -SECTION = "console/utils" -DEPENDS = "ncurses glib-2.0" -RDEPENDS_${PN} = "ncurses-terminfo" - -PR = "r3" - -SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ - file://mc-CTRL.patch \ - " - -SRC_URI[md5sum] = "bdae966244496cd4f6d282d80c9cf3c6" -SRC_URI[sha256sum] = "a68338862bb30017eb65ed569a58e80ab66ae8cef11c886440c9e9f4d1efc6ab" - -inherit autotools gettext pkgconfig - -EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --without-samba" - -do_install_append () { - sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/* - sed -i -e '1s,#!.*python,#!${bindir}/env python,' ${D}${libexecdir}/mc/extfs.d/* -} - -PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers-python ${BPN}-helpers ${BPN}-fish" - -SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts" -FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \ - ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \ - ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \ - ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \ - ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \ - ${libexecdir}/mc/extfs.d/uzip" -RDEPENDS_${BPN}-helpers-perl = "perl" - -SUMMARY_${BPN}-helpers-python = "Midnight Commander Python-based helper scripts" -FILES_${BPN}-helpers-python = "${libexecdir}/mc/extfs.d/s3+ ${libexecdir}/mc/extfs.d/uc1541" -RDEPENDS_${BPN}-helpers-python = "python" - -SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts" -FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*" - -SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts" -FILES_${BPN}-fish = "${libexecdir}/mc/fish" - diff --git a/meta/recipes-extended/sed/sed-4.1.2/Makevars b/meta/recipes-extended/sed/sed-4.1.2/Makevars deleted file mode 100644 index 8b09f53b0f..0000000000 --- a/meta/recipes-extended/sed/sed-4.1.2/Makevars +++ /dev/null @@ -1,25 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = Free Software Foundation, Inc. - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = diff --git a/meta/recipes-extended/sed/sed-4.1.2/fix_return_type.patch b/meta/recipes-extended/sed/sed-4.1.2/fix_return_type.patch deleted file mode 100644 index 836551ea18..0000000000 --- a/meta/recipes-extended/sed/sed-4.1.2/fix_return_type.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Pending - -Change the getline return type to match its declaration. - -Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> - -diff -urN sed-4.1.2-orig/lib/getline.c sed-4.1.2/lib/getline.c ---- sed-4.1.2-orig/lib/getline.c 2010-08-31 08:47:50.070094024 +0800 -+++ sed-4.1.2/lib/getline.c 2010-08-31 08:48:50.982178172 +0800 -@@ -30,7 +30,7 @@ - necessary. Returns the number of characters read (not including the - null terminator), or -1 on error or EOF. */ - --size_t -+ssize_t - getline (lineptr, n, stream) - char **lineptr; - size_t *n; diff --git a/meta/recipes-extended/sed/sed-4.1.2/sed-4.1.2_fix_for_automake-1.12.patch b/meta/recipes-extended/sed/sed-4.1.2/sed-4.1.2_fix_for_automake-1.12.patch deleted file mode 100644 index c7c0aa015d..0000000000 --- a/meta/recipes-extended/sed/sed-4.1.2/sed-4.1.2_fix_for_automake-1.12.patch +++ /dev/null @@ -1,37 +0,0 @@ -Upstream-Status: Pending - -automake-1.12.x has deprecated use of @mkdir_p@, fix the issue by using @MKDIR_P@ instead. - -Avoid this build issue: -| make[1]: mkdir_p@: Command not found -| make[1]: *** [install-data-yes] Error 127 - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/07/13 - -Index: sed-4.1.2/intl/Makefile.in -=================================================================== ---- sed-4.1.2.orig/intl/Makefile.in -+++ sed-4.1.2/intl/Makefile.in -@@ -40,7 +40,7 @@ subdir = intl - INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - mkinstalldirs = $(mkdir_p) --mkdir_p = @mkdir_p@ -+mkdir_p = @MKDIR_P@ - - l = @INTL_LIBTOOL_SUFFIX_PREFIX@ - -Index: sed-4.1.2/po/Makefile.in.in -=================================================================== ---- sed-4.1.2.orig/po/Makefile.in.in -+++ sed-4.1.2/po/Makefile.in.in -@@ -29,7 +29,7 @@ gettextsrcdir = $(datadir)/gettext/po - INSTALL = /srv/home/nitin/builds2/build0/tmp/sysroots/x86_64-linux/usr/bin/install -c - INSTALL_DATA = ${INSTALL} -m 644 - mkinstalldirs = $(mkdir_p) --mkdir_p = @mkdir_p@ -+mkdir_p = @MKDIR_P@ - - CC = i586-poky-linux-gcc -m32 -march=i586 --sysroot=/srv/home/nitin/builds2/build0/tmp/sysroots/qemux86 - GMSGFMT = /srv/home/nitin/builds2/build0/tmp/sysroots/x86_64-linux/usr/bin/msgfmt diff --git a/meta/recipes-extended/sed/sed_4.1.2.bb b/meta/recipes-extended/sed/sed_4.1.2.bb deleted file mode 100644 index 40e3a53ceb..0000000000 --- a/meta/recipes-extended/sed/sed_4.1.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Stream EDitor (text filtering utility)" -HOMEPAGE = "http://www.gnu.org/software/sed/" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://sed/sed.h;beginline=1;endline=17;md5=e00ffd1837f298439a214fd197f6a407" -SECTION = "console/utils" -PR = "r7" - -SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.gz \ - file://fix_return_type.patch \ - file://sed-4.1.2_fix_for_automake-1.12.patch \ - file://Makevars" - -SRC_URI[md5sum] = "928f0e06422f414091917401f1a834d0" -SRC_URI[sha256sum] = "638e837ba765d5da0a30c98b57c2953cecea96827882f594612acace93ceeeab" - -inherit autotools texinfo update-alternatives gettext - -do_configure_prepend () { - cp ${WORKDIR}/Makevars ${S}/po/ -} - -do_install () { - autotools_do_install - install -d ${D}${base_bindir} - if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then - mv ${D}${bindir}/sed ${D}${base_bindir}/sed - rmdir ${D}${bindir}/ - fi -} - -ALTERNATIVE_${PN} = "sed" -ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed" -ALTERNATIVE_PRIORITY = "100" - diff --git a/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch b/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch deleted file mode 100644 index af5026f529..0000000000 --- a/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Inappropriate [bugfix: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624] -CVE: CVE-2010-0624 - -This patch avoids heap overflow reported by : -http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624 - -This is a clean patch for the GPLv2 tar recipe. - -Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/25 - -Index: tar-1.17/lib/rtapelib.c -=================================================================== ---- tar-1.17.orig/lib/rtapelib.c -+++ tar-1.17/lib/rtapelib.c -@@ -570,7 +570,7 @@ rmt_read__ (int handle, char *buffer, si - - sprintf (command_buffer, "R%lu\n", (unsigned long) length); - if (do_command (handle, command_buffer) == -1 -- || (status = get_status (handle)) == SAFE_READ_ERROR) -+ || ((status = get_status (handle)) == SAFE_READ_ERROR) || (status > length)) - return SAFE_READ_ERROR; - - for (counter = 0; counter < status; counter += rlen, buffer += rlen) diff --git a/meta/recipes-extended/tar/tar-1.17/gcc43build.patch b/meta/recipes-extended/tar/tar-1.17/gcc43build.patch deleted file mode 100644 index f8059a0a89..0000000000 --- a/meta/recipes-extended/tar/tar-1.17/gcc43build.patch +++ /dev/null @@ -1,37 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -# Fix errors when built with gcc 4.3 -# Patch taken from Debian bug #452096 - -diff -urN tar-1.17.orig/lib/argp-fmtstream.h tar-1.17/lib/argp-fmtstream.h ---- tar-1.17.orig/lib/argp-fmtstream.h 2006-01-11 12:24:05.000000000 -0800 -+++ tar-1.17/lib/argp-fmtstream.h 2010-07-22 22:36:12.000000000 -0700 -@@ -198,7 +198,11 @@ - #endif - - #ifndef ARGP_FS_EI --#define ARGP_FS_EI extern inline -+ #if defined __GNUC_STDC_INLINE__ -+ #define ARGP_FS_EI extern inline __attribute__((__gnu_inline__)) -+ #else -+ #define ARGP_FS_EI extern inline -+ #endif - #endif - - ARGP_FS_EI size_t -diff -urN tar-1.17.orig/lib/argp.h tar-1.17/lib/argp.h ---- tar-1.17.orig/lib/argp.h 2007-03-30 00:09:11.000000000 -0700 -+++ tar-1.17/lib/argp.h 2010-07-22 22:38:44.000000000 -0700 -@@ -580,7 +580,11 @@ - # endif - - # ifndef ARGP_EI --# define ARGP_EI extern __inline__ -+# if defined __GNUC_STDC_INLINE__ -+# define ARGP_EI extern __inline__ __attribute__((__gnu_inline__)) -+# else -+# define ARGP_EI extern __inline__ -+# endif - # endif - - ARGP_EI void diff --git a/meta/recipes-extended/tar/tar-1.17/m4extensions.patch b/meta/recipes-extended/tar/tar-1.17/m4extensions.patch deleted file mode 100644 index 30534c29ce..0000000000 --- a/meta/recipes-extended/tar/tar-1.17/m4extensions.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Inappropriate [licensing] - -# Define AC_USE_SYSTEM_EXTENSIONS only if it was previously undefined. -# This is needed to configure correctly with newer versions of autoconf. - ---- tar-1.17/m4/extensions.m4.orig 2010-07-22 22:21:35.000000000 -0700 -+++ tar-1.17/m4/extensions.m4 2010-07-22 22:23:41.000000000 -0700 -@@ -1,4 +1,4 @@ --# serial 4 -*- Autoconf -*- -+# serial 5 -*- Autoconf -*- - # Enable extensions on systems that normally disable them. - - # Copyright (C) 2003, 2006 Free Software Foundation, Inc. -@@ -16,6 +16,7 @@ - # ------------------------ - # Enable extensions on systems that normally disable them, - # typically due to standards-conformance issues. -+m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [], [ - AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], - [ - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) -@@ -48,7 +49,7 @@ - AC_DEFINE([__EXTENSIONS__]) - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) - AC_DEFINE([_TANDEM_SOURCE]) --]) -+])]) - - # gl_USE_SYSTEM_EXTENSIONS - # ------------------------ diff --git a/meta/recipes-extended/tar/tar_1.17.bb b/meta/recipes-extended/tar/tar_1.17.bb deleted file mode 100644 index b9ca2063df..0000000000 --- a/meta/recipes-extended/tar/tar_1.17.bb +++ /dev/null @@ -1,14 +0,0 @@ -require tar.inc - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PR = "r3" - -SRC_URI += "file://m4extensions.patch \ - file://gcc43build.patch \ - file://avoid_heap_overflow.patch \ - " - -SRC_URI[md5sum] = "c6c4f1c075dbf0f75c29737faa58f290" -SRC_URI[sha256sum] = "19f9021dda51a16295e4706e80870e71f87107675e51c176a491eba0fc4ca492" diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch b/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch deleted file mode 100644 index f4d66600a1..0000000000 --- a/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch +++ /dev/null @@ -1,28 +0,0 @@ -fix the macro check - -Upstream-Status: Pending - -configure does not check if locale.h exists, but check setlocale, -if setlocale exist, the locale.h should exist. - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - lib/system.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/system.h b/lib/system.h -index 946eb3c..c70037b 100644 ---- a/lib/system.h -+++ b/lib/system.h -@@ -42,7 +42,7 @@ extern char *substring (const char *, const char *); - #include <ctype.h> - - /* All systems nowadays probably have these functions, but ... */ --#ifdef HAVE_LOCALE_H -+#ifdef HAVE_SETLOCALE - #include <locale.h> - #endif - #ifndef HAVE_SETLOCALE --- -1.7.10.4 - diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch b/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch deleted file mode 100644 index 81ebe26cf6..0000000000 --- a/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 458e9450cecf703f55536e609365162719585900 Mon Sep 17 00:00:00 2001 -From: "Roy.Li" <rongqing.li@windriver.com> -Date: Wed, 10 Sep 2014 17:03:29 +0800 -Subject: [PATCH] do not compile host tools, since we have native - -Upstream-Status: Pending - -Signed-off-by: Roy.Li <rongqing.li@windriver.com> ---- - configure.ac | 23 +---------------------- - 1 file changed, 1 insertion(+), 22 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b46130d..cf58654 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -90,28 +90,7 @@ AC_CANONICAL_BUILD - # $native_tools is also added to SUBDIRS in the main Makefile.am, - # so that make compiles the native tools first. - # --if test "$cross_compiling" = no; then -- native_tools= --else -- native_tools=tools -- test -d "$native_tools" || mkdir "$native_tools" -- confdir=`(cd "$srcdir";pwd)` -- # Make sure the secondary configure won't fail with -- # "error: source directory already configured". -- rm -f config.status -- AC_MSG_NOTICE([[Doing configure of native tools (${build}).]]) -- cd "$native_tools" || exit 1 -- # Run secondary configure in alternate environment or -- # it gets the wrong CC etc. env -i gives this build host configure -- # a clean environment. -- env -i CC="${BUILD_CC}" AR="${BUILD_AR}" RANLIB="${BUILD_RANLIB}" \ -- PATH="${PATH}" \ -- tools_only=1 \ -- ${confdir}/configure --build=${build} --host=${build} \ -- --disable-rpath --disable-nls -- cd .. || exit 1 -- AC_MSG_NOTICE([[Continuing with main configure (${host}).]]) --fi -+native_tools= - AC_SUBST(native_tools) - AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]]) - --- -1.9.1 - diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch b/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch deleted file mode 100644 index 2297051ddb..0000000000 --- a/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9b0df7d6d3c18cfac82c291d60a5357d1bc8d9d0 Mon Sep 17 00:00:00 2001 -From: "Roy.Li" <rongqing.li@windriver.com> -Date: Wed, 10 Sep 2014 17:10:03 +0800 -Subject: [PATCH] using native makeinfo - -Upstream-Status: Pending - -Signed-off-by: Roy.Li <rongqing.li@windriver.com> ---- - doc/Makefile.am | 2 +- - -diff --git a/doc/Makefile.am b/doc/Makefile.am -index 63df818..b6ceb34 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -19,7 +19,7 @@ man_MANS = info.1 infokey.1 install-info.1 makeinfo.1 texindex.1 texi2dvi.1 \ - - # Use the programs built in our distribution, taking account of possible - # cross-compiling. --MAKEINFO = $(top_builddir)/$(native_tools)/makeinfo/makeinfo -+MAKEINFO = makeinfo - INSTALL_INFO = $(top_builddir)/$(native_tools)/util/install-info - - TXI_XLATE = txi-cs.tex txi-de.tex txi-en.tex txi-es.tex txi-fr.tex \ diff --git a/meta/recipes-extended/texinfo/texinfo_4.8.bb b/meta/recipes-extended/texinfo/texinfo_4.8.bb deleted file mode 100644 index 13678e093b..0000000000 --- a/meta/recipes-extended/texinfo/texinfo_4.8.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Documentation system for on-line information and printed output" -DESCRIPTION = "Texinfo is a documentation system that can produce both \ -online information and printed output from a single source file. The \ -GNU Project uses the Texinfo file format for most of its documentation." -HOMEPAGE = "http://www.gnu.org/software/texinfo/" -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -PROVIDES_append_class-native = " texinfo-4.8-replacement-native" - -DEPENDS = "zlib ncurses texinfo-4.8-replacement-native" -DEPENDS_class-native = "zlib-native ncurses-native" - -TARGET_PATCH = "file://use_host_makedoc.patch \ - file://using-native-makeinfo.patch \ -" -TARGET_PATCH_class-native = "" - -SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ - file://check-locale-h.patch \ - file://do-compile-native-tools.patch \ - ${TARGET_PATCH} \ - " - -SRC_URI[md5sum] = "4e9a1a591ed236003d0d4b008bf07eef" -SRC_URI[sha256sum] = "1f3cdeebe65fdf510f55d765ab1031b54416aa5bc2635b6a54ef9bcb2367c917" - -tex_texinfo = "texmf/tex/texinfo" - -inherit gettext autotools - -do_install_append() { - mkdir -p ${D}${datadir}/${tex_texinfo} - install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo} -} - -do_install_append_class-native() { - install -m 755 info/makedoc ${D}${bindir} - install -m 755 makeinfo/makeinfo ${D}${bindir} -} - -PACKAGES += "info info-doc" - -FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" -FILES_info-doc = "${infodir}/info.info ${infodir}/dir ${infodir}/info-*.info \ - ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ - ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" - -FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" -FILES_${PN}-doc = "${infodir}/texinfo* \ - ${datadir}/${tex_texinfo} \ - ${mandir}/man1 ${mandir}/man5" - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/which/which-2.18/automake-foreign.patch b/meta/recipes-extended/which/which-2.18/automake-foreign.patch deleted file mode 100644 index 495cdc6cf4..0000000000 --- a/meta/recipes-extended/which/which-2.18/automake-foreign.patch +++ /dev/null @@ -1,28 +0,0 @@ -Subject: [PATCH] automake foreign strictness - -Use foreign strictness to avoid automake errors. - -Upstream-Status: Inappropriate [upstream no longer active] - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - configure.ac | 5 +++-- - 1 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b30b6f5..bd3222c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,6 +1,7 @@ - dnl Process this file with autoconf to produce a configure script. --AC_INIT(which.c) --AM_INIT_AUTOMAKE(which, 2.18) -+AC_INIT([which],[2.18]) -+AC_CONFIG_SRCDIR(which.c) -+AM_INIT_AUTOMAKE([foreign]) - AM_CONFIG_HEADER(config.h) - AM_MAINTAINER_MODE - --- -1.7.1 - diff --git a/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch b/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch deleted file mode 100644 index 0e0988b262..0000000000 --- a/meta/recipes-extended/which/which-2.18/fix_name_conflict_group_member.patch +++ /dev/null @@ -1,53 +0,0 @@ -Upstream-Status: Inappropriate [this is 2.18(GPLv2) specific] - -# glibc also implements the function group_member. To avoid name conflict, -# here let us append a "_" to which's version. -# -# Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>, 2010-08-20 -# (this patch is licensed under GPLv2) - ---- which-2.18/bash.c -+++ which-2.18/bash.c -@@ -45,7 +45,12 @@ - * - changed all occurences of 'gid_t' into 'GID_T'. - * - exported functions needed in which.c - */ --static int group_member (GID_T gid); -+ -+/* -+ * glibc also implements the function group_member. To avoid name conflict, -+ * here let us append a "_" to which's version. -+ */ -+static int _group_member (GID_T gid); - static char* extract_colon_unit (char const* string, int *p_index); - - /*=========================================================================== -@@ -200,8 +205,8 @@ - - /* From bash-2.05b / general.c / line 805 */ - /* Return non-zero if GID is one that we have in our groups list. */ --int --group_member (GID_T gid) -+static int -+_group_member (GID_T gid) - { - #if defined (HAVE_GETGROUPS) - register int i; -@@ -290,7 +295,7 @@ - return (X_BIT (u_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS; - - /* Otherwise, if we are in the owning group, the group permissions apply. */ -- if (group_member (finfo.st_gid)) -+ if (_group_member (finfo.st_gid)) - return (X_BIT (g_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS; - - /* Otherwise, if we are in the other group, the other permissions apply. */ -@@ -331,7 +336,7 @@ - /* Given a string containing units of information separated by colons, - return the next one pointed to by (P_INDEX), or NULL if there are no more. - Advance (P_INDEX) to the character after the colon. */ --char* -+static char* - extract_colon_unit (char const* string, int* p_index) - { - int i, start, len; diff --git a/meta/recipes-extended/which/which_2.18.bb b/meta/recipes-extended/which/which_2.18.bb deleted file mode 100644 index eb6cc9967e..0000000000 --- a/meta/recipes-extended/which/which_2.18.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Displays the full path of shell commands" -DESCRIPTION = "Which is a utility that prints out the full path of the \ -executables that bash(1) would execute when the passed \ -program names would have been entered on the shell prompt. \ -It does this by using the exact same algorithm as bash." -SECTION = "libs" -HOMEPAGE = "http://carlo17.home.xs4all.nl/which/" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -PR = "r2" - -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/which/which-2.18.tar.gz/42d51938e48b91f6e19fabf216f5c3e9/which-${PV}.tar.gz \ - file://fix_name_conflict_group_member.patch \ - file://automake-foreign.patch \ -" - -SRC_URI[md5sum] = "42d51938e48b91f6e19fabf216f5c3e9" -SRC_URI[sha256sum] = "9445cd7e02ec0c26a44fd56098464ded064ba5d93dd2e15ec12410ba56b2e544" - -DEPENDS = "cwautomacros-native" - -inherit autotools texinfo update-alternatives - -do_configure_prepend() { - OLD="@ACLOCAL_CWFLAGS@" - NEW="-I ${STAGING_DIR_NATIVE}/${datadir}/cwautomacros/m4" - sed -i "s#${OLD}#${NEW}#g" `grep -rl ${OLD} ${S}` -} - -ALTERNATIVE_${PN} = "which" -ALTERNATIVE_PRIORITY = "100" - diff --git a/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb b/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb deleted file mode 100644 index 3480ec74bf..0000000000 --- a/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb +++ /dev/null @@ -1,8 +0,0 @@ -require rxvt-unicode.inc - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/main.C;beginline=1;endline=31;md5=775485398a09fa7aee6f90464af88432" - -SRC_URI[md5sum] = "4a5b823f08d21036f94a6c51e94d025b" -SRC_URI[sha256sum] = "e73e13fe64b59fd3c8e6e20c00f149d388741f141b8155e4700d3ed40aa94b4e" diff --git a/meta/recipes-support/gdbm/gdbm-1.8.3/ldflags.patch b/meta/recipes-support/gdbm/gdbm-1.8.3/ldflags.patch deleted file mode 100644 index d3cb43b9b9..0000000000 --- a/meta/recipes-support/gdbm/gdbm-1.8.3/ldflags.patch +++ /dev/null @@ -1,22 +0,0 @@ -Obey LDFLAGS - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> -Upstream-Status: Inappropriate [old version] - ---- gdbm-1.8.3.orig/Makefile.in -+++ gdbm-1.8.3/Makefile.in -@@ -156,12 +156,12 @@ install-compat: - - libgdbm.la: $(LOBJS) gdbm.h - rm -f libgdbm.la -- $(LIBTOOL) --mode=link $(CC) -o libgdbm.la -rpath $(libdir) \ -+ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o libgdbm.la -rpath $(libdir) \ - -version-info $(SHLIB_VER) $(LOBJS) - - libgdbm_compat.la: $(C_LOBJS) gdbm.h - rm -f libgdbm_compat.la -- $(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \ -+ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o libgdbm_compat.la -rpath $(libdir) \ - -version-info $(SHLIB_VER) $(C_LOBJS) - - gdbm.h: gdbm.proto gdbmerrno.h gdbm.proto2 diff --git a/meta/recipes-support/gdbm/gdbm-1.8.3/libtool-mode.patch b/meta/recipes-support/gdbm/gdbm-1.8.3/libtool-mode.patch deleted file mode 100644 index 0f9d04f4a1..0000000000 --- a/meta/recipes-support/gdbm/gdbm-1.8.3/libtool-mode.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Pending - ---- gdbm-1.8.3/Makefile.in.orig 2006-02-16 15:17:25.000000000 +0000 -+++ gdbm-1.8.3/Makefile.in 2006-02-16 15:18:08.000000000 +0000 -@@ -131,7 +131,7 @@ - $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ - $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \ - $(DESTDIR)$(infodir) -- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la -+ $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la - $(INSTALL_DATA) gdbm.h \ - $(DESTDIR)$(includedir)/gdbm.h - $(INSTALL_DATA) $(srcdir)/gdbm.3 \ -@@ -142,7 +142,7 @@ - install-compat: - $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ - $(DESTDIR)$(includedir) -- $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ -+ $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm_compat.la \ - $(DESTDIR)$(libdir)/libgdbm_compat.la - $(INSTALL_DATA) $(srcdir)/dbm.h \ - $(DESTDIR)$(includedir)/dbm.h diff --git a/meta/recipes-support/gdbm/gdbm-1.8.3/makefile.patch b/meta/recipes-support/gdbm/gdbm-1.8.3/makefile.patch deleted file mode 100644 index 369145c410..0000000000 --- a/meta/recipes-support/gdbm/gdbm-1.8.3/makefile.patch +++ /dev/null @@ -1,60 +0,0 @@ -Upstream-Status: Pending - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- gdbm-1.8.3/Makefile.in~makefile -+++ gdbm-1.8.3/Makefile.in -@@ -22,6 +22,7 @@ - TEXI2DVI = texi2dvi - - DEFS = -+DESTDIR = - - # Where the system [n]dbm routines are... - LIBS = @LIBS@ -lc -@@ -127,26 +128,26 @@ - progs: $(PROGS) - - install: libgdbm.la gdbm.h gdbm.info -- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ -- $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \ -- $(INSTALL_ROOT)$(infodir) -- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la -- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \ -- $(INSTALL_ROOT)$(includedir)/gdbm.h -- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \ -- $(INSTALL_ROOT)$(man3dir)/gdbm.3 -- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \ -- $(INSTALL_ROOT)$(infodir)/gdbm.info -+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ -+ $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \ -+ $(DESTDIR)$(infodir) -+ $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la -+ $(INSTALL_DATA) gdbm.h \ -+ $(DESTDIR)$(includedir)/gdbm.h -+ $(INSTALL_DATA) $(srcdir)/gdbm.3 \ -+ $(DESTDIR)$(man3dir)/gdbm.3 -+ $(INSTALL_DATA) $(srcdir)/gdbm.info \ -+ $(DESTDIR)$(infodir)/gdbm.info - - install-compat: -- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ -- $(INSTALL_ROOT)$(includedir) -+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ -+ $(DESTDIR)$(includedir) - $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ -- $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la -- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \ -- $(INSTALL_ROOT)$(includedir)/dbm.h -- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \ -- $(INSTALL_ROOT)$(includedir)/ndbm.h -+ $(DESTDIR)$(libdir)/libgdbm_compat.la -+ $(INSTALL_DATA) $(srcdir)/dbm.h \ -+ $(DESTDIR)$(includedir)/dbm.h -+ $(INSTALL_DATA) $(srcdir)/ndbm.h \ -+ $(DESTDIR)$(includedir)/ndbm.h - - #libgdbm.a: $(OBJS) gdbm.h - # rm -f libgdbm.a diff --git a/meta/recipes-support/gdbm/gdbm_1.8.3.bb b/meta/recipes-support/gdbm/gdbm_1.8.3.bb deleted file mode 100644 index b253dc1447..0000000000 --- a/meta/recipes-support/gdbm/gdbm_1.8.3.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Key/value database library with extensible hashing" -HOMEPAGE = "http://www.gnu.org/software/gdbm/" -SECTION = "libs" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d8e20eece214df8ef953ed5857862150" - -PR = "r4" - -SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \ - file://makefile.patch \ - file://libtool-mode.patch \ - file://ldflags.patch" - -SRC_URI[md5sum] = "1d1b1d5c0245b1c00aff92da751e9aa1" -SRC_URI[sha256sum] = "cc340338a2e28b40058ab9eb5354a21d53f88a1582ea21ba0bb185c37a281dc9" - -inherit autotools texinfo - -BBCLASSEXTEND = "native nativesdk" - -do_install_append () { - oe_runmake install-compat DESTDIR=${D} - install -d ${D}${includedir}/gdbm - install -m 0644 ${S}/dbm.h ${D}${includedir}/ - install -m 0644 ${S}/ndbm.h ${D}${includedir}/ - # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find - # these headers - ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h - ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h -} diff --git a/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch b/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch deleted file mode 100644 index 627d71aba9..0000000000 --- a/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3cb33502bafd04b8ad4ca3454fab16d5ff313297 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 22 Sep 2015 13:16:23 +0300 -Subject: [PATCH] Use __gnu_inline__ attribute - -gcc5 uses C11 inline rules. This means the old "extern inline" -semantics are not available without a special attribute. - -See: https://gcc.gnu.org/gcc-5/porting_to.html - -Upstream-Status: Inappropriate [Fixed in current versions] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - gmp-h.in | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gmp-h.in b/gmp-h.in -index eed6fe4..361dd1d 100644 ---- a/gmp-h.in -+++ b/gmp-h.in -@@ -419,8 +419,11 @@ typedef __mpq_struct *mpq_ptr; - /* gcc has __inline__ in all modes, including strict ansi. Give a prototype - for an inline too, so as to correctly specify "dllimport" on windows, in - case the function is called rather than inlined. */ -+ -+/* Use __gnu_inline__ attribute: later gcc uses different "extern inline" -+ behaviour */ - #ifdef __GNUC__ --#define __GMP_EXTERN_INLINE extern __inline__ -+#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) - #define __GMP_INLINE_PROTOTYPES 1 - #endif - --- -2.1.4 - diff --git a/meta/recipes-support/gmp/gmp-4.2.1/avoid-h-asm-constraint-for-MIPS.patch b/meta/recipes-support/gmp/gmp-4.2.1/avoid-h-asm-constraint-for-MIPS.patch deleted file mode 100644 index 6da0be9ca0..0000000000 --- a/meta/recipes-support/gmp/gmp-4.2.1/avoid-h-asm-constraint-for-MIPS.patch +++ /dev/null @@ -1,57 +0,0 @@ -From d50686de0406a88ef9112f5252103f799982e84a Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Thu, 4 Feb 2016 14:00:00 -0800 -Subject: [PATCH] avoid h asm constraint for MIPS - -The h asm constrain (to extract the high part of a multiplication -result) has not been recognised since gcc 4.4: - - https://gcc.gnu.org/gcc-4.4/changes.html - -Drop the MIPS umul_ppmm() implementations which rely on "=h" and fall -back to the older implementations (which use explicit mfhi and mflo -instructions to move the high and low parts of the multiplication -result into their destinations). - -Upstream-Status: Inappropriate [upstream has a different solution] - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> ---- - longlong.h | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/longlong.h b/longlong.h -index b53fbee..0193abb 100644 ---- a/longlong.h -+++ b/longlong.h -@@ -1011,27 +1011,17 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype)); - #endif /* __m88000__ */ - - #if defined (__mips) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ - : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif - #define UMUL_TIME 10 - #define UDIV_TIME 100 - #endif /* __mips */ - - #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ - : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif - #define UMUL_TIME 20 - #define UDIV_TIME 140 - #endif /* __mips */ --- -1.9.1 - diff --git a/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch deleted file mode 100644 index 26fd8ef8bc..0000000000 --- a/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch +++ /dev/null @@ -1,56 +0,0 @@ -automake 1.12 has depricated automatic de-ANSI-fication support - -this patch avoids these kinds of errors: - -| configure.in:2240: error: automatic de-ANSI-fication support has been removed -| Makefile.am:28: error: automatic de-ANSI-fication support has been removed - -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/02 - - -This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly -dropped. - -Upstream is not interested in patches for ancient versions. - -Upstream-Status: Inappropriate -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> - - -Index: gmp-4.2.1/configure.in -=================================================================== ---- gmp-4.2.1.orig/configure.in -+++ gmp-4.2.1/configure.in -@@ -67,7 +67,7 @@ dnl - dnl Note that there's a copy of these options in the top-level Makefile.am, - dnl so update there too if changing anything. - dnl --AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr]) -+AM_INIT_AUTOMAKE([1.8 gnu no-dependencies]) - AM_CONFIG_HEADER(config.h:config.in) - AM_MAINTAINER_MODE - -@@ -2022,9 +2022,6 @@ fi - echo " MPN_PATH=\"$path\"" - - --# Automake ansi2knr support. --AM_C_PROTOTYPES -- - GMP_PROG_AR - GMP_PROG_NM - -Index: gmp-4.2.1/Makefile.am -=================================================================== ---- gmp-4.2.1.orig/Makefile.am -+++ gmp-4.2.1/Makefile.am -@@ -27,7 +27,7 @@ - # Makefiles in subdirectories, but here we must omit it so automake gives - # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr". - # --AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr -+AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies - - - # Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the diff --git a/meta/recipes-support/gmp/gmp_4.2.1.bb b/meta/recipes-support/gmp/gmp_4.2.1.bb deleted file mode 100644 index 5e8ee29f36..0000000000 --- a/meta/recipes-support/gmp/gmp_4.2.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -require gmp.inc - -LICENSE = "LGPLv2.1+ & GPLv2+" -LICENSE_${PN} = "LGPLv2.1+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ - file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ - file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34" - -SRC_URI = "https://gmplib.org/download/${BPN}/archive/${BP}.tar.bz2 \ - file://Use-__gnu_inline__-attribute.patch \ - file://gmp_fix_for_automake-1.12.patch \ - file://avoid-h-asm-constraint-for-MIPS.patch \ -" - -SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3" -SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941" diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4242.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4242.patch deleted file mode 100644 index f0667741c8..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4242.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e2202ff2b704623efc6277fb5256e4e15bac5676 Mon Sep 17 00:00:00 2001 -From: Werner Koch <wk@gnupg.org> -Date: Thu, 25 Jul 2013 11:17:52 +0200 -Subject: [PATCH] Mitigate a flush+reload cache attack on RSA secret - exponents. - -commit e2202ff2b704623efc6277fb5256e4e15bac5676 from -git://git.gnupg.org/libgcrypt.git - -* mpi/mpi-pow.c (gcry_mpi_powm): Always perfrom the mpi_mul for -exponents in secure memory. - -Upstream-Status: Backport -CVE: CVE-2013-4242 - -Signed-off-by: Kai Kang <kai.kang@windriver.com> --- - -The attack is published as http://eprint.iacr.org/2013/448 : - -Flush+Reload: a High Resolution, Low Noise, L3 Cache Side-Channel -Attack by Yuval Yarom and Katrina Falkner. 18 July 2013. - - Flush+Reload is a cache side-channel attack that monitors access to - data in shared pages. In this paper we demonstrate how to use the - attack to extract private encryption keys from GnuPG. The high - resolution and low noise of the Flush+Reload attack enables a spy - program to recover over 98% of the bits of the private key in a - single decryption or signing round. Unlike previous attacks, the - attack targets the last level L3 cache. Consequently, the spy - program and the victim do not need to share the execution core of - the CPU. The attack is not limited to a traditional OS and can be - used in a virtualised environment, where it can attack programs - executing in a different VM. - -Index: gnupg-1.4.7/mpi/mpi-pow.c -=================================================================== ---- gnupg-1.4.7.orig/mpi/mpi-pow.c -+++ gnupg-1.4.7/mpi/mpi-pow.c -@@ -212,7 +212,13 @@ mpi_powm( MPI res, MPI base, MPI exponen - tp = rp; rp = xp; xp = tp; - rsize = xsize; - -- if( (mpi_limb_signed_t)e < 0 ) { -+ /* To mitigate the Yarom/Falkner flush+reload cache -+ * side-channel attack on the RSA secret exponent, we do -+ * the multiplication regardless of the value of the -+ * high-bit of E. But to avoid this performance penalty -+ * we do it only if the exponent has been stored in secure -+ * memory and we can thus assume it is a secret exponent. */ -+ if (esec || (mpi_limb_signed_t)e < 0) { - /*mpihelp_mul( xp, rp, rsize, bp, bsize );*/ - if( bsize < KARATSUBA_THRESHOLD ) { - mpihelp_mul( xp, rp, rsize, bp, bsize ); -@@ -227,6 +233,8 @@ mpi_powm( MPI res, MPI base, MPI exponen - mpihelp_divrem(xp + msize, 0, xp, xsize, mp, msize); - xsize = msize; - } -+ } -+ if ( (mpi_limb_signed_t)e < 0 ) { - - tp = rp; rp = xp; xp = tp; - rsize = xsize; diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4351.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4351.patch deleted file mode 100644 index b50a32f40c..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4351.patch +++ /dev/null @@ -1,45 +0,0 @@ -Upstream-Status: Backport -CVE: CVE-2013-4351 - -Index: gnupg-1.4.7/g10/getkey.c -=================================================================== ---- gnupg-1.4.7.orig/g10/getkey.c 2007-03-05 16:54:41.000000000 +0800 -+++ gnupg-1.4.7/g10/getkey.c 2013-11-28 14:41:59.640212240 +0800 -@@ -1454,7 +1454,11 @@ - - if(flags) - key_usage |= PUBKEY_USAGE_UNKNOWN; -+ if (!key_usage) -+ key_usage |= PUBKEY_USAGE_NONE; - } -+ else if (p) -+ key_usage |= PUBKEY_USAGE_NONE; - - /* We set PUBKEY_USAGE_UNKNOWN to indicate that this key has a - capability that we do not handle. This serves to distinguish -Index: gnupg-1.4.7/g10/keygen.c -=================================================================== ---- gnupg-1.4.7.orig/g10/keygen.c 2007-02-05 00:27:40.000000000 +0800 -+++ gnupg-1.4.7/g10/keygen.c 2013-11-28 14:43:05.016670092 +0800 -@@ -209,9 +209,6 @@ - if (use & PUBKEY_USAGE_AUTH) - buf[0] |= 0x20; - -- if (!buf[0]) -- return; -- - build_sig_subpkt (sig, SIGSUBPKT_KEY_FLAGS, buf, 1); - } - -Index: gnupg-1.4.7/include/cipher.h -=================================================================== ---- gnupg-1.4.7.orig/include/cipher.h 2006-04-21 20:39:49.000000000 +0800 -+++ gnupg-1.4.7/include/cipher.h 2013-11-28 14:49:24.159322744 +0800 -@@ -52,6 +52,7 @@ - #define PUBKEY_USAGE_CERT 4 /* key is also good to certify other keys*/ - #define PUBKEY_USAGE_AUTH 8 /* key is good for authentication */ - #define PUBKEY_USAGE_UNKNOWN 128 /* key has an unknown usage bit */ -+#define PUBKEY_USAGE_NONE 256 /* No usage given. */ - - #define DIGEST_ALGO_MD5 1 - #define DIGEST_ALGO_SHA1 2 diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4576.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4576.patch deleted file mode 100644 index 5dcde1f9cb..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/CVE-2013-4576.patch +++ /dev/null @@ -1,154 +0,0 @@ -Upstream-Status: Backport -CVE: CVE-2013-4576 - -Index: gnupg-1.4.7/cipher/dsa.c -=================================================================== ---- gnupg-1.4.7.orig/cipher/dsa.c 2006-12-12 02:27:21.000000000 +0800 -+++ gnupg-1.4.7/cipher/dsa.c 2014-01-23 11:30:17.300915919 +0800 -@@ -287,6 +287,8 @@ - MPI kinv; - MPI tmp; - -+ mpi_normalize (hash); -+ - /* select a random k with 0 < k < q */ - k = gen_k( skey->q ); - -Index: gnupg-1.4.7/cipher/elgamal.c -=================================================================== ---- gnupg-1.4.7.orig/cipher/elgamal.c 2006-12-12 03:08:05.000000000 +0800 -+++ gnupg-1.4.7/cipher/elgamal.c 2014-01-23 11:30:17.300915919 +0800 -@@ -376,6 +376,9 @@ - { - MPI t1 = mpi_alloc_secure( mpi_get_nlimbs( skey->p ) ); - -+ mpi_normalize (a); -+ mpi_normalize (b); -+ - /* output = b/(a^x) mod p */ - mpi_powm( t1, a, skey->x, skey->p ); - mpi_invm( t1, t1, skey->p ); -Index: gnupg-1.4.7/cipher/random.c -=================================================================== ---- gnupg-1.4.7.orig/cipher/random.c 2006-11-03 18:09:39.000000000 +0800 -+++ gnupg-1.4.7/cipher/random.c 2014-01-23 11:31:53.993495462 +0800 -@@ -273,6 +273,18 @@ - } - - -+/* Randomize the MPI */ -+void -+randomize_mpi (MPI mpi, size_t nbits, int level) -+{ -+ unsigned char *buffer; -+ -+ buffer = get_random_bits (nbits, level, mpi_is_secure (mpi)); -+ mpi_set_buffer (mpi, buffer, (nbits+7)/8, 0); -+ xfree (buffer); -+} -+ -+ - int - random_is_faked() - { -Index: gnupg-1.4.7/cipher/random.h -=================================================================== ---- gnupg-1.4.7.orig/cipher/random.h 2006-02-09 19:29:29.000000000 +0800 -+++ gnupg-1.4.7/cipher/random.h 2014-01-23 11:30:17.300915919 +0800 -@@ -32,6 +32,7 @@ - int random_is_faked(void); - void random_disable_locking (void); - void randomize_buffer( byte *buffer, size_t length, int level ); -+void randomize_mpi (MPI mpi, size_t nbits, int level); - byte *get_random_bits( size_t nbits, int level, int secure ); - void fast_random_poll( void ); - -Index: gnupg-1.4.7/cipher/rsa.c -=================================================================== ---- gnupg-1.4.7.orig/cipher/rsa.c 2006-12-12 03:09:00.000000000 +0800 -+++ gnupg-1.4.7/cipher/rsa.c 2014-01-23 11:35:04.330639125 +0800 -@@ -301,9 +301,26 @@ - #if 0 - mpi_powm( output, input, skey->d, skey->n ); - #else -- MPI m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); -- MPI m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); -- MPI h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); -+ int nlimbs = mpi_get_nlimbs (skey->n)+1; -+ MPI m1 = mpi_alloc_secure (nlimbs); -+ MPI m2 = mpi_alloc_secure (nlimbs); -+ MPI h = mpi_alloc_secure (nlimbs); -+# if 1 -+ MPI bdata= mpi_alloc_secure (nlimbs); -+ MPI r = mpi_alloc_secure (nlimbs); -+# endif -+ -+ /* Remove superfluous leading zeroes from INPUT. */ -+ mpi_normalize (input); -+ -+# if 1 -+ /* Blind: bdata = (data * r^e) mod n */ -+ randomize_mpi (r, mpi_get_nbits (skey->n), 0); -+ mpi_fdiv_r (r, r, skey->n); -+ mpi_powm (bdata, r, skey->e, skey->n); -+ mpi_mulm (bdata, bdata, input, skey->n); -+ input = bdata; -+# endif - - /* m1 = c ^ (d mod (p-1)) mod p */ - mpi_sub_ui( h, skey->p, 1 ); -@@ -321,8 +338,15 @@ - /* m = m2 + h * p */ - mpi_mul ( h, h, skey->p ); - mpi_add ( output, m1, h ); -- /* ready */ -- -+ -+# if 1 -+ mpi_free (bdata); -+ /* Unblind: output = (output * r^(-1)) mod n */ -+ mpi_invm (r, r, skey->n); -+ mpi_mulm (output, output, r, skey->n); -+ mpi_free (r); -+# endif -+ - mpi_free ( h ); - mpi_free ( m1 ); - mpi_free ( m2 ); -@@ -397,6 +421,7 @@ - rsa_decrypt( int algo, MPI *result, MPI *data, MPI *skey ) - { - RSA_secret_key sk; -+ MPI input; - - if( algo != 1 && algo != 2 ) - return G10ERR_PUBKEY_ALGO; -@@ -407,8 +432,14 @@ - sk.p = skey[3]; - sk.q = skey[4]; - sk.u = skey[5]; -- *result = mpi_alloc_secure( mpi_get_nlimbs( sk.n ) ); -- secret( *result, data[0], &sk ); -+ -+ /* Mitigates side-channel attacks (CVE-2013-4576). */ -+ input = mpi_alloc (0); -+ mpi_normalize (data[0]); -+ mpi_fdiv_r (input, data[0], sk.n); -+ *result = mpi_alloc_secure (mpi_get_nlimbs (sk.n)); -+ secret (*result, input, &sk); -+ mpi_free (input); - return 0; - } - -Index: gnupg-1.4.7/g10/gpgv.c -=================================================================== ---- gnupg-1.4.7.orig/g10/gpgv.c 2006-12-13 19:25:04.000000000 +0800 -+++ gnupg-1.4.7/g10/gpgv.c 2014-01-23 11:30:17.300915919 +0800 -@@ -390,6 +390,7 @@ - void random_dump_stats(void) {} - int quick_random_gen( int onoff ) { return -1;} - void randomize_buffer( byte *buffer, size_t length, int level ) {} -+void randomize_mpi (MPI mpi, size_t nbits, int level) {} - int random_is_faked() { return -1;} - byte *get_random_bits( size_t nbits, int level, int secure ) { return NULL;} - void set_random_seed_file( const char *name ) {} diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/GnuPG1-CVE-2012-6085.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/GnuPG1-CVE-2012-6085.patch deleted file mode 100644 index 362717636b..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/GnuPG1-CVE-2012-6085.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f0b33b6fb8e0586e9584a7a409dcc31263776a67 -Author: Werner Koch <wk@gnupg.org> -Date: Thu Dec 20 09:43:41 2012 +0100 - - gpg: Import only packets which are allowed in a keyblock. - - * g10/import.c (valid_keyblock_packet): New. - (read_block): Store only valid packets. - -- - - A corrupted key, which for example included a mangled public key - encrypted packet, used to corrupt the keyring. This change skips all - packets which are not allowed in a keyblock. - - GnuPG-bug-id: 1455 - - (cherry-picked from commit f795a0d59e197455f8723c300eebf59e09853efa) - -Upstream-Status: Backport -CVE: CVE-2012-6085 - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -diff --git a/g10/import.c b/g10/import.c -index bfe02eb..a57b32e 100644 ---- a/g10/import.c -+++ b/g10/import.c -@@ -384,6 +384,27 @@ import_print_stats (void *hd) - } - - -+/* Return true if PKTTYPE is valid in a keyblock. */ -+static int -+valid_keyblock_packet (int pkttype) -+{ -+ switch (pkttype) -+ { -+ case PKT_PUBLIC_KEY: -+ case PKT_PUBLIC_SUBKEY: -+ case PKT_SECRET_KEY: -+ case PKT_SECRET_SUBKEY: -+ case PKT_SIGNATURE: -+ case PKT_USER_ID: -+ case PKT_ATTRIBUTE: -+ case PKT_RING_TRUST: -+ return 1; -+ default: -+ return 0; -+ } -+} -+ -+ - /**************** - * Read the next keyblock from stream A. - * PENDING_PKT should be initialzed to NULL -@@ -461,7 +482,7 @@ read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root ) - } - in_cert = 1; - default: -- if( in_cert ) { -+ if (in_cert && valid_keyblock_packet (pkt->pkttype)) { - if( !root ) - root = new_kbnode( pkt ); - else diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/configure.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/configure.patch deleted file mode 100644 index e005ac658f..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/configure.patch +++ /dev/null @@ -1,17 +0,0 @@ - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: gnupg-1.4.7/configure.ac -=================================================================== ---- gnupg-1.4.7.orig/configure.ac -+++ gnupg-1.4.7/configure.ac -@@ -827,7 +827,6 @@ else - AC_SUBST(USE_NLS) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(BUILD_INCLUDED_LIBINTL) -- AM_PO_SUBDIRS - fi - - if test "$try_extensions" = yes || test x"$card_support" = xyes ; then diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/curl_typeof_fix_backport.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/curl_typeof_fix_backport.patch deleted file mode 100644 index e5fb24aa63..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/curl_typeof_fix_backport.patch +++ /dev/null @@ -1,27 +0,0 @@ - -This has been discussed in a couple of different bug reported -upstream: - -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486250 -http://bugs.sourcemage.org/show_bug.cgi?id=14446 - -Fix: -http://lists.gnupg.org/pipermail/gnupg-devel/2008-April/024344.html - -Upstream-Status: Backport [Debian] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: gnupg-1.4.7/keyserver/gpgkeys_curl.c -=================================================================== ---- gnupg-1.4.7.orig/keyserver/gpgkeys_curl.c -+++ gnupg-1.4.7/keyserver/gpgkeys_curl.c -@@ -286,7 +286,7 @@ main(int argc,char *argv[]) - curl_easy_setopt(curl,CURLOPT_VERBOSE,1); - } - -- curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,opt->flags.check_cert); -+ curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,(long)opt->flags.check_cert); - curl_easy_setopt(curl,CURLOPT_CAINFO,opt->ca_cert_file); - - if(proxy) diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/long-long-thumb.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/long-long-thumb.patch deleted file mode 100644 index 2855cab24b..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/long-long-thumb.patch +++ /dev/null @@ -1,19 +0,0 @@ -Orignal Patch came from OpenWrt via OE-Classic -https://dev.openwrt.org/browser/packages/utils/gnupg/patches/001-mips_gcc4.4 -which is no longer a valid revision! - -Upstream-Status: Inappropriate [configuration] - - ---- gnupg/mpi/longlong.h~ 2006-02-14 10:09:55.000000000 +0000 -+++ gnupg/mpi/longlong.h 2008-10-27 13:11:09.000000000 +0000 -@@ -181,7 +181,7 @@ - /*************************************** - ************** ARM ****************** - ***************************************/ --#if defined (__arm__) && W_TYPE_SIZE == 32 -+#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__) - #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("adds %1, %4, %5\n" \ - "adc %0, %2, %3" \ - diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/mips_gcc4.4.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/mips_gcc4.4.patch deleted file mode 100644 index 9a03b2b705..0000000000 --- a/meta/recipes-support/gnupg/gnupg-1.4.7/mips_gcc4.4.patch +++ /dev/null @@ -1,50 +0,0 @@ - -From Openembedded-Classic - - gnupg-1.4.10: Readd the ARM Thumb patch as debian has no thumb support - - -Upstream-Status: Inappropriate [embedded-specific] - -Index: gnupg-1.4.10/mpi/longlong.h -=================================================================== ---- gnupg-1.4.10.orig/mpi/longlong.h 2008-12-11 17:39:43.000000000 +0100 -+++ gnupg-1.4.10/mpi/longlong.h 2010-03-27 14:27:53.000000000 +0100 -@@ -706,18 +706,35 @@ - #endif /* __m88110__ */ - #endif /* __m88000__ */ - -+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ -+#if defined (__GNUC__) && defined (__GNUC_MINOR__) -+#define __GNUC_PREREQ(maj, min) \ -+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -+#else -+#define __GNUC_PREREQ(maj, min) 0 -+#endif -+ - /*************************************** - ************** MIPS ***************** - ***************************************/ - #if defined (__mips__) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 -+#if __GNUC_PREREQ (4,4) -+#define umul_ppmm(w1, w0, u, v) \ -+ do { \ -+ UDItype __ll = (UDItype)(u) * (v); \ -+ w1 = __ll >> 32; \ -+ w0 = __ll; \ -+ } while (0) -+#endif -+#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7) - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3" \ - : "=l" ((USItype)(w0)), \ - "=h" ((USItype)(w1)) \ - : "d" ((USItype)(u)), \ - "d" ((USItype)(v))) --#else -+#endif -+#if !defined (umul_ppmm) - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3 \n" \ - "mflo %0 \n" \ diff --git a/meta/recipes-support/gnupg/gnupg_1.4.7.bb b/meta/recipes-support/gnupg/gnupg_1.4.7.bb deleted file mode 100644 index 6ccffd54ca..0000000000 --- a/meta/recipes-support/gnupg/gnupg_1.4.7.bb +++ /dev/null @@ -1,104 +0,0 @@ -SUMMARY = "GNU Privacy Guard - encryption and signing tools" -HOMEPAGE = "http://www.gnupg.org/" -DEPENDS = "zlib bzip2 readline" -SECTION = "console/utils" - -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" - -PR = "r9" - -SRC_URI = "${GNUPG_MIRROR}/gnupg/gnupg-${PV}.tar.bz2 \ - file://long-long-thumb.patch \ - file://configure.patch \ - file://mips_gcc4.4.patch \ - file://GnuPG1-CVE-2012-6085.patch \ - file://curl_typeof_fix_backport.patch \ - file://CVE-2013-4351.patch \ - file://CVE-2013-4576.patch \ - file://CVE-2013-4242.patch \ - " - -SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c" -SRC_URI[sha256sum] = "69d18b7d193f62ca27ed4febcb4c9044aa0c95305d3258fe902e2fae5fc6468d" - -inherit autotools gettext texinfo - -# --with-egd-socket=NAME use NAME for the EGD socket -# --with-photo-viewer=FIXED_VIEWER set a fixed photo ID viewer -# --with-included-zlib use the zlib code included here -# --with-capabilities use linux capabilities default=no -# --with-mailprog=NAME use "NAME -t" for mail transport -# --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib -# --without-libiconv-prefix don't search for libiconv in includedir and libdir -# --with-included-gettext use the GNU gettext library included here -# --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib -# --without-libintl-prefix don't search for libintl in includedir and libdir -# --without-readline do not support fancy command line editing -# --with-included-regex use the included GNU regex library -# --with-zlib=DIR use libz in DIR -# --with-bzip2=DIR look for bzip2 in DIR -# --enable-static-rnd=egd|unix|linux|auto -# --disable-dev-random disable the use of dev random -# --disable-asm do not use assembler modules -# --enable-m-guard enable memory guard facility -# --enable-selinux-support -# enable SELinux support -# --disable-card-support disable OpenPGP card support -# --disable-gnupg-iconv disable the new iconv code -# --enable-backsigs enable the experimental backsigs code -# --enable-minimal build the smallest gpg binary possible -# --disable-rsa disable the RSA public key algorithm -# --disable-idea disable the IDEA cipher -# --disable-cast5 disable the CAST5 cipher -# --disable-blowfish disable the BLOWFISH cipher -# --disable-aes disable the AES, AES192, and AES256 ciphers -# --disable-twofish disable the TWOFISH cipher -# --disable-sha256 disable the SHA-256 digest -# --disable-sha512 disable the SHA-384 and SHA-512 digests -# --disable-bzip2 disable the BZIP2 compression algorithm -# --disable-exec disable all external program execution -# --disable-photo-viewers disable photo ID viewers -# --disable-keyserver-helpers disable all external keyserver support -# --disable-ldap disable LDAP keyserver interface -# --disable-hkp disable HKP keyserver interface -# --disable-http disable HTTP key fetching interface -# --disable-finger disable Finger key fetching interface -# --disable-mailto disable email keyserver interface -# --disable-keyserver-path disable the exec-path option for keyserver helpers -# --enable-key-cache=SIZE Set key cache to SIZE (default 4096) -# --disable-largefile omit support for large files -# --disable-dns-srv disable the use of DNS SRV in HKP and HTTP -# --disable-nls do not use Native Language Support -# --disable-regex do not handle regular expressions in trust sigs - -EXTRA_OECONF = "--disable-ldap \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-bzip2=${STAGING_LIBDIR}/.. \ - --disable-selinux-support \ - --with-readline=${STAGING_LIBDIR}/.. \ - ac_cv_sys_symbol_underscore=no \ - " - -# Force gcc's traditional handling of inline to avoid issues with gcc 5 -CFLAGS += "-fgnu89-inline" - -do_install () { - autotools_do_install - install -d ${D}${docdir}/${BPN} - mv ${D}${datadir}/${BPN}/* ${D}/${docdir}/${BPN}/ || : - mv ${D}${prefix}/doc/* ${D}/${docdir}/${BPN}/ || : -} - -# split out gpgv from main package -RDEPENDS_${PN} = "gpgv" -PACKAGES =+ "gpgv" -FILES_gpgv = "${bindir}/gpgv" - -# Exclude debug files from the main packages -FILES_${PN} = "${bindir}/* ${datadir}/${BPN} ${libexecdir}/${BPN}/*" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[curl] = "--with-libcurl=${STAGING_LIBDIR},--without-libcurl,curl" -PACKAGECONFIG[libusb] = "--with-libusb=${STAGING_LIBDIR},--without-libusb,libusb-compat" diff --git a/meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch b/meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch deleted file mode 100644 index 3cbf549d48..0000000000 --- a/meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch +++ /dev/null @@ -1,50 +0,0 @@ -It adds the variables that are needed -for autoconf 2.65 to reconfigure libiconv and defines the m4 macros -directory. Its imported from OE. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: libiconv-1.11.1/configure.ac -=================================================================== ---- libiconv-1.11.1.orig/configure.ac -+++ libiconv-1.11.1/configure.ac -@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR(build-aux) - AM_INIT_AUTOMAKE(libiconv, 1.11) - AC_CONFIG_HEADERS(config.h lib/config.h) - AC_PROG_MAKE_SET -- -+AC_CONFIG_MACRO_DIR([m4]) - dnl checks for basic programs - - AC_PROG_CC -Index: libiconv-1.11.1/libcharset/configure.ac -=================================================================== ---- libiconv-1.11.1.orig/libcharset/configure.ac -+++ libiconv-1.11.1/libcharset/configure.ac -@@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library; - dnl write to the Free Software Foundation, Inc., 51 Franklin Street, - dnl Fifth Floor, Boston, MA 02110-1301, USA. - --AC_PREREQ(2.13) -+AC_PREREQ(2.61) -+AC_INIT([libcharset],[1.4] ) -+AC_CONFIG_SRCDIR([lib/localcharset.c]) - --PACKAGE=libcharset --VERSION=1.4 -- --AC_INIT(lib/localcharset.c) - AC_CONFIG_AUX_DIR(build-aux) - AC_CONFIG_HEADER(config.h) - AC_PROG_MAKE_SET --AC_SUBST(PACKAGE) --AC_SUBST(VERSION) -+dnl AC_SUBST(PACKAGE) -+dnl AC_SUBST(VERSION) -+ -+AC_CONFIG_MACRO_DIR([m4]) - - dnl checks for basic programs - diff --git a/meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch b/meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch deleted file mode 100644 index fb07f7366b..0000000000 --- a/meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch +++ /dev/null @@ -1,26 +0,0 @@ -With libtool generating shared and static version of libraries needs -fPIC flags -without this it will not generate the commands to create shared linked library -Its more enforced by libtool 2.4. I have not checked it with older libtool -libiconv 1.11.x is relatively old release and libtool 2.4 did not exist when it -was released these kind of problem are more likely - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: libiconv-1.11.1/lib/Makefile.in -=================================================================== ---- libiconv-1.11.1.orig/lib/Makefile.in -+++ libiconv-1.11.1/lib/Makefile.in -@@ -70,9 +70,9 @@ preloadable_libiconv.so : preloadable_li - - preloadable_libiconv_linux.so : $(SOURCES) - if test -n "@GCC@"; then \ -- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ -+ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -rpath $(libdir) -o libpreload_iconv.la && cp .libs/libpreload_iconv.so preloadable_libiconv_linux.so; \ - else \ -- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ -+ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -rpath $(libdir) -o libpreload_iconv.la && cp .libs/libpreload_iconv.so preloadable_libiconv_linux.so; \ - fi - - preloadable_libiconv_solaris.so : $(SOURCES) diff --git a/meta/recipes-support/libiconv/libiconv_1.11.1.bb b/meta/recipes-support/libiconv/libiconv_1.11.1.bb deleted file mode 100644 index f28e64ae2e..0000000000 --- a/meta/recipes-support/libiconv/libiconv_1.11.1.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Character encoding support library" -DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ -multiple character encodings, but that support lacks from your system." -HOMEPAGE = "http://www.gnu.org/software/libiconv" -SECTION = "libs" -NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" -PROVIDES = "virtual/libiconv" - -LICENSE = "LGPLv2.0" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ - file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ - file://autoconf.patch \ - file://shared_preloadable_libiconv_linux.patch \ - " - -SRC_URI[md5sum] = "d42b97f6ef5dd0ba4469d520ed732fed" -SRC_URI[sha256sum] = "e78c347a1a0cb15f2648519e9799151f4b4a934b61ad9ee7424478efe2b8257f" - -S = "${WORKDIR}/libiconv-${PV}" - -inherit autotools pkgconfig gettext - -python __anonymous() { - if d.getVar("TCLIBC") == "glibc": - raise bb.parse.SkipPackage("libiconv is provided for use with uClibc only - glibc already provides iconv") -} - -EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable" - -LEAD_SONAME = "libiconv.so" - -do_configure_prepend () { - rm -f ${S}/m4/libtool.m4 ${S}/m4/ltoptions.m4 ${S}/m4/ltsugar.m4 ${S}/m4/ltversion.m4 ${S}/m4/lt~obsolete.m4 ${S}/libcharset/m4/libtool.m4 ${S}/libcharset/m4/ltoptions.m4 ${S}/libcharset/m4/ltsugar.m4 ${S}/libcharset/m4/ltversion.m4 ${S}/libcharset/m4/lt~obsolete.m4 -} - -do_configure_append () { - # forcibly remove RPATH from libtool - sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool - sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool -} - -do_install_append () { - rm -rf ${D}${libdir}/preloadable_libiconv.so - rm -rf ${D}${libdir}/charset.alias -} diff --git a/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8803_8805.patch b/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8803_8805.patch deleted file mode 100644 index a956f426b8..0000000000 --- a/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8803_8805.patch +++ /dev/null @@ -1,71 +0,0 @@ -Upstream-Status: Backport -https://git.lysator.liu.se/nettle/nettle/commit/c71d2c9d20eeebb985e3872e4550137209e3ce4d - -CVE: CVE-2015-8803 -CVE: CVE-2015-8805 - -Same fix for both. - -Signed-off-by: Armin Kuster <akuster@mvista.com> - -Index: nettle-2.7.1/ecc-256.c -=================================================================== ---- nettle-2.7.1.orig/ecc-256.c -+++ nettle-2.7.1/ecc-256.c -@@ -96,9 +96,19 @@ ecc_256_modp (const struct ecc_curve *ec - q2 += t + (q1 < t); - - assert (q2 < 2); -+ /* -+ n-1 n-2 n-3 n-4 -+ +---+---+---+---+ -+ | u1| u0| u low | -+ +---+---+---+---+ -+ - | q1(2^96-1)| -+ +-------+---+ -+ |q2(2^.)| -+ +-------+ - -- /* We multiply by two low limbs of p, 2^96 - 1, so we could use -- shifts rather than mul. */ -+ We multiply by two low limbs of p, 2^96 - 1, so we could use -+ shifts rather than mul. -+ */ - t = mpn_submul_1 (rp + n - 4, ecc->p, 2, q1); - t += cnd_sub_n (q2, rp + n - 3, ecc->p, 1); - t += (-q2) & 0xffffffff; -@@ -108,7 +118,10 @@ ecc_256_modp (const struct ecc_curve *ec - u0 -= t; - t = (u1 < cy); - u1 -= cy; -- u1 += cnd_add_n (t, rp + n - 4, ecc->p, 3); -+ -+ cy = cnd_add_n (t, rp + n - 4, ecc->p, 2); -+ u0 += cy; -+ u1 += (u0 < cy); - u1 -= (-t) & 0xffffffff; - } - rp[2] = u0; -@@ -195,7 +208,7 @@ ecc_256_modq (const struct ecc_curve *ec - - /* Conditional add of p */ - u1 += t; -- u2 += (t<<32) + (u0 < t); -+ u2 += (t<<32) + (u1 < t); - - t = cnd_add_n (t, rp + n - 4, ecc->q, 2); - u1 += t; -Index: nettle-2.7.1/ChangeLog -=================================================================== ---- nettle-2.7.1.orig/ChangeLog -+++ nettle-2.7.1/ChangeLog -@@ -1,3 +1,9 @@ -+2015-12-10 Niels Möller <nisse@lysator.liu.se> -+ -+ * ecc-256.c (ecc_256_modp): Fixed carry propagation bug. Problem -+ reported by Hanno Böck. -+ (ecc_256_modq): Fixed another carry propagation bug. -+ - 2013-05-28 Niels Möller <nisse@lysator.liu.se> - - * Released nettle-2.7.1. diff --git a/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8804.patch b/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8804.patch deleted file mode 100644 index 73723a998d..0000000000 --- a/meta/recipes-support/nettle/nettle-2.7.1/CVE-2015-8804.patch +++ /dev/null @@ -1,272 +0,0 @@ -Upstream-Status: Backport - https://git.lysator.liu.se/nettle/nettle/commit/fa269b6ad06dd13c901dbd84a12e52b918a09cd7 - -CVE: CVE-2015-8804 -Signed-off-by: Armin Kuster <akuster@mvista.com> - -Index: nettle-2.7.1/ChangeLog -=================================================================== ---- nettle-2.7.1.orig/ChangeLog -+++ nettle-2.7.1/ChangeLog -@@ -1,3 +1,11 @@ -+2015-12-15 Niels Möller <nisse@lysator.liu.se> -+ -+ * x86_64/ecc-384-modp.asm: Fixed carry propagation bug. Problem -+ reported by Hanno Böck. Simplified the folding to always use -+ non-negative carry, the old code attempted to add in a carry which -+ could be either positive or negative, but didn't get that case -+ right. -+ - 2015-12-10 Niels Möller <nisse@lysator.liu.se> - - * ecc-256.c (ecc_256_modp): Fixed carry propagation bug. Problem -Index: nettle-2.7.1/x86_64/ecc-384-modp.asm -=================================================================== ---- nettle-2.7.1.orig/x86_64/ecc-384-modp.asm -+++ nettle-2.7.1/x86_64/ecc-384-modp.asm -@@ -20,7 +20,7 @@ C MA 02111-1301, USA. - .file "ecc-384-modp.asm" - - define(<RP>, <%rsi>) --define(<D4>, <%rax>) -+define(<D5>, <%rax>) - define(<T0>, <%rbx>) - define(<T1>, <%rcx>) - define(<T2>, <%rdx>) -@@ -35,8 +35,8 @@ define(<H4>, <%r13>) - define(<H5>, <%r14>) - define(<C2>, <%r15>) - define(<C0>, H5) C Overlap --define(<D0>, RP) C Overlap --define(<TMP>, H4) C Overlap -+define(<TMP>, RP) C Overlap -+ - - PROLOGUE(nettle_ecc_384_modp) - W64_ENTRY(2, 0) -@@ -48,34 +48,38 @@ PROLOGUE(nettle_ecc_384_modp) - push %r14 - push %r15 - -- C First get top 2 limbs, which need folding twice -+ C First get top 2 limbs, which need folding twice. -+ C B^10 = B^6 + B^4 + 2^32 (B-1)B^4. -+ C We handle the terms as follow: - C -- C H5 H4 -- C -H5 -- C ------ -- C H0 D4 -+ C B^6: Folded immediatly. - C -- C Then shift right, (H1,H0,D4) <-- (H0,D4) << 32 -- C and add -+ C B^4: Delayed, added in in the next folding. - C -- C H5 H4 -- C H1 H0 -- C ---------- -- C C2 H1 H0 -- -- mov 80(RP), D4 -- mov 88(RP), H0 -- mov D4, H4 -- mov H0, H5 -- sub H0, D4 -- sbb $0, H0 -- -- mov D4, T2 -- mov H0, H1 -- shl $32, H0 -- shr $32, T2 -+ C 2^32(B-1) B^4: Low half limb delayed until the next -+ C folding. Top 1.5 limbs subtracted and shifter now, resulting -+ C in 2.5 limbs. The low limb saved in D5, high 1.5 limbs added -+ C in. -+ -+ mov 80(RP), H4 -+ mov 88(RP), H5 -+ C Shift right 32 bits, into H1, H0 -+ mov H4, H0 -+ mov H5, H1 -+ mov H5, D5 - shr $32, H1 -- or T2, H0 -+ shl $32, D5 -+ shr $32, H0 -+ or D5, H0 -+ -+ C H1 H0 -+ C - H1 H0 -+ C -------- -+ C H1 H0 D5 -+ mov H0, D5 -+ neg D5 -+ sbb H1, H0 -+ sbb $0, H1 - - xor C2, C2 - add H4, H0 -@@ -114,118 +118,95 @@ PROLOGUE(nettle_ecc_384_modp) - adc H3, T5 - adc $0, C0 - -- C H3 H2 H1 H0 0 -- C - H4 H3 H2 H1 H0 -- C --------------- -- C H3 H2 H1 H0 D0 -- -- mov XREG(D4), XREG(D4) -- mov H0, D0 -- neg D0 -- sbb H1, H0 -- sbb H2, H1 -- sbb H3, H2 -- sbb H4, H3 -- sbb $0, D4 -- -- C Shift right. High bits are sign, to be added to C0. -- mov D4, TMP -- sar $32, TMP -- shl $32, D4 -- add TMP, C0 -- -+ C Shift left, including low half of H4 - mov H3, TMP -+ shl $32, H4 - shr $32, TMP -- shl $32, H3 -- or TMP, D4 -+ or TMP, H4 - - mov H2, TMP -+ shl $32, H3 - shr $32, TMP -- shl $32, H2 - or TMP, H3 - - mov H1, TMP -+ shl $32, H2 - shr $32, TMP -- shl $32, H1 - or TMP, H2 - - mov H0, TMP -+ shl $32, H1 - shr $32, TMP -- shl $32, H0 - or TMP, H1 - -- mov D0, TMP -- shr $32, TMP -- shl $32, D0 -- or TMP, H0 -+ shl $32, H0 -+ -+ C H4 H3 H2 H1 H0 0 -+ C - H4 H3 H2 H1 H0 -+ C --------------- -+ C H4 H3 H2 H1 H0 TMP - -- add D0, T0 -+ mov H0, TMP -+ neg TMP -+ sbb H1, H0 -+ sbb H2, H1 -+ sbb H3, H2 -+ sbb H4, H3 -+ sbb $0, H4 -+ -+ add TMP, T0 - adc H0, T1 - adc H1, T2 - adc H2, T3 - adc H3, T4 -- adc D4, T5 -+ adc H4, T5 - adc $0, C0 - - C Remains to add in C2 and C0 -- C C0 C0<<32 (-2^32+1)C0 -- C C2 C2<<32 (-2^32+1)C2 -- C where C2 is always positive, while C0 may be -1. -+ C Set H1, H0 = (2^96 - 2^32 + 1) C0 - mov C0, H0 - mov C0, H1 -- mov C0, H2 -- sar $63, C0 C Get sign - shl $32, H1 -- sub H1, H0 C Gives borrow iff C0 > 0 -+ sub H1, H0 - sbb $0, H1 -- add C0, H2 - -+ C Set H3, H2 = (2^96 - 2^32 + 1) C2 -+ mov C2, H2 -+ mov C2, H3 -+ shl $32, H3 -+ sub H3, H2 -+ sbb $0, H3 -+ add C0, H2 C No carry. Could use lea trick -+ -+ xor C0, C0 - add H0, T0 - adc H1, T1 -- adc $0, H2 -- adc $0, C0 -- -- C Set (H1 H0) <-- C2 << 96 - C2 << 32 + 1 -- mov C2, H0 -- mov C2, H1 -- shl $32, H1 -- sub H1, H0 -- sbb $0, H1 -- -- add H2, H0 -- adc C0, H1 -- adc C2, C0 -- mov C0, H2 -- sar $63, C0 -- add H0, T2 -- adc H1, T3 -- adc H2, T4 -- adc C0, T5 -- sbb C0, C0 -+ adc H2, T2 -+ adc H3, T3 -+ adc C2, T4 -+ adc D5, T5 C Value delayed from initial folding -+ adc $0, C0 C Use sbb and switch sign? - - C Final unlikely carry - mov C0, H0 - mov C0, H1 -- mov C0, H2 -- sar $63, C0 - shl $32, H1 - sub H1, H0 - sbb $0, H1 -- add C0, H2 - - pop RP - -- sub H0, T0 -+ add H0, T0 - mov T0, (RP) -- sbb H1, T1 -+ adc H1, T1 - mov T1, 8(RP) -- sbb H2, T2 -+ adc C0, T2 - mov T2, 16(RP) -- sbb C0, T3 -+ adc $0, T3 - mov T3, 24(RP) -- sbb C0, T4 -+ adc $0, T4 - mov T4, 32(RP) -- sbb C0, T5 -+ adc $0, T5 - mov T5, 40(RP) - - pop %r15 diff --git a/meta/recipes-support/nettle/nettle-2.7.1/check-header-files-of-openssl-only-if-enable_.patch b/meta/recipes-support/nettle/nettle-2.7.1/check-header-files-of-openssl-only-if-enable_.patch deleted file mode 100644 index 38d9107ce7..0000000000 --- a/meta/recipes-support/nettle/nettle-2.7.1/check-header-files-of-openssl-only-if-enable_.patch +++ /dev/null @@ -1,38 +0,0 @@ -From c369dd7049f5a198f8b6c96fde6e294ce5146c2f Mon Sep 17 00:00:00 2001 -From: Haiqing Bai <Haiqing.Bai@windriver.com> -Date: Fri, 9 Dec 2016 16:16:45 +0800 -Subject: [PATCH] nettle: check header files of openssl only if - 'enable_openssl=yes'. - -The original configure script checks openssl header files to generate -config.h even if 'enable_openssl' is not set to yes, this made inconsistent -building for nettle. - -Upstream-Status: Pending -Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> ---- - configure.ac | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 78a3d4e..4f16a98 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -603,9 +603,11 @@ AC_CHECK_ALIGNOF(uint64_t) - ALIGNOF_UINT64_T="$ac_cv_alignof_uint64_t" - AC_SUBST(ALIGNOF_UINT64_T) - --AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h],, --[enable_openssl=no -- break]) -+if test "x$enable_openssl" = "xyes"; then -+ AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h],, -+ [enable_openssl=no -+ break]) -+fi - - LSH_FUNC_ALLOCA - LSH_FUNC_STRERROR --- -1.9.1 - diff --git a/meta/recipes-support/nettle/nettle_2.7.1.bb b/meta/recipes-support/nettle/nettle_2.7.1.bb deleted file mode 100644 index 2006146cfe..0000000000 --- a/meta/recipes-support/nettle/nettle_2.7.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -require nettle.inc - -LICENSE = "LGPLv2.1+ & GPLv2" -LICENSE_${PN} = "LGPLv2.1+" - -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://serpent-decrypt.c;beginline=53;endline=67;md5=bcfd4745d53ca57f82907089898e390d \ - file://serpent-set-key.c;beginline=56;endline=70;md5=bcfd4745d53ca57f82907089898e390d" - -SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5" -SRC_URI[sha256sum] = "bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40" - -SRC_URI += "\ - file://CVE-2015-8803_8805.patch \ - file://CVE-2015-8804.patch \ - file://check-header-files-of-openssl-only-if-enable_.patch \ - " - -DISABLE_STATIC = "" |