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 @@ | |||
| 1 | Upstream-Status: Inappropriate [configuration] | ||
| 2 | |||
| 3 | --- | ||
| 4 | configure.ac | 4 ++-- | ||
| 5 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 6 | |||
| 7 | Index: grub-0.97/configure.ac | ||
| 8 | =================================================================== | ||
| 9 | --- grub-0.97.orig/configure.ac 2008-09-12 17:39:52.000000000 +0200 | ||
| 10 | +++ grub-0.97/configure.ac 2008-09-12 17:40:21.000000000 +0200 | ||
| 11 | @@ -60,8 +60,8 @@ AC_PROG_CC | ||
| 12 | _AM_DEPENDENCIES(CC) | ||
| 13 | |||
| 14 | dnl Because recent automake complains about AS, set it here. | ||
| 15 | -CCAS="$CC" | ||
| 16 | -AC_SUBST(CCAS) | ||
| 17 | +AM_PROG_AS | ||
| 18 | +AC_SUBST(AS) | ||
| 19 | |||
| 20 | AC_ARG_WITH(binutils, | ||
| 21 | [ --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 @@ | |||
| 1 | Upstream-Status: Inappropriate [No Longer Maintained] | ||
| 2 | |||
| 3 | diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c | ||
| 4 | --- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600 | ||
| 5 | +++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600 | ||
| 6 | @@ -79,7 +79,52 @@ | ||
| 7 | __u32 s_rev_level; /* Revision level */ | ||
| 8 | __u16 s_def_resuid; /* Default uid for reserved blocks */ | ||
| 9 | __u16 s_def_resgid; /* Default gid for reserved blocks */ | ||
| 10 | - __u32 s_reserved[235]; /* Padding to the end of the block */ | ||
| 11 | + /* | ||
| 12 | + * These fields are for EXT2_DYNAMIC_REV superblocks only. | ||
| 13 | + * | ||
| 14 | + * Note: the difference between the compatible feature set and | ||
| 15 | + * the incompatible feature set is that if there is a bit set | ||
| 16 | + * in the incompatible feature set that the kernel doesn't | ||
| 17 | + * know about, it should refuse to mount the filesystem. | ||
| 18 | + * | ||
| 19 | + * e2fsck's requirements are more strict; if it doesn't know | ||
| 20 | + * about a feature in either the compatible or incompatible | ||
| 21 | + * feature set, it must abort and not try to meddle with | ||
| 22 | + * things it doesn't understand... | ||
| 23 | + */ | ||
| 24 | + __u32 s_first_ino; /* First non-reserved inode */ | ||
| 25 | + __u16 s_inode_size; /* size of inode structure */ | ||
| 26 | + __u16 s_block_group_nr; /* block group # of this superblock */ | ||
| 27 | + __u32 s_feature_compat; /* compatible feature set */ | ||
| 28 | + __u32 s_feature_incompat; /* incompatible feature set */ | ||
| 29 | + __u32 s_feature_ro_compat; /* readonly-compatible feature set */ | ||
| 30 | + __u8 s_uuid[16]; /* 128-bit uuid for volume */ | ||
| 31 | + char s_volume_name[16]; /* volume name */ | ||
| 32 | + char s_last_mounted[64]; /* directory where last mounted */ | ||
| 33 | + __u32 s_algorithm_usage_bitmap; /* For compression */ | ||
| 34 | + /* | ||
| 35 | + * Performance hints. Directory preallocation should only | ||
| 36 | + * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. | ||
| 37 | + */ | ||
| 38 | + __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ | ||
| 39 | + __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ | ||
| 40 | + __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ | ||
| 41 | + /* | ||
| 42 | + * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. | ||
| 43 | + */ | ||
| 44 | + __u8 s_journal_uuid[16]; /* uuid of journal superblock */ | ||
| 45 | + __u32 s_journal_inum; /* inode number of journal file */ | ||
| 46 | + __u32 s_journal_dev; /* device number of journal file */ | ||
| 47 | + __u32 s_last_orphan; /* start of list of inodes to delete */ | ||
| 48 | + __u32 s_hash_seed[4]; /* HTREE hash seed */ | ||
| 49 | + __u8 s_def_hash_version; /* Default hash version to use */ | ||
| 50 | + __u8 s_jnl_backup_type; /* Default type of journal backup */ | ||
| 51 | + __u16 s_reserved_word_pad; | ||
| 52 | + __u32 s_default_mount_opts; | ||
| 53 | + __u32 s_first_meta_bg; /* First metablock group */ | ||
| 54 | + __u32 s_mkfs_time; /* When the filesystem was created */ | ||
| 55 | + __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ | ||
| 56 | + __u32 s_reserved[172]; /* Padding to the end of the block */ | ||
| 57 | }; | ||
| 58 | |||
| 59 | struct ext2_group_desc | ||
| 60 | @@ -218,6 +263,14 @@ | ||
| 61 | #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) | ||
| 62 | #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) | ||
| 63 | |||
| 64 | +#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ | ||
| 65 | +#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ | ||
| 66 | +#define EXT2_GOOD_OLD_INODE_SIZE 128 | ||
| 67 | +#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ | ||
| 68 | + EXT2_GOOD_OLD_INODE_SIZE : \ | ||
| 69 | + (s)->s_inode_size) | ||
| 70 | +#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) | ||
| 71 | + | ||
| 72 | /* linux/ext2_fs.h */ | ||
| 73 | #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) | ||
| 74 | /* kind of from ext2/super.c */ | ||
| 75 | @@ -553,7 +606,7 @@ | ||
| 76 | gdp = GROUP_DESC; | ||
| 77 | ino_blk = gdp[desc].bg_inode_table + | ||
| 78 | (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) | ||
| 79 | - >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); | ||
| 80 | + >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); | ||
| 81 | #ifdef E2DEBUG | ||
| 82 | printf ("inode table fsblock=%d\n", ino_blk); | ||
| 83 | #endif /* E2DEBUG */ | ||
| 84 | @@ -565,13 +618,12 @@ | ||
| 85 | /* reset indirect blocks! */ | ||
| 86 | mapblock2 = mapblock1 = -1; | ||
| 87 | |||
| 88 | - raw_inode = INODE + | ||
| 89 | - ((current_ino - 1) | ||
| 90 | - & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); | ||
| 91 | + raw_inode = (struct ext2_inode *)((char *)INODE + | ||
| 92 | + ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * | ||
| 93 | + EXT2_INODE_SIZE (SUPERBLOCK)); | ||
| 94 | #ifdef E2DEBUG | ||
| 95 | printf ("ipb=%d, sizeof(inode)=%d\n", | ||
| 96 | - (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), | ||
| 97 | - sizeof (struct ext2_inode)); | ||
| 98 | + EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); | ||
| 99 | printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); | ||
| 100 | printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); | ||
| 101 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate | ||
| 2 | |||
| 3 | Subject: [PATCH] grub: fix for automake-1.12 | ||
| 4 | |||
| 5 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 6 | |||
| 7 | this patch avoids these kinds of errors: | ||
| 8 | |||
| 9 | | stage1/Makefile.am:2: error: 'pkglibdir' is not a legitimate directory for 'DATA' | ||
| 10 | | stage2/Makefile.am:35: error: 'pkglibdir' is not a legitimate directory for 'DATA' | ||
| 11 | | stage2/Makefile.am:46: error: 'pkglibdir' is not a legitimate directory for 'DATA' | ||
| 12 | | autoreconf: automake failed with exit status: 1 | ||
| 13 | | ERROR: autoreconf execution failed. | ||
| 14 | |||
| 15 | The upstream status is marked as 'Inappropriate' because this problem is not uncommon, | ||
| 16 | it has been there for a long time and no change in upstream. | ||
| 17 | |||
| 18 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 19 | |||
| 20 | Index: grub-0.97/stage1/Makefile.am | ||
| 21 | =================================================================== | ||
| 22 | --- a/stage1/Makefile.am | ||
| 23 | +++ b/stage1/Makefile.am | ||
| 24 | @@ -1,7 +1,7 @@ | ||
| 25 | -pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) | ||
| 26 | -nodist_pkglib_DATA = stage1 | ||
| 27 | +pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) | ||
| 28 | +nodist_pkgdata_DATA = stage1 | ||
| 29 | |||
| 30 | -CLEANFILES = $(nodist_pkglib_DATA) | ||
| 31 | +CLEANFILES = $(nodist_pkgdata_DATA) | ||
| 32 | |||
| 33 | # We can't use builtins or standard includes. | ||
| 34 | AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc | ||
| 35 | Index: grub-0.97/stage2/Makefile.am | ||
| 36 | =================================================================== | ||
| 37 | --- a/stage2/Makefile.am | ||
| 38 | +++ b/stage2/Makefile.am | ||
| 39 | @@ -27,12 +27,12 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ | ||
| 40 | -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 | ||
| 41 | |||
| 42 | # Stage 2 and Stage 1.5's. | ||
| 43 | -pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) | ||
| 44 | +pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) | ||
| 45 | |||
| 46 | EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec | ||
| 47 | |||
| 48 | if DISKLESS_SUPPORT | ||
| 49 | -pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ | ||
| 50 | +pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ | ||
| 51 | ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ | ||
| 52 | reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ | ||
| 53 | nbgrub pxegrub | ||
| 54 | @@ -43,7 +43,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ | ||
| 55 | reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ | ||
| 56 | xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec | ||
| 57 | else | ||
| 58 | -pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ | ||
| 59 | +pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ | ||
| 60 | ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ | ||
| 61 | reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 | ||
| 62 | noinst_DATA = pre_stage2 start start_eltorito | ||
| 63 | @@ -105,7 +105,7 @@ else | ||
| 64 | BUILT_SOURCES = stage2_size.h | ||
| 65 | endif | ||
| 66 | |||
| 67 | -CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) | ||
| 68 | +CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) | ||
| 69 | |||
| 70 | stage2_size.h: pre_stage2 | ||
| 71 | -rm -f stage2_size.h | ||
| 72 | -- | ||
| 73 | 1.7.9.5 | ||
| 74 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [disable feature] | ||
| 2 | |||
| 3 | After the commit "tcmode-default: switch to gcc 4.6.0 for x86, x86-64 & arm", | ||
| 4 | we got bug 1099 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1099): | ||
| 5 | |||
| 6 | Running "install --stage2=/ssd/boot/grub/stage2 /boot/grub/stage1(hd0) | ||
| 7 | /boot/grub/stage2 p /boot/grub/menu list" failed | ||
| 8 | Error 6: Mismatched or corrupt version of stage1/stage2 | ||
| 9 | |||
| 10 | This turned out to be a gcc's bug. See | ||
| 11 | https://bugs.gentoo.org/show_bug.cgi?id=360513 | ||
| 12 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333 | ||
| 13 | |||
| 14 | Upstream gcc seems uninterested in the bug, so at present we can disable the | ||
| 15 | option as a workaround. Thanks Ryan Hill for the investigation and the | ||
| 16 | workaround patch. | ||
| 17 | |||
| 18 | Dexuan Cui <dexuan.cui@intel.com> | ||
| 19 | Wed Jun 29 20:21:39 CST 2011 | ||
| 20 | |||
| 21 | --- grub-0.97/stage2/Makefile.am.orig | ||
| 22 | +++ grub-0.97/stage2/Makefile.am | ||
| 23 | @@ -79,7 +79,7 @@ | ||
| 24 | HERCULES_FLAGS = | ||
| 25 | endif | ||
| 26 | |||
| 27 | -STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ | ||
| 28 | +STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-reorder-functions -fno-builtin -nostdinc \ | ||
| 29 | $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) | ||
| 30 | |||
| 31 | 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 @@ | |||
| 1 | |||
| 2 | This patch is from ubuntu: | ||
| 3 | * objcopy-absolute.diff (update): Remove .note, .comment, and | ||
| 4 | .note.gnu.build-id sections from images (LP: #444703). | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [no longer maintained] | ||
| 7 | |||
| 8 | Index: b/acinclude.m4 | ||
| 9 | =================================================================== | ||
| 10 | --- a/acinclude.m4 | ||
| 11 | +++ b/acinclude.m4 | ||
| 12 | @@ -61,7 +61,7 @@ | ||
| 13 | else | ||
| 14 | AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) | ||
| 15 | fi | ||
| 16 | - if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then : | ||
| 17 | + if AC_TRY_COMMAND([${OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then : | ||
| 18 | else | ||
| 19 | AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files]) | ||
| 20 | fi | ||
| 21 | Index: b/stage1/Makefile.am | ||
| 22 | =================================================================== | ||
| 23 | --- a/stage1/Makefile.am | ||
| 24 | +++ b/stage1/Makefile.am | ||
| 25 | @@ -12,4 +12,4 @@ | ||
| 26 | |||
| 27 | SUFFIXES = .exec | ||
| 28 | .exec: | ||
| 29 | - $(OBJCOPY) -O binary $< $@ | ||
| 30 | + $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@ | ||
| 31 | Index: b/stage2/Makefile.am | ||
| 32 | =================================================================== | ||
| 33 | --- a/stage2/Makefile.am | ||
| 34 | +++ b/stage2/Makefile.am | ||
| 35 | @@ -293,4 +293,4 @@ | ||
| 36 | # General rule for making a raw binary. | ||
| 37 | SUFFIXES = .exec | ||
| 38 | .exec: | ||
| 39 | - $(OBJCOPY) -O binary $< $@ | ||
| 40 | + $(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 @@ | |||
| 1 | SUMMARY = "GRUB is the GRand Unified Bootloader" | ||
| 2 | DESCRIPTION = "GRUB is a GPLed bootloader intended to unify bootloading across x86 \ | ||
| 3 | operating systems. In addition to loading the Linux kernel, it implements the Multiboot \ | ||
| 4 | standard, which allows for flexible loading of multiple boot images." | ||
| 5 | HOMEPAGE = "http://www.gnu.org/software/grub/" | ||
| 6 | SECTION = "bootloaders" | ||
| 7 | |||
| 8 | LICENSE = "GPLv2+" | ||
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \ | ||
| 10 | file://grub/main.c;beginline=3;endline=9;md5=22a5f28d2130fff9f2a17ed54be90ed6" | ||
| 11 | |||
| 12 | RDEPENDS_${PN} = "diffutils" | ||
| 13 | PR = "r6" | ||
| 14 | |||
| 15 | SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz; \ | ||
| 16 | file://no-reorder-functions.patch \ | ||
| 17 | file://autohell.patch \ | ||
| 18 | file://grub_fix_for_automake-1.12.patch \ | ||
| 19 | file://objcopy-absolute.patch \ | ||
| 20 | file://grub-support-256byte-inode.patch \ | ||
| 21 | " | ||
| 22 | |||
| 23 | SRC_URI[md5sum] = "cd3f3eb54446be6003156158d51f4884" | ||
| 24 | SRC_URI[sha256sum] = "4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b" | ||
| 25 | |||
| 26 | inherit autotools texinfo | ||
| 27 | |||
| 28 | COMPATIBLE_HOST = "i.86.*-linux" | ||
| 29 | |||
| 30 | EXTRA_OECONF = "--without-curses" | ||
| 31 | |||
| 32 | do_install_append_vmware() { | ||
| 33 | mkdir -p ${D}/boot/ | ||
| 34 | ln -sf ../usr/lib/grub/{$TARGET_ARCH}{$TARGET_VENDOR}/ ${D}/boot/grub | ||
| 35 | } | ||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. | ||
| 4 | |||
| 5 | The package is stated as being Licensed as GPLv2+. | ||
| 6 | |||
| 7 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 8 | |||
| 9 | ---- | ||
| 10 | |||
| 11 | When "cp -i --update old new" would do nothing because "new" is | ||
| 12 | newer than "old", cp would nonetheless prompt for whether it is | ||
| 13 | ok to overwrite "new". Then, regardless of the response (because | ||
| 14 | of the --update option), cp would do nothing. | ||
| 15 | |||
| 16 | The following patch eliminates the unnecessary prompt in that case. | ||
| 17 | |||
| 18 | diff --git a/src/copy.c b/src/copy.c | ||
| 19 | index b7bf73b..0e549d2 100644 | ||
| 20 | --- a/src/copy.c | ||
| 21 | +++ b/src/copy.c | ||
| 22 | @@ -1210,6 +1210,30 @@ copy_internal (char const *src_name, char const *dst_name, | ||
| 23 | return false; | ||
| 24 | } | ||
| 25 | |||
| 26 | + if (!S_ISDIR (src_mode) && x->update) | ||
| 27 | + { | ||
| 28 | + /* When preserving time stamps (but not moving within a file | ||
| 29 | + system), don't worry if the destination time stamp is | ||
| 30 | + less than the source merely because of time stamp | ||
| 31 | + truncation. */ | ||
| 32 | + int options = ((x->preserve_timestamps | ||
| 33 | + && ! (x->move_mode | ||
| 34 | + && dst_sb.st_dev == src_sb.st_dev)) | ||
| 35 | + ? UTIMECMP_TRUNCATE_SOURCE | ||
| 36 | + : 0); | ||
| 37 | + | ||
| 38 | + if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) | ||
| 39 | + { | ||
| 40 | + /* We're using --update and the destination is not older | ||
| 41 | + than the source, so do not copy or move. Pretend the | ||
| 42 | + rename succeeded, so the caller (if it's mv) doesn't | ||
| 43 | + end up removing the source file. */ | ||
| 44 | + if (rename_succeeded) | ||
| 45 | + *rename_succeeded = true; | ||
| 46 | + return true; | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | /* When there is an existing destination file, we may end up | ||
| 51 | returning early, and hence not copying/moving the file. | ||
| 52 | This may be due to an interactive `negative' reply to the | ||
| 53 | @@ -1302,30 +1326,6 @@ copy_internal (char const *src_name, char const *dst_name, | ||
| 54 | return false; | ||
| 55 | } | ||
| 56 | } | ||
| 57 | - | ||
| 58 | - if (x->update) | ||
| 59 | - { | ||
| 60 | - /* When preserving time stamps (but not moving within a file | ||
| 61 | - system), don't worry if the destination time stamp is | ||
| 62 | - less than the source merely because of time stamp | ||
| 63 | - truncation. */ | ||
| 64 | - int options = ((x->preserve_timestamps | ||
| 65 | - && ! (x->move_mode | ||
| 66 | - && dst_sb.st_dev == src_sb.st_dev)) | ||
| 67 | - ? UTIMECMP_TRUNCATE_SOURCE | ||
| 68 | - : 0); | ||
| 69 | - | ||
| 70 | - if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) | ||
| 71 | - { | ||
| 72 | - /* We're using --update and the destination is not older | ||
| 73 | - than the source, so do not copy or move. Pretend the | ||
| 74 | - rename succeeded, so the caller (if it's mv) doesn't | ||
| 75 | - end up removing the source file. */ | ||
| 76 | - if (rename_succeeded) | ||
| 77 | - *rename_succeeded = true; | ||
| 78 | - return true; | ||
| 79 | - } | ||
| 80 | - } | ||
| 81 | } | ||
| 82 | |||
| 83 | if (x->move_mode) | ||
| 84 | diff --git a/tests/mv/update b/tests/mv/update | ||
| 85 | index 0c06024..6c3d149 100755 | ||
| 86 | --- a/tests/mv/update | ||
| 87 | +++ b/tests/mv/update | ||
| 88 | @@ -1,7 +1,7 @@ | ||
| 89 | #!/bin/sh | ||
| 90 | # make sure --update works as advertised | ||
| 91 | |||
| 92 | -# Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. | ||
| 93 | +# Copyright (C) 2001, 2004, 2006-2007 Free Software Foundation, Inc. | ||
| 94 | |||
| 95 | # This program is free software; you can redistribute it and/or modify | ||
| 96 | # it under the terms of the GNU General Public License as published by | ||
| 97 | @@ -46,11 +46,16 @@ fi | ||
| 98 | |||
| 99 | fail=0 | ||
| 100 | |||
| 101 | -for cp_or_mv in cp mv; do | ||
| 102 | - # This is a no-op. | ||
| 103 | - $cp_or_mv --update old new || fail=1 | ||
| 104 | - case "`cat new`" in new) ;; *) fail=1 ;; esac | ||
| 105 | - case "`cat old`" in old) ;; *) fail=1 ;; esac | ||
| 106 | +for interactive in '' -i; do | ||
| 107 | + for cp_or_mv in cp mv; do | ||
| 108 | + # This is a no-op, with no prompt. | ||
| 109 | + # With coreutils-6.9 and earlier, using --update with -i would | ||
| 110 | + # mistakenly elicit a prompt. | ||
| 111 | + $cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1 | ||
| 112 | + test -s out && fail=1 | ||
| 113 | + case "`cat new`" in new) ;; *) fail=1 ;; esac | ||
| 114 | + case "`cat old`" in old) ;; *) fail=1 ;; esac | ||
| 115 | + done | ||
| 116 | done | ||
| 117 | |||
| 118 | # This will actually perform the rename. | ||
| 119 | -- | ||
| 120 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | The install command doesn't over write the dangling symlink, for | ||
| 4 | example: | ||
| 5 | |||
| 6 | $ install fileA /tmp/fileA | ||
| 7 | |||
| 8 | If /tmp/fileA is a dangling symlink, there would be an error: | ||
| 9 | |||
| 10 | install: cannot create regular file '/tmp/fileA': File exists | ||
| 11 | |||
| 12 | This is because of the following code in copy.c: | ||
| 13 | |||
| 14 | if (!new_dst) | ||
| 15 | { | ||
| 16 | if (XSTAT (x, dst_name, &dst_sb) != 0) | ||
| 17 | { | ||
| 18 | if (errno != ENOENT) | ||
| 19 | { | ||
| 20 | error (0, errno, _("cannot stat %s"), quote (dst_name)); | ||
| 21 | return false; | ||
| 22 | } | ||
| 23 | else | ||
| 24 | { | ||
| 25 | new_dst = true; | ||
| 26 | } | ||
| 27 | } | ||
| 28 | |||
| 29 | XSTAT() use stat() for dst_name(the dangling symlink /tmp/fileA) when | ||
| 30 | install.c invokes it, and stat will set errno to ENOENT, and then | ||
| 31 | new_dst will be set to true which means that /tmp/fileA doesn't exist, | ||
| 32 | then we will create /tmp/fileA without remove it first, so the error | ||
| 33 | comes. | ||
| 34 | |||
| 35 | This is fixed in a way which adds the member cmd_install in | ||
| 36 | struct cp_options to make sure my change only affected to the install | ||
| 37 | command and use lstat to fix the problem. | ||
| 38 | |||
| 39 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
| 40 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 41 | |||
| 42 | --- | ||
| 43 | src/copy.c | 10 +++++++++- | ||
| 44 | src/copy.h | 3 +++ | ||
| 45 | src/install.c | 1 + | ||
| 46 | 3 files changed, 13 insertions(+), 1 deletions(-) | ||
| 47 | |||
| 48 | diff --git a/src/copy.c b/src/copy.c | ||
| 49 | --- a/src/copy.c | ||
| 50 | +++ b/src/copy.c | ||
| 51 | @@ -1029,6 +1029,7 @@ copy_internal (char const *src_name, char const *dst_name, | ||
| 52 | bool delayed_ok; | ||
| 53 | bool copied_as_regular = false; | ||
| 54 | bool preserve_metadata; | ||
| 55 | + int dst_stat_result; | ||
| 56 | |||
| 57 | if (x->move_mode && rename_succeeded) | ||
| 58 | *rename_succeeded = false; | ||
| 59 | @@ -1069,7 +1070,14 @@ copy_internal (char const *src_name, char const *dst_name, | ||
| 60 | |||
| 61 | if (!new_dst) | ||
| 62 | { | ||
| 63 | - if (XSTAT (x, dst_name, &dst_sb) != 0) | ||
| 64 | + if ( x->cmd_install && ( x->backup_type == no_backups)) | ||
| 65 | + dst_stat_result = lstat (dst_name, &dst_sb); | ||
| 66 | + else | ||
| 67 | + { | ||
| 68 | + dst_stat_result = XSTAT (x, dst_name, &dst_sb); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + if (dst_stat_result != 0) | ||
| 72 | { | ||
| 73 | if (errno != ENOENT) | ||
| 74 | { | ||
| 75 | diff --git a/src/copy.h b/src/copy.h | ||
| 76 | --- a/src/copy.h | ||
| 77 | +++ b/src/copy.h | ||
| 78 | @@ -114,6 +114,9 @@ struct cp_options | ||
| 79 | If that fails, then resort to copying. */ | ||
| 80 | bool move_mode; | ||
| 81 | |||
| 82 | + /* For the install command */ | ||
| 83 | + bool cmd_install; | ||
| 84 | + | ||
| 85 | /* Whether this process has appropriate privileges to chown a file | ||
| 86 | whose owner is not the effective user ID. */ | ||
| 87 | bool chown_privileges; | ||
| 88 | diff --git a/src/install.c b/src/install.c | ||
| 89 | --- a/src/install.c | ||
| 90 | +++ b/src/install.c | ||
| 91 | @@ -149,6 +149,7 @@ cp_option_init (struct cp_options *x) | ||
| 92 | x->hard_link = false; | ||
| 93 | x->interactive = I_UNSPECIFIED; | ||
| 94 | x->move_mode = false; | ||
| 95 | + x->cmd_install = true; | ||
| 96 | x->chown_privileges = chown_privileges (); | ||
| 97 | x->one_file_system = false; | ||
| 98 | x->preserve_ownership = false; | ||
| 99 | -- | ||
| 100 | 1.7.0.1 | ||
| 101 | |||
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 @@ | |||
| 1 | From 170be4023bbf9e9698a709e03265945588ac8e01 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
| 3 | Date: Tue, 26 Nov 2013 00:21:50 +0800 | ||
| 4 | Subject: [PATCH] doc/coreutils.texi: Use '@item' instead of '@itemx' | ||
| 5 | |||
| 6 | Use '@item' instead of '@itemx' in several places, as Texinfo 5 refuses | ||
| 7 | to process an '@itemx' that is not preceded by an '@item'. Ensure that | ||
| 8 | node extended names in menus and sectioning are consistent, and that | ||
| 9 | ordering and presence of nodes in menus and in the actual text are | ||
| 10 | consistent as well. | ||
| 11 | |||
| 12 | Upstream-Status: Backport [From: coreutils.7620.n7.nabble.com, bug#11828] | ||
| 13 | |||
| 14 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
| 15 | --- | ||
| 16 | doc/coreutils.texi | 82 +++++++++++++++++++++++++++--------------------------- | ||
| 17 | 1 file changed, 41 insertions(+), 41 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/doc/coreutils.texi b/doc/coreutils.texi | ||
| 20 | index 588147f..2dae3fe 100644 | ||
| 21 | --- a/doc/coreutils.texi | ||
| 22 | +++ b/doc/coreutils.texi | ||
| 23 | @@ -555,7 +555,7 @@ symbolic link to a directory. @xref{Target directory}. | ||
| 24 | @end macro | ||
| 25 | |||
| 26 | @macro optSi | ||
| 27 | -@itemx --si | ||
| 28 | +@item --si | ||
| 29 | @opindex --si | ||
| 30 | @cindex SI output | ||
| 31 | Append an SI-style abbreviation to each size, such as @samp{M} for | ||
| 32 | @@ -578,7 +578,7 @@ Use the @option{--si} option if you prefer powers of 1000. | ||
| 33 | @end macro | ||
| 34 | |||
| 35 | @macro optStripTrailingSlashes | ||
| 36 | -@itemx @w{@kbd{--strip-trailing-slashes}} | ||
| 37 | +@item @w{@kbd{--strip-trailing-slashes}} | ||
| 38 | @opindex --strip-trailing-slashes | ||
| 39 | @cindex stripping trailing slashes | ||
| 40 | Remove any trailing slashes from each @var{source} argument. | ||
| 41 | @@ -2496,7 +2496,7 @@ by 1048576. | ||
| 42 | However, if @var{n} starts with a @samp{-}, | ||
| 43 | print all but the last @var{n} bytes of each file. | ||
| 44 | |||
| 45 | -@itemx -n @var{n} | ||
| 46 | +@item -n @var{n} | ||
| 47 | @itemx --lines=@var{n} | ||
| 48 | @opindex -n | ||
| 49 | @opindex --lines | ||
| 50 | @@ -2633,7 +2633,7 @@ This option is the same as @option{--follow=name --retry}. That is, tail | ||
| 51 | will attempt to reopen a file when it is removed. Should this fail, tail | ||
| 52 | will keep trying until it becomes accessible again. | ||
| 53 | |||
| 54 | -@itemx --retry | ||
| 55 | +@item --retry | ||
| 56 | @opindex --retry | ||
| 57 | This option is useful mainly when following by name (i.e., with | ||
| 58 | @option{--follow=name}). | ||
| 59 | @@ -2641,7 +2641,7 @@ Without this option, when tail encounters a file that doesn't | ||
| 60 | exist or is otherwise inaccessible, it reports that fact and | ||
| 61 | never checks it again. | ||
| 62 | |||
| 63 | -@itemx --sleep-interval=@var{number} | ||
| 64 | +@item --sleep-interval=@var{number} | ||
| 65 | @opindex --sleep-interval | ||
| 66 | Change the number of seconds to wait between iterations (the default is 1.0). | ||
| 67 | During one iteration, every specified file is checked to see if it has | ||
| 68 | @@ -2651,7 +2651,7 @@ Historical implementations of @command{tail} have required that | ||
| 69 | an arbitrary floating point number (using a period before any | ||
| 70 | fractional digits). | ||
| 71 | |||
| 72 | -@itemx --pid=@var{pid} | ||
| 73 | +@item --pid=@var{pid} | ||
| 74 | @opindex --pid | ||
| 75 | When following by name or by descriptor, you may specify the process ID, | ||
| 76 | @var{pid}, of the sole writer of all @var{file} arguments. Then, shortly | ||
| 77 | @@ -2674,7 +2674,7 @@ terminate until long after the real writer has terminated. | ||
| 78 | Note that @option{--pid} cannot be supported on some systems; @command{tail} | ||
| 79 | will print a warning if this is the case. | ||
| 80 | |||
| 81 | -@itemx --max-unchanged-stats=@var{n} | ||
| 82 | +@item --max-unchanged-stats=@var{n} | ||
| 83 | @opindex --max-unchanged-stats | ||
| 84 | When tailing a file by name, if there have been @var{n} (default | ||
| 85 | n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS}) consecutive | ||
| 86 | @@ -2686,7 +2686,7 @@ number of seconds between when tail prints the last pre-rotation lines | ||
| 87 | and when it prints the lines that have accumulated in the new log file. | ||
| 88 | This option is meaningful only when following by name. | ||
| 89 | |||
| 90 | -@itemx -n @var{n} | ||
| 91 | +@item -n @var{n} | ||
| 92 | @itemx --lines=@var{n} | ||
| 93 | @opindex -n | ||
| 94 | @opindex --lines | ||
| 95 | @@ -2817,7 +2817,7 @@ option. | ||
| 96 | @opindex --numeric-suffixes | ||
| 97 | Use digits in suffixes rather than lower-case letters. | ||
| 98 | |||
| 99 | -@itemx --verbose | ||
| 100 | +@item --verbose | ||
| 101 | @opindex --verbose | ||
| 102 | Write a diagnostic to standard error just before each output file is opened. | ||
| 103 | |||
| 104 | @@ -3055,7 +3055,7 @@ Print only the newline counts. | ||
| 105 | @opindex --max-line-length | ||
| 106 | Print only the maximum line lengths. | ||
| 107 | |||
| 108 | -@itemx --files0-from=@var{FILE} | ||
| 109 | +@item --files0-from=@var{FILE} | ||
| 110 | @opindex --files0-from=@var{FILE} | ||
| 111 | @cindex including files from @command{du} | ||
| 112 | Rather than processing files named on the command line, process those | ||
| 113 | @@ -3250,7 +3250,7 @@ an MD5 checksum inconsistent with the associated file, or if no valid | ||
| 114 | line is found, @command{md5sum} exits with nonzero status. Otherwise, | ||
| 115 | it exits successfully. | ||
| 116 | |||
| 117 | -@itemx --status | ||
| 118 | +@item --status | ||
| 119 | @opindex --status | ||
| 120 | @cindex verifying MD5 checksums | ||
| 121 | This option is useful only when verifying checksums. | ||
| 122 | @@ -5837,7 +5837,7 @@ command line unless the @option{--dereference-command-line} (@option{-H}), | ||
| 123 | If a command line argument specifies a symbolic link, show information | ||
| 124 | for the file the link references rather than for the link itself. | ||
| 125 | |||
| 126 | -@itemx --dereference-command-line-symlink-to-dir | ||
| 127 | +@item --dereference-command-line-symlink-to-dir | ||
| 128 | @opindex --dereference-command-line-symlink-to-dir | ||
| 129 | @cindex symbolic links, dereferencing | ||
| 130 | Do not dereference symbolic links, with one exception: | ||
| 131 | @@ -7015,15 +7015,15 @@ If specified, the @var{attribute_list} must be a comma-separated list | ||
| 132 | of one or more of the following strings: | ||
| 133 | |||
| 134 | @table @samp | ||
| 135 | -@itemx mode | ||
| 136 | +@item mode | ||
| 137 | Preserve the file mode bits and access control lists. | ||
| 138 | -@itemx ownership | ||
| 139 | +@item ownership | ||
| 140 | Preserve the owner and group. On most modern systems, | ||
| 141 | only users with appropriate privileges may change the owner of a file, | ||
| 142 | and ordinary users | ||
| 143 | may preserve the group ownership of a file only if they happen to be | ||
| 144 | a member of the desired group. | ||
| 145 | -@itemx timestamps | ||
| 146 | +@item timestamps | ||
| 147 | Preserve the times of last access and last modification, when possible. | ||
| 148 | In general, it is not possible to preserve these attributes | ||
| 149 | when the affected file is a symbolic link. | ||
| 150 | @@ -7031,12 +7031,12 @@ However, FreeBSD now provides the @code{lutimes} function, which makes | ||
| 151 | it possibile even for symbolic links. However, this implementation does | ||
| 152 | not yet take advantage of that. | ||
| 153 | @c FIXME: once we provide lutimes support, update the above. | ||
| 154 | -@itemx links | ||
| 155 | +@item links | ||
| 156 | Preserve in the destination files | ||
| 157 | any links between corresponding source files. | ||
| 158 | @c Give examples illustrating how hard links are preserved. | ||
| 159 | @c Also, show how soft links map to hard links with -L and -H. | ||
| 160 | -@itemx all | ||
| 161 | +@item all | ||
| 162 | Preserve all file attributes. | ||
| 163 | Equivalent to specifying all of the above. | ||
| 164 | @end table | ||
| 165 | @@ -7049,12 +7049,12 @@ mode bits of the corresponding source file, minus the bits set in the | ||
| 166 | umask and minus the set-user-ID and set-group-ID bits. | ||
| 167 | @xref{File permissions}. | ||
| 168 | |||
| 169 | -@itemx @w{@kbd{--no-preserve}=@var{attribute_list}} | ||
| 170 | +@item @w{@kbd{--no-preserve}=@var{attribute_list}} | ||
| 171 | @cindex file information, preserving | ||
| 172 | Do not preserve the specified attributes. The @var{attribute_list} | ||
| 173 | has the same form as for @option{--preserve}. | ||
| 174 | |||
| 175 | -@itemx --parents | ||
| 176 | +@item --parents | ||
| 177 | @opindex --parents | ||
| 178 | @cindex parent directories and @command{cp} | ||
| 179 | Form the name of each destination file by appending to the target | ||
| 180 | @@ -7070,7 +7070,7 @@ cp --parents a/b/c existing_dir | ||
| 181 | copies the file @file{a/b/c} to @file{existing_dir/a/b/c}, creating | ||
| 182 | any missing intermediate directories. | ||
| 183 | |||
| 184 | -@itemx @w{@kbd{--reply}=@var{how}} | ||
| 185 | +@item @w{@kbd{--reply}=@var{how}} | ||
| 186 | @opindex --reply | ||
| 187 | @cindex interactivity | ||
| 188 | @c FIXME: remove in 2008 | ||
| 189 | @@ -7742,7 +7742,7 @@ Prompt whether to overwrite each existing destination file, regardless | ||
| 190 | of its permissions. | ||
| 191 | If the response is not affirmative, the file is skipped. | ||
| 192 | |||
| 193 | -@itemx @w{@kbd{--reply}=@var{how}} | ||
| 194 | +@item @w{@kbd{--reply}=@var{how}} | ||
| 195 | @opindex --reply | ||
| 196 | @cindex interactivity | ||
| 197 | @c FIXME: remove in 2008 | ||
| 198 | @@ -7847,7 +7847,7 @@ files are named or if a recursive removal is requested. Ignore any | ||
| 199 | previous @option{--force} (@option{-f}) option. Equivalent to | ||
| 200 | @option{--interactive=once}. | ||
| 201 | |||
| 202 | -@itemx --interactive [=@var{when}] | ||
| 203 | +@item --interactive [=@var{when}] | ||
| 204 | @opindex --interactive | ||
| 205 | Specify when to issue an interactive prompt. @var{when} may be | ||
| 206 | omitted, or one of: | ||
| 207 | @@ -7866,7 +7866,7 @@ removal is requested. Equivalent to @option{-I}. | ||
| 208 | Specifying @option{--interactive} and no @var{when} is equivalent to | ||
| 209 | @option{--interactive=always}. | ||
| 210 | |||
| 211 | -@itemx --one-file-system | ||
| 212 | +@item --one-file-system | ||
| 213 | @opindex --one-file-system | ||
| 214 | @cindex one file system, restricting @command{rm} to | ||
| 215 | When removing a hierarchy recursively, skip any directory that is on a | ||
| 216 | @@ -7884,7 +7884,7 @@ warn about and skip directories on other file systems. | ||
| 217 | Of course, this will not save your @file{/home} if it and your | ||
| 218 | chroot happen to be on the same file system. | ||
| 219 | |||
| 220 | -@itemx --preserve-root | ||
| 221 | +@item --preserve-root | ||
| 222 | @opindex --preserve-root | ||
| 223 | @cindex root directory, disallow recursive destruction | ||
| 224 | Fail upon any attempt to remove the root directory, @file{/}, | ||
| 225 | @@ -7892,7 +7892,7 @@ when used with the @option{--recursive} option. | ||
| 226 | This is the default behavior. | ||
| 227 | @xref{Treating / specially}. | ||
| 228 | |||
| 229 | -@itemx --no-preserve-root | ||
| 230 | +@item --no-preserve-root | ||
| 231 | @opindex --no-preserve-root | ||
| 232 | @cindex root directory, allow recursive destruction | ||
| 233 | Do not treat @file{/} specially when removing recursively. | ||
| 234 | @@ -8874,7 +8874,7 @@ actually changes. | ||
| 235 | Do not print error messages about files whose ownership cannot be | ||
| 236 | changed. | ||
| 237 | |||
| 238 | -@itemx @w{@kbd{--from}=@var{old-owner}} | ||
| 239 | +@item @w{@kbd{--from}=@var{old-owner}} | ||
| 240 | @opindex --from | ||
| 241 | @cindex symbolic links, changing owner | ||
| 242 | Change a @var{file}'s ownership only if it has current attributes specified | ||
| 243 | @@ -8928,14 +8928,14 @@ is a symbolic link. | ||
| 244 | By default, no diagnostic is issued for symbolic links encountered | ||
| 245 | during a recursive traversal, but see @option{--verbose}. | ||
| 246 | |||
| 247 | -@itemx --preserve-root | ||
| 248 | +@item --preserve-root | ||
| 249 | @opindex --preserve-root | ||
| 250 | @cindex root directory, disallow recursive modification | ||
| 251 | Fail upon any attempt to recursively change the root directory, @file{/}. | ||
| 252 | Without @option{--recursive}, this option has no effect. | ||
| 253 | @xref{Treating / specially}. | ||
| 254 | |||
| 255 | -@itemx --no-preserve-root | ||
| 256 | +@item --no-preserve-root | ||
| 257 | @opindex --no-preserve-root | ||
| 258 | @cindex root directory, allow recursive modification | ||
| 259 | Cancel the effect of any preceding @option{--preserve-root} option. | ||
| 260 | @@ -9054,14 +9054,14 @@ is a symbolic link. | ||
| 261 | By default, no diagnostic is issued for symbolic links encountered | ||
| 262 | during a recursive traversal, but see @option{--verbose}. | ||
| 263 | |||
| 264 | -@itemx --preserve-root | ||
| 265 | +@item --preserve-root | ||
| 266 | @opindex --preserve-root | ||
| 267 | @cindex root directory, disallow recursive modification | ||
| 268 | Fail upon any attempt to recursively change the root directory, @file{/}. | ||
| 269 | Without @option{--recursive}, this option has no effect. | ||
| 270 | @xref{Treating / specially}. | ||
| 271 | |||
| 272 | -@itemx --no-preserve-root | ||
| 273 | +@item --no-preserve-root | ||
| 274 | @opindex --no-preserve-root | ||
| 275 | @cindex root directory, allow recursive modification | ||
| 276 | Cancel the effect of any preceding @option{--preserve-root} option. | ||
| 277 | @@ -9175,14 +9175,14 @@ actually changes. | ||
| 278 | Do not print error messages about files whose permissions cannot be | ||
| 279 | changed. | ||
| 280 | |||
| 281 | -@itemx --preserve-root | ||
| 282 | +@item --preserve-root | ||
| 283 | @opindex --preserve-root | ||
| 284 | @cindex root directory, disallow recursive modification | ||
| 285 | Fail upon any attempt to recursively change the root directory, @file{/}. | ||
| 286 | Without @option{--recursive}, this option has no effect. | ||
| 287 | @xref{Treating / specially}. | ||
| 288 | |||
| 289 | -@itemx --no-preserve-root | ||
| 290 | +@item --no-preserve-root | ||
| 291 | @opindex --no-preserve-root | ||
| 292 | @cindex root directory, allow recursive modification | ||
| 293 | Cancel the effect of any preceding @option{--preserve-root} option. | ||
| 294 | @@ -9603,7 +9603,7 @@ The program accepts the following options. Also see @ref{Common options}. | ||
| 295 | @opindex --all | ||
| 296 | Show counts for all files, not just directories. | ||
| 297 | |||
| 298 | -@itemx --apparent-size | ||
| 299 | +@item --apparent-size | ||
| 300 | @opindex --apparent-size | ||
| 301 | Print apparent sizes, rather than disk usage. The apparent size of a | ||
| 302 | file is the number of bytes reported by @code{wc -c} on regular files, | ||
| 303 | @@ -9654,7 +9654,7 @@ Does not affect other symbolic links. This is helpful for finding | ||
| 304 | out the disk usage of directories, such as @file{/usr/tmp}, which | ||
| 305 | are often symbolic links. | ||
| 306 | |||
| 307 | -@itemx --files0-from=@var{FILE} | ||
| 308 | +@item --files0-from=@var{FILE} | ||
| 309 | @opindex --files0-from=@var{FILE} | ||
| 310 | @cindex including files from @command{du} | ||
| 311 | Rather than processing files named on the command line, process those | ||
| 312 | @@ -9733,7 +9733,7 @@ Output a null byte at the end of each line, rather than a newline. | ||
| 313 | This option enables other programs to parse the output of @command{du} | ||
| 314 | even when that output would contain file names with embedded newlines. | ||
| 315 | |||
| 316 | -@itemx --si | ||
| 317 | +@item --si | ||
| 318 | @opindex --si | ||
| 319 | @cindex SI output | ||
| 320 | Append an SI-style abbreviation to each size, such as @samp{MB} for | ||
| 321 | @@ -9754,13 +9754,13 @@ Display only a total for each argument. | ||
| 322 | Report the size of each directory separately, not including the sizes | ||
| 323 | of subdirectories. | ||
| 324 | |||
| 325 | -@itemx --time | ||
| 326 | +@item --time | ||
| 327 | @opindex --time | ||
| 328 | @cindex last modified dates, displaying in @command{du} | ||
| 329 | Show time of the most recent modification of any file in the directory, | ||
| 330 | or any of its subdirectories. | ||
| 331 | |||
| 332 | -@itemx --time=ctime | ||
| 333 | +@item --time=ctime | ||
| 334 | @itemx --time=status | ||
| 335 | @itemx --time=use | ||
| 336 | @opindex --time | ||
| 337 | @@ -9770,7 +9770,7 @@ or any of its subdirectories. | ||
| 338 | Show the most recent status change time (the @samp{ctime} in the inode) of | ||
| 339 | any file in the directory, instead of the modification time. | ||
| 340 | |||
| 341 | -@itemx --time=atime | ||
| 342 | +@item --time=atime | ||
| 343 | @itemx --time=access | ||
| 344 | @opindex --time | ||
| 345 | @opindex atime@r{, show the most recent} | ||
| 346 | @@ -9911,7 +9911,7 @@ $ stat --format=%d:%i / /usr | ||
| 347 | 2057:2 | ||
| 348 | @end example | ||
| 349 | |||
| 350 | -@itemx --printf=@var{format} | ||
| 351 | +@item --printf=@var{format} | ||
| 352 | @opindex --printf=@var{format} | ||
| 353 | @cindex output format | ||
| 354 | Use @var{format} rather than the default format. | ||
| 355 | @@ -12240,7 +12240,7 @@ Overrides all other options. | ||
| 356 | @opindex -s | ||
| 357 | Ignored; for compatibility with other versions of @command{who}. | ||
| 358 | |||
| 359 | -@itemx -u | ||
| 360 | +@item -u | ||
| 361 | @opindex -u | ||
| 362 | @cindex idle time | ||
| 363 | After the login time, print the number of hours and minutes that the | ||
| 364 | @@ -12254,7 +12254,7 @@ user has been idle. @samp{.} means the user was active in the last minute. | ||
| 365 | List only the entries that correspond to processes via which the | ||
| 366 | system is waiting for a user to login. The user name is always @samp{LOGIN}. | ||
| 367 | |||
| 368 | -@itemx --lookup | ||
| 369 | +@item --lookup | ||
| 370 | @opindex --lookup | ||
| 371 | Attempt to canonicalize hostnames found in utmp through a DNS lookup. This | ||
| 372 | is not the default because it can cause significant delays on systems with | ||
| 373 | -- | ||
| 374 | 1.8.3.1 | ||
| 375 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. | ||
| 4 | |||
| 5 | The package is stated as being Licensed as GPLv2+. | ||
| 6 | |||
| 7 | The comment indicates that the purpose is lin18nux/lsb compliance. | ||
| 8 | |||
| 9 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 10 | |||
| 11 | --- /dev/null 2007-03-01 09:16:39.219409909 +0000 | ||
| 12 | +++ coreutils-6.8+/tests/sort/sort-mb-tests 2007-03-01 15:08:24.000000000 +0000 | ||
| 13 | @@ -0,0 +1,58 @@ | ||
| 14 | +#! /bin/sh | ||
| 15 | +case $# in | ||
| 16 | + 0) xx='../../src/sort';; | ||
| 17 | + *) xx="$1";; | ||
| 18 | +esac | ||
| 19 | +test "$VERBOSE" && echo=echo || echo=: | ||
| 20 | +$echo testing program: $xx | ||
| 21 | +errors=0 | ||
| 22 | +test "$srcdir" || srcdir=. | ||
| 23 | +test "$VERBOSE" && $xx --version 2> /dev/null | ||
| 24 | + | ||
| 25 | +export LC_ALL=en_US.UTF-8 | ||
| 26 | +locale -k LC_CTYPE 2>&1 | grep -q charmap.*UTF-8 || exit 77 | ||
| 27 | +errors=0 | ||
| 28 | + | ||
| 29 | +$xx -t ï¼ -k2 -n mb1.I > mb1.O | ||
| 30 | +code=$? | ||
| 31 | +if test $code != 0; then | ||
| 32 | + $echo "Test mb1 failed: $xx return code $code differs from expected value 0" 1>&2 | ||
| 33 | + errors=`expr $errors + 1` | ||
| 34 | +else | ||
| 35 | + cmp mb1.O $srcdir/mb1.X > /dev/null 2>&1 | ||
| 36 | + case $? in | ||
| 37 | + 0) if test "$VERBOSE"; then $echo "passed mb1"; fi;; | ||
| 38 | + 1) $echo "Test mb1 failed: files mb1.O and $srcdir/mb1.X differ" 1>&2 | ||
| 39 | + (diff -c mb1.O $srcdir/mb1.X) 2> /dev/null | ||
| 40 | + errors=`expr $errors + 1`;; | ||
| 41 | + 2) $echo "Test mb1 may have failed." 1>&2 | ||
| 42 | + $echo The command "cmp mb1.O $srcdir/mb1.X" failed. 1>&2 | ||
| 43 | + errors=`expr $errors + 1`;; | ||
| 44 | + esac | ||
| 45 | +fi | ||
| 46 | + | ||
| 47 | +$xx -t ï¼ -k4 -n mb2.I > mb2.O | ||
| 48 | +code=$? | ||
| 49 | +if test $code != 0; then | ||
| 50 | + $echo "Test mb2 failed: $xx return code $code differs from expected value 0" 1>&2 | ||
| 51 | + errors=`expr $errors + 1` | ||
| 52 | +else | ||
| 53 | + cmp mb2.O $srcdir/mb2.X > /dev/null 2>&1 | ||
| 54 | + case $? in | ||
| 55 | + 0) if test "$VERBOSE"; then $echo "passed mb2"; fi;; | ||
| 56 | + 1) $echo "Test mb2 failed: files mb2.O and $srcdir/mb2.X differ" 1>&2 | ||
| 57 | + (diff -c mb2.O $srcdir/mb2.X) 2> /dev/null | ||
| 58 | + errors=`expr $errors + 1`;; | ||
| 59 | + 2) $echo "Test mb2 may have failed." 1>&2 | ||
| 60 | + $echo The command "cmp mb2.O $srcdir/mb2.X" failed. 1>&2 | ||
| 61 | + errors=`expr $errors + 1`;; | ||
| 62 | + esac | ||
| 63 | +fi | ||
| 64 | + | ||
| 65 | +if test $errors = 0; then | ||
| 66 | + $echo Passed all 113 tests. 1>&2 | ||
| 67 | +else | ||
| 68 | + $echo Failed $errors tests. 1>&2 | ||
| 69 | +fi | ||
| 70 | +test $errors = 0 || errors=1 | ||
| 71 | +exit $errors | ||
| 72 | --- /dev/null 2007-03-01 09:16:39.219409909 +0000 | ||
| 73 | +++ coreutils-6.8+/tests/sort/mb2.I 2007-03-01 15:08:24.000000000 +0000 | ||
| 74 | @@ -0,0 +1,4 @@ | ||
| 75 | +Appleï¼ ï¼¡ï¼¡10ï¼ ï¼ 20 | ||
| 76 | +Bananaï¼ ï¼¡ï¼¡5ï¼ ï¼ 30 | ||
| 77 | +Citrusï¼ ï¼¡ï¼¡20ï¼ ï¼ 5 | ||
| 78 | +Cherryï¼ ï¼¡ï¼¡30ï¼ ï¼ 10 | ||
| 79 | --- /dev/null 2007-03-01 09:16:39.219409909 +0000 | ||
| 80 | +++ coreutils-6.8+/tests/sort/mb2.X 2007-03-01 15:08:24.000000000 +0000 | ||
| 81 | @@ -0,0 +1,4 @@ | ||
| 82 | +Citrusï¼ ï¼¡ï¼¡20ï¼ ï¼ 5 | ||
| 83 | +Cherryï¼ ï¼¡ï¼¡30ï¼ ï¼ 10 | ||
| 84 | +Appleï¼ ï¼¡ï¼¡10ï¼ ï¼ 20 | ||
| 85 | +Bananaï¼ ï¼¡ï¼¡5ï¼ ï¼ 30 | ||
| 86 | --- /dev/null 2007-03-01 09:16:39.219409909 +0000 | ||
| 87 | +++ coreutils-6.8+/tests/sort/mb1.I 2007-03-01 15:08:24.000000000 +0000 | ||
| 88 | @@ -0,0 +1,4 @@ | ||
| 89 | +Appleï¼ 10 | ||
| 90 | +Bananaï¼ 5 | ||
| 91 | +Citrusï¼ 20 | ||
| 92 | +Cherryï¼ 30 | ||
| 93 | --- /dev/null 2007-03-01 09:16:39.219409909 +0000 | ||
| 94 | +++ coreutils-6.8+/tests/sort/mb1.X 2007-03-01 15:08:24.000000000 +0000 | ||
| 95 | @@ -0,0 +1,4 @@ | ||
| 96 | +Bananaï¼ 5 | ||
| 97 | +Appleï¼ 10 | ||
| 98 | +Citrusï¼ 20 | ||
| 99 | +Cherryï¼ 30 | ||
| 100 | --- coreutils-6.8+/tests/sort/Makefile.am.i18n 2007-01-24 07:47:37.000000000 +0000 | ||
| 101 | +++ coreutils-6.8+/tests/sort/Makefile.am 2007-03-01 15:09:59.000000000 +0000 | ||
| 102 | @@ -66,15 +66,17 @@ | ||
| 103 | bigfield.O bigfield.E | ||
| 104 | ##test-files-end | ||
| 105 | |||
| 106 | -EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) | ||
| 107 | -noinst_SCRIPTS = $x-tests | ||
| 108 | +run_gen += mb1.0 mb2.0 | ||
| 109 | + | ||
| 110 | +EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) mb1.I mb1.X mb2.I mb2.X | ||
| 111 | +noinst_SCRIPTS = $x-tests # $x-mb-tests | ||
| 112 | TESTS_ENVIRONMENT = \ | ||
| 113 | CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ | ||
| 114 | PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" | ||
| 115 | |||
| 116 | editpl = sed -e 's,@''PERL''@,$(PERL),g' -e 's,@''srcdir''@,$(srcdir),g' | ||
| 117 | |||
| 118 | -TESTS = $x-tests | ||
| 119 | +TESTS = $x-tests $x-mb-tests | ||
| 120 | |||
| 121 | mk_script = $(srcdir)/../mk-script | ||
| 122 | $(srcdir)/$x-tests: $(mk_script) Test.pm Makefile.am | ||
| 123 | --- coreutils-6.8+/lib/linebuffer.h.i18n 2005-05-14 07:44:24.000000000 +0100 | ||
| 124 | +++ coreutils-6.8+/lib/linebuffer.h 2007-03-01 15:08:24.000000000 +0000 | ||
| 125 | @@ -22,6 +22,11 @@ | ||
| 126 | |||
| 127 | # include <stdio.h> | ||
| 128 | |||
| 129 | +/* Get mbstate_t. */ | ||
| 130 | +# if HAVE_WCHAR_H | ||
| 131 | +# include <wchar.h> | ||
| 132 | +# endif | ||
| 133 | + | ||
| 134 | /* A `struct linebuffer' holds a line of text. */ | ||
| 135 | |||
| 136 | struct linebuffer | ||
| 137 | @@ -29,6 +34,9 @@ | ||
| 138 | size_t size; /* Allocated. */ | ||
| 139 | size_t length; /* Used. */ | ||
| 140 | char *buffer; | ||
| 141 | +# if HAVE_WCHAR_H | ||
| 142 | + mbstate_t state; | ||
| 143 | +# endif | ||
| 144 | }; | ||
| 145 | |||
| 146 | /* Initialize linebuffer LINEBUFFER for use. */ | ||
| 147 | --- coreutils-6.8+/src/expand.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 148 | +++ coreutils-6.8+/src/expand.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 149 | @@ -38,11 +38,28 @@ | ||
| 150 | #include <stdio.h> | ||
| 151 | #include <getopt.h> | ||
| 152 | #include <sys/types.h> | ||
| 153 | + | ||
| 154 | +/* Get mbstate_t, mbrtowc(), wcwidth(). */ | ||
| 155 | +#if HAVE_WCHAR_H | ||
| 156 | +# include <wchar.h> | ||
| 157 | +#endif | ||
| 158 | + | ||
| 159 | #include "system.h" | ||
| 160 | #include "error.h" | ||
| 161 | #include "quote.h" | ||
| 162 | #include "xstrndup.h" | ||
| 163 | |||
| 164 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 165 | + installation; work around this configuration error. */ | ||
| 166 | +#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 | ||
| 167 | +# define MB_LEN_MAX 16 | ||
| 168 | +#endif | ||
| 169 | + | ||
| 170 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 171 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 172 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 173 | +#endif | ||
| 174 | + | ||
| 175 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 176 | #define PROGRAM_NAME "expand" | ||
| 177 | |||
| 178 | @@ -183,6 +200,7 @@ | ||
| 179 | stops = num_start + len - 1; | ||
| 180 | } | ||
| 181 | } | ||
| 182 | + | ||
| 183 | else | ||
| 184 | { | ||
| 185 | error (0, 0, _("tab size contains invalid character(s): %s"), | ||
| 186 | @@ -365,6 +383,142 @@ | ||
| 187 | } | ||
| 188 | } | ||
| 189 | |||
| 190 | +#if HAVE_MBRTOWC | ||
| 191 | +static void | ||
| 192 | +expand_multibyte (void) | ||
| 193 | +{ | ||
| 194 | + FILE *fp; /* Input strem. */ | ||
| 195 | + mbstate_t i_state; /* Current shift state of the input stream. */ | ||
| 196 | + mbstate_t i_state_bak; /* Back up the I_STATE. */ | ||
| 197 | + mbstate_t o_state; /* Current shift state of the output stream. */ | ||
| 198 | + char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ | ||
| 199 | + char *bufpos; /* Next read position of BUF. */ | ||
| 200 | + size_t buflen = 0; /* The length of the byte sequence in buf. */ | ||
| 201 | + wchar_t wc; /* A gotten wide character. */ | ||
| 202 | + size_t mblength; /* The byte size of a multibyte character | ||
| 203 | + which shows as same character as WC. */ | ||
| 204 | + int tab_index = 0; /* Index in `tab_list' of next tabstop. */ | ||
| 205 | + int column = 0; /* Column on screen of the next char. */ | ||
| 206 | + int next_tab_column; /* Column the next tab stop is on. */ | ||
| 207 | + int convert = 1; /* If nonzero, perform translations. */ | ||
| 208 | + | ||
| 209 | + fp = next_file ((FILE *) NULL); | ||
| 210 | + if (fp == NULL) | ||
| 211 | + return; | ||
| 212 | + | ||
| 213 | + memset (&o_state, '\0', sizeof(mbstate_t)); | ||
| 214 | + memset (&i_state, '\0', sizeof(mbstate_t)); | ||
| 215 | + | ||
| 216 | + for (;;) | ||
| 217 | + { | ||
| 218 | + /* Refill the buffer BUF. */ | ||
| 219 | + if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp)) | ||
| 220 | + { | ||
| 221 | + memmove (buf, bufpos, buflen); | ||
| 222 | + buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp); | ||
| 223 | + bufpos = buf; | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + /* No character is left in BUF. */ | ||
| 227 | + if (buflen < 1) | ||
| 228 | + { | ||
| 229 | + fp = next_file (fp); | ||
| 230 | + | ||
| 231 | + if (fp == NULL) | ||
| 232 | + break; /* No more files. */ | ||
| 233 | + else | ||
| 234 | + { | ||
| 235 | + memset (&i_state, '\0', sizeof(mbstate_t)); | ||
| 236 | + continue; | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + /* Get a wide character. */ | ||
| 241 | + i_state_bak = i_state; | ||
| 242 | + mblength = mbrtowc (&wc, bufpos, buflen, &i_state); | ||
| 243 | + | ||
| 244 | + switch (mblength) | ||
| 245 | + { | ||
| 246 | + case (size_t)-1: /* illegal byte sequence. */ | ||
| 247 | + case (size_t)-2: | ||
| 248 | + mblength = 1; | ||
| 249 | + i_state = i_state_bak; | ||
| 250 | + if (convert) | ||
| 251 | + { | ||
| 252 | + ++column; | ||
| 253 | + if (convert_entire_line == 0) | ||
| 254 | + convert = 0; | ||
| 255 | + } | ||
| 256 | + putchar (*bufpos); | ||
| 257 | + break; | ||
| 258 | + | ||
| 259 | + case 0: /* null. */ | ||
| 260 | + mblength = 1; | ||
| 261 | + if (convert && convert_entire_line == 0) | ||
| 262 | + convert = 0; | ||
| 263 | + putchar ('\0'); | ||
| 264 | + break; | ||
| 265 | + | ||
| 266 | + default: | ||
| 267 | + if (wc == L'\n') /* LF. */ | ||
| 268 | + { | ||
| 269 | + tab_index = 0; | ||
| 270 | + column = 0; | ||
| 271 | + convert = 1; | ||
| 272 | + putchar ('\n'); | ||
| 273 | + } | ||
| 274 | + else if (wc == L'\t' && convert) /* Tab. */ | ||
| 275 | + { | ||
| 276 | + if (tab_size == 0) | ||
| 277 | + { | ||
| 278 | + /* Do not let tab_index == first_free_tab; | ||
| 279 | + stop when it is 1 less. */ | ||
| 280 | + while (tab_index < first_free_tab - 1 | ||
| 281 | + && column >= tab_list[tab_index]) | ||
| 282 | + tab_index++; | ||
| 283 | + next_tab_column = tab_list[tab_index]; | ||
| 284 | + if (tab_index < first_free_tab - 1) | ||
| 285 | + tab_index++; | ||
| 286 | + if (column >= next_tab_column) | ||
| 287 | + next_tab_column = column + 1; | ||
| 288 | + } | ||
| 289 | + else | ||
| 290 | + next_tab_column = column + tab_size - column % tab_size; | ||
| 291 | + | ||
| 292 | + while (column < next_tab_column) | ||
| 293 | + { | ||
| 294 | + putchar (' '); | ||
| 295 | + ++column; | ||
| 296 | + } | ||
| 297 | + } | ||
| 298 | + else /* Others. */ | ||
| 299 | + { | ||
| 300 | + if (convert) | ||
| 301 | + { | ||
| 302 | + if (wc == L'\b') | ||
| 303 | + { | ||
| 304 | + if (column > 0) | ||
| 305 | + --column; | ||
| 306 | + } | ||
| 307 | + else | ||
| 308 | + { | ||
| 309 | + int width; /* The width of WC. */ | ||
| 310 | + | ||
| 311 | + width = wcwidth (wc); | ||
| 312 | + column += (width > 0) ? width : 0; | ||
| 313 | + if (convert_entire_line == 0) | ||
| 314 | + convert = 0; | ||
| 315 | + } | ||
| 316 | + } | ||
| 317 | + fwrite (bufpos, sizeof(char), mblength, stdout); | ||
| 318 | + } | ||
| 319 | + } | ||
| 320 | + buflen -= mblength; | ||
| 321 | + bufpos += mblength; | ||
| 322 | + } | ||
| 323 | +} | ||
| 324 | +#endif | ||
| 325 | + | ||
| 326 | int | ||
| 327 | main (int argc, char **argv) | ||
| 328 | { | ||
| 329 | @@ -429,7 +583,12 @@ | ||
| 330 | |||
| 331 | file_list = (optind < argc ? &argv[optind] : stdin_argv); | ||
| 332 | |||
| 333 | - expand (); | ||
| 334 | +#if HAVE_MBRTOWC | ||
| 335 | + if (MB_CUR_MAX > 1) | ||
| 336 | + expand_multibyte (); | ||
| 337 | + else | ||
| 338 | +#endif | ||
| 339 | + expand (); | ||
| 340 | |||
| 341 | if (have_read_stdin && fclose (stdin) != 0) | ||
| 342 | error (EXIT_FAILURE, errno, "-"); | ||
| 343 | --- coreutils-6.8+/src/join.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 344 | +++ coreutils-6.8+/src/join.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 345 | @@ -23,16 +23,30 @@ | ||
| 346 | #include <sys/types.h> | ||
| 347 | #include <getopt.h> | ||
| 348 | |||
| 349 | +/* Get mbstate_t, mbrtowc(), mbrtowc(), wcwidth(). */ | ||
| 350 | +#if HAVE_WCHAR_H | ||
| 351 | +# include <wchar.h> | ||
| 352 | +#endif | ||
| 353 | + | ||
| 354 | +/* Get iswblank(), towupper. */ | ||
| 355 | +#if HAVE_WCTYPE_H | ||
| 356 | +# include <wctype.h> | ||
| 357 | +#endif | ||
| 358 | + | ||
| 359 | #include "system.h" | ||
| 360 | #include "error.h" | ||
| 361 | #include "hard-locale.h" | ||
| 362 | #include "linebuffer.h" | ||
| 363 | -#include "memcasecmp.h" | ||
| 364 | #include "quote.h" | ||
| 365 | #include "stdio--.h" | ||
| 366 | #include "xmemcoll.h" | ||
| 367 | #include "xstrtol.h" | ||
| 368 | |||
| 369 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 370 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 371 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 372 | +#endif | ||
| 373 | + | ||
| 374 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 375 | #define PROGRAM_NAME "join" | ||
| 376 | |||
| 377 | @@ -104,10 +118,12 @@ | ||
| 378 | /* Last element in `outlist', where a new element can be added. */ | ||
| 379 | static struct outlist *outlist_end = &outlist_head; | ||
| 380 | |||
| 381 | -/* Tab character separating fields. If negative, fields are separated | ||
| 382 | - by any nonempty string of blanks, otherwise by exactly one | ||
| 383 | - tab character whose value (when cast to unsigned char) equals TAB. */ | ||
| 384 | -static int tab = -1; | ||
| 385 | +/* Tab character separating fields. If NULL, fields are separated | ||
| 386 | + by any nonempty string of blanks. */ | ||
| 387 | +static char *tab = NULL; | ||
| 388 | + | ||
| 389 | +/* The number of bytes used for tab. */ | ||
| 390 | +static size_t tablen = 0; | ||
| 391 | |||
| 392 | static struct option const longopts[] = | ||
| 393 | { | ||
| 394 | @@ -190,6 +206,8 @@ | ||
| 395 | |||
| 396 | /* Fill in the `fields' structure in LINE. */ | ||
| 397 | |||
| 398 | +/* Fill in the `fields' structure in LINE. */ | ||
| 399 | + | ||
| 400 | static void | ||
| 401 | xfields (struct line *line) | ||
| 402 | { | ||
| 403 | @@ -199,10 +217,11 @@ | ||
| 404 | if (ptr == lim) | ||
| 405 | return; | ||
| 406 | |||
| 407 | - if (0 <= tab) | ||
| 408 | + if (tab != NULL) | ||
| 409 | { | ||
| 410 | + unsigned char t = tab[0]; | ||
| 411 | char *sep; | ||
| 412 | - for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1) | ||
| 413 | + for (; (sep = memchr (ptr, t, lim - ptr)) != NULL; ptr = sep + 1) | ||
| 414 | extract_field (line, ptr, sep - ptr); | ||
| 415 | } | ||
| 416 | else | ||
| 417 | @@ -229,6 +248,148 @@ | ||
| 418 | extract_field (line, ptr, lim - ptr); | ||
| 419 | } | ||
| 420 | |||
| 421 | +#if HAVE_MBRTOWC | ||
| 422 | +static void | ||
| 423 | +xfields_multibyte (struct line *line) | ||
| 424 | +{ | ||
| 425 | + char *ptr = line->buf.buffer; | ||
| 426 | + char const *lim = ptr + line->buf.length - 1; | ||
| 427 | + wchar_t wc = 0; | ||
| 428 | + size_t mblength = 1; | ||
| 429 | + mbstate_t state, state_bak; | ||
| 430 | + | ||
| 431 | + memset (&state, 0, sizeof (mbstate_t)); | ||
| 432 | + | ||
| 433 | + if (ptr == lim) | ||
| 434 | + return; | ||
| 435 | + | ||
| 436 | + if (tab != NULL) | ||
| 437 | + { | ||
| 438 | + unsigned char t = tab[0]; | ||
| 439 | + char *sep = ptr; | ||
| 440 | + for (; ptr < lim; ptr = sep + mblength) | ||
| 441 | + { | ||
| 442 | + sep = ptr; | ||
| 443 | + while (sep < lim) | ||
| 444 | + { | ||
| 445 | + state_bak = state; | ||
| 446 | + mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); | ||
| 447 | + | ||
| 448 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 449 | + { | ||
| 450 | + mblength = 1; | ||
| 451 | + state = state_bak; | ||
| 452 | + } | ||
| 453 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 454 | + | ||
| 455 | + if (mblength == tablen && !memcmp (sep, tab, mblength)) | ||
| 456 | + break; | ||
| 457 | + else | ||
| 458 | + { | ||
| 459 | + sep += mblength; | ||
| 460 | + continue; | ||
| 461 | + } | ||
| 462 | + } | ||
| 463 | + | ||
| 464 | + if (sep == lim) | ||
| 465 | + break; | ||
| 466 | + | ||
| 467 | + extract_field (line, ptr, sep - ptr); | ||
| 468 | + } | ||
| 469 | + } | ||
| 470 | + else | ||
| 471 | + { | ||
| 472 | + /* Skip leading blanks before the first field. */ | ||
| 473 | + while(ptr < lim) | ||
| 474 | + { | ||
| 475 | + state_bak = state; | ||
| 476 | + mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); | ||
| 477 | + | ||
| 478 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 479 | + { | ||
| 480 | + mblength = 1; | ||
| 481 | + state = state_bak; | ||
| 482 | + break; | ||
| 483 | + } | ||
| 484 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 485 | + | ||
| 486 | + if (!iswblank(wc)) | ||
| 487 | + break; | ||
| 488 | + ptr += mblength; | ||
| 489 | + } | ||
| 490 | + | ||
| 491 | + do | ||
| 492 | + { | ||
| 493 | + char *sep; | ||
| 494 | + state_bak = state; | ||
| 495 | + mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); | ||
| 496 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 497 | + { | ||
| 498 | + mblength = 1; | ||
| 499 | + state = state_bak; | ||
| 500 | + break; | ||
| 501 | + } | ||
| 502 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 503 | + | ||
| 504 | + sep = ptr + mblength; | ||
| 505 | + while (sep != lim) | ||
| 506 | + { | ||
| 507 | + state_bak = state; | ||
| 508 | + mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); | ||
| 509 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 510 | + { | ||
| 511 | + mblength = 1; | ||
| 512 | + state = state_bak; | ||
| 513 | + break; | ||
| 514 | + } | ||
| 515 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 516 | + | ||
| 517 | + if (iswblank (wc)) | ||
| 518 | + break; | ||
| 519 | + | ||
| 520 | + sep += mblength; | ||
| 521 | + } | ||
| 522 | + | ||
| 523 | + extract_field (line, ptr, sep - ptr); | ||
| 524 | + if (sep == lim) | ||
| 525 | + return; | ||
| 526 | + | ||
| 527 | + state_bak = state; | ||
| 528 | + mblength = mbrtowc (&wc, sep, lim - sep + 1, &state); | ||
| 529 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 530 | + { | ||
| 531 | + mblength = 1; | ||
| 532 | + state = state_bak; | ||
| 533 | + break; | ||
| 534 | + } | ||
| 535 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 536 | + | ||
| 537 | + ptr = sep + mblength; | ||
| 538 | + while (ptr != lim) | ||
| 539 | + { | ||
| 540 | + state_bak = state; | ||
| 541 | + mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state); | ||
| 542 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 543 | + { | ||
| 544 | + mblength = 1; | ||
| 545 | + state = state_bak; | ||
| 546 | + break; | ||
| 547 | + } | ||
| 548 | + mblength = (mblength < 1) ? 1 : mblength; | ||
| 549 | + | ||
| 550 | + if (!iswblank (wc)) | ||
| 551 | + break; | ||
| 552 | + | ||
| 553 | + ptr += mblength; | ||
| 554 | + } | ||
| 555 | + } | ||
| 556 | + while (ptr != lim); | ||
| 557 | + } | ||
| 558 | + | ||
| 559 | + extract_field (line, ptr, lim - ptr); | ||
| 560 | +} | ||
| 561 | +#endif | ||
| 562 | + | ||
| 563 | /* Read a line from FP into LINE and split it into fields. | ||
| 564 | Return true if successful. */ | ||
| 565 | |||
| 566 | @@ -249,6 +410,11 @@ | ||
| 567 | line->nfields_allocated = 0; | ||
| 568 | line->nfields = 0; | ||
| 569 | line->fields = NULL; | ||
| 570 | +#if HAVE_MBRTOWC | ||
| 571 | + if (MB_CUR_MAX > 1) | ||
| 572 | + xfields_multibyte (line); | ||
| 573 | + else | ||
| 574 | +#endif | ||
| 575 | xfields (line); | ||
| 576 | return true; | ||
| 577 | } | ||
| 578 | @@ -303,56 +469,114 @@ | ||
| 579 | keycmp (struct line const *line1, struct line const *line2) | ||
| 580 | { | ||
| 581 | /* Start of field to compare in each file. */ | ||
| 582 | - char *beg1; | ||
| 583 | - char *beg2; | ||
| 584 | - | ||
| 585 | - size_t len1; | ||
| 586 | - size_t len2; /* Length of fields to compare. */ | ||
| 587 | + char *beg[2]; | ||
| 588 | + char *copy[2]; | ||
| 589 | + size_t len[2]; /* Length of fields to compare. */ | ||
| 590 | int diff; | ||
| 591 | + int i, j; | ||
| 592 | |||
| 593 | if (join_field_1 < line1->nfields) | ||
| 594 | { | ||
| 595 | - beg1 = line1->fields[join_field_1].beg; | ||
| 596 | - len1 = line1->fields[join_field_1].len; | ||
| 597 | + beg[0] = line1->fields[join_field_1].beg; | ||
| 598 | + len[0] = line1->fields[join_field_1].len; | ||
| 599 | } | ||
| 600 | else | ||
| 601 | { | ||
| 602 | - beg1 = NULL; | ||
| 603 | - len1 = 0; | ||
| 604 | + beg[0] = NULL; | ||
| 605 | + len[0] = 0; | ||
| 606 | } | ||
| 607 | |||
| 608 | if (join_field_2 < line2->nfields) | ||
| 609 | { | ||
| 610 | - beg2 = line2->fields[join_field_2].beg; | ||
| 611 | - len2 = line2->fields[join_field_2].len; | ||
| 612 | + beg[1] = line2->fields[join_field_2].beg; | ||
| 613 | + len[1] = line2->fields[join_field_2].len; | ||
| 614 | } | ||
| 615 | else | ||
| 616 | { | ||
| 617 | - beg2 = NULL; | ||
| 618 | - len2 = 0; | ||
| 619 | + beg[1] = NULL; | ||
| 620 | + len[1] = 0; | ||
| 621 | } | ||
| 622 | |||
| 623 | - if (len1 == 0) | ||
| 624 | - return len2 == 0 ? 0 : -1; | ||
| 625 | - if (len2 == 0) | ||
| 626 | + if (len[0] == 0) | ||
| 627 | + return len[1] == 0 ? 0 : -1; | ||
| 628 | + if (len[1] == 0) | ||
| 629 | return 1; | ||
| 630 | |||
| 631 | if (ignore_case) | ||
| 632 | { | ||
| 633 | - /* FIXME: ignore_case does not work with NLS (in particular, | ||
| 634 | - with multibyte chars). */ | ||
| 635 | - diff = memcasecmp (beg1, beg2, MIN (len1, len2)); | ||
| 636 | +#ifdef HAVE_MBRTOWC | ||
| 637 | + if (MB_CUR_MAX > 1) | ||
| 638 | + { | ||
| 639 | + size_t mblength; | ||
| 640 | + wchar_t wc, uwc; | ||
| 641 | + mbstate_t state, state_bak; | ||
| 642 | + | ||
| 643 | + memset (&state, '\0', sizeof (mbstate_t)); | ||
| 644 | + | ||
| 645 | + for (i = 0; i < 2; i++) | ||
| 646 | + { | ||
| 647 | + copy[i] = alloca (len[i] + 1); | ||
| 648 | + | ||
| 649 | + for (j = 0; j < MIN (len[0], len[1]);) | ||
| 650 | + { | ||
| 651 | + state_bak = state; | ||
| 652 | + mblength = mbrtowc (&wc, beg[i] + j, len[i] - j, &state); | ||
| 653 | + | ||
| 654 | + switch (mblength) | ||
| 655 | + { | ||
| 656 | + case (size_t) -1: | ||
| 657 | + case (size_t) -2: | ||
| 658 | + state = state_bak; | ||
| 659 | + /* Fall through */ | ||
| 660 | + case 0: | ||
| 661 | + mblength = 1; | ||
| 662 | + break; | ||
| 663 | + | ||
| 664 | + default: | ||
| 665 | + uwc = towupper (wc); | ||
| 666 | + | ||
| 667 | + if (uwc != wc) | ||
| 668 | + { | ||
| 669 | + mbstate_t state_wc; | ||
| 670 | + | ||
| 671 | + memset (&state_wc, '\0', sizeof (mbstate_t)); | ||
| 672 | + wcrtomb (copy[i] + j, uwc, &state_wc); | ||
| 673 | + } | ||
| 674 | + else | ||
| 675 | + memcpy (copy[i] + j, beg[i] + j, mblength); | ||
| 676 | + } | ||
| 677 | + j += mblength; | ||
| 678 | + } | ||
| 679 | + copy[i][j] = '\0'; | ||
| 680 | + } | ||
| 681 | + } | ||
| 682 | + else | ||
| 683 | +#endif | ||
| 684 | + { | ||
| 685 | + for (i = 0; i < 2; i++) | ||
| 686 | + { | ||
| 687 | + copy[i] = alloca (len[i] + 1); | ||
| 688 | + | ||
| 689 | + for (j = 0; j < MIN (len[0], len[1]); j++) | ||
| 690 | + copy[i][j] = toupper (beg[i][j]); | ||
| 691 | + | ||
| 692 | + copy[i][j] = '\0'; | ||
| 693 | + } | ||
| 694 | + } | ||
| 695 | } | ||
| 696 | else | ||
| 697 | { | ||
| 698 | - if (hard_LC_COLLATE) | ||
| 699 | - return xmemcoll (beg1, len1, beg2, len2); | ||
| 700 | - diff = memcmp (beg1, beg2, MIN (len1, len2)); | ||
| 701 | + copy[0] = (unsigned char *) beg[0]; | ||
| 702 | + copy[1] = (unsigned char *) beg[1]; | ||
| 703 | } | ||
| 704 | |||
| 705 | + if (hard_LC_COLLATE) | ||
| 706 | + return xmemcoll ((char *) copy[0], len[0], (char *) copy[1], len[1]); | ||
| 707 | + diff = memcmp (copy[0], copy[1], MIN (len[0], len[1])); | ||
| 708 | + | ||
| 709 | if (diff) | ||
| 710 | return diff; | ||
| 711 | - return len1 < len2 ? -1 : len1 != len2; | ||
| 712 | + return len[0] - len[1]; | ||
| 713 | } | ||
| 714 | |||
| 715 | /* Print field N of LINE if it exists and is nonempty, otherwise | ||
| 716 | @@ -377,11 +601,18 @@ | ||
| 717 | |||
| 718 | /* Print the join of LINE1 and LINE2. */ | ||
| 719 | |||
| 720 | +#define PUT_TAB_CHAR \ | ||
| 721 | + do \ | ||
| 722 | + { \ | ||
| 723 | + (tab != NULL) ? \ | ||
| 724 | + fwrite(tab, sizeof(char), tablen, stdout) : putchar (' '); \ | ||
| 725 | + } \ | ||
| 726 | + while (0) | ||
| 727 | + | ||
| 728 | static void | ||
| 729 | prjoin (struct line const *line1, struct line const *line2) | ||
| 730 | { | ||
| 731 | const struct outlist *outlist; | ||
| 732 | - char output_separator = tab < 0 ? ' ' : tab; | ||
| 733 | |||
| 734 | outlist = outlist_head.next; | ||
| 735 | if (outlist) | ||
| 736 | @@ -397,12 +628,12 @@ | ||
| 737 | if (o->file == 0) | ||
| 738 | { | ||
| 739 | if (line1 == &uni_blank) | ||
| 740 | - { | ||
| 741 | + { | ||
| 742 | line = line2; | ||
| 743 | field = join_field_2; | ||
| 744 | } | ||
| 745 | else | ||
| 746 | - { | ||
| 747 | + { | ||
| 748 | line = line1; | ||
| 749 | field = join_field_1; | ||
| 750 | } | ||
| 751 | @@ -416,7 +647,7 @@ | ||
| 752 | o = o->next; | ||
| 753 | if (o == NULL) | ||
| 754 | break; | ||
| 755 | - putchar (output_separator); | ||
| 756 | + PUT_TAB_CHAR; | ||
| 757 | } | ||
| 758 | putchar ('\n'); | ||
| 759 | } | ||
| 760 | @@ -434,23 +665,23 @@ | ||
| 761 | prfield (join_field_1, line1); | ||
| 762 | for (i = 0; i < join_field_1 && i < line1->nfields; ++i) | ||
| 763 | { | ||
| 764 | - putchar (output_separator); | ||
| 765 | + PUT_TAB_CHAR; | ||
| 766 | prfield (i, line1); | ||
| 767 | } | ||
| 768 | for (i = join_field_1 + 1; i < line1->nfields; ++i) | ||
| 769 | { | ||
| 770 | - putchar (output_separator); | ||
| 771 | + PUT_TAB_CHAR; | ||
| 772 | prfield (i, line1); | ||
| 773 | } | ||
| 774 | |||
| 775 | for (i = 0; i < join_field_2 && i < line2->nfields; ++i) | ||
| 776 | { | ||
| 777 | - putchar (output_separator); | ||
| 778 | + PUT_TAB_CHAR; | ||
| 779 | prfield (i, line2); | ||
| 780 | } | ||
| 781 | for (i = join_field_2 + 1; i < line2->nfields; ++i) | ||
| 782 | { | ||
| 783 | - putchar (output_separator); | ||
| 784 | + PUT_TAB_CHAR; | ||
| 785 | prfield (i, line2); | ||
| 786 | } | ||
| 787 | putchar ('\n'); | ||
| 788 | @@ -859,20 +1090,41 @@ | ||
| 789 | |||
| 790 | case 't': | ||
| 791 | { | ||
| 792 | - unsigned char newtab = optarg[0]; | ||
| 793 | - if (! newtab) | ||
| 794 | + char *newtab; | ||
| 795 | + size_t newtablen; | ||
| 796 | + if (! optarg[0]) | ||
| 797 | error (EXIT_FAILURE, 0, _("empty tab")); | ||
| 798 | - if (optarg[1]) | ||
| 799 | + newtab = xstrdup (optarg); | ||
| 800 | +#if HAVE_MBRTOWC | ||
| 801 | + if (MB_CUR_MAX > 1) | ||
| 802 | + { | ||
| 803 | + mbstate_t state; | ||
| 804 | + | ||
| 805 | + memset (&state, 0, sizeof (mbstate_t)); | ||
| 806 | + newtablen = mbrtowc (NULL, newtab, | ||
| 807 | + strnlen (newtab, MB_LEN_MAX), | ||
| 808 | + &state); | ||
| 809 | + if (newtablen == (size_t) 0 | ||
| 810 | + || newtablen == (size_t) -1 | ||
| 811 | + || newtablen == (size_t) -2) | ||
| 812 | + newtablen = 1; | ||
| 813 | + } | ||
| 814 | + else | ||
| 815 | +#endif | ||
| 816 | + newtablen = 1; | ||
| 817 | + | ||
| 818 | + if (newtablen == 1 && newtab[1]) | ||
| 819 | + { | ||
| 820 | + if (STREQ (newtab, "\\0")) | ||
| 821 | + newtab[0] = '\0'; | ||
| 822 | + } | ||
| 823 | + if (tab != NULL && strcmp (tab, newtab)) | ||
| 824 | { | ||
| 825 | - if (STREQ (optarg, "\\0")) | ||
| 826 | - newtab = '\0'; | ||
| 827 | - else | ||
| 828 | - error (EXIT_FAILURE, 0, _("multi-character tab %s"), | ||
| 829 | - quote (optarg)); | ||
| 830 | + free (newtab); | ||
| 831 | + error (EXIT_FAILURE, 0, _("incompatible tabs")); | ||
| 832 | } | ||
| 833 | - if (0 <= tab && tab != newtab) | ||
| 834 | - error (EXIT_FAILURE, 0, _("incompatible tabs")); | ||
| 835 | tab = newtab; | ||
| 836 | + tablen = newtablen; | ||
| 837 | } | ||
| 838 | break; | ||
| 839 | |||
| 840 | --- coreutils-6.8+/src/uniq.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 841 | +++ coreutils-6.8+/src/uniq.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 842 | @@ -23,6 +23,16 @@ | ||
| 843 | #include <getopt.h> | ||
| 844 | #include <sys/types.h> | ||
| 845 | |||
| 846 | +/* Get mbstate_t, mbrtowc(). */ | ||
| 847 | +#if HAVE_WCHAR_H | ||
| 848 | +# include <wchar.h> | ||
| 849 | +#endif | ||
| 850 | + | ||
| 851 | +/* Get isw* functions. */ | ||
| 852 | +#if HAVE_WCTYPE_H | ||
| 853 | +# include <wctype.h> | ||
| 854 | +#endif | ||
| 855 | + | ||
| 856 | #include "system.h" | ||
| 857 | #include "argmatch.h" | ||
| 858 | #include "linebuffer.h" | ||
| 859 | @@ -32,7 +42,19 @@ | ||
| 860 | #include "quote.h" | ||
| 861 | #include "xmemcoll.h" | ||
| 862 | #include "xstrtol.h" | ||
| 863 | -#include "memcasecmp.h" | ||
| 864 | +#include "xmemcoll.h" | ||
| 865 | + | ||
| 866 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 867 | + installation; work around this configuration error. */ | ||
| 868 | +#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 | ||
| 869 | +# define MB_LEN_MAX 16 | ||
| 870 | +#endif | ||
| 871 | + | ||
| 872 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 873 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 874 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 875 | +#endif | ||
| 876 | + | ||
| 877 | |||
| 878 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 879 | #define PROGRAM_NAME "uniq" | ||
| 880 | @@ -109,6 +131,10 @@ | ||
| 881 | /* Select whether/how to delimit groups of duplicate lines. */ | ||
| 882 | static enum delimit_method delimit_groups; | ||
| 883 | |||
| 884 | +/* Function pointers. */ | ||
| 885 | +static char * | ||
| 886 | +(*find_field) (struct linebuffer *line); | ||
| 887 | + | ||
| 888 | static struct option const longopts[] = | ||
| 889 | { | ||
| 890 | {"count", no_argument, NULL, 'c'}, | ||
| 891 | @@ -198,7 +224,7 @@ | ||
| 892 | return a pointer to the beginning of the line's field to be compared. */ | ||
| 893 | |||
| 894 | static char * | ||
| 895 | -find_field (const struct linebuffer *line) | ||
| 896 | +find_field_uni (struct linebuffer *line) | ||
| 897 | { | ||
| 898 | size_t count; | ||
| 899 | char *lp = line->buffer; | ||
| 900 | @@ -219,6 +245,83 @@ | ||
| 901 | return lp + i; | ||
| 902 | } | ||
| 903 | |||
| 904 | +#if HAVE_MBRTOWC | ||
| 905 | + | ||
| 906 | +# define MBCHAR_TO_WCHAR(WC, MBLENGTH, LP, POS, SIZE, STATEP, CONVFAIL) \ | ||
| 907 | + do \ | ||
| 908 | + { \ | ||
| 909 | + mbstate_t state_bak; \ | ||
| 910 | + \ | ||
| 911 | + CONVFAIL = 0; \ | ||
| 912 | + state_bak = *STATEP; \ | ||
| 913 | + \ | ||
| 914 | + MBLENGTH = mbrtowc (&WC, LP + POS, SIZE - POS, STATEP); \ | ||
| 915 | + \ | ||
| 916 | + switch (MBLENGTH) \ | ||
| 917 | + { \ | ||
| 918 | + case (size_t)-2: \ | ||
| 919 | + case (size_t)-1: \ | ||
| 920 | + *STATEP = state_bak; \ | ||
| 921 | + CONVFAIL++; \ | ||
| 922 | + /* Fall through */ \ | ||
| 923 | + case 0: \ | ||
| 924 | + MBLENGTH = 1; \ | ||
| 925 | + } \ | ||
| 926 | + } \ | ||
| 927 | + while (0) | ||
| 928 | + | ||
| 929 | +static char * | ||
| 930 | +find_field_multi (struct linebuffer *line) | ||
| 931 | +{ | ||
| 932 | + size_t count; | ||
| 933 | + char *lp = line->buffer; | ||
| 934 | + size_t size = line->length - 1; | ||
| 935 | + size_t pos; | ||
| 936 | + size_t mblength; | ||
| 937 | + wchar_t wc; | ||
| 938 | + mbstate_t *statep; | ||
| 939 | + int convfail; | ||
| 940 | + | ||
| 941 | + pos = 0; | ||
| 942 | + statep = &(line->state); | ||
| 943 | + | ||
| 944 | + /* skip fields. */ | ||
| 945 | + for (count = 0; count < skip_fields && pos < size; count++) | ||
| 946 | + { | ||
| 947 | + while (pos < size) | ||
| 948 | + { | ||
| 949 | + MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); | ||
| 950 | + | ||
| 951 | + if (convfail || !iswblank (wc)) | ||
| 952 | + { | ||
| 953 | + pos += mblength; | ||
| 954 | + break; | ||
| 955 | + } | ||
| 956 | + pos += mblength; | ||
| 957 | + } | ||
| 958 | + | ||
| 959 | + while (pos < size) | ||
| 960 | + { | ||
| 961 | + MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); | ||
| 962 | + | ||
| 963 | + if (!convfail && iswblank (wc)) | ||
| 964 | + break; | ||
| 965 | + | ||
| 966 | + pos += mblength; | ||
| 967 | + } | ||
| 968 | + } | ||
| 969 | + | ||
| 970 | + /* skip fields. */ | ||
| 971 | + for (count = 0; count < skip_chars && pos < size; count++) | ||
| 972 | + { | ||
| 973 | + MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail); | ||
| 974 | + pos += mblength; | ||
| 975 | + } | ||
| 976 | + | ||
| 977 | + return lp + pos; | ||
| 978 | +} | ||
| 979 | +#endif | ||
| 980 | + | ||
| 981 | /* Return false if two strings OLD and NEW match, true if not. | ||
| 982 | OLD and NEW point not to the beginnings of the lines | ||
| 983 | but rather to the beginnings of the fields to compare. | ||
| 984 | @@ -227,6 +330,8 @@ | ||
| 985 | static bool | ||
| 986 | different (char *old, char *new, size_t oldlen, size_t newlen) | ||
| 987 | { | ||
| 988 | + char *copy_old, *copy_new; | ||
| 989 | + | ||
| 990 | if (check_chars < oldlen) | ||
| 991 | oldlen = check_chars; | ||
| 992 | if (check_chars < newlen) | ||
| 993 | @@ -234,14 +339,92 @@ | ||
| 994 | |||
| 995 | if (ignore_case) | ||
| 996 | { | ||
| 997 | - /* FIXME: This should invoke strcoll somehow. */ | ||
| 998 | - return oldlen != newlen || memcasecmp (old, new, oldlen); | ||
| 999 | + size_t i; | ||
| 1000 | + | ||
| 1001 | + copy_old = alloca (oldlen + 1); | ||
| 1002 | + copy_new = alloca (oldlen + 1); | ||
| 1003 | + | ||
| 1004 | + for (i = 0; i < oldlen; i++) | ||
| 1005 | + { | ||
| 1006 | + copy_old[i] = toupper (old[i]); | ||
| 1007 | + copy_new[i] = toupper (new[i]); | ||
| 1008 | + } | ||
| 1009 | } | ||
| 1010 | - else if (hard_LC_COLLATE) | ||
| 1011 | - return xmemcoll (old, oldlen, new, newlen) != 0; | ||
| 1012 | else | ||
| 1013 | - return oldlen != newlen || memcmp (old, new, oldlen); | ||
| 1014 | + { | ||
| 1015 | + copy_old = (char *)old; | ||
| 1016 | + copy_new = (char *)new; | ||
| 1017 | + } | ||
| 1018 | + | ||
| 1019 | + return xmemcoll (copy_old, oldlen, copy_new, newlen); | ||
| 1020 | +} | ||
| 1021 | + | ||
| 1022 | +#if HAVE_MBRTOWC | ||
| 1023 | +static int | ||
| 1024 | +different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate) | ||
| 1025 | +{ | ||
| 1026 | + size_t i, j, chars; | ||
| 1027 | + const char *str[2]; | ||
| 1028 | + char *copy[2]; | ||
| 1029 | + size_t len[2]; | ||
| 1030 | + mbstate_t state[2]; | ||
| 1031 | + size_t mblength; | ||
| 1032 | + wchar_t wc, uwc; | ||
| 1033 | + mbstate_t state_bak; | ||
| 1034 | + | ||
| 1035 | + str[0] = old; | ||
| 1036 | + str[1] = new; | ||
| 1037 | + len[0] = oldlen; | ||
| 1038 | + len[1] = newlen; | ||
| 1039 | + state[0] = oldstate; | ||
| 1040 | + state[1] = newstate; | ||
| 1041 | + | ||
| 1042 | + for (i = 0; i < 2; i++) | ||
| 1043 | + { | ||
| 1044 | + copy[i] = alloca (len[i] + 1); | ||
| 1045 | + | ||
| 1046 | + for (j = 0, chars = 0; j < len[i] && chars < check_chars; chars++) | ||
| 1047 | + { | ||
| 1048 | + state_bak = state[i]; | ||
| 1049 | + mblength = mbrtowc (&wc, str[i] + j, len[i] - j, &(state[i])); | ||
| 1050 | + | ||
| 1051 | + switch (mblength) | ||
| 1052 | + { | ||
| 1053 | + case (size_t)-1: | ||
| 1054 | + case (size_t)-2: | ||
| 1055 | + state[i] = state_bak; | ||
| 1056 | + /* Fall through */ | ||
| 1057 | + case 0: | ||
| 1058 | + mblength = 1; | ||
| 1059 | + break; | ||
| 1060 | + | ||
| 1061 | + default: | ||
| 1062 | + if (ignore_case) | ||
| 1063 | + { | ||
| 1064 | + uwc = towupper (wc); | ||
| 1065 | + | ||
| 1066 | + if (uwc != wc) | ||
| 1067 | + { | ||
| 1068 | + mbstate_t state_wc; | ||
| 1069 | + | ||
| 1070 | + memset (&state_wc, '\0', sizeof(mbstate_t)); | ||
| 1071 | + wcrtomb (copy[i] + j, uwc, &state_wc); | ||
| 1072 | + } | ||
| 1073 | + else | ||
| 1074 | + memcpy (copy[i] + j, str[i] + j, mblength); | ||
| 1075 | + } | ||
| 1076 | + else | ||
| 1077 | + memcpy (copy[i] + j, str[i] + j, mblength); | ||
| 1078 | + } | ||
| 1079 | + j += mblength; | ||
| 1080 | + } | ||
| 1081 | + copy[i][j] = '\0'; | ||
| 1082 | + len[i] = j; | ||
| 1083 | + } | ||
| 1084 | + | ||
| 1085 | + return xmemcoll (copy[0], len[0], copy[1], len[1]); | ||
| 1086 | } | ||
| 1087 | +#endif | ||
| 1088 | |||
| 1089 | /* Output the line in linebuffer LINE to standard output | ||
| 1090 | provided that the switches say it should be output. | ||
| 1091 | @@ -295,15 +478,43 @@ | ||
| 1092 | { | ||
| 1093 | char *prevfield IF_LINT (= NULL); | ||
| 1094 | size_t prevlen IF_LINT (= 0); | ||
| 1095 | +#if HAVE_MBRTOWC | ||
| 1096 | + mbstate_t prevstate; | ||
| 1097 | + | ||
| 1098 | + memset (&prevstate, '\0', sizeof (mbstate_t)); | ||
| 1099 | +#endif | ||
| 1100 | |||
| 1101 | while (!feof (stdin)) | ||
| 1102 | { | ||
| 1103 | char *thisfield; | ||
| 1104 | size_t thislen; | ||
| 1105 | +#if HAVE_MBRTOWC | ||
| 1106 | + mbstate_t thisstate; | ||
| 1107 | +#endif | ||
| 1108 | + | ||
| 1109 | if (readlinebuffer (thisline, stdin) == 0) | ||
| 1110 | break; | ||
| 1111 | thisfield = find_field (thisline); | ||
| 1112 | thislen = thisline->length - 1 - (thisfield - thisline->buffer); | ||
| 1113 | +#if HAVE_MBRTOWC | ||
| 1114 | + if (MB_CUR_MAX > 1) | ||
| 1115 | + { | ||
| 1116 | + thisstate = thisline->state; | ||
| 1117 | + | ||
| 1118 | + if (prevline->length == 0 || different_multi | ||
| 1119 | + (thisfield, prevfield, thislen, prevlen, thisstate, prevstate)) | ||
| 1120 | + { | ||
| 1121 | + fwrite (thisline->buffer, sizeof (char), | ||
| 1122 | + thisline->length, stdout); | ||
| 1123 | + | ||
| 1124 | + SWAP_LINES (prevline, thisline); | ||
| 1125 | + prevfield = thisfield; | ||
| 1126 | + prevlen = thislen; | ||
| 1127 | + prevstate = thisstate; | ||
| 1128 | + } | ||
| 1129 | + } | ||
| 1130 | + else | ||
| 1131 | +#endif | ||
| 1132 | if (prevline->length == 0 | ||
| 1133 | || different (thisfield, prevfield, thislen, prevlen)) | ||
| 1134 | { | ||
| 1135 | @@ -322,17 +533,26 @@ | ||
| 1136 | size_t prevlen; | ||
| 1137 | uintmax_t match_count = 0; | ||
| 1138 | bool first_delimiter = true; | ||
| 1139 | +#if HAVE_MBRTOWC | ||
| 1140 | + mbstate_t prevstate; | ||
| 1141 | +#endif | ||
| 1142 | |||
| 1143 | if (readlinebuffer (prevline, stdin) == 0) | ||
| 1144 | goto closefiles; | ||
| 1145 | prevfield = find_field (prevline); | ||
| 1146 | prevlen = prevline->length - 1 - (prevfield - prevline->buffer); | ||
| 1147 | +#if HAVE_MBRTOWC | ||
| 1148 | + prevstate = prevline->state; | ||
| 1149 | +#endif | ||
| 1150 | |||
| 1151 | while (!feof (stdin)) | ||
| 1152 | { | ||
| 1153 | bool match; | ||
| 1154 | char *thisfield; | ||
| 1155 | size_t thislen; | ||
| 1156 | +#if HAVE_MBRTOWC | ||
| 1157 | + mbstate_t thisstate; | ||
| 1158 | +#endif | ||
| 1159 | if (readlinebuffer (thisline, stdin) == 0) | ||
| 1160 | { | ||
| 1161 | if (ferror (stdin)) | ||
| 1162 | @@ -341,6 +561,15 @@ | ||
| 1163 | } | ||
| 1164 | thisfield = find_field (thisline); | ||
| 1165 | thislen = thisline->length - 1 - (thisfield - thisline->buffer); | ||
| 1166 | +#if HAVE_MBRTOWC | ||
| 1167 | + if (MB_CUR_MAX > 1) | ||
| 1168 | + { | ||
| 1169 | + thisstate = thisline->state; | ||
| 1170 | + match = !different_multi (thisfield, prevfield, | ||
| 1171 | + thislen, prevlen, thisstate, prevstate); | ||
| 1172 | + } | ||
| 1173 | + else | ||
| 1174 | +#endif | ||
| 1175 | match = !different (thisfield, prevfield, thislen, prevlen); | ||
| 1176 | match_count += match; | ||
| 1177 | |||
| 1178 | @@ -373,6 +602,9 @@ | ||
| 1179 | SWAP_LINES (prevline, thisline); | ||
| 1180 | prevfield = thisfield; | ||
| 1181 | prevlen = thislen; | ||
| 1182 | +#if HAVE_MBRTOWC | ||
| 1183 | + prevstate = thisstate; | ||
| 1184 | +#endif | ||
| 1185 | if (!match) | ||
| 1186 | match_count = 0; | ||
| 1187 | } | ||
| 1188 | @@ -417,6 +649,19 @@ | ||
| 1189 | |||
| 1190 | atexit (close_stdout); | ||
| 1191 | |||
| 1192 | +#if HAVE_MBRTOWC | ||
| 1193 | + if (MB_CUR_MAX > 1) | ||
| 1194 | + { | ||
| 1195 | + find_field = find_field_multi; | ||
| 1196 | + } | ||
| 1197 | + else | ||
| 1198 | +#endif | ||
| 1199 | + { | ||
| 1200 | + find_field = find_field_uni; | ||
| 1201 | + } | ||
| 1202 | + | ||
| 1203 | + | ||
| 1204 | + | ||
| 1205 | skip_chars = 0; | ||
| 1206 | skip_fields = 0; | ||
| 1207 | check_chars = SIZE_MAX; | ||
| 1208 | --- coreutils-6.8+/src/fold.c.i18n 2007-02-23 12:01:47.000000000 +0000 | ||
| 1209 | +++ coreutils-6.8+/src/fold.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 1210 | @@ -23,11 +23,33 @@ | ||
| 1211 | #include <getopt.h> | ||
| 1212 | #include <sys/types.h> | ||
| 1213 | |||
| 1214 | +/* Get mbstate_t, mbrtowc(), wcwidth(). */ | ||
| 1215 | +#if HAVE_WCHAR_H | ||
| 1216 | +# include <wchar.h> | ||
| 1217 | +#endif | ||
| 1218 | + | ||
| 1219 | +/* Get iswprint(), iswblank(), wcwidth(). */ | ||
| 1220 | +#if HAVE_WCTYPE_H | ||
| 1221 | +# include <wctype.h> | ||
| 1222 | +#endif | ||
| 1223 | + | ||
| 1224 | #include "system.h" | ||
| 1225 | #include "error.h" | ||
| 1226 | #include "quote.h" | ||
| 1227 | #include "xstrtol.h" | ||
| 1228 | |||
| 1229 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 1230 | + installation; work around this configuration error. */ | ||
| 1231 | +#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 | ||
| 1232 | +# undef MB_LEN_MAX | ||
| 1233 | +# define MB_LEN_MAX 16 | ||
| 1234 | +#endif | ||
| 1235 | + | ||
| 1236 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 1237 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 1238 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 1239 | +#endif | ||
| 1240 | + | ||
| 1241 | #define TAB_WIDTH 8 | ||
| 1242 | |||
| 1243 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 1244 | @@ -35,23 +57,44 @@ | ||
| 1245 | |||
| 1246 | #define AUTHORS "David MacKenzie" | ||
| 1247 | |||
| 1248 | +#define FATAL_ERROR(Message) \ | ||
| 1249 | + do \ | ||
| 1250 | + { \ | ||
| 1251 | + error (0, 0, (Message)); \ | ||
| 1252 | + usage (2); \ | ||
| 1253 | + } \ | ||
| 1254 | + while (0) | ||
| 1255 | + | ||
| 1256 | +enum operating_mode | ||
| 1257 | +{ | ||
| 1258 | + /* Fold texts by columns that are at the given positions. */ | ||
| 1259 | + column_mode, | ||
| 1260 | + | ||
| 1261 | + /* Fold texts by bytes that are at the given positions. */ | ||
| 1262 | + byte_mode, | ||
| 1263 | + | ||
| 1264 | + /* Fold texts by characters that are at the given positions. */ | ||
| 1265 | + character_mode, | ||
| 1266 | +}; | ||
| 1267 | + | ||
| 1268 | /* The name this program was run with. */ | ||
| 1269 | char *program_name; | ||
| 1270 | |||
| 1271 | +/* The argument shows current mode. (Default: column_mode) */ | ||
| 1272 | +static enum operating_mode operating_mode; | ||
| 1273 | + | ||
| 1274 | /* If nonzero, try to break on whitespace. */ | ||
| 1275 | static bool break_spaces; | ||
| 1276 | |||
| 1277 | -/* If nonzero, count bytes, not column positions. */ | ||
| 1278 | -static bool count_bytes; | ||
| 1279 | - | ||
| 1280 | /* If nonzero, at least one of the files we read was standard input. */ | ||
| 1281 | static bool have_read_stdin; | ||
| 1282 | |||
| 1283 | -static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::"; | ||
| 1284 | +static char const shortopts[] = "bcsw:0::1::2::3::4::5::6::7::8::9::"; | ||
| 1285 | |||
| 1286 | static struct option const longopts[] = | ||
| 1287 | { | ||
| 1288 | {"bytes", no_argument, NULL, 'b'}, | ||
| 1289 | + {"characters", no_argument, NULL, 'c'}, | ||
| 1290 | {"spaces", no_argument, NULL, 's'}, | ||
| 1291 | {"width", required_argument, NULL, 'w'}, | ||
| 1292 | {GETOPT_HELP_OPTION_DECL}, | ||
| 1293 | @@ -81,6 +124,7 @@ | ||
| 1294 | "), stdout); | ||
| 1295 | fputs (_("\ | ||
| 1296 | -b, --bytes count bytes rather than columns\n\ | ||
| 1297 | + -c, --characters count characters rather than columns\n\ | ||
| 1298 | -s, --spaces break at spaces\n\ | ||
| 1299 | -w, --width=WIDTH use WIDTH columns instead of 80\n\ | ||
| 1300 | "), stdout); | ||
| 1301 | @@ -98,7 +142,7 @@ | ||
| 1302 | static size_t | ||
| 1303 | adjust_column (size_t column, char c) | ||
| 1304 | { | ||
| 1305 | - if (!count_bytes) | ||
| 1306 | + if (operating_mode != byte_mode) | ||
| 1307 | { | ||
| 1308 | if (c == '\b') | ||
| 1309 | { | ||
| 1310 | @@ -121,30 +165,14 @@ | ||
| 1311 | to stdout, with maximum line length WIDTH. | ||
| 1312 | Return true if successful. */ | ||
| 1313 | |||
| 1314 | -static bool | ||
| 1315 | -fold_file (char const *filename, size_t width) | ||
| 1316 | +static void | ||
| 1317 | +fold_text (FILE *istream, size_t width, int *saved_errno) | ||
| 1318 | { | ||
| 1319 | - FILE *istream; | ||
| 1320 | int c; | ||
| 1321 | size_t column = 0; /* Screen column where next char will go. */ | ||
| 1322 | size_t offset_out = 0; /* Index in `line_out' for next char. */ | ||
| 1323 | static char *line_out = NULL; | ||
| 1324 | static size_t allocated_out = 0; | ||
| 1325 | - int saved_errno; | ||
| 1326 | - | ||
| 1327 | - if (STREQ (filename, "-")) | ||
| 1328 | - { | ||
| 1329 | - istream = stdin; | ||
| 1330 | - have_read_stdin = true; | ||
| 1331 | - } | ||
| 1332 | - else | ||
| 1333 | - istream = fopen (filename, "r"); | ||
| 1334 | - | ||
| 1335 | - if (istream == NULL) | ||
| 1336 | - { | ||
| 1337 | - error (0, errno, "%s", filename); | ||
| 1338 | - return false; | ||
| 1339 | - } | ||
| 1340 | |||
| 1341 | while ((c = getc (istream)) != EOF) | ||
| 1342 | { | ||
| 1343 | @@ -172,6 +200,15 @@ | ||
| 1344 | bool found_blank = false; | ||
| 1345 | size_t logical_end = offset_out; | ||
| 1346 | |||
| 1347 | + /* If LINE_OUT has no wide character, | ||
| 1348 | + put a new wide character in LINE_OUT | ||
| 1349 | + if column is bigger than width. */ | ||
| 1350 | + if (offset_out == 0) | ||
| 1351 | + { | ||
| 1352 | + line_out[offset_out++] = c; | ||
| 1353 | + continue; | ||
| 1354 | + } | ||
| 1355 | + | ||
| 1356 | /* Look for the last blank. */ | ||
| 1357 | while (logical_end) | ||
| 1358 | { | ||
| 1359 | @@ -218,11 +255,225 @@ | ||
| 1360 | line_out[offset_out++] = c; | ||
| 1361 | } | ||
| 1362 | |||
| 1363 | - saved_errno = errno; | ||
| 1364 | + *saved_errno = errno; | ||
| 1365 | + | ||
| 1366 | + if (offset_out) | ||
| 1367 | + fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); | ||
| 1368 | + | ||
| 1369 | + free(line_out); | ||
| 1370 | +} | ||
| 1371 | + | ||
| 1372 | +#if HAVE_MBRTOWC | ||
| 1373 | +static void | ||
| 1374 | +fold_multibyte_text (FILE *istream, size_t width, int *saved_errno) | ||
| 1375 | +{ | ||
| 1376 | + char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ | ||
| 1377 | + size_t buflen = 0; /* The length of the byte sequence in buf. */ | ||
| 1378 | + char *bufpos; /* Next read position of BUF. */ | ||
| 1379 | + wint_t wc; /* A gotten wide character. */ | ||
| 1380 | + size_t mblength; /* The byte size of a multibyte character which shows | ||
| 1381 | + as same character as WC. */ | ||
| 1382 | + mbstate_t state, state_bak; /* State of the stream. */ | ||
| 1383 | + int convfail; /* 1, when conversion is failed. Otherwise 0. */ | ||
| 1384 | + | ||
| 1385 | + char *line_out = NULL; | ||
| 1386 | + size_t offset_out = 0; /* Index in `line_out' for next char. */ | ||
| 1387 | + size_t allocated_out = 0; | ||
| 1388 | + | ||
| 1389 | + int increment; | ||
| 1390 | + size_t column = 0; | ||
| 1391 | + | ||
| 1392 | + size_t last_blank_pos; | ||
| 1393 | + size_t last_blank_column; | ||
| 1394 | + int is_blank_seen; | ||
| 1395 | + int last_blank_increment; | ||
| 1396 | + int is_bs_following_last_blank; | ||
| 1397 | + size_t bs_following_last_blank_num; | ||
| 1398 | + int is_cr_after_last_blank; | ||
| 1399 | + | ||
| 1400 | +#define CLEAR_FLAGS \ | ||
| 1401 | + do \ | ||
| 1402 | + { \ | ||
| 1403 | + last_blank_pos = 0; \ | ||
| 1404 | + last_blank_column = 0; \ | ||
| 1405 | + is_blank_seen = 0; \ | ||
| 1406 | + is_bs_following_last_blank = 0; \ | ||
| 1407 | + bs_following_last_blank_num = 0; \ | ||
| 1408 | + is_cr_after_last_blank = 0; \ | ||
| 1409 | + } \ | ||
| 1410 | + while (0) | ||
| 1411 | + | ||
| 1412 | +#define START_NEW_LINE \ | ||
| 1413 | + do \ | ||
| 1414 | + { \ | ||
| 1415 | + putchar ('\n'); \ | ||
| 1416 | + column = 0; \ | ||
| 1417 | + offset_out = 0; \ | ||
| 1418 | + CLEAR_FLAGS; \ | ||
| 1419 | + } \ | ||
| 1420 | + while (0) | ||
| 1421 | + | ||
| 1422 | + CLEAR_FLAGS; | ||
| 1423 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 1424 | + | ||
| 1425 | + for (;; bufpos += mblength, buflen -= mblength) | ||
| 1426 | + { | ||
| 1427 | + if (buflen < MB_LEN_MAX && !feof (istream) && !ferror (istream)) | ||
| 1428 | + { | ||
| 1429 | + memmove (buf, bufpos, buflen); | ||
| 1430 | + buflen += fread (buf + buflen, sizeof(char), BUFSIZ, istream); | ||
| 1431 | + bufpos = buf; | ||
| 1432 | + } | ||
| 1433 | + | ||
| 1434 | + if (buflen < 1) | ||
| 1435 | + break; | ||
| 1436 | + | ||
| 1437 | + /* Get a wide character. */ | ||
| 1438 | + convfail = 0; | ||
| 1439 | + state_bak = state; | ||
| 1440 | + mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &state); | ||
| 1441 | + | ||
| 1442 | + switch (mblength) | ||
| 1443 | + { | ||
| 1444 | + case (size_t)-1: | ||
| 1445 | + case (size_t)-2: | ||
| 1446 | + convfail++; | ||
| 1447 | + state = state_bak; | ||
| 1448 | + /* Fall through. */ | ||
| 1449 | + | ||
| 1450 | + case 0: | ||
| 1451 | + mblength = 1; | ||
| 1452 | + break; | ||
| 1453 | + } | ||
| 1454 | + | ||
| 1455 | +rescan: | ||
| 1456 | + if (operating_mode == byte_mode) /* byte mode */ | ||
| 1457 | + increment = mblength; | ||
| 1458 | + else if (operating_mode == character_mode) /* character mode */ | ||
| 1459 | + increment = 1; | ||
| 1460 | + else /* column mode */ | ||
| 1461 | + { | ||
| 1462 | + if (convfail) | ||
| 1463 | + increment = 1; | ||
| 1464 | + else | ||
| 1465 | + { | ||
| 1466 | + switch (wc) | ||
| 1467 | + { | ||
| 1468 | + case L'\n': | ||
| 1469 | + fwrite (line_out, sizeof(char), offset_out, stdout); | ||
| 1470 | + START_NEW_LINE; | ||
| 1471 | + continue; | ||
| 1472 | + | ||
| 1473 | + case L'\b': | ||
| 1474 | + increment = (column > 0) ? -1 : 0; | ||
| 1475 | + break; | ||
| 1476 | + | ||
| 1477 | + case L'\r': | ||
| 1478 | + increment = -1 * column; | ||
| 1479 | + break; | ||
| 1480 | + | ||
| 1481 | + case L'\t': | ||
| 1482 | + increment = 8 - column % 8; | ||
| 1483 | + break; | ||
| 1484 | + | ||
| 1485 | + default: | ||
| 1486 | + increment = wcwidth (wc); | ||
| 1487 | + increment = (increment < 0) ? 0 : increment; | ||
| 1488 | + } | ||
| 1489 | + } | ||
| 1490 | + } | ||
| 1491 | + | ||
| 1492 | + if (column + increment > width && break_spaces && last_blank_pos) | ||
| 1493 | + { | ||
| 1494 | + fwrite (line_out, sizeof(char), last_blank_pos, stdout); | ||
| 1495 | + putchar ('\n'); | ||
| 1496 | + | ||
| 1497 | + offset_out = offset_out - last_blank_pos; | ||
| 1498 | + column = column - last_blank_column + ((is_cr_after_last_blank) | ||
| 1499 | + ? last_blank_increment : bs_following_last_blank_num); | ||
| 1500 | + memmove (line_out, line_out + last_blank_pos, offset_out); | ||
| 1501 | + CLEAR_FLAGS; | ||
| 1502 | + goto rescan; | ||
| 1503 | + } | ||
| 1504 | + | ||
| 1505 | + if (column + increment > width && column != 0) | ||
| 1506 | + { | ||
| 1507 | + fwrite (line_out, sizeof(char), offset_out, stdout); | ||
| 1508 | + START_NEW_LINE; | ||
| 1509 | + goto rescan; | ||
| 1510 | + } | ||
| 1511 | + | ||
| 1512 | + if (allocated_out < offset_out + mblength) | ||
| 1513 | + { | ||
| 1514 | + allocated_out += 1024; | ||
| 1515 | + line_out = xrealloc (line_out, allocated_out); | ||
| 1516 | + } | ||
| 1517 | + | ||
| 1518 | + memcpy (line_out + offset_out, bufpos, mblength); | ||
| 1519 | + offset_out += mblength; | ||
| 1520 | + column += increment; | ||
| 1521 | + | ||
| 1522 | + if (is_blank_seen && !convfail && wc == L'\r') | ||
| 1523 | + is_cr_after_last_blank = 1; | ||
| 1524 | + | ||
| 1525 | + if (is_bs_following_last_blank && !convfail && wc == L'\b') | ||
| 1526 | + ++bs_following_last_blank_num; | ||
| 1527 | + else | ||
| 1528 | + is_bs_following_last_blank = 0; | ||
| 1529 | + | ||
| 1530 | + if (break_spaces && !convfail && iswblank (wc)) | ||
| 1531 | + { | ||
| 1532 | + last_blank_pos = offset_out; | ||
| 1533 | + last_blank_column = column; | ||
| 1534 | + is_blank_seen = 1; | ||
| 1535 | + last_blank_increment = increment; | ||
| 1536 | + is_bs_following_last_blank = 1; | ||
| 1537 | + bs_following_last_blank_num = 0; | ||
| 1538 | + is_cr_after_last_blank = 0; | ||
| 1539 | + } | ||
| 1540 | + } | ||
| 1541 | + | ||
| 1542 | + *saved_errno = errno; | ||
| 1543 | |||
| 1544 | if (offset_out) | ||
| 1545 | fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); | ||
| 1546 | |||
| 1547 | + free(line_out); | ||
| 1548 | +} | ||
| 1549 | +#endif | ||
| 1550 | + | ||
| 1551 | +/* Fold file FILENAME, or standard input if FILENAME is "-", | ||
| 1552 | + to stdout, with maximum line length WIDTH. | ||
| 1553 | + Return 0 if successful, 1 if an error occurs. */ | ||
| 1554 | + | ||
| 1555 | +static bool | ||
| 1556 | +fold_file (char *filename, size_t width) | ||
| 1557 | +{ | ||
| 1558 | + FILE *istream; | ||
| 1559 | + int saved_errno; | ||
| 1560 | + | ||
| 1561 | + if (STREQ (filename, "-")) | ||
| 1562 | + { | ||
| 1563 | + istream = stdin; | ||
| 1564 | + have_read_stdin = 1; | ||
| 1565 | + } | ||
| 1566 | + else | ||
| 1567 | + istream = fopen (filename, "r"); | ||
| 1568 | + | ||
| 1569 | + if (istream == NULL) | ||
| 1570 | + { | ||
| 1571 | + error (0, errno, "%s", filename); | ||
| 1572 | + return 1; | ||
| 1573 | + } | ||
| 1574 | + | ||
| 1575 | + /* Define how ISTREAM is being folded. */ | ||
| 1576 | +#if HAVE_MBRTOWC | ||
| 1577 | + if (MB_CUR_MAX > 1) | ||
| 1578 | + fold_multibyte_text (istream, width, &saved_errno); | ||
| 1579 | + else | ||
| 1580 | +#endif | ||
| 1581 | + fold_text (istream, width, &saved_errno); | ||
| 1582 | + | ||
| 1583 | if (ferror (istream)) | ||
| 1584 | { | ||
| 1585 | error (0, saved_errno, "%s", filename); | ||
| 1586 | @@ -255,7 +506,8 @@ | ||
| 1587 | |||
| 1588 | atexit (close_stdout); | ||
| 1589 | |||
| 1590 | - break_spaces = count_bytes = have_read_stdin = false; | ||
| 1591 | + operating_mode = column_mode; | ||
| 1592 | + break_spaces = have_read_stdin = false; | ||
| 1593 | |||
| 1594 | while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) | ||
| 1595 | { | ||
| 1596 | @@ -264,7 +516,15 @@ | ||
| 1597 | switch (optc) | ||
| 1598 | { | ||
| 1599 | case 'b': /* Count bytes rather than columns. */ | ||
| 1600 | - count_bytes = true; | ||
| 1601 | + if (operating_mode != column_mode) | ||
| 1602 | + FATAL_ERROR (_("only one way of folding may be specified")); | ||
| 1603 | + operating_mode = byte_mode; | ||
| 1604 | + break; | ||
| 1605 | + | ||
| 1606 | + case 'c': | ||
| 1607 | + if (operating_mode != column_mode) | ||
| 1608 | + FATAL_ERROR (_("only one way of folding may be specified")); | ||
| 1609 | + operating_mode = character_mode; | ||
| 1610 | break; | ||
| 1611 | |||
| 1612 | case 's': /* Break at word boundaries. */ | ||
| 1613 | --- coreutils-6.8+/src/sort.c.i18n 2007-02-24 11:23:23.000000000 +0000 | ||
| 1614 | +++ coreutils-6.8+/src/sort.c 2007-03-01 15:10:57.000000000 +0000 | ||
| 1615 | @@ -23,10 +23,19 @@ | ||
| 1616 | |||
| 1617 | #include <config.h> | ||
| 1618 | |||
| 1619 | +#include <assert.h> | ||
| 1620 | #include <getopt.h> | ||
| 1621 | #include <sys/types.h> | ||
| 1622 | #include <sys/wait.h> | ||
| 1623 | #include <signal.h> | ||
| 1624 | +#if HAVE_WCHAR_H | ||
| 1625 | +# include <wchar.h> | ||
| 1626 | +#endif | ||
| 1627 | +/* Get isw* functions. */ | ||
| 1628 | +#if HAVE_WCTYPE_H | ||
| 1629 | +# include <wctype.h> | ||
| 1630 | +#endif | ||
| 1631 | + | ||
| 1632 | #include "system.h" | ||
| 1633 | #include "argmatch.h" | ||
| 1634 | #include "error.h" | ||
| 1635 | @@ -116,14 +125,38 @@ | ||
| 1636 | /* Thousands separator; if -1, then there isn't one. */ | ||
| 1637 | static int thousands_sep; | ||
| 1638 | |||
| 1639 | +static int force_general_numcompare = 0; | ||
| 1640 | + | ||
| 1641 | /* Nonzero if the corresponding locales are hard. */ | ||
| 1642 | static bool hard_LC_COLLATE; | ||
| 1643 | -#if HAVE_NL_LANGINFO | ||
| 1644 | +#if HAVE_LANGINFO_CODESET | ||
| 1645 | static bool hard_LC_TIME; | ||
| 1646 | #endif | ||
| 1647 | |||
| 1648 | #define NONZERO(x) ((x) != 0) | ||
| 1649 | |||
| 1650 | +/* get a multibyte character's byte length. */ | ||
| 1651 | +#define GET_BYTELEN_OF_CHAR(LIM, PTR, MBLENGTH, STATE) \ | ||
| 1652 | + do \ | ||
| 1653 | + { \ | ||
| 1654 | + wchar_t wc; \ | ||
| 1655 | + mbstate_t state_bak; \ | ||
| 1656 | + \ | ||
| 1657 | + state_bak = STATE; \ | ||
| 1658 | + mblength = mbrtowc (&wc, PTR, LIM - PTR, &STATE); \ | ||
| 1659 | + \ | ||
| 1660 | + switch (MBLENGTH) \ | ||
| 1661 | + { \ | ||
| 1662 | + case (size_t)-1: \ | ||
| 1663 | + case (size_t)-2: \ | ||
| 1664 | + STATE = state_bak; \ | ||
| 1665 | + /* Fall through. */ \ | ||
| 1666 | + case 0: \ | ||
| 1667 | + MBLENGTH = 1; \ | ||
| 1668 | + } \ | ||
| 1669 | + } \ | ||
| 1670 | + while (0) | ||
| 1671 | + | ||
| 1672 | /* The kind of blanks for '-b' to skip in various options. */ | ||
| 1673 | enum blanktype { bl_start, bl_end, bl_both }; | ||
| 1674 | |||
| 1675 | @@ -261,13 +294,11 @@ | ||
| 1676 | they were read if all keys compare equal. */ | ||
| 1677 | static bool stable; | ||
| 1678 | |||
| 1679 | -/* If TAB has this value, blanks separate fields. */ | ||
| 1680 | -enum { TAB_DEFAULT = CHAR_MAX + 1 }; | ||
| 1681 | - | ||
| 1682 | -/* Tab character separating fields. If TAB_DEFAULT, then fields are | ||
| 1683 | +/* Tab character separating fields. If tab_length is 0, then fields are | ||
| 1684 | separated by the empty string between a non-blank character and a blank | ||
| 1685 | character. */ | ||
| 1686 | -static int tab = TAB_DEFAULT; | ||
| 1687 | +static char tab[MB_LEN_MAX + 1]; | ||
| 1688 | +static size_t tab_length = 0; | ||
| 1689 | |||
| 1690 | /* Flag to remove consecutive duplicate lines from the output. | ||
| 1691 | Only the last of a sequence of equal lines will be output. */ | ||
| 1692 | @@ -639,6 +670,44 @@ | ||
| 1693 | update_proc (pid); | ||
| 1694 | } | ||
| 1695 | |||
| 1696 | +/* Function pointers. */ | ||
| 1697 | +static void | ||
| 1698 | +(*inittables) (void); | ||
| 1699 | +static char * | ||
| 1700 | +(*begfield) (const struct line*, const struct keyfield *); | ||
| 1701 | +static char * | ||
| 1702 | +(*limfield) (const struct line*, const struct keyfield *); | ||
| 1703 | +static int | ||
| 1704 | +(*getmonth) (char const *, size_t); | ||
| 1705 | +static int | ||
| 1706 | +(*keycompare) (const struct line *, const struct line *); | ||
| 1707 | +static int | ||
| 1708 | +(*numcompare) (const char *, const char *); | ||
| 1709 | + | ||
| 1710 | +/* Test for white space multibyte character. | ||
| 1711 | + Set LENGTH the byte length of investigated multibyte character. */ | ||
| 1712 | +#if HAVE_MBRTOWC | ||
| 1713 | +static int | ||
| 1714 | +ismbblank (const char *str, size_t len, size_t *length) | ||
| 1715 | +{ | ||
| 1716 | + size_t mblength; | ||
| 1717 | + wchar_t wc; | ||
| 1718 | + mbstate_t state; | ||
| 1719 | + | ||
| 1720 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 1721 | + mblength = mbrtowc (&wc, str, len, &state); | ||
| 1722 | + | ||
| 1723 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 1724 | + { | ||
| 1725 | + *length = 1; | ||
| 1726 | + return 0; | ||
| 1727 | + } | ||
| 1728 | + | ||
| 1729 | + *length = (mblength < 1) ? 1 : mblength; | ||
| 1730 | + return iswblank (wc); | ||
| 1731 | +} | ||
| 1732 | +#endif | ||
| 1733 | + | ||
| 1734 | /* Clean up any remaining temporary files. */ | ||
| 1735 | |||
| 1736 | static void | ||
| 1737 | @@ -978,7 +1047,7 @@ | ||
| 1738 | free (node); | ||
| 1739 | } | ||
| 1740 | |||
| 1741 | -#if HAVE_NL_LANGINFO | ||
| 1742 | +#if HAVE_LANGINFO_CODESET | ||
| 1743 | |||
| 1744 | static int | ||
| 1745 | struct_month_cmp (const void *m1, const void *m2) | ||
| 1746 | @@ -993,7 +1062,7 @@ | ||
| 1747 | /* Initialize the character class tables. */ | ||
| 1748 | |||
| 1749 | static void | ||
| 1750 | -inittables (void) | ||
| 1751 | +inittables_uni (void) | ||
| 1752 | { | ||
| 1753 | size_t i; | ||
| 1754 | |||
| 1755 | @@ -1005,7 +1074,7 @@ | ||
| 1756 | fold_toupper[i] = toupper (i); | ||
| 1757 | } | ||
| 1758 | |||
| 1759 | -#if HAVE_NL_LANGINFO | ||
| 1760 | +#if HAVE_LANGINFO_CODESET | ||
| 1761 | /* If we're not in the "C" locale, read different names for months. */ | ||
| 1762 | if (hard_LC_TIME) | ||
| 1763 | { | ||
| 1764 | @@ -1031,6 +1100,64 @@ | ||
| 1765 | #endif | ||
| 1766 | } | ||
| 1767 | |||
| 1768 | +#if HAVE_MBRTOWC | ||
| 1769 | +static void | ||
| 1770 | +inittables_mb (void) | ||
| 1771 | +{ | ||
| 1772 | + int i, j, k, l; | ||
| 1773 | + char *name, *s; | ||
| 1774 | + size_t s_len, mblength; | ||
| 1775 | + char mbc[MB_LEN_MAX]; | ||
| 1776 | + wchar_t wc, pwc; | ||
| 1777 | + mbstate_t state_mb, state_wc; | ||
| 1778 | + | ||
| 1779 | + for (i = 0; i < MONTHS_PER_YEAR; i++) | ||
| 1780 | + { | ||
| 1781 | + s = (char *) nl_langinfo (ABMON_1 + i); | ||
| 1782 | + s_len = strlen (s); | ||
| 1783 | + monthtab[i].name = name = (char *) xmalloc (s_len + 1); | ||
| 1784 | + monthtab[i].val = i + 1; | ||
| 1785 | + | ||
| 1786 | + memset (&state_mb, '\0', sizeof (mbstate_t)); | ||
| 1787 | + memset (&state_wc, '\0', sizeof (mbstate_t)); | ||
| 1788 | + | ||
| 1789 | + for (j = 0; j < s_len;) | ||
| 1790 | + { | ||
| 1791 | + if (!ismbblank (s + j, s_len - j, &mblength)) | ||
| 1792 | + break; | ||
| 1793 | + j += mblength; | ||
| 1794 | + } | ||
| 1795 | + | ||
| 1796 | + for (k = 0; j < s_len;) | ||
| 1797 | + { | ||
| 1798 | + mblength = mbrtowc (&wc, (s + j), (s_len - j), &state_mb); | ||
| 1799 | + assert (mblength != (size_t)-1 && mblength != (size_t)-2); | ||
| 1800 | + if (mblength == 0) | ||
| 1801 | + break; | ||
| 1802 | + | ||
| 1803 | + pwc = towupper (wc); | ||
| 1804 | + if (pwc == wc) | ||
| 1805 | + { | ||
| 1806 | + memcpy (mbc, s + j, mblength); | ||
| 1807 | + j += mblength; | ||
| 1808 | + } | ||
| 1809 | + else | ||
| 1810 | + { | ||
| 1811 | + j += mblength; | ||
| 1812 | + mblength = wcrtomb (mbc, pwc, &state_wc); | ||
| 1813 | + assert (mblength != (size_t)0 && mblength != (size_t)-1); | ||
| 1814 | + } | ||
| 1815 | + | ||
| 1816 | + for (l = 0; l < mblength; l++) | ||
| 1817 | + name[k++] = mbc[l]; | ||
| 1818 | + } | ||
| 1819 | + name[k] = '\0'; | ||
| 1820 | + } | ||
| 1821 | + qsort ((void *) monthtab, MONTHS_PER_YEAR, | ||
| 1822 | + sizeof (struct month), struct_month_cmp); | ||
| 1823 | +} | ||
| 1824 | +#endif | ||
| 1825 | + | ||
| 1826 | /* Specify the amount of main memory to use when sorting. */ | ||
| 1827 | static void | ||
| 1828 | specify_sort_size (char const *s) | ||
| 1829 | @@ -1241,7 +1368,7 @@ | ||
| 1830 | by KEY in LINE. */ | ||
| 1831 | |||
| 1832 | static char * | ||
| 1833 | -begfield (const struct line *line, const struct keyfield *key) | ||
| 1834 | +begfield_uni (const struct line *line, const struct keyfield *key) | ||
| 1835 | { | ||
| 1836 | char *ptr = line->text, *lim = ptr + line->length - 1; | ||
| 1837 | size_t sword = key->sword; | ||
| 1838 | @@ -1251,10 +1378,10 @@ | ||
| 1839 | /* The leading field separator itself is included in a field when -t | ||
| 1840 | is absent. */ | ||
| 1841 | |||
| 1842 | - if (tab != TAB_DEFAULT) | ||
| 1843 | + if (tab_length) | ||
| 1844 | while (ptr < lim && sword--) | ||
| 1845 | { | ||
| 1846 | - while (ptr < lim && *ptr != tab) | ||
| 1847 | + while (ptr < lim && *ptr != tab[0]) | ||
| 1848 | ++ptr; | ||
| 1849 | if (ptr < lim) | ||
| 1850 | ++ptr; | ||
| 1851 | @@ -1282,11 +1409,70 @@ | ||
| 1852 | return ptr; | ||
| 1853 | } | ||
| 1854 | |||
| 1855 | +#if HAVE_MBRTOWC | ||
| 1856 | +static char * | ||
| 1857 | +begfield_mb (const struct line *line, const struct keyfield *key) | ||
| 1858 | +{ | ||
| 1859 | + int i; | ||
| 1860 | + char *ptr = line->text, *lim = ptr + line->length - 1; | ||
| 1861 | + size_t sword = key->sword; | ||
| 1862 | + size_t schar = key->schar; | ||
| 1863 | + size_t mblength; | ||
| 1864 | + mbstate_t state; | ||
| 1865 | + | ||
| 1866 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 1867 | + | ||
| 1868 | + if (tab_length) | ||
| 1869 | + while (ptr < lim && sword--) | ||
| 1870 | + { | ||
| 1871 | + while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) | ||
| 1872 | + { | ||
| 1873 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1874 | + ptr += mblength; | ||
| 1875 | + } | ||
| 1876 | + if (ptr < lim) | ||
| 1877 | + { | ||
| 1878 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1879 | + ptr += mblength; | ||
| 1880 | + } | ||
| 1881 | + } | ||
| 1882 | + else | ||
| 1883 | + while (ptr < lim && sword--) | ||
| 1884 | + { | ||
| 1885 | + while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) | ||
| 1886 | + ptr += mblength; | ||
| 1887 | + if (ptr < lim) | ||
| 1888 | + { | ||
| 1889 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1890 | + ptr += mblength; | ||
| 1891 | + } | ||
| 1892 | + while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength)) | ||
| 1893 | + ptr += mblength; | ||
| 1894 | + } | ||
| 1895 | + | ||
| 1896 | + if (key->skipsblanks) | ||
| 1897 | + while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) | ||
| 1898 | + ptr += mblength; | ||
| 1899 | + | ||
| 1900 | + for (i = 0; i < schar; i++) | ||
| 1901 | + { | ||
| 1902 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1903 | + | ||
| 1904 | + if (ptr + mblength > lim) | ||
| 1905 | + break; | ||
| 1906 | + else | ||
| 1907 | + ptr += mblength; | ||
| 1908 | + } | ||
| 1909 | + | ||
| 1910 | + return ptr; | ||
| 1911 | +} | ||
| 1912 | +#endif | ||
| 1913 | + | ||
| 1914 | /* Return the limit of (a pointer to the first character after) the field | ||
| 1915 | in LINE specified by KEY. */ | ||
| 1916 | |||
| 1917 | static char * | ||
| 1918 | -limfield (const struct line *line, const struct keyfield *key) | ||
| 1919 | +limfield_uni (const struct line *line, const struct keyfield *key) | ||
| 1920 | { | ||
| 1921 | char *ptr = line->text, *lim = ptr + line->length - 1; | ||
| 1922 | size_t eword = key->eword, echar = key->echar; | ||
| 1923 | @@ -1299,10 +1485,10 @@ | ||
| 1924 | `beginning' is the first character following the delimiting TAB. | ||
| 1925 | Otherwise, leave PTR pointing at the first `blank' character after | ||
| 1926 | the preceding field. */ | ||
| 1927 | - if (tab != TAB_DEFAULT) | ||
| 1928 | + if (tab_length) | ||
| 1929 | while (ptr < lim && eword--) | ||
| 1930 | { | ||
| 1931 | - while (ptr < lim && *ptr != tab) | ||
| 1932 | + while (ptr < lim && *ptr != tab[0]) | ||
| 1933 | ++ptr; | ||
| 1934 | if (ptr < lim && (eword | echar)) | ||
| 1935 | ++ptr; | ||
| 1936 | @@ -1348,10 +1534,10 @@ | ||
| 1937 | */ | ||
| 1938 | |||
| 1939 | /* Make LIM point to the end of (one byte past) the current field. */ | ||
| 1940 | - if (tab != TAB_DEFAULT) | ||
| 1941 | + if (tab_length) | ||
| 1942 | { | ||
| 1943 | char *newlim; | ||
| 1944 | - newlim = memchr (ptr, tab, lim - ptr); | ||
| 1945 | + newlim = memchr (ptr, tab[0], lim - ptr); | ||
| 1946 | if (newlim) | ||
| 1947 | lim = newlim; | ||
| 1948 | } | ||
| 1949 | @@ -1384,6 +1570,107 @@ | ||
| 1950 | return ptr; | ||
| 1951 | } | ||
| 1952 | |||
| 1953 | +#if HAVE_MBRTOWC | ||
| 1954 | +static char * | ||
| 1955 | +limfield_mb (const struct line *line, const struct keyfield *key) | ||
| 1956 | +{ | ||
| 1957 | + char *ptr = line->text, *lim = ptr + line->length - 1; | ||
| 1958 | + size_t eword = key->eword, echar = key->echar; | ||
| 1959 | + int i; | ||
| 1960 | + size_t mblength; | ||
| 1961 | + mbstate_t state; | ||
| 1962 | + | ||
| 1963 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 1964 | + | ||
| 1965 | + if (tab_length) | ||
| 1966 | + while (ptr < lim && eword--) | ||
| 1967 | + { | ||
| 1968 | + while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) | ||
| 1969 | + { | ||
| 1970 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1971 | + ptr += mblength; | ||
| 1972 | + } | ||
| 1973 | + if (ptr < lim && (eword | echar)) | ||
| 1974 | + { | ||
| 1975 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1976 | + ptr += mblength; | ||
| 1977 | + } | ||
| 1978 | + } | ||
| 1979 | + else | ||
| 1980 | + while (ptr < lim && eword--) | ||
| 1981 | + { | ||
| 1982 | + while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) | ||
| 1983 | + ptr += mblength; | ||
| 1984 | + if (ptr < lim) | ||
| 1985 | + { | ||
| 1986 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 1987 | + ptr += mblength; | ||
| 1988 | + } | ||
| 1989 | + while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength)) | ||
| 1990 | + ptr += mblength; | ||
| 1991 | + } | ||
| 1992 | + | ||
| 1993 | + | ||
| 1994 | +# ifdef POSIX_UNSPECIFIED | ||
| 1995 | + /* Make LIM point to the end of (one byte past) the current field. */ | ||
| 1996 | + if (tab_length) | ||
| 1997 | + { | ||
| 1998 | + char *newlim, *p; | ||
| 1999 | + | ||
| 2000 | + newlim = NULL; | ||
| 2001 | + for (p = ptr; p < lim;) | ||
| 2002 | + { | ||
| 2003 | + if (memcmp (p, tab, tab_length) == 0) | ||
| 2004 | + { | ||
| 2005 | + newlim = p; | ||
| 2006 | + break; | ||
| 2007 | + } | ||
| 2008 | + | ||
| 2009 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 2010 | + p += mblength; | ||
| 2011 | + } | ||
| 2012 | + } | ||
| 2013 | + else | ||
| 2014 | + { | ||
| 2015 | + char *newlim; | ||
| 2016 | + newlim = ptr; | ||
| 2017 | + | ||
| 2018 | + while (newlim < lim && ismbblank (newlim, lim - newlim, &mblength)) | ||
| 2019 | + newlim += mblength; | ||
| 2020 | + if (ptr < lim) | ||
| 2021 | + { | ||
| 2022 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 2023 | + ptr += mblength; | ||
| 2024 | + } | ||
| 2025 | + while (newlim < lim && !ismbblank (newlim, lim - newlim, &mblength)) | ||
| 2026 | + newlim += mblength; | ||
| 2027 | + lim = newlim; | ||
| 2028 | + } | ||
| 2029 | +# endif | ||
| 2030 | + | ||
| 2031 | + /* If we're skipping leading blanks, don't start counting characters | ||
| 2032 | + * until after skipping past any leading blanks. */ | ||
| 2033 | + if (key->skipsblanks) | ||
| 2034 | + while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength)) | ||
| 2035 | + ptr += mblength; | ||
| 2036 | + | ||
| 2037 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 2038 | + | ||
| 2039 | + /* Advance PTR by ECHAR (if possible), but no further than LIM. */ | ||
| 2040 | + for (i = 0; i < echar; i++) | ||
| 2041 | + { | ||
| 2042 | + GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state); | ||
| 2043 | + | ||
| 2044 | + if (ptr + mblength > lim) | ||
| 2045 | + break; | ||
| 2046 | + else | ||
| 2047 | + ptr += mblength; | ||
| 2048 | + } | ||
| 2049 | + | ||
| 2050 | + return ptr; | ||
| 2051 | +} | ||
| 2052 | +#endif | ||
| 2053 | + | ||
| 2054 | /* Fill BUF reading from FP, moving buf->left bytes from the end | ||
| 2055 | of buf->buf to the beginning first. If EOF is reached and the | ||
| 2056 | file wasn't terminated by a newline, supply one. Set up BUF's line | ||
| 2057 | @@ -1466,8 +1753,24 @@ | ||
| 2058 | else | ||
| 2059 | { | ||
| 2060 | if (key->skipsblanks) | ||
| 2061 | - while (blanks[to_uchar (*line_start)]) | ||
| 2062 | - line_start++; | ||
| 2063 | + { | ||
| 2064 | +#if HAVE_MBRTOWC | ||
| 2065 | + if (MB_CUR_MAX > 1) | ||
| 2066 | + { | ||
| 2067 | + size_t mblength; | ||
| 2068 | + mbstate_t state; | ||
| 2069 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 2070 | + while (line_start < line->keylim && | ||
| 2071 | + ismbblank (line_start, | ||
| 2072 | + line->keylim - line_start, | ||
| 2073 | + &mblength)) | ||
| 2074 | + line_start += mblength; | ||
| 2075 | + } | ||
| 2076 | + else | ||
| 2077 | +#endif | ||
| 2078 | + while (blanks[to_uchar (*line_start)]) | ||
| 2079 | + line_start++; | ||
| 2080 | + } | ||
| 2081 | line->keybeg = line_start; | ||
| 2082 | } | ||
| 2083 | } | ||
| 2084 | @@ -1500,7 +1803,7 @@ | ||
| 2085 | hideously fast. */ | ||
| 2086 | |||
| 2087 | static int | ||
| 2088 | -numcompare (const char *a, const char *b) | ||
| 2089 | +numcompare_uni (const char *a, const char *b) | ||
| 2090 | { | ||
| 2091 | while (blanks[to_uchar (*a)]) | ||
| 2092 | a++; | ||
| 2093 | @@ -1510,6 +1813,25 @@ | ||
| 2094 | return strnumcmp (a, b, decimal_point, thousands_sep); | ||
| 2095 | } | ||
| 2096 | |||
| 2097 | +#if HAVE_MBRTOWC | ||
| 2098 | +static int | ||
| 2099 | +numcompare_mb (const char *a, const char *b) | ||
| 2100 | +{ | ||
| 2101 | + size_t mblength, len; | ||
| 2102 | + len = strlen (a); /* okay for UTF-8 */ | ||
| 2103 | + while (*a && ismbblank (a, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength)) | ||
| 2104 | + { | ||
| 2105 | + a += mblength; | ||
| 2106 | + len -= mblength; | ||
| 2107 | + } | ||
| 2108 | + len = strlen (b); /* okay for UTF-8 */ | ||
| 2109 | + while (*b && ismbblank (b, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength)) | ||
| 2110 | + b += mblength; | ||
| 2111 | + | ||
| 2112 | + return strnumcmp (a, b, decimal_point, thousands_sep); | ||
| 2113 | +} | ||
| 2114 | +#endif /* HAV_EMBRTOWC */ | ||
| 2115 | + | ||
| 2116 | static int | ||
| 2117 | general_numcompare (const char *sa, const char *sb) | ||
| 2118 | { | ||
| 2119 | @@ -1543,7 +1865,7 @@ | ||
| 2120 | Return 0 if the name in S is not recognized. */ | ||
| 2121 | |||
| 2122 | static int | ||
| 2123 | -getmonth (char const *month, size_t len) | ||
| 2124 | +getmonth_uni (char const *month, size_t len) | ||
| 2125 | { | ||
| 2126 | size_t lo = 0; | ||
| 2127 | size_t hi = MONTHS_PER_YEAR; | ||
| 2128 | @@ -1698,11 +2020,79 @@ | ||
| 2129 | return diff; | ||
| 2130 | } | ||
| 2131 | |||
| 2132 | +#if HAVE_MBRTOWC | ||
| 2133 | +static int | ||
| 2134 | +getmonth_mb (const char *s, size_t len) | ||
| 2135 | +{ | ||
| 2136 | + char *month; | ||
| 2137 | + register size_t i; | ||
| 2138 | + register int lo = 0, hi = MONTHS_PER_YEAR, result; | ||
| 2139 | + char *tmp; | ||
| 2140 | + size_t wclength, mblength; | ||
| 2141 | + const char **pp; | ||
| 2142 | + const wchar_t **wpp; | ||
| 2143 | + wchar_t *month_wcs; | ||
| 2144 | + mbstate_t state; | ||
| 2145 | + | ||
| 2146 | + while (len > 0 && ismbblank (s, len, &mblength)) | ||
| 2147 | + { | ||
| 2148 | + s += mblength; | ||
| 2149 | + len -= mblength; | ||
| 2150 | + } | ||
| 2151 | + | ||
| 2152 | + if (len == 0) | ||
| 2153 | + return 0; | ||
| 2154 | + | ||
| 2155 | + month = (char *) alloca (len + 1); | ||
| 2156 | + | ||
| 2157 | + tmp = (char *) alloca (len + 1); | ||
| 2158 | + memcpy (tmp, s, len); | ||
| 2159 | + tmp[len] = '\0'; | ||
| 2160 | + pp = (const char **)&tmp; | ||
| 2161 | + month_wcs = (wchar_t *) alloca ((len + 1) * sizeof (wchar_t)); | ||
| 2162 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 2163 | + | ||
| 2164 | + wclength = mbsrtowcs (month_wcs, pp, len + 1, &state); | ||
| 2165 | + assert (wclength != (size_t)-1 && *pp == NULL); | ||
| 2166 | + | ||
| 2167 | + for (i = 0; i < wclength; i++) | ||
| 2168 | + { | ||
| 2169 | + month_wcs[i] = towupper(month_wcs[i]); | ||
| 2170 | + if (iswblank (month_wcs[i])) | ||
| 2171 | + { | ||
| 2172 | + month_wcs[i] = L'\0'; | ||
| 2173 | + break; | ||
| 2174 | + } | ||
| 2175 | + } | ||
| 2176 | + | ||
| 2177 | + wpp = (const wchar_t **)&month_wcs; | ||
| 2178 | + | ||
| 2179 | + mblength = wcsrtombs (month, wpp, len + 1, &state); | ||
| 2180 | + assert (mblength != (-1) && *wpp == NULL); | ||
| 2181 | + | ||
| 2182 | + do | ||
| 2183 | + { | ||
| 2184 | + int ix = (lo + hi) / 2; | ||
| 2185 | + | ||
| 2186 | + if (strncmp (month, monthtab[ix].name, strlen (monthtab[ix].name)) < 0) | ||
| 2187 | + hi = ix; | ||
| 2188 | + else | ||
| 2189 | + lo = ix; | ||
| 2190 | + } | ||
| 2191 | + while (hi - lo > 1); | ||
| 2192 | + | ||
| 2193 | + result = (!strncmp (month, monthtab[lo].name, strlen (monthtab[lo].name)) | ||
| 2194 | + ? monthtab[lo].val : 0); | ||
| 2195 | + | ||
| 2196 | + return result; | ||
| 2197 | +} | ||
| 2198 | +#endif | ||
| 2199 | + | ||
| 2200 | /* Compare two lines A and B trying every key in sequence until there | ||
| 2201 | are no more keys or a difference is found. */ | ||
| 2202 | |||
| 2203 | static int | ||
| 2204 | -keycompare (const struct line *a, const struct line *b) | ||
| 2205 | +keycompare_uni (const struct line *a, const struct line *b) | ||
| 2206 | { | ||
| 2207 | struct keyfield const *key = keylist; | ||
| 2208 | |||
| 2209 | @@ -1875,6 +2265,179 @@ | ||
| 2210 | return key->reverse ? -diff : diff; | ||
| 2211 | } | ||
| 2212 | |||
| 2213 | +#if HAVE_MBRTOWC | ||
| 2214 | +static int | ||
| 2215 | +keycompare_mb (const struct line *a, const struct line *b) | ||
| 2216 | +{ | ||
| 2217 | + struct keyfield *key = keylist; | ||
| 2218 | + | ||
| 2219 | + /* For the first iteration only, the key positions have been | ||
| 2220 | + precomputed for us. */ | ||
| 2221 | + char *texta = a->keybeg; | ||
| 2222 | + char *textb = b->keybeg; | ||
| 2223 | + char *lima = a->keylim; | ||
| 2224 | + char *limb = b->keylim; | ||
| 2225 | + | ||
| 2226 | + size_t mblength_a, mblength_b; | ||
| 2227 | + wchar_t wc_a, wc_b; | ||
| 2228 | + mbstate_t state_a, state_b; | ||
| 2229 | + | ||
| 2230 | + int diff; | ||
| 2231 | + | ||
| 2232 | + memset (&state_a, '\0', sizeof(mbstate_t)); | ||
| 2233 | + memset (&state_b, '\0', sizeof(mbstate_t)); | ||
| 2234 | + | ||
| 2235 | + for (;;) | ||
| 2236 | + { | ||
| 2237 | + unsigned char *translate = (unsigned char *) key->translate; | ||
| 2238 | + bool const *ignore = key->ignore; | ||
| 2239 | + | ||
| 2240 | + /* Find the lengths. */ | ||
| 2241 | + size_t lena = lima <= texta ? 0 : lima - texta; | ||
| 2242 | + size_t lenb = limb <= textb ? 0 : limb - textb; | ||
| 2243 | + | ||
| 2244 | + /* Actually compare the fields. */ | ||
| 2245 | + if (key->random) | ||
| 2246 | + diff = compare_random (texta, lena, textb, lenb); | ||
| 2247 | + else if (key->numeric | key->general_numeric) | ||
| 2248 | + { | ||
| 2249 | + char savea = *lima, saveb = *limb; | ||
| 2250 | + | ||
| 2251 | + *lima = *limb = '\0'; | ||
| 2252 | + if (force_general_numcompare) | ||
| 2253 | + diff = general_numcompare (texta, textb); | ||
| 2254 | + else | ||
| 2255 | + diff = ((key->numeric ? numcompare : general_numcompare) | ||
| 2256 | + (texta, textb)); | ||
| 2257 | + *lima = savea, *limb = saveb; | ||
| 2258 | + } | ||
| 2259 | + else if (key->month) | ||
| 2260 | + diff = getmonth (texta, lena) - getmonth (textb, lenb); | ||
| 2261 | + else | ||
| 2262 | + { | ||
| 2263 | + if (ignore || translate) | ||
| 2264 | + { | ||
| 2265 | + char *copy_a = (char *) alloca (lena + 1 + lenb + 1); | ||
| 2266 | + char *copy_b = copy_a + lena + 1; | ||
| 2267 | + size_t new_len_a, new_len_b; | ||
| 2268 | + size_t i, j; | ||
| 2269 | + | ||
| 2270 | + /* Ignore and/or translate chars before comparing. */ | ||
| 2271 | +# define IGNORE_CHARS(NEW_LEN, LEN, TEXT, COPY, WC, MBLENGTH, STATE) \ | ||
| 2272 | + do \ | ||
| 2273 | + { \ | ||
| 2274 | + wchar_t uwc; \ | ||
| 2275 | + char mbc[MB_LEN_MAX]; \ | ||
| 2276 | + mbstate_t state_wc; \ | ||
| 2277 | + \ | ||
| 2278 | + for (NEW_LEN = i = 0; i < LEN;) \ | ||
| 2279 | + { \ | ||
| 2280 | + mbstate_t state_bak; \ | ||
| 2281 | + \ | ||
| 2282 | + state_bak = STATE; \ | ||
| 2283 | + MBLENGTH = mbrtowc (&WC, TEXT + i, LEN - i, &STATE); \ | ||
| 2284 | + \ | ||
| 2285 | + if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1 \ | ||
| 2286 | + || MBLENGTH == 0) \ | ||
| 2287 | + { \ | ||
| 2288 | + if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1) \ | ||
| 2289 | + STATE = state_bak; \ | ||
| 2290 | + if (!ignore) \ | ||
| 2291 | + COPY[NEW_LEN++] = TEXT[i++]; \ | ||
| 2292 | + continue; \ | ||
| 2293 | + } \ | ||
| 2294 | + \ | ||
| 2295 | + if (ignore) \ | ||
| 2296 | + { \ | ||
| 2297 | + if ((ignore == nonprinting && !iswprint (WC)) \ | ||
| 2298 | + || (ignore == nondictionary \ | ||
| 2299 | + && !iswalnum (WC) && !iswblank (WC))) \ | ||
| 2300 | + { \ | ||
| 2301 | + i += MBLENGTH; \ | ||
| 2302 | + continue; \ | ||
| 2303 | + } \ | ||
| 2304 | + } \ | ||
| 2305 | + \ | ||
| 2306 | + if (translate) \ | ||
| 2307 | + { \ | ||
| 2308 | + \ | ||
| 2309 | + uwc = towupper(WC); \ | ||
| 2310 | + if (WC == uwc) \ | ||
| 2311 | + { \ | ||
| 2312 | + memcpy (mbc, TEXT + i, MBLENGTH); \ | ||
| 2313 | + i += MBLENGTH; \ | ||
| 2314 | + } \ | ||
| 2315 | + else \ | ||
| 2316 | + { \ | ||
| 2317 | + i += MBLENGTH; \ | ||
| 2318 | + WC = uwc; \ | ||
| 2319 | + memset (&state_wc, '\0', sizeof (mbstate_t)); \ | ||
| 2320 | + \ | ||
| 2321 | + MBLENGTH = wcrtomb (mbc, WC, &state_wc); \ | ||
| 2322 | + assert (MBLENGTH != (size_t)-1 && MBLENGTH != 0); \ | ||
| 2323 | + } \ | ||
| 2324 | + \ | ||
| 2325 | + for (j = 0; j < MBLENGTH; j++) \ | ||
| 2326 | + COPY[NEW_LEN++] = mbc[j]; \ | ||
| 2327 | + } \ | ||
| 2328 | + else \ | ||
| 2329 | + for (j = 0; j < MBLENGTH; j++) \ | ||
| 2330 | + COPY[NEW_LEN++] = TEXT[i++]; \ | ||
| 2331 | + } \ | ||
| 2332 | + COPY[NEW_LEN] = '\0'; \ | ||
| 2333 | + } \ | ||
| 2334 | + while (0) | ||
| 2335 | + IGNORE_CHARS (new_len_a, lena, texta, copy_a, | ||
| 2336 | + wc_a, mblength_a, state_a); | ||
| 2337 | + IGNORE_CHARS (new_len_b, lenb, textb, copy_b, | ||
| 2338 | + wc_b, mblength_b, state_b); | ||
| 2339 | + diff = xmemcoll (copy_a, new_len_a, copy_b, new_len_b); | ||
| 2340 | + } | ||
| 2341 | + else if (lena == 0) | ||
| 2342 | + diff = - NONZERO (lenb); | ||
| 2343 | + else if (lenb == 0) | ||
| 2344 | + goto greater; | ||
| 2345 | + else | ||
| 2346 | + diff = xmemcoll (texta, lena, textb, lenb); | ||
| 2347 | + } | ||
| 2348 | + | ||
| 2349 | + if (diff) | ||
| 2350 | + goto not_equal; | ||
| 2351 | + | ||
| 2352 | + key = key->next; | ||
| 2353 | + if (! key) | ||
| 2354 | + break; | ||
| 2355 | + | ||
| 2356 | + /* Find the beginning and limit of the next field. */ | ||
| 2357 | + if (key->eword != -1) | ||
| 2358 | + lima = limfield (a, key), limb = limfield (b, key); | ||
| 2359 | + else | ||
| 2360 | + lima = a->text + a->length - 1, limb = b->text + b->length - 1; | ||
| 2361 | + | ||
| 2362 | + if (key->sword != -1) | ||
| 2363 | + texta = begfield (a, key), textb = begfield (b, key); | ||
| 2364 | + else | ||
| 2365 | + { | ||
| 2366 | + texta = a->text, textb = b->text; | ||
| 2367 | + if (key->skipsblanks) | ||
| 2368 | + { | ||
| 2369 | + while (texta < lima && ismbblank (texta, lima - texta, &mblength_a)) | ||
| 2370 | + texta += mblength_a; | ||
| 2371 | + while (textb < limb && ismbblank (textb, limb - textb, &mblength_b)) | ||
| 2372 | + textb += mblength_b; | ||
| 2373 | + } | ||
| 2374 | + } | ||
| 2375 | + } | ||
| 2376 | + | ||
| 2377 | + return 0; | ||
| 2378 | + | ||
| 2379 | +greater: | ||
| 2380 | + diff = 1; | ||
| 2381 | +not_equal: | ||
| 2382 | + return key->reverse ? -diff : diff; | ||
| 2383 | +} | ||
| 2384 | +#endif | ||
| 2385 | + | ||
| 2386 | /* Compare two lines A and B, returning negative, zero, or positive | ||
| 2387 | depending on whether A compares less than, equal to, or greater than B. */ | ||
| 2388 | |||
| 2389 | @@ -2744,7 +3305,7 @@ | ||
| 2390 | initialize_exit_failure (SORT_FAILURE); | ||
| 2391 | |||
| 2392 | hard_LC_COLLATE = hard_locale (LC_COLLATE); | ||
| 2393 | -#if HAVE_NL_LANGINFO | ||
| 2394 | +#if HAVE_LANGINFO_CODESET | ||
| 2395 | hard_LC_TIME = hard_locale (LC_TIME); | ||
| 2396 | #endif | ||
| 2397 | |||
| 2398 | @@ -2765,6 +3326,27 @@ | ||
| 2399 | thousands_sep = -1; | ||
| 2400 | } | ||
| 2401 | |||
| 2402 | +#if HAVE_MBRTOWC | ||
| 2403 | + if (MB_CUR_MAX > 1) | ||
| 2404 | + { | ||
| 2405 | + inittables = inittables_mb; | ||
| 2406 | + begfield = begfield_mb; | ||
| 2407 | + limfield = limfield_mb; | ||
| 2408 | + getmonth = getmonth_mb; | ||
| 2409 | + keycompare = keycompare_mb; | ||
| 2410 | + numcompare = numcompare_mb; | ||
| 2411 | + } | ||
| 2412 | + else | ||
| 2413 | +#endif | ||
| 2414 | + { | ||
| 2415 | + inittables = inittables_uni; | ||
| 2416 | + begfield = begfield_uni; | ||
| 2417 | + limfield = limfield_uni; | ||
| 2418 | + getmonth = getmonth_uni; | ||
| 2419 | + keycompare = keycompare_uni; | ||
| 2420 | + numcompare = numcompare_uni; | ||
| 2421 | + } | ||
| 2422 | + | ||
| 2423 | have_read_stdin = false; | ||
| 2424 | inittables (); | ||
| 2425 | |||
| 2426 | @@ -3015,13 +3597,35 @@ | ||
| 2427 | |||
| 2428 | case 't': | ||
| 2429 | { | ||
| 2430 | - char newtab = optarg[0]; | ||
| 2431 | - if (! newtab) | ||
| 2432 | + char newtab[MB_LEN_MAX + 1]; | ||
| 2433 | + size_t newtab_length = 1; | ||
| 2434 | + strncpy (newtab, optarg, MB_LEN_MAX); | ||
| 2435 | + if (! newtab[0]) | ||
| 2436 | error (SORT_FAILURE, 0, _("empty tab")); | ||
| 2437 | - if (optarg[1]) | ||
| 2438 | +#if HAVE_MBRTOWC | ||
| 2439 | + if (MB_CUR_MAX > 1) | ||
| 2440 | + { | ||
| 2441 | + wchar_t wc; | ||
| 2442 | + mbstate_t state; | ||
| 2443 | + size_t i; | ||
| 2444 | + | ||
| 2445 | + memset (&state, '\0', sizeof (mbstate_t)); | ||
| 2446 | + newtab_length = mbrtowc (&wc, newtab, strnlen (newtab, | ||
| 2447 | + MB_LEN_MAX), | ||
| 2448 | + &state); | ||
| 2449 | + switch (newtab_length) | ||
| 2450 | + { | ||
| 2451 | + case (size_t) -1: | ||
| 2452 | + case (size_t) -2: | ||
| 2453 | + case 0: | ||
| 2454 | + newtab_length = 1; | ||
| 2455 | + } | ||
| 2456 | + } | ||
| 2457 | +#endif | ||
| 2458 | + if (newtab_length == 1 && optarg[1]) | ||
| 2459 | { | ||
| 2460 | if (STREQ (optarg, "\\0")) | ||
| 2461 | - newtab = '\0'; | ||
| 2462 | + newtab[0] = '\0'; | ||
| 2463 | else | ||
| 2464 | { | ||
| 2465 | /* Provoke with `sort -txx'. Complain about | ||
| 2466 | @@ -3032,9 +3636,12 @@ | ||
| 2467 | quote (optarg)); | ||
| 2468 | } | ||
| 2469 | } | ||
| 2470 | - if (tab != TAB_DEFAULT && tab != newtab) | ||
| 2471 | + if (tab_length | ||
| 2472 | + && (tab_length != newtab_length | ||
| 2473 | + || memcmp (tab, newtab, tab_length) != 0)) | ||
| 2474 | error (SORT_FAILURE, 0, _("incompatible tabs")); | ||
| 2475 | - tab = newtab; | ||
| 2476 | + memcpy (tab, newtab, newtab_length); | ||
| 2477 | + tab_length = newtab_length; | ||
| 2478 | } | ||
| 2479 | break; | ||
| 2480 | |||
| 2481 | --- coreutils-6.8+/src/unexpand.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 2482 | +++ coreutils-6.8+/src/unexpand.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 2483 | @@ -39,11 +39,28 @@ | ||
| 2484 | #include <stdio.h> | ||
| 2485 | #include <getopt.h> | ||
| 2486 | #include <sys/types.h> | ||
| 2487 | + | ||
| 2488 | +/* Get mbstate_t, mbrtowc(), wcwidth(). */ | ||
| 2489 | +#if HAVE_WCHAR_H | ||
| 2490 | +# include <wchar.h> | ||
| 2491 | +#endif | ||
| 2492 | + | ||
| 2493 | #include "system.h" | ||
| 2494 | #include "error.h" | ||
| 2495 | #include "quote.h" | ||
| 2496 | #include "xstrndup.h" | ||
| 2497 | |||
| 2498 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 2499 | + installation; work around this configuration error. */ | ||
| 2500 | +#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 | ||
| 2501 | +# define MB_LEN_MAX 16 | ||
| 2502 | +#endif | ||
| 2503 | + | ||
| 2504 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 2505 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 2506 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 2507 | +#endif | ||
| 2508 | + | ||
| 2509 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 2510 | #define PROGRAM_NAME "unexpand" | ||
| 2511 | |||
| 2512 | @@ -110,6 +127,208 @@ | ||
| 2513 | {NULL, 0, NULL, 0} | ||
| 2514 | }; | ||
| 2515 | |||
| 2516 | +static FILE *next_file (FILE *fp); | ||
| 2517 | + | ||
| 2518 | +#if HAVE_MBRTOWC | ||
| 2519 | +static void | ||
| 2520 | +unexpand_multibyte (void) | ||
| 2521 | +{ | ||
| 2522 | + FILE *fp; /* Input stream. */ | ||
| 2523 | + mbstate_t i_state; /* Current shift state of the input stream. */ | ||
| 2524 | + mbstate_t i_state_bak; /* Back up the I_STATE. */ | ||
| 2525 | + mbstate_t o_state; /* Current shift state of the output stream. */ | ||
| 2526 | + char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ | ||
| 2527 | + char *bufpos; /* Next read position of BUF. */ | ||
| 2528 | + size_t buflen = 0; /* The length of the byte sequence in buf. */ | ||
| 2529 | + wint_t wc; /* A gotten wide character. */ | ||
| 2530 | + size_t mblength; /* The byte size of a multibyte character | ||
| 2531 | + which shows as same character as WC. */ | ||
| 2532 | + | ||
| 2533 | + /* Index in `tab_list' of next tabstop: */ | ||
| 2534 | + int tab_index = 0; /* For calculating width of pending tabs. */ | ||
| 2535 | + int print_tab_index = 0; /* For printing as many tabs as possible. */ | ||
| 2536 | + unsigned int column = 0; /* Column on screen of next char. */ | ||
| 2537 | + int next_tab_column; /* Column the next tab stop is on. */ | ||
| 2538 | + int convert = 1; /* If nonzero, perform translations. */ | ||
| 2539 | + unsigned int pending = 0; /* Pending columns of blanks. */ | ||
| 2540 | + | ||
| 2541 | + fp = next_file ((FILE *) NULL); | ||
| 2542 | + if (fp == NULL) | ||
| 2543 | + return; | ||
| 2544 | + | ||
| 2545 | + memset (&o_state, '\0', sizeof(mbstate_t)); | ||
| 2546 | + memset (&i_state, '\0', sizeof(mbstate_t)); | ||
| 2547 | + | ||
| 2548 | + for (;;) | ||
| 2549 | + { | ||
| 2550 | + if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp)) | ||
| 2551 | + { | ||
| 2552 | + memmove (buf, bufpos, buflen); | ||
| 2553 | + buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp); | ||
| 2554 | + bufpos = buf; | ||
| 2555 | + } | ||
| 2556 | + | ||
| 2557 | + /* Get a wide character. */ | ||
| 2558 | + if (buflen < 1) | ||
| 2559 | + { | ||
| 2560 | + mblength = 1; | ||
| 2561 | + wc = WEOF; | ||
| 2562 | + } | ||
| 2563 | + else | ||
| 2564 | + { | ||
| 2565 | + i_state_bak = i_state; | ||
| 2566 | + mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &i_state); | ||
| 2567 | + } | ||
| 2568 | + | ||
| 2569 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 2570 | + { | ||
| 2571 | + i_state = i_state_bak; | ||
| 2572 | + wc = L'\0'; | ||
| 2573 | + } | ||
| 2574 | + | ||
| 2575 | + if (wc == L' ' && convert && column < INT_MAX) | ||
| 2576 | + { | ||
| 2577 | + ++pending; | ||
| 2578 | + ++column; | ||
| 2579 | + } | ||
| 2580 | + else if (wc == L'\t' && convert) | ||
| 2581 | + { | ||
| 2582 | + if (tab_size == 0) | ||
| 2583 | + { | ||
| 2584 | + /* Do not let tab_index == first_free_tab; | ||
| 2585 | + stop when it is 1 less. */ | ||
| 2586 | + while (tab_index < first_free_tab - 1 | ||
| 2587 | + && column >= tab_list[tab_index]) | ||
| 2588 | + tab_index++; | ||
| 2589 | + next_tab_column = tab_list[tab_index]; | ||
| 2590 | + if (tab_index < first_free_tab - 1) | ||
| 2591 | + tab_index++; | ||
| 2592 | + if (column >= next_tab_column) | ||
| 2593 | + { | ||
| 2594 | + convert = 0; /* Ran out of tab stops. */ | ||
| 2595 | + goto flush_pend_mb; | ||
| 2596 | + } | ||
| 2597 | + } | ||
| 2598 | + else | ||
| 2599 | + { | ||
| 2600 | + next_tab_column = column + tab_size - column % tab_size; | ||
| 2601 | + } | ||
| 2602 | + pending += next_tab_column - column; | ||
| 2603 | + column = next_tab_column; | ||
| 2604 | + } | ||
| 2605 | + else | ||
| 2606 | + { | ||
| 2607 | +flush_pend_mb: | ||
| 2608 | + /* Flush pending spaces. Print as many tabs as possible, | ||
| 2609 | + then print the rest as spaces. */ | ||
| 2610 | + if (pending == 1) | ||
| 2611 | + { | ||
| 2612 | + putchar (' '); | ||
| 2613 | + pending = 0; | ||
| 2614 | + } | ||
| 2615 | + column -= pending; | ||
| 2616 | + while (pending > 0) | ||
| 2617 | + { | ||
| 2618 | + if (tab_size == 0) | ||
| 2619 | + { | ||
| 2620 | + /* Do not let print_tab_index == first_free_tab; | ||
| 2621 | + stop when it is 1 less. */ | ||
| 2622 | + while (print_tab_index < first_free_tab - 1 | ||
| 2623 | + && column >= tab_list[print_tab_index]) | ||
| 2624 | + print_tab_index++; | ||
| 2625 | + next_tab_column = tab_list[print_tab_index]; | ||
| 2626 | + if (print_tab_index < first_free_tab - 1) | ||
| 2627 | + print_tab_index++; | ||
| 2628 | + } | ||
| 2629 | + else | ||
| 2630 | + { | ||
| 2631 | + next_tab_column = | ||
| 2632 | + column + tab_size - column % tab_size; | ||
| 2633 | + } | ||
| 2634 | + if (next_tab_column - column <= pending) | ||
| 2635 | + { | ||
| 2636 | + putchar ('\t'); | ||
| 2637 | + pending -= next_tab_column - column; | ||
| 2638 | + column = next_tab_column; | ||
| 2639 | + } | ||
| 2640 | + else | ||
| 2641 | + { | ||
| 2642 | + --print_tab_index; | ||
| 2643 | + column += pending; | ||
| 2644 | + while (pending != 0) | ||
| 2645 | + { | ||
| 2646 | + putchar (' '); | ||
| 2647 | + pending--; | ||
| 2648 | + } | ||
| 2649 | + } | ||
| 2650 | + } | ||
| 2651 | + | ||
| 2652 | + if (wc == WEOF) | ||
| 2653 | + { | ||
| 2654 | + fp = next_file (fp); | ||
| 2655 | + if (fp == NULL) | ||
| 2656 | + break; /* No more files. */ | ||
| 2657 | + else | ||
| 2658 | + { | ||
| 2659 | + memset (&i_state, '\0', sizeof(mbstate_t)); | ||
| 2660 | + continue; | ||
| 2661 | + } | ||
| 2662 | + } | ||
| 2663 | + | ||
| 2664 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 2665 | + { | ||
| 2666 | + if (convert) | ||
| 2667 | + { | ||
| 2668 | + ++column; | ||
| 2669 | + if (convert_entire_line == 0) | ||
| 2670 | + convert = 0; | ||
| 2671 | + } | ||
| 2672 | + mblength = 1; | ||
| 2673 | + putchar (buf[0]); | ||
| 2674 | + } | ||
| 2675 | + else if (mblength == 0) | ||
| 2676 | + { | ||
| 2677 | + if (convert && convert_entire_line == 0) | ||
| 2678 | + convert = 0; | ||
| 2679 | + mblength = 1; | ||
| 2680 | + putchar ('\0'); | ||
| 2681 | + } | ||
| 2682 | + else | ||
| 2683 | + { | ||
| 2684 | + if (convert) | ||
| 2685 | + { | ||
| 2686 | + if (wc == L'\b') | ||
| 2687 | + { | ||
| 2688 | + if (column > 0) | ||
| 2689 | + --column; | ||
| 2690 | + } | ||
| 2691 | + else | ||
| 2692 | + { | ||
| 2693 | + int width; /* The width of WC. */ | ||
| 2694 | + | ||
| 2695 | + width = wcwidth (wc); | ||
| 2696 | + column += (width > 0) ? width : 0; | ||
| 2697 | + if (convert_entire_line == 0) | ||
| 2698 | + convert = 0; | ||
| 2699 | + } | ||
| 2700 | + } | ||
| 2701 | + | ||
| 2702 | + if (wc == L'\n') | ||
| 2703 | + { | ||
| 2704 | + tab_index = print_tab_index = 0; | ||
| 2705 | + column = pending = 0; | ||
| 2706 | + convert = 1; | ||
| 2707 | + } | ||
| 2708 | + fwrite (bufpos, sizeof(char), mblength, stdout); | ||
| 2709 | + } | ||
| 2710 | + } | ||
| 2711 | + buflen -= mblength; | ||
| 2712 | + bufpos += mblength; | ||
| 2713 | + } | ||
| 2714 | +} | ||
| 2715 | +#endif | ||
| 2716 | + | ||
| 2717 | + | ||
| 2718 | void | ||
| 2719 | usage (int status) | ||
| 2720 | { | ||
| 2721 | @@ -531,7 +750,12 @@ | ||
| 2722 | |||
| 2723 | file_list = (optind < argc ? &argv[optind] : stdin_argv); | ||
| 2724 | |||
| 2725 | - unexpand (); | ||
| 2726 | +#if HAVE_MBRTOWC | ||
| 2727 | + if (MB_CUR_MAX > 1) | ||
| 2728 | + unexpand_multibyte (); | ||
| 2729 | + else | ||
| 2730 | +#endif | ||
| 2731 | + unexpand (); | ||
| 2732 | |||
| 2733 | if (have_read_stdin && fclose (stdin) != 0) | ||
| 2734 | error (EXIT_FAILURE, errno, "-"); | ||
| 2735 | --- coreutils-6.8+/src/pr.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 2736 | +++ coreutils-6.8+/src/pr.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 2737 | @@ -313,6 +313,32 @@ | ||
| 2738 | |||
| 2739 | #include <getopt.h> | ||
| 2740 | #include <sys/types.h> | ||
| 2741 | + | ||
| 2742 | +/* Get MB_LEN_MAX. */ | ||
| 2743 | +#include <limits.h> | ||
| 2744 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 2745 | + installation; work around this configuration error. */ | ||
| 2746 | +#if !defined MB_LEN_MAX || MB_LEN_MAX == 1 | ||
| 2747 | +# define MB_LEN_MAX 16 | ||
| 2748 | +#endif | ||
| 2749 | + | ||
| 2750 | +/* Get MB_CUR_MAX. */ | ||
| 2751 | +#include <stdlib.h> | ||
| 2752 | + | ||
| 2753 | +/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */ | ||
| 2754 | +/* Get mbstate_t, mbrtowc(), wcwidth(). */ | ||
| 2755 | +#if HAVE_WCHAR_H | ||
| 2756 | +# include <wchar.h> | ||
| 2757 | +#endif | ||
| 2758 | + | ||
| 2759 | +/* Get iswprint(). -- for wcwidth(). */ | ||
| 2760 | +#if HAVE_WCTYPE_H | ||
| 2761 | +# include <wctype.h> | ||
| 2762 | +#endif | ||
| 2763 | +#if !defined iswprint && !HAVE_ISWPRINT | ||
| 2764 | +# define iswprint(wc) 1 | ||
| 2765 | +#endif | ||
| 2766 | + | ||
| 2767 | #include "system.h" | ||
| 2768 | #include "error.h" | ||
| 2769 | #include "hard-locale.h" | ||
| 2770 | @@ -324,6 +350,18 @@ | ||
| 2771 | #include "strftime.h" | ||
| 2772 | #include "xstrtol.h" | ||
| 2773 | |||
| 2774 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 2775 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 2776 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 2777 | +#endif | ||
| 2778 | + | ||
| 2779 | +#ifndef HAVE_DECL_WCWIDTH | ||
| 2780 | +"this configure-time declaration test was not run" | ||
| 2781 | +#endif | ||
| 2782 | +#if !HAVE_DECL_WCWIDTH | ||
| 2783 | +extern int wcwidth (); | ||
| 2784 | +#endif | ||
| 2785 | + | ||
| 2786 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 2787 | #define PROGRAM_NAME "pr" | ||
| 2788 | |||
| 2789 | @@ -416,7 +454,20 @@ | ||
| 2790 | |||
| 2791 | #define NULLCOL (COLUMN *)0 | ||
| 2792 | |||
| 2793 | -static int char_to_clump (char c); | ||
| 2794 | +/* Funtion pointers to switch functions for single byte locale or for | ||
| 2795 | + multibyte locale. If multibyte functions do not exist in your sysytem, | ||
| 2796 | + these pointers always point the function for single byte locale. */ | ||
| 2797 | +static void (*print_char) (char c); | ||
| 2798 | +static int (*char_to_clump) (char c); | ||
| 2799 | + | ||
| 2800 | +/* Functions for single byte locale. */ | ||
| 2801 | +static void print_char_single (char c); | ||
| 2802 | +static int char_to_clump_single (char c); | ||
| 2803 | + | ||
| 2804 | +/* Functions for multibyte locale. */ | ||
| 2805 | +static void print_char_multi (char c); | ||
| 2806 | +static int char_to_clump_multi (char c); | ||
| 2807 | + | ||
| 2808 | static bool read_line (COLUMN *p); | ||
| 2809 | static bool print_page (void); | ||
| 2810 | static bool print_stored (COLUMN *p); | ||
| 2811 | @@ -426,6 +477,7 @@ | ||
| 2812 | static void pad_across_to (int position); | ||
| 2813 | static void add_line_number (COLUMN *p); | ||
| 2814 | static void getoptarg (char *arg, char switch_char, char *character, | ||
| 2815 | + int *character_length, int *character_width, | ||
| 2816 | int *number); | ||
| 2817 | void usage (int status); | ||
| 2818 | static void print_files (int number_of_files, char **av); | ||
| 2819 | @@ -440,7 +492,6 @@ | ||
| 2820 | static void pad_down (int lines); | ||
| 2821 | static void read_rest_of_line (COLUMN *p); | ||
| 2822 | static void skip_read (COLUMN *p, int column_number); | ||
| 2823 | -static void print_char (char c); | ||
| 2824 | static void cleanup (void); | ||
| 2825 | static void print_sep_string (void); | ||
| 2826 | static void separator_string (const char *optarg_S); | ||
| 2827 | @@ -455,7 +506,7 @@ | ||
| 2828 | we store the leftmost columns contiguously in buff. | ||
| 2829 | To print a line from buff, get the index of the first character | ||
| 2830 | from line_vector[i], and print up to line_vector[i + 1]. */ | ||
| 2831 | -static char *buff; | ||
| 2832 | +static unsigned char *buff; | ||
| 2833 | |||
| 2834 | /* Index of the position in buff where the next character | ||
| 2835 | will be stored. */ | ||
| 2836 | @@ -559,7 +610,7 @@ | ||
| 2837 | static bool untabify_input = false; | ||
| 2838 | |||
| 2839 | /* (-e) The input tab character. */ | ||
| 2840 | -static char input_tab_char = '\t'; | ||
| 2841 | +static char input_tab_char[MB_LEN_MAX] = "\t"; | ||
| 2842 | |||
| 2843 | /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ... | ||
| 2844 | where the leftmost column is 1. */ | ||
| 2845 | @@ -569,7 +620,10 @@ | ||
| 2846 | static bool tabify_output = false; | ||
| 2847 | |||
| 2848 | /* (-i) The output tab character. */ | ||
| 2849 | -static char output_tab_char = '\t'; | ||
| 2850 | +static char output_tab_char[MB_LEN_MAX] = "\t"; | ||
| 2851 | + | ||
| 2852 | +/* (-i) The byte length of output tab character. */ | ||
| 2853 | +static int output_tab_char_length = 1; | ||
| 2854 | |||
| 2855 | /* (-i) The width of the output tab. */ | ||
| 2856 | static int chars_per_output_tab = 8; | ||
| 2857 | @@ -643,7 +697,13 @@ | ||
| 2858 | static bool numbered_lines = false; | ||
| 2859 | |||
| 2860 | /* (-n) Character which follows each line number. */ | ||
| 2861 | -static char number_separator = '\t'; | ||
| 2862 | +static char number_separator[MB_LEN_MAX] = "\t"; | ||
| 2863 | + | ||
| 2864 | +/* (-n) The byte length of the character which follows each line number. */ | ||
| 2865 | +static int number_separator_length = 1; | ||
| 2866 | + | ||
| 2867 | +/* (-n) The character width of the character which follows each line number. */ | ||
| 2868 | +static int number_separator_width = 0; | ||
| 2869 | |||
| 2870 | /* (-n) line counting starts with 1st line of input file (not with 1st | ||
| 2871 | line of 1st page printed). */ | ||
| 2872 | @@ -696,6 +756,7 @@ | ||
| 2873 | -a|COLUMN|-m is a `space' and with the -J option a `tab'. */ | ||
| 2874 | static char *col_sep_string = ""; | ||
| 2875 | static int col_sep_length = 0; | ||
| 2876 | +static int col_sep_width = 0; | ||
| 2877 | static char *column_separator = " "; | ||
| 2878 | static char *line_separator = "\t"; | ||
| 2879 | |||
| 2880 | @@ -852,6 +913,13 @@ | ||
| 2881 | col_sep_length = (int) strlen (optarg_S); | ||
| 2882 | col_sep_string = xmalloc (col_sep_length + 1); | ||
| 2883 | strcpy (col_sep_string, optarg_S); | ||
| 2884 | + | ||
| 2885 | +#if HAVE_MBRTOWC | ||
| 2886 | + if (MB_CUR_MAX > 1) | ||
| 2887 | + col_sep_width = mbswidth (col_sep_string, 0); | ||
| 2888 | + else | ||
| 2889 | +#endif | ||
| 2890 | + col_sep_width = col_sep_length; | ||
| 2891 | } | ||
| 2892 | |||
| 2893 | int | ||
| 2894 | @@ -877,6 +945,21 @@ | ||
| 2895 | |||
| 2896 | atexit (close_stdout); | ||
| 2897 | |||
| 2898 | +/* Define which functions are used, the ones for single byte locale or the ones | ||
| 2899 | + for multibyte locale. */ | ||
| 2900 | +#if HAVE_MBRTOWC | ||
| 2901 | + if (MB_CUR_MAX > 1) | ||
| 2902 | + { | ||
| 2903 | + print_char = print_char_multi; | ||
| 2904 | + char_to_clump = char_to_clump_multi; | ||
| 2905 | + } | ||
| 2906 | + else | ||
| 2907 | +#endif | ||
| 2908 | + { | ||
| 2909 | + print_char = print_char_single; | ||
| 2910 | + char_to_clump = char_to_clump_single; | ||
| 2911 | + } | ||
| 2912 | + | ||
| 2913 | n_files = 0; | ||
| 2914 | file_names = (argc > 1 | ||
| 2915 | ? xmalloc ((argc - 1) * sizeof (char *)) | ||
| 2916 | @@ -949,8 +1032,12 @@ | ||
| 2917 | break; | ||
| 2918 | case 'e': | ||
| 2919 | if (optarg) | ||
| 2920 | - getoptarg (optarg, 'e', &input_tab_char, | ||
| 2921 | - &chars_per_input_tab); | ||
| 2922 | + { | ||
| 2923 | + int dummy_length, dummy_width; | ||
| 2924 | + | ||
| 2925 | + getoptarg (optarg, 'e', input_tab_char, &dummy_length, | ||
| 2926 | + &dummy_width, &chars_per_input_tab); | ||
| 2927 | + } | ||
| 2928 | /* Could check tab width > 0. */ | ||
| 2929 | untabify_input = true; | ||
| 2930 | break; | ||
| 2931 | @@ -963,8 +1050,12 @@ | ||
| 2932 | break; | ||
| 2933 | case 'i': | ||
| 2934 | if (optarg) | ||
| 2935 | - getoptarg (optarg, 'i', &output_tab_char, | ||
| 2936 | - &chars_per_output_tab); | ||
| 2937 | + { | ||
| 2938 | + int dummy_width; | ||
| 2939 | + | ||
| 2940 | + getoptarg (optarg, 'i', output_tab_char, &output_tab_char_length, | ||
| 2941 | + &dummy_width, &chars_per_output_tab); | ||
| 2942 | + } | ||
| 2943 | /* Could check tab width > 0. */ | ||
| 2944 | tabify_output = true; | ||
| 2945 | break; | ||
| 2946 | @@ -991,8 +1082,8 @@ | ||
| 2947 | case 'n': | ||
| 2948 | numbered_lines = true; | ||
| 2949 | if (optarg) | ||
| 2950 | - getoptarg (optarg, 'n', &number_separator, | ||
| 2951 | - &chars_per_number); | ||
| 2952 | + getoptarg (optarg, 'n', number_separator, &number_separator_length, | ||
| 2953 | + &number_separator_width, &chars_per_number); | ||
| 2954 | break; | ||
| 2955 | case 'N': | ||
| 2956 | skip_count = false; | ||
| 2957 | @@ -1031,7 +1122,7 @@ | ||
| 2958 | old_s = false; | ||
| 2959 | /* Reset an additional input of -s, -S dominates -s */ | ||
| 2960 | col_sep_string = ""; | ||
| 2961 | - col_sep_length = 0; | ||
| 2962 | + col_sep_length = col_sep_width = 0; | ||
| 2963 | use_col_separator = true; | ||
| 2964 | if (optarg) | ||
| 2965 | separator_string (optarg); | ||
| 2966 | @@ -1188,10 +1279,45 @@ | ||
| 2967 | a number. */ | ||
| 2968 | |||
| 2969 | static void | ||
| 2970 | -getoptarg (char *arg, char switch_char, char *character, int *number) | ||
| 2971 | +getoptarg (char *arg, char switch_char, char *character, int *character_length, | ||
| 2972 | + int *character_width, int *number) | ||
| 2973 | { | ||
| 2974 | if (!ISDIGIT (*arg)) | ||
| 2975 | - *character = *arg++; | ||
| 2976 | + { | ||
| 2977 | +#ifdef HAVE_MBRTOWC | ||
| 2978 | + if (MB_CUR_MAX > 1) /* for multibyte locale. */ | ||
| 2979 | + { | ||
| 2980 | + wchar_t wc; | ||
| 2981 | + size_t mblength; | ||
| 2982 | + int width; | ||
| 2983 | + mbstate_t state = {'\0'}; | ||
| 2984 | + | ||
| 2985 | + mblength = mbrtowc (&wc, arg, strnlen(arg, MB_LEN_MAX), &state); | ||
| 2986 | + | ||
| 2987 | + if (mblength == (size_t)-1 || mblength == (size_t)-2) | ||
| 2988 | + { | ||
| 2989 | + *character_length = 1; | ||
| 2990 | + *character_width = 1; | ||
| 2991 | + } | ||
| 2992 | + else | ||
| 2993 | + { | ||
| 2994 | + *character_length = (mblength < 1) ? 1 : mblength; | ||
| 2995 | + width = wcwidth (wc); | ||
| 2996 | + *character_width = (width < 0) ? 0 : width; | ||
| 2997 | + } | ||
| 2998 | + | ||
| 2999 | + strncpy (character, arg, *character_length); | ||
| 3000 | + arg += *character_length; | ||
| 3001 | + } | ||
| 3002 | + else /* for single byte locale. */ | ||
| 3003 | +#endif | ||
| 3004 | + { | ||
| 3005 | + *character = *arg++; | ||
| 3006 | + *character_length = 1; | ||
| 3007 | + *character_width = 1; | ||
| 3008 | + } | ||
| 3009 | + } | ||
| 3010 | + | ||
| 3011 | if (*arg) | ||
| 3012 | { | ||
| 3013 | long int tmp_long; | ||
| 3014 | @@ -1256,7 +1382,7 @@ | ||
| 3015 | else | ||
| 3016 | col_sep_string = column_separator; | ||
| 3017 | |||
| 3018 | - col_sep_length = 1; | ||
| 3019 | + col_sep_length = col_sep_width = 1; | ||
| 3020 | use_col_separator = true; | ||
| 3021 | } | ||
| 3022 | /* It's rather pointless to define a TAB separator with column | ||
| 3023 | @@ -1288,11 +1414,11 @@ | ||
| 3024 | TAB_WIDTH (chars_per_input_tab, chars_per_number); */ | ||
| 3025 | |||
| 3026 | /* Estimate chars_per_text without any margin and keep it constant. */ | ||
| 3027 | - if (number_separator == '\t') | ||
| 3028 | + if (number_separator[0] == '\t') | ||
| 3029 | number_width = chars_per_number + | ||
| 3030 | TAB_WIDTH (chars_per_default_tab, chars_per_number); | ||
| 3031 | else | ||
| 3032 | - number_width = chars_per_number + 1; | ||
| 3033 | + number_width = chars_per_number + number_separator_width; | ||
| 3034 | |||
| 3035 | /* The number is part of the column width unless we are | ||
| 3036 | printing files in parallel. */ | ||
| 3037 | @@ -1307,7 +1433,7 @@ | ||
| 3038 | } | ||
| 3039 | |||
| 3040 | chars_per_column = (chars_per_line - chars_used_by_number - | ||
| 3041 | - (columns - 1) * col_sep_length) / columns; | ||
| 3042 | + (columns - 1) * col_sep_width) / columns; | ||
| 3043 | |||
| 3044 | if (chars_per_column < 1) | ||
| 3045 | error (EXIT_FAILURE, 0, _("page width too narrow")); | ||
| 3046 | @@ -1432,7 +1558,7 @@ | ||
| 3047 | |||
| 3048 | /* Enlarge p->start_position of first column to use the same form of | ||
| 3049 | padding_not_printed with all columns. */ | ||
| 3050 | - h = h + col_sep_length; | ||
| 3051 | + h = h + col_sep_width; | ||
| 3052 | |||
| 3053 | /* This loop takes care of all but the rightmost column. */ | ||
| 3054 | |||
| 3055 | @@ -1466,7 +1592,7 @@ | ||
| 3056 | } | ||
| 3057 | else | ||
| 3058 | { | ||
| 3059 | - h = h_next + col_sep_length; | ||
| 3060 | + h = h_next + col_sep_width; | ||
| 3061 | h_next = h + chars_per_column; | ||
| 3062 | } | ||
| 3063 | } | ||
| 3064 | @@ -1756,9 +1882,9 @@ | ||
| 3065 | align_column (COLUMN *p) | ||
| 3066 | { | ||
| 3067 | padding_not_printed = p->start_position; | ||
| 3068 | - if (padding_not_printed - col_sep_length > 0) | ||
| 3069 | + if (padding_not_printed - col_sep_width > 0) | ||
| 3070 | { | ||
| 3071 | - pad_across_to (padding_not_printed - col_sep_length); | ||
| 3072 | + pad_across_to (padding_not_printed - col_sep_width); | ||
| 3073 | padding_not_printed = ANYWHERE; | ||
| 3074 | } | ||
| 3075 | |||
| 3076 | @@ -2029,13 +2155,13 @@ | ||
| 3077 | /* May be too generous. */ | ||
| 3078 | buff = X2REALLOC (buff, &buff_allocated); | ||
| 3079 | } | ||
| 3080 | - buff[buff_current++] = c; | ||
| 3081 | + buff[buff_current++] = (unsigned char) c; | ||
| 3082 | } | ||
| 3083 | |||
| 3084 | static void | ||
| 3085 | add_line_number (COLUMN *p) | ||
| 3086 | { | ||
| 3087 | - int i; | ||
| 3088 | + int i, j; | ||
| 3089 | char *s; | ||
| 3090 | int left_cut; | ||
| 3091 | |||
| 3092 | @@ -2058,22 +2184,24 @@ | ||
| 3093 | /* Tabification is assumed for multiple columns, also for n-separators, | ||
| 3094 | but `default n-separator = TAB' hasn't been given priority over | ||
| 3095 | equal column_width also specified by POSIX. */ | ||
| 3096 | - if (number_separator == '\t') | ||
| 3097 | + if (number_separator[0] == '\t') | ||
| 3098 | { | ||
| 3099 | i = number_width - chars_per_number; | ||
| 3100 | while (i-- > 0) | ||
| 3101 | (p->char_func) (' '); | ||
| 3102 | } | ||
| 3103 | else | ||
| 3104 | - (p->char_func) (number_separator); | ||
| 3105 | + for (j = 0; j < number_separator_length; j++) | ||
| 3106 | + (p->char_func) (number_separator[j]); | ||
| 3107 | } | ||
| 3108 | else | ||
| 3109 | /* To comply with POSIX, we avoid any expansion of default TAB | ||
| 3110 | separator with a single column output. No column_width requirement | ||
| 3111 | has to be considered. */ | ||
| 3112 | { | ||
| 3113 | - (p->char_func) (number_separator); | ||
| 3114 | - if (number_separator == '\t') | ||
| 3115 | + for (j = 0; j < number_separator_length; j++) | ||
| 3116 | + (p->char_func) (number_separator[j]); | ||
| 3117 | + if (number_separator[0] == '\t') | ||
| 3118 | output_position = POS_AFTER_TAB (chars_per_output_tab, | ||
| 3119 | output_position); | ||
| 3120 | } | ||
| 3121 | @@ -2234,7 +2362,7 @@ | ||
| 3122 | while (goal - h_old > 1 | ||
| 3123 | && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal) | ||
| 3124 | { | ||
| 3125 | - putchar (output_tab_char); | ||
| 3126 | + fwrite (output_tab_char, sizeof(char), output_tab_char_length, stdout); | ||
| 3127 | h_old = h_new; | ||
| 3128 | } | ||
| 3129 | while (++h_old <= goal) | ||
| 3130 | @@ -2254,6 +2382,7 @@ | ||
| 3131 | { | ||
| 3132 | char *s; | ||
| 3133 | int l = col_sep_length; | ||
| 3134 | + int not_space_flag; | ||
| 3135 | |||
| 3136 | s = col_sep_string; | ||
| 3137 | |||
| 3138 | @@ -2267,6 +2396,7 @@ | ||
| 3139 | { | ||
| 3140 | for (; separators_not_printed > 0; --separators_not_printed) | ||
| 3141 | { | ||
| 3142 | + not_space_flag = 0; | ||
| 3143 | while (l-- > 0) | ||
| 3144 | { | ||
| 3145 | /* 3 types of sep_strings: spaces only, spaces and chars, | ||
| 3146 | @@ -2280,12 +2410,15 @@ | ||
| 3147 | } | ||
| 3148 | else | ||
| 3149 | { | ||
| 3150 | + not_space_flag = 1; | ||
| 3151 | if (spaces_not_printed > 0) | ||
| 3152 | print_white_space (); | ||
| 3153 | putchar (*s++); | ||
| 3154 | - ++output_position; | ||
| 3155 | } | ||
| 3156 | } | ||
| 3157 | + if (not_space_flag) | ||
| 3158 | + output_position += col_sep_width; | ||
| 3159 | + | ||
| 3160 | /* sep_string ends with some spaces */ | ||
| 3161 | if (spaces_not_printed > 0) | ||
| 3162 | print_white_space (); | ||
| 3163 | @@ -2313,7 +2446,7 @@ | ||
| 3164 | required number of tabs and spaces. */ | ||
| 3165 | |||
| 3166 | static void | ||
| 3167 | -print_char (char c) | ||
| 3168 | +print_char_single (char c) | ||
| 3169 | { | ||
| 3170 | if (tabify_output) | ||
| 3171 | { | ||
| 3172 | @@ -2337,6 +2470,74 @@ | ||
| 3173 | putchar (c); | ||
| 3174 | } | ||
| 3175 | |||
| 3176 | +#ifdef HAVE_MBRTOWC | ||
| 3177 | +static void | ||
| 3178 | +print_char_multi (char c) | ||
| 3179 | +{ | ||
| 3180 | + static size_t mbc_pos = 0; | ||
| 3181 | + static char mbc[MB_LEN_MAX] = {'\0'}; | ||
| 3182 | + static mbstate_t state = {'\0'}; | ||
| 3183 | + mbstate_t state_bak; | ||
| 3184 | + wchar_t wc; | ||
| 3185 | + size_t mblength; | ||
| 3186 | + int width; | ||
| 3187 | + | ||
| 3188 | + if (tabify_output) | ||
| 3189 | + { | ||
| 3190 | + state_bak = state; | ||
| 3191 | + mbc[mbc_pos++] = c; | ||
| 3192 | + mblength = mbrtowc (&wc, mbc, mbc_pos, &state); | ||
| 3193 | + | ||
| 3194 | + while (mbc_pos > 0) | ||
| 3195 | + { | ||
| 3196 | + switch (mblength) | ||
| 3197 | + { | ||
| 3198 | + case (size_t)-2: | ||
| 3199 | + state = state_bak; | ||
| 3200 | + return; | ||
| 3201 | + | ||
| 3202 | + case (size_t)-1: | ||
| 3203 | + state = state_bak; | ||
| 3204 | + ++output_position; | ||
| 3205 | + putchar (mbc[0]); | ||
| 3206 | + memmove (mbc, mbc + 1, MB_CUR_MAX - 1); | ||
| 3207 | + --mbc_pos; | ||
| 3208 | + break; | ||
| 3209 | + | ||
| 3210 | + case 0: | ||
| 3211 | + mblength = 1; | ||
| 3212 | + | ||
| 3213 | + default: | ||
| 3214 | + if (wc == L' ') | ||
| 3215 | + { | ||
| 3216 | + memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); | ||
| 3217 | + --mbc_pos; | ||
| 3218 | + ++spaces_not_printed; | ||
| 3219 | + return; | ||
| 3220 | + } | ||
| 3221 | + else if (spaces_not_printed > 0) | ||
| 3222 | + print_white_space (); | ||
| 3223 | + | ||
| 3224 | + /* Nonprintables are assumed to have width 0, except L'\b'. */ | ||
| 3225 | + if ((width = wcwidth (wc)) < 1) | ||
| 3226 | + { | ||
| 3227 | + if (wc == L'\b') | ||
| 3228 | + --output_position; | ||
| 3229 | + } | ||
| 3230 | + else | ||
| 3231 | + output_position += width; | ||
| 3232 | + | ||
| 3233 | + fwrite (mbc, sizeof(char), mblength, stdout); | ||
| 3234 | + memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); | ||
| 3235 | + mbc_pos -= mblength; | ||
| 3236 | + } | ||
| 3237 | + } | ||
| 3238 | + return; | ||
| 3239 | + } | ||
| 3240 | + putchar (c); | ||
| 3241 | +} | ||
| 3242 | +#endif | ||
| 3243 | + | ||
| 3244 | /* Skip to page PAGE before printing. | ||
| 3245 | PAGE may be larger than total number of pages. */ | ||
| 3246 | |||
| 3247 | @@ -2517,9 +2718,9 @@ | ||
| 3248 | align_empty_cols = false; | ||
| 3249 | } | ||
| 3250 | |||
| 3251 | - if (padding_not_printed - col_sep_length > 0) | ||
| 3252 | + if (padding_not_printed - col_sep_width > 0) | ||
| 3253 | { | ||
| 3254 | - pad_across_to (padding_not_printed - col_sep_length); | ||
| 3255 | + pad_across_to (padding_not_printed - col_sep_width); | ||
| 3256 | padding_not_printed = ANYWHERE; | ||
| 3257 | } | ||
| 3258 | |||
| 3259 | @@ -2620,9 +2821,9 @@ | ||
| 3260 | } | ||
| 3261 | } | ||
| 3262 | |||
| 3263 | - if (padding_not_printed - col_sep_length > 0) | ||
| 3264 | + if (padding_not_printed - col_sep_width > 0) | ||
| 3265 | { | ||
| 3266 | - pad_across_to (padding_not_printed - col_sep_length); | ||
| 3267 | + pad_across_to (padding_not_printed - col_sep_width); | ||
| 3268 | padding_not_printed = ANYWHERE; | ||
| 3269 | } | ||
| 3270 | |||
| 3271 | @@ -2635,8 +2836,8 @@ | ||
| 3272 | if (spaces_not_printed == 0) | ||
| 3273 | { | ||
| 3274 | output_position = p->start_position + end_vector[line]; | ||
| 3275 | - if (p->start_position - col_sep_length == chars_per_margin) | ||
| 3276 | - output_position -= col_sep_length; | ||
| 3277 | + if (p->start_position - col_sep_width == chars_per_margin) | ||
| 3278 | + output_position -= col_sep_width; | ||
| 3279 | } | ||
| 3280 | |||
| 3281 | return true; | ||
| 3282 | @@ -2655,7 +2856,7 @@ | ||
| 3283 | number of characters is 1.) */ | ||
| 3284 | |||
| 3285 | static int | ||
| 3286 | -char_to_clump (char c) | ||
| 3287 | +char_to_clump_single (char c) | ||
| 3288 | { | ||
| 3289 | unsigned char uc = c; | ||
| 3290 | char *s = clump_buff; | ||
| 3291 | @@ -2665,10 +2866,10 @@ | ||
| 3292 | int chars; | ||
| 3293 | int chars_per_c = 8; | ||
| 3294 | |||
| 3295 | - if (c == input_tab_char) | ||
| 3296 | + if (c == input_tab_char[0]) | ||
| 3297 | chars_per_c = chars_per_input_tab; | ||
| 3298 | |||
| 3299 | - if (c == input_tab_char || c == '\t') | ||
| 3300 | + if (c == input_tab_char[0] || c == '\t') | ||
| 3301 | { | ||
| 3302 | width = TAB_WIDTH (chars_per_c, input_position); | ||
| 3303 | |||
| 3304 | @@ -2739,6 +2940,154 @@ | ||
| 3305 | return chars; | ||
| 3306 | } | ||
| 3307 | |||
| 3308 | +#ifdef HAVE_MBRTOWC | ||
| 3309 | +static int | ||
| 3310 | +char_to_clump_multi (char c) | ||
| 3311 | +{ | ||
| 3312 | + static size_t mbc_pos = 0; | ||
| 3313 | + static char mbc[MB_LEN_MAX] = {'\0'}; | ||
| 3314 | + static mbstate_t state = {'\0'}; | ||
| 3315 | + mbstate_t state_bak; | ||
| 3316 | + wchar_t wc; | ||
| 3317 | + size_t mblength; | ||
| 3318 | + int wc_width; | ||
| 3319 | + register char *s = clump_buff; | ||
| 3320 | + register int i, j; | ||
| 3321 | + char esc_buff[4]; | ||
| 3322 | + int width; | ||
| 3323 | + int chars; | ||
| 3324 | + int chars_per_c = 8; | ||
| 3325 | + | ||
| 3326 | + state_bak = state; | ||
| 3327 | + mbc[mbc_pos++] = c; | ||
| 3328 | + mblength = mbrtowc (&wc, mbc, mbc_pos, &state); | ||
| 3329 | + | ||
| 3330 | + width = 0; | ||
| 3331 | + chars = 0; | ||
| 3332 | + while (mbc_pos > 0) | ||
| 3333 | + { | ||
| 3334 | + switch (mblength) | ||
| 3335 | + { | ||
| 3336 | + case (size_t)-2: | ||
| 3337 | + state = state_bak; | ||
| 3338 | + return 0; | ||
| 3339 | + | ||
| 3340 | + case (size_t)-1: | ||
| 3341 | + state = state_bak; | ||
| 3342 | + mblength = 1; | ||
| 3343 | + | ||
| 3344 | + if (use_esc_sequence || use_cntrl_prefix) | ||
| 3345 | + { | ||
| 3346 | + width = +4; | ||
| 3347 | + chars = +4; | ||
| 3348 | + *s++ = '\\'; | ||
| 3349 | + sprintf (esc_buff, "%03o", mbc[0]); | ||
| 3350 | + for (i = 0; i <= 2; ++i) | ||
| 3351 | + *s++ = (int) esc_buff[i]; | ||
| 3352 | + } | ||
| 3353 | + else | ||
| 3354 | + { | ||
| 3355 | + width += 1; | ||
| 3356 | + chars += 1; | ||
| 3357 | + *s++ = mbc[0]; | ||
| 3358 | + } | ||
| 3359 | + break; | ||
| 3360 | + | ||
| 3361 | + case 0: | ||
| 3362 | + mblength = 1; | ||
| 3363 | + /* Fall through */ | ||
| 3364 | + | ||
| 3365 | + default: | ||
| 3366 | + if (memcmp (mbc, input_tab_char, mblength) == 0) | ||
| 3367 | + chars_per_c = chars_per_input_tab; | ||
| 3368 | + | ||
| 3369 | + if (memcmp (mbc, input_tab_char, mblength) == 0 || c == '\t') | ||
| 3370 | + { | ||
| 3371 | + int width_inc; | ||
| 3372 | + | ||
| 3373 | + width_inc = TAB_WIDTH (chars_per_c, input_position); | ||
| 3374 | + width += width_inc; | ||
| 3375 | + | ||
| 3376 | + if (untabify_input) | ||
| 3377 | + { | ||
| 3378 | + for (i = width_inc; i; --i) | ||
| 3379 | + *s++ = ' '; | ||
| 3380 | + chars += width_inc; | ||
| 3381 | + } | ||
| 3382 | + else | ||
| 3383 | + { | ||
| 3384 | + for (i = 0; i < mblength; i++) | ||
| 3385 | + *s++ = mbc[i]; | ||
| 3386 | + chars += mblength; | ||
| 3387 | + } | ||
| 3388 | + } | ||
| 3389 | + else if ((wc_width = wcwidth (wc)) < 1) | ||
| 3390 | + { | ||
| 3391 | + if (use_esc_sequence) | ||
| 3392 | + { | ||
| 3393 | + for (i = 0; i < mblength; i++) | ||
| 3394 | + { | ||
| 3395 | + width += 4; | ||
| 3396 | + chars += 4; | ||
| 3397 | + *s++ = '\\'; | ||
| 3398 | + sprintf (esc_buff, "%03o", c); | ||
| 3399 | + for (j = 0; j <= 2; ++j) | ||
| 3400 | + *s++ = (int) esc_buff[j]; | ||
| 3401 | + } | ||
| 3402 | + } | ||
| 3403 | + else if (use_cntrl_prefix) | ||
| 3404 | + { | ||
| 3405 | + if (wc < 0200) | ||
| 3406 | + { | ||
| 3407 | + width += 2; | ||
| 3408 | + chars += 2; | ||
| 3409 | + *s++ = '^'; | ||
| 3410 | + *s++ = wc ^ 0100; | ||
| 3411 | + } | ||
| 3412 | + else | ||
| 3413 | + { | ||
| 3414 | + for (i = 0; i < mblength; i++) | ||
| 3415 | + { | ||
| 3416 | + width += 4; | ||
| 3417 | + chars += 4; | ||
| 3418 | + *s++ = '\\'; | ||
| 3419 | + sprintf (esc_buff, "%03o", c); | ||
| 3420 | + for (j = 0; j <= 2; ++j) | ||
| 3421 | + *s++ = (int) esc_buff[j]; | ||
| 3422 | + } | ||
| 3423 | + } | ||
| 3424 | + } | ||
| 3425 | + else if (wc == L'\b') | ||
| 3426 | + { | ||
| 3427 | + width += -1; | ||
| 3428 | + chars += 1; | ||
| 3429 | + *s++ = c; | ||
| 3430 | + } | ||
| 3431 | + else | ||
| 3432 | + { | ||
| 3433 | + width += 0; | ||
| 3434 | + chars += mblength; | ||
| 3435 | + for (i = 0; i < mblength; i++) | ||
| 3436 | + *s++ = mbc[i]; | ||
| 3437 | + } | ||
| 3438 | + } | ||
| 3439 | + else | ||
| 3440 | + { | ||
| 3441 | + width += wc_width; | ||
| 3442 | + chars += mblength; | ||
| 3443 | + for (i = 0; i < mblength; i++) | ||
| 3444 | + *s++ = mbc[i]; | ||
| 3445 | + } | ||
| 3446 | + } | ||
| 3447 | + memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength); | ||
| 3448 | + mbc_pos -= mblength; | ||
| 3449 | + } | ||
| 3450 | + | ||
| 3451 | + input_position += width; | ||
| 3452 | + return chars; | ||
| 3453 | +} | ||
| 3454 | +#endif | ||
| 3455 | + | ||
| 3456 | /* We've just printed some files and need to clean up things before | ||
| 3457 | looking for more options and printing the next batch of files. | ||
| 3458 | |||
| 3459 | --- coreutils-6.8+/src/cut.c.i18n 2007-01-14 15:41:28.000000000 +0000 | ||
| 3460 | +++ coreutils-6.8+/src/cut.c 2007-03-01 15:08:24.000000000 +0000 | ||
| 3461 | @@ -29,6 +29,11 @@ | ||
| 3462 | #include <assert.h> | ||
| 3463 | #include <getopt.h> | ||
| 3464 | #include <sys/types.h> | ||
| 3465 | + | ||
| 3466 | +/* Get mbstate_t, mbrtowc(). */ | ||
| 3467 | +#if HAVE_WCHAR_H | ||
| 3468 | +# include <wchar.h> | ||
| 3469 | +#endif | ||
| 3470 | #include "system.h" | ||
| 3471 | |||
| 3472 | #include "error.h" | ||
| 3473 | @@ -37,6 +42,18 @@ | ||
| 3474 | #include "quote.h" | ||
| 3475 | #include "xstrndup.h" | ||
| 3476 | |||
| 3477 | +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC | ||
| 3478 | + installation; work around this configuration error. */ | ||
| 3479 | +#if !defined MB_LEN_MAX || MB_LEN_MAX < 2 | ||
| 3480 | +# undef MB_LEN_MAX | ||
| 3481 | +# define MB_LEN_MAX 16 | ||
| 3482 | +#endif | ||
| 3483 | + | ||
| 3484 | +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ | ||
| 3485 | +#if HAVE_MBRTOWC && defined mbstate_t | ||
| 3486 | +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) | ||
| 3487 | +#endif | ||
| 3488 | + | ||
| 3489 | /* The official name of this program (e.g., no `g' prefix). */ | ||
| 3490 | #define PROGRAM_NAME "cut" | ||
| 3491 | |||
| 3492 | @@ -67,6 +84,52 @@ | ||
| 3493 | } \ | ||
| 3494 | while (0) | ||
| 3495 | |||
| 3496 | +/* Refill the buffer BUF to get a multibyte character. */ | ||
| 3497 | +#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM) \ | ||
| 3498 | + do \ | ||
| 3499 | + { \ | ||
| 3500 | + if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM)) \ | ||
| 3501 | + { \ | ||
| 3502 | + memmove (BUF, BUFPOS, BUFLEN); \ | ||
| 3503 | + BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \ | ||
| 3504 | + BUFPOS = BUF; \ | ||
| 3505 | + } \ | ||
| 3506 | + } \ | ||
| 3507 | + while (0) | ||
| 3508 | + | ||
| 3509 | +/* Get wide character on BUFPOS. BUFPOS is not included after that. | ||
| 3510 | + If byte sequence is not valid as a character, CONVFAIL is 1. Otherwise 0. */ | ||
| 3511 | +#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \ | ||
| 3512 | + do \ | ||
| 3513 | + { \ | ||
| 3514 | + mbstate_t state_bak; \ | ||
| 3515 | + \ | ||
| 3516 | + if (BUFLEN < 1) \ | ||
| 3517 | + { \ | ||
| 3518 | + WC = WEOF; \ | ||
| 3519 | + break; \ | ||
| 3520 | + } \ | ||
| 3521 | + \ | ||
| 3522 | + /* Get a wide character. */ \ | ||
| 3523 | + CONVFAIL = 0; \ | ||
| 3524 | + state_bak = STATE; \ | ||
| 3525 | + MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE); \ | ||
| 3526 | + \ | ||
| 3527 | + switch (MBLENGTH) \ | ||
| 3528 | + { \ | ||
| 3529 | + case (size_t)-1: \ | ||
| 3530 | + case (size_t)-2: \ | ||
| 3531 | + CONVFAIL++; \ | ||
| 3532 | + STATE = state_bak; \ | ||
| 3533 | + /* Fall througn. */ \ | ||
| 3534 | + \ | ||
| 3535 | + case 0: \ | ||
| 3536 | + MBLENGTH = 1; \ | ||
| 3537 | + break; \ | ||
| 3538 | + } \ | ||
| 3539 | + } \ | ||
| 3540 | + while (0) | ||
| 3541 | + | ||
| 3542 | struct range_pair | ||
| 3543 | { | ||
| 3544 | size_t lo; | ||
| 3545 | @@ -85,7 +148,7 @@ | ||
| 3546 | /* The number of bytes allocated for FIELD_1_BUFFER. */ | ||
| 3547 | static size_t field_1_bufsize; | ||
| 3548 | |||
| 3549 | -/* The largest field or byte index used as an endpoint of a closed | ||
| 3550 | +/* The largest byte, character or field index used as an endpoint of a closed | ||
| 3551 | or degenerate range specification; this doesn't include the starting | ||
| 3552 | index of right-open-ended ranges. For example, with either range spec | ||
| 3553 | `2-5,9-', `2-3,5,9-' this variable would be set to 5. */ | ||
| 3554 | @@ -97,10 +160,11 @@ | ||
| 3555 | |||
| 3556 | /* This is a bit vector. | ||
| 3557 | In byte mode, which bytes to output. | ||
| 3558 | + In character mode, which characters to output. | ||
| 3559 | In field mode, which DELIM-separated fields to output. | ||
| 3560 | - Both bytes and fields are numbered starting with 1, | ||
| 3561 | + Bytes, characters and fields are numbered starting with 1, | ||
| 3562 | so the zeroth bit of this array is unused. | ||
| 3563 | - A field or byte K has been selected if | ||
| 3564 | + A byte, character or field K has been selected if | ||
| 3565 | (K <= MAX_RANGE_ENDPOINT and is_printable_field(K)) | ||
| 3566 | || (EOL_RANGE_START > 0 && K >= EOL_RANGE_START). */ | ||
| 3567 | static unsigned char *printable_field; | ||
| 3568 | @@ -109,9 +173,12 @@ | ||
| 3569 | { | ||
| 3570 | undefined_mode, | ||
| 3571 | |||
| 3572 | - /* Output characters that are in the given bytes. */ | ||
| 3573 | + /* Output bytes that are at the given positions. */ | ||
| 3574 | byte_mode, | ||
| 3575 | |||
| 3576 | + /* Output characters that are at the given positions. */ | ||
| 3577 | + character_mode, | ||
| 3578 | + | ||
| 3579 | /* Output the given delimeter-separated fields. */ | ||
| 3580 | field_mode | ||
| 3581 | }; | ||
| 3582 | @@ -121,6 +188,13 @@ | ||
| 3583 | |||
| 3584 | static enum operating_mode operating_mode; | ||
| 3585 | |||
| 3586 | +/* If nonzero, when in byte mode, don't split multibyte characters. */ | ||
| 3587 | +static int byte_mode_character_aware; | ||
| 3588 | + | ||
| 3589 | +/* If nonzero, the function for single byte locale is work | ||
| 3590 | + if this program runs on multibyte locale. */ | ||
| 3591 | +static int force_singlebyte_mode; | ||
| 3592 | + | ||
| 3593 | /* If true do not output lines containing no delimeter characters. | ||
| 3594 | Otherwise, all such lines are printed. This option is valid only | ||
| 3595 | with field mode. */ | ||
| 3596 | @@ -132,6 +206,9 @@ | ||
| 3597 | |||
| 3598 | /* The delimeter character for field mode. */ | ||
| 3599 | static unsigned char delim; | ||
| 3600 | +#if HAVE_WCHAR_H | ||
| 3601 | +static wchar_t wcdelim; | ||
| 3602 | +#endif | ||
| 3603 | |||
| 3604 | /* True if the --output-delimiter=STRING option was specified. */ | ||
| 3605 | static bool output_delimiter_specified; | ||
| 3606 | @@ -205,7 +282,7 @@ | ||
| 3607 | -f, --fields=LIST select only these fields; also print any line\n\ | ||
| 3608 | that contains no delimiter character, unless\n\ | ||
| 3609 | the -s option is specified\n\ | ||
| 3610 | - -n (ignored)\n\ | ||
| 3611 | + -n with -b: don't split multibyte characters\n\ | ||
| 3612 | "), stdout); | ||
| 3613 | fputs (_("\ | ||
| 3614 | --complement complement the set of selected bytes, characters\n\ | ||
| 3615 | @@ -362,7 +439,7 @@ | ||
| 3616 | in_digits = false; | ||
| 3617 | /* Starting a range. */ | ||
| 3618 | if (dash_found) | ||
| 3619 | - FATAL_ERROR (_("invalid byte or field list")); | ||
| 3620 | + FATAL_ERROR (_("invalid byte, character or field list")); | ||
| 3621 | dash_found = true; | ||
| 3622 | fieldstr++; | ||
| 3623 | |||
| 3624 | @@ -387,14 +464,16 @@ | ||
| 3625 | if (value == 0) | ||
| 3626 | { | ||
| 3627 | /* `n-'. From `initial' to end of line. */ | ||
| 3628 | - eol_range_start = initial; | ||
| 3629 | + if (eol_range_start == 0 || | ||
| 3630 | + (eol_range_start != 0 && eol_range_start > initial)) | ||
| 3631 | + eol_range_start = initial; | ||
| 3632 | field_found = true; | ||
| 3633 | } | ||
| 3634 | else | ||
| 3635 | { | ||
| 3636 | /* `m-n' or `-n' (1-n). */ | ||
| 3637 | if (value < initial) | ||
| 3638 | - FATAL_ERROR (_("invalid byte or field list")); | ||
| 3639 | + FATAL_ERROR (_("invalid byte, character or field list")); | ||
| 3640 | |||
| 3641 | /* Is there already a range going to end of line? */ | ||
| 3642 | if (eol_range_start != 0) | ||
| 3643 | @@ -467,6 +546,9 @@ | ||
| 3644 | if (operating_mode == byte_mode) | ||
| 3645 | error (0, 0, | ||
| 3646 | _("byte offset %s is too large"), quote (bad_num)); | ||
| 3647 | + else if (operating_mode == character_mode) | ||
| 3648 | + error (0, 0, | ||
| 3649 | + _("character offset %s is too large"), quote (bad_num)); | ||
| 3650 | else | ||
| 3651 | error (0, 0, | ||
| 3652 | _("field number %s is too large"), quote (bad_num)); | ||
| 3653 | @@ -477,7 +559,7 @@ | ||
| 3654 | fieldstr++; | ||
| 3655 | } | ||
| 3656 | else | ||
| 3657 | - FATAL_ERROR (_("invalid byte or field list")); | ||
| 3658 | + FATAL_ERROR (_("invalid byte, character or field list")); | ||
| 3659 | } | ||
| 3660 | |||
| 3661 | max_range_endpoint = 0; | ||
| 3662 | @@ -570,6 +652,63 @@ | ||
| 3663 | } | ||
| 3664 | } | ||
| 3665 | |||
| 3666 | +#if HAVE_MBRTOWC | ||
| 3667 | +/* This function is in use for the following case. | ||
| 3668 | + | ||
| 3669 | + 1. Read from the stream STREAM, printing to standard output any selected | ||
| 3670 | + characters. | ||
| 3671 | + | ||
| 3672 | + 2. Read from stream STREAM, printing to standard output any selected bytes, | ||
| 3673 | + without splitting multibyte characters. */ | ||
| 3674 | + | ||
| 3675 | +static void | ||
| 3676 | +cut_characters_or_cut_bytes_no_split (FILE *stream) | ||
| 3677 | +{ | ||
| 3678 | + int idx; /* number of bytes or characters in the line so far. */ | ||
| 3679 | + char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ | ||
| 3680 | + char *bufpos; /* Next read position of BUF. */ | ||
| 3681 | + size_t buflen; /* The length of the byte sequence in buf. */ | ||
| 3682 | + wint_t wc; /* A gotten wide character. */ | ||
| 3683 | + size_t mblength; /* The byte size of a multibyte character which shows | ||
| 3684 | + as same character as WC. */ | ||
| 3685 | + mbstate_t state; /* State of the stream. */ | ||
| 3686 | + int convfail; /* 1, when conversion is failed. Otherwise 0. */ | ||
| 3687 | + | ||
| 3688 | + idx = 0; | ||
| 3689 | + buflen = 0; | ||
| 3690 | + bufpos = buf; | ||
| 3691 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 3692 | + | ||
| 3693 | + while (1) | ||
| 3694 | + { | ||
| 3695 | + REFILL_BUFFER (buf, bufpos, buflen, stream); | ||
| 3696 | + | ||
| 3697 | + GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail); | ||
| 3698 | + | ||
| 3699 | + if (wc == WEOF) | ||
| 3700 | + { | ||
| 3701 | + if (idx > 0) | ||
| 3702 | + putchar ('\n'); | ||
| 3703 | + break; | ||
| 3704 | + } | ||
| 3705 | + else if (wc == L'\n') | ||
| 3706 | + { | ||
| 3707 | + putchar ('\n'); | ||
| 3708 | + idx = 0; | ||
| 3709 | + } | ||
| 3710 | + else | ||
| 3711 | + { | ||
| 3712 | + idx += (operating_mode == byte_mode) ? mblength : 1; | ||
| 3713 | + if (print_kth (idx, NULL)) | ||
| 3714 | + fwrite (bufpos, mblength, sizeof(char), stdout); | ||
| 3715 | + } | ||
| 3716 | + | ||
| 3717 | + buflen -= mblength; | ||
| 3718 | + bufpos += mblength; | ||
| 3719 | + } | ||
| 3720 | +} | ||
| 3721 | +#endif | ||
| 3722 | + | ||
| 3723 | /* Read from stream STREAM, printing to standard output any selected fields. */ | ||
| 3724 | |||
| 3725 | static void | ||
| 3726 | @@ -692,13 +831,192 @@ | ||
| 3727 | } | ||
| 3728 | } | ||
| 3729 | |||
| 3730 | +#if HAVE_MBRTOWC | ||
| 3731 | +static void | ||
| 3732 | +cut_fields_mb (FILE *stream) | ||
| 3733 | +{ | ||
| 3734 | + int c; | ||
| 3735 | + unsigned int field_idx; | ||
| 3736 | + int found_any_selected_field; | ||
| 3737 | + int buffer_first_field; | ||
| 3738 | + int empty_input; | ||
| 3739 | + char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */ | ||
| 3740 | + char *bufpos; /* Next read position of BUF. */ | ||
| 3741 | + size_t buflen; /* The length of the byte sequence in buf. */ | ||
| 3742 | + wint_t wc = 0; /* A gotten wide character. */ | ||
| 3743 | + size_t mblength; /* The byte size of a multibyte character which shows | ||
| 3744 | + as same character as WC. */ | ||
| 3745 | + mbstate_t state; /* State of the stream. */ | ||
| 3746 | + int convfail; /* 1, when conversion is failed. Otherwise 0. */ | ||
| 3747 | + | ||
| 3748 | + found_any_selected_field = 0; | ||
| 3749 | + field_idx = 1; | ||
| 3750 | + bufpos = buf; | ||
| 3751 | + buflen = 0; | ||
| 3752 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 3753 | + | ||
| 3754 | + c = getc (stream); | ||
| 3755 | + empty_input = (c == EOF); | ||
| 3756 | + if (c != EOF) | ||
| 3757 | + ungetc (c, stream); | ||
| 3758 | + else | ||
| 3759 | + wc = WEOF; | ||
| 3760 | + | ||
| 3761 | + /* To support the semantics of the -s flag, we may have to buffer | ||
| 3762 | + all of the first field to determine whether it is `delimited.' | ||
| 3763 | + But that is unnecessary if all non-delimited lines must be printed | ||
| 3764 | + and the first field has been selected, or if non-delimited lines | ||
| 3765 | + must be suppressed and the first field has *not* been selected. | ||
| 3766 | + That is because a non-delimited line has exactly one field. */ | ||
| 3767 | + buffer_first_field = (suppress_non_delimited ^ !print_kth (1, NULL)); | ||
| 3768 | + | ||
| 3769 | + while (1) | ||
| 3770 | + { | ||
| 3771 | + if (field_idx == 1 && buffer_first_field) | ||
| 3772 | + { | ||
| 3773 | + int len = 0; | ||
| 3774 | + | ||
| 3775 | + while (1) | ||
| 3776 | + { | ||
| 3777 | + REFILL_BUFFER (buf, bufpos, buflen, stream); | ||
| 3778 | + | ||
| 3779 | + GET_NEXT_WC_FROM_BUFFER | ||
| 3780 | + (wc, bufpos, buflen, mblength, state, convfail); | ||
| 3781 | + | ||
| 3782 | + if (wc == WEOF) | ||
| 3783 | + break; | ||
| 3784 | + | ||
| 3785 | + field_1_buffer = xrealloc (field_1_buffer, len + mblength); | ||
| 3786 | + memcpy (field_1_buffer + len, bufpos, mblength); | ||
| 3787 | + len += mblength; | ||
| 3788 | + buflen -= mblength; | ||
| 3789 | + bufpos += mblength; | ||
| 3790 | + | ||
| 3791 | + if (!convfail && (wc == L'\n' || wc == wcdelim)) | ||
| 3792 | + break; | ||
| 3793 | + } | ||
| 3794 | + | ||
| 3795 | + if (wc == WEOF) | ||
| 3796 | + break; | ||
| 3797 | + | ||
| 3798 | + /* If the first field extends to the end of line (it is not | ||
| 3799 | + delimited) and we are printing all non-delimited lines, | ||
| 3800 | + print this one. */ | ||
| 3801 | + if (convfail || (!convfail && wc != wcdelim)) | ||
| 3802 | + { | ||
| 3803 | + if (suppress_non_delimited) | ||
| 3804 | + { | ||
| 3805 | + /* Empty. */ | ||
| 3806 | + } | ||
| 3807 | + else | ||
| 3808 | + { | ||
| 3809 | + fwrite (field_1_buffer, sizeof (char), len, stdout); | ||
| 3810 | + /* Make sure the output line is newline terminated. */ | ||
| 3811 | + if (convfail || (!convfail && wc != L'\n')) | ||
| 3812 | + putchar ('\n'); | ||
| 3813 | + } | ||
| 3814 | + continue; | ||
| 3815 | + } | ||
| 3816 | + | ||
| 3817 | + if (print_kth (1, NULL)) | ||
| 3818 | + { | ||
| 3819 | + /* Print the field, but not the trailing delimiter. */ | ||
| 3820 | + fwrite (field_1_buffer, sizeof (char), len - 1, stdout); | ||
| 3821 | + found_any_selected_field = 1; | ||
| 3822 | + } | ||
| 3823 | + ++field_idx; | ||
| 3824 | + } | ||
| 3825 | + | ||
| 3826 | + if (wc != WEOF) | ||
| 3827 | + { | ||
| 3828 | + if (print_kth (field_idx, NULL)) | ||
| 3829 | + { | ||
| 3830 | + if (found_any_selected_field) | ||
| 3831 | + { | ||
| 3832 | + fwrite (output_delimiter_string, sizeof (char), | ||
| 3833 | + output_delimiter_length, stdout); | ||
| 3834 | + } | ||
| 3835 | + found_any_selected_field = 1; | ||
| 3836 | + } | ||
| 3837 | + | ||
| 3838 | + while (1) | ||
| 3839 | + { | ||
| 3840 | + REFILL_BUFFER (buf, bufpos, buflen, stream); | ||
| 3841 | + | ||
| 3842 | + GET_NEXT_WC_FROM_BUFFER | ||
| 3843 | + (wc, bufpos, buflen, mblength, state, convfail); | ||
| 3844 | + | ||
| 3845 | + if (wc == WEOF) | ||
| 3846 | + break; | ||
| 3847 | + else if (!convfail && (wc == wcdelim || wc == L'\n')) | ||
| 3848 | + { | ||
| 3849 | + buflen -= mblength; | ||
| 3850 | + bufpos += mblength; | ||
| 3851 | + break; | ||
| 3852 | + } | ||
| 3853 | + | ||
| 3854 | + if (print_kth (field_idx, NULL)) | ||
| 3855 | + fwrite (bufpos, mblength, sizeof(char), stdout); | ||
| 3856 | + | ||
| 3857 | + buflen -= mblength; | ||
| 3858 | + bufpos += mblength; | ||
| 3859 | + } | ||
| 3860 | + } | ||
| 3861 | + | ||
| 3862 | + if ((!convfail || wc == L'\n') && buflen < 1) | ||
| 3863 | + wc = WEOF; | ||
| 3864 | + | ||
| 3865 | + if (!convfail && wc == wcdelim) | ||
| 3866 | + ++field_idx; | ||
| 3867 | + else if (wc == WEOF || (!convfail && wc == L'\n')) | ||
| 3868 | + { | ||
| 3869 | + if (found_any_selected_field | ||
| 3870 | + || (!empty_input && !(suppress_non_delimited && field_idx == 1))) | ||
| 3871 | + putchar ('\n'); | ||
| 3872 | + if (wc == WEOF) | ||
| 3873 | + break; | ||
| 3874 | + field_idx = 1; | ||
| 3875 | + found_any_selected_field = 0; | ||
| 3876 | + } | ||
| 3877 | + } | ||
| 3878 | +} | ||
| 3879 | +#endif | ||
| 3880 | + | ||
| 3881 | static void | ||
| 3882 | cut_stream (FILE *stream) | ||
| 3883 | { | ||
| 3884 | - if (operating_mode == byte_mode) | ||
| 3885 | - cut_bytes (stream); | ||
| 3886 | +#if HAVE_MBRTOWC | ||
| 3887 | + if (MB_CUR_MAX > 1 && !force_singlebyte_mode) | ||
| 3888 | + { | ||
| 3889 | + switch (operating_mode) | ||
| 3890 | + { | ||
| 3891 | + case byte_mode: | ||
| 3892 | + if (byte_mode_character_aware) | ||
| 3893 | + cut_characters_or_cut_bytes_no_split (stream); | ||
| 3894 | + else | ||
| 3895 | + cut_bytes (stream); | ||
| 3896 | + break; | ||
| 3897 | + | ||
| 3898 | + case character_mode: | ||
| 3899 | + cut_characters_or_cut_bytes_no_split (stream); | ||
| 3900 | + break; | ||
| 3901 | + | ||
| 3902 | + case field_mode: | ||
| 3903 | + cut_fields_mb (stream); | ||
| 3904 | + break; | ||
| 3905 | + | ||
| 3906 | + default: | ||
| 3907 | + abort (); | ||
| 3908 | + } | ||
| 3909 | + } | ||
| 3910 | else | ||
| 3911 | - cut_fields (stream); | ||
| 3912 | +#endif | ||
| 3913 | + { | ||
| 3914 | + if (operating_mode == field_mode) | ||
| 3915 | + cut_fields (stream); | ||
| 3916 | + else | ||
| 3917 | + cut_bytes (stream); | ||
| 3918 | + } | ||
| 3919 | } | ||
| 3920 | |||
| 3921 | /* Process file FILE to standard output. | ||
| 3922 | @@ -748,6 +1066,8 @@ | ||
| 3923 | bool ok; | ||
| 3924 | bool delim_specified = false; | ||
| 3925 | char *spec_list_string IF_LINT(= NULL); | ||
| 3926 | + char mbdelim[MB_LEN_MAX + 1]; | ||
| 3927 | + size_t delimlen = 0; | ||
| 3928 | |||
| 3929 | initialize_main (&argc, &argv); | ||
| 3930 | program_name = argv[0]; | ||
| 3931 | @@ -770,7 +1090,6 @@ | ||
| 3932 | switch (optc) | ||
| 3933 | { | ||
| 3934 | case 'b': | ||
| 3935 | - case 'c': | ||
| 3936 | /* Build the byte list. */ | ||
| 3937 | if (operating_mode != undefined_mode) | ||
| 3938 | FATAL_ERROR (_("only one type of list may be specified")); | ||
| 3939 | @@ -778,6 +1097,14 @@ | ||
| 3940 | spec_list_string = optarg; | ||
| 3941 | break; | ||
| 3942 | |||
| 3943 | + case 'c': | ||
| 3944 | + /* Build the character list. */ | ||
| 3945 | + if (operating_mode != undefined_mode) | ||
| 3946 | + FATAL_ERROR (_("only one type of list may be specified")); | ||
| 3947 | + operating_mode = character_mode; | ||
| 3948 | + spec_list_string = optarg; | ||
| 3949 | + break; | ||
| 3950 | + | ||
| 3951 | case 'f': | ||
| 3952 | /* Build the field list. */ | ||
| 3953 | if (operating_mode != undefined_mode) | ||
| 3954 | @@ -789,10 +1116,35 @@ | ||
| 3955 | case 'd': | ||
| 3956 | /* New delimiter. */ | ||
| 3957 | /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */ | ||
| 3958 | - if (optarg[0] != '\0' && optarg[1] != '\0') | ||
| 3959 | - FATAL_ERROR (_("the delimiter must be a single character")); | ||
| 3960 | - delim = optarg[0]; | ||
| 3961 | - delim_specified = true; | ||
| 3962 | +#if HAVE_MBRTOWC | ||
| 3963 | + { | ||
| 3964 | + if(MB_CUR_MAX > 1) | ||
| 3965 | + { | ||
| 3966 | + mbstate_t state; | ||
| 3967 | + | ||
| 3968 | + memset (&state, '\0', sizeof(mbstate_t)); | ||
| 3969 | + delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state); | ||
| 3970 | + | ||
| 3971 | + if (delimlen == (size_t)-1 || delimlen == (size_t)-2) | ||
| 3972 | + ++force_singlebyte_mode; | ||
| 3973 | + else | ||
| 3974 | + { | ||
| 3975 | + delimlen = (delimlen < 1) ? 1 : delimlen; | ||
| 3976 | + if (wcdelim != L'\0' && *(optarg + delimlen) != '\0') | ||
| 3977 | + FATAL_ERROR (_("the delimiter must be a single character")); | ||
| 3978 | + memcpy (mbdelim, optarg, delimlen); | ||
| 3979 | + } | ||
| 3980 | + } | ||
| 3981 | + | ||
| 3982 | + if (MB_CUR_MAX <= 1 || force_singlebyte_mode) | ||
| 3983 | +#endif | ||
| 3984 | + { | ||
| 3985 | + if (optarg[0] != '\0' && optarg[1] != '\0') | ||
| 3986 | + FATAL_ERROR (_("the delimiter must be a single character")); | ||
| 3987 | + delim = (unsigned char) optarg[0]; | ||
| 3988 | + } | ||
| 3989 | + delim_specified = true; | ||
| 3990 | + } | ||
| 3991 | break; | ||
| 3992 | |||
| 3993 | case OUTPUT_DELIMITER_OPTION: | ||
| 3994 | @@ -805,6 +1157,7 @@ | ||
| 3995 | break; | ||
| 3996 | |||
| 3997 | case 'n': | ||
| 3998 | + byte_mode_character_aware = 1; | ||
| 3999 | break; | ||
| 4000 | |||
| 4001 | case 's': | ||
| 4002 | @@ -827,7 +1180,7 @@ | ||
| 4003 | if (operating_mode == undefined_mode) | ||
| 4004 | FATAL_ERROR (_("you must specify a list of bytes, characters, or fields")); | ||
| 4005 | |||
| 4006 | - if (delim != '\0' && operating_mode != field_mode) | ||
| 4007 | + if (delim_specified && operating_mode != field_mode) | ||
| 4008 | FATAL_ERROR (_("an input delimiter may be specified only\ | ||
| 4009 | when operating on fields")); | ||
| 4010 | |||
| 4011 | @@ -854,15 +1207,34 @@ | ||
| 4012 | } | ||
| 4013 | |||
| 4014 | if (!delim_specified) | ||
| 4015 | - delim = '\t'; | ||
| 4016 | + { | ||
| 4017 | + delim = '\t'; | ||
| 4018 | +#ifdef HAVE_MBRTOWC | ||
| 4019 | + wcdelim = L'\t'; | ||
| 4020 | + mbdelim[0] = '\t'; | ||
| 4021 | + mbdelim[1] = '\0'; | ||
| 4022 | + delimlen = 1; | ||
| 4023 | +#endif | ||
| 4024 | + } | ||
| 4025 | |||
| 4026 | if (output_delimiter_string == NULL) | ||
| 4027 | { | ||
| 4028 | - static char dummy[2]; | ||
| 4029 | - dummy[0] = delim; | ||
| 4030 | - dummy[1] = '\0'; | ||
| 4031 | - output_delimiter_string = dummy; | ||
| 4032 | - output_delimiter_length = 1; | ||
| 4033 | +#ifdef HAVE_MBRTOWC | ||
| 4034 | + if (MB_CUR_MAX > 1 && !force_singlebyte_mode) | ||
| 4035 | + { | ||
| 4036 | + output_delimiter_string = xstrdup(mbdelim); | ||
| 4037 | + output_delimiter_length = delimlen; | ||
| 4038 | + } | ||
| 4039 | + | ||
| 4040 | + if (MB_CUR_MAX <= 1 || force_singlebyte_mode) | ||
| 4041 | +#endif | ||
| 4042 | + { | ||
| 4043 | + static char dummy[2]; | ||
| 4044 | + dummy[0] = delim; | ||
| 4045 | + dummy[1] = '\0'; | ||
| 4046 | + output_delimiter_string = dummy; | ||
| 4047 | + output_delimiter_length = 1; | ||
| 4048 | + } | ||
| 4049 | } | ||
| 4050 | |||
| 4051 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. | ||
| 4 | |||
| 5 | The package is stated as being Licensed as GPLv2+. | ||
| 6 | |||
| 7 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 8 | |||
| 9 | --- coreutils-6.9/src/ls.c.ls-x 2007-06-13 14:27:36.000000000 +0100 | ||
| 10 | +++ coreutils-6.9/src/ls.c 2007-06-13 14:28:42.000000000 +0100 | ||
| 11 | @@ -4151,16 +4151,16 @@ | ||
| 12 | size_t pos = 0; | ||
| 13 | size_t cols = calculate_columns (false); | ||
| 14 | struct column_info const *line_fmt = &column_info[cols - 1]; | ||
| 15 | - size_t name_length = length_of_file_name_and_frills (cwd_file); | ||
| 16 | + struct fileinfo const *f = sorted_file[0]; | ||
| 17 | + size_t name_length = length_of_file_name_and_frills (f); | ||
| 18 | size_t max_name_length = line_fmt->col_arr[0]; | ||
| 19 | |||
| 20 | /* Print first entry. */ | ||
| 21 | - print_file_name_and_frills (cwd_file); | ||
| 22 | + print_file_name_and_frills (f); | ||
| 23 | |||
| 24 | /* Now the rest. */ | ||
| 25 | for (filesno = 1; filesno < cwd_n_used; ++filesno) | ||
| 26 | { | ||
| 27 | - struct fileinfo const *f; | ||
| 28 | size_t col = filesno % cols; | ||
| 29 | |||
| 30 | if (col == 0) | ||
| 31 | --- coreutils-6.9/tests/ls/Makefile.am.ls-x 2007-03-18 21:36:43.000000000 +0000 | ||
| 32 | +++ coreutils-6.9/tests/ls/Makefile.am 2007-06-13 14:28:42.000000000 +0100 | ||
| 33 | @@ -24,7 +24,7 @@ | ||
| 34 | stat-dtype \ | ||
| 35 | inode dangle file-type recursive dired infloop \ | ||
| 36 | rt-1 time-1 symlink-slash follow-slink no-arg m-option \ | ||
| 37 | - stat-vs-dirent | ||
| 38 | + stat-vs-dirent x-option | ||
| 39 | |||
| 40 | EXTRA_DIST = $(TESTS) | ||
| 41 | TESTS_ENVIRONMENT = \ | ||
| 42 | --- /dev/null 2007-06-13 08:43:51.993263382 +0100 | ||
| 43 | +++ coreutils-6.9/tests/ls/x-option 2007-06-13 14:28:42.000000000 +0100 | ||
| 44 | @@ -0,0 +1,59 @@ | ||
| 45 | +#!/bin/sh | ||
| 46 | +# Exercise the -x option. | ||
| 47 | + | ||
| 48 | +# Copyright (C) 2007 Free Software Foundation, Inc. | ||
| 49 | + | ||
| 50 | +# This program is free software; you can redistribute it and/or modify | ||
| 51 | +# it under the terms of the GNU General Public License as published by | ||
| 52 | +# the Free Software Foundation; either version 2 of the License, or | ||
| 53 | +# (at your option) any later version. | ||
| 54 | + | ||
| 55 | +# This program is distributed in the hope that it will be useful, | ||
| 56 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 57 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 58 | +# GNU General Public License for more details. | ||
| 59 | + | ||
| 60 | +# You should have received a copy of the GNU General Public License | ||
| 61 | +# along with this program; if not, write to the Free Software | ||
| 62 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
| 63 | +# 02110-1301, USA. | ||
| 64 | + | ||
| 65 | +if test "$VERBOSE" = yes; then | ||
| 66 | + set -x | ||
| 67 | + ls --version | ||
| 68 | +fi | ||
| 69 | + | ||
| 70 | +. $srcdir/../envvar-check | ||
| 71 | +. $srcdir/../lang-default | ||
| 72 | + | ||
| 73 | +pwd=`pwd` | ||
| 74 | +t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ | ||
| 75 | +trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0 | ||
| 76 | +trap '(exit $?); exit $?' 1 2 13 15 | ||
| 77 | + | ||
| 78 | +framework_failure=0 | ||
| 79 | +mkdir -p $tmp || framework_failure=1 | ||
| 80 | +cd $tmp || framework_failure=1 | ||
| 81 | +mkdir subdir || framework_failure=1 | ||
| 82 | +touch subdir/b || framework_failure=1 | ||
| 83 | +touch subdir/a || framework_failure=1 | ||
| 84 | + | ||
| 85 | +if test $framework_failure = 1; then | ||
| 86 | + echo "$0: failure in testing framework" 1>&2 | ||
| 87 | + (exit 1); exit 1 | ||
| 88 | +fi | ||
| 89 | + | ||
| 90 | +fail=0 | ||
| 91 | + | ||
| 92 | +# Coreutils 6.8 and 6.9 would output this in the wrong order. | ||
| 93 | +ls -x subdir > out || fail=1 | ||
| 94 | +ls -rx subdir >> out || fail=1 | ||
| 95 | +cat <<\EOF > exp || fail=1 | ||
| 96 | +a b | ||
| 97 | +b a | ||
| 98 | +EOF | ||
| 99 | + | ||
| 100 | +cmp out exp || fail=1 | ||
| 101 | +test $fail = 1 && diff out exp 2> /dev/null | ||
| 102 | + | ||
| 103 | +(exit $fail); exit $fail | ||
| 104 | --- coreutils-6.9/NEWS.ls-x 2007-03-22 21:19:45.000000000 +0000 | ||
| 105 | +++ coreutils-6.9/NEWS 2007-06-13 14:28:42.000000000 +0100 | ||
| 106 | @@ -13,6 +13,11 @@ | ||
| 107 | Using pr -m -s (i.e. merging files, with TAB as the output separator) | ||
| 108 | no longer inserts extraneous spaces between output columns. | ||
| 109 | |||
| 110 | +** Bug fixes | ||
| 111 | + | ||
| 112 | + ls -x DIR would sometimes output the wrong string in place of the | ||
| 113 | + first entry. [introduced in coreutils-6.8] | ||
| 114 | + | ||
| 115 | |||
| 116 | * Noteworthy changes in release 6.8 (2007-02-24) [not-unstable] | ||
| 117 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | This patch was imported from the Fedora Core 8 coreutils-6.9-9 package. | ||
| 4 | |||
| 5 | The package is stated as being Licensed as GPLv2+. | ||
| 6 | |||
| 7 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 8 | |||
| 9 | --- coreutils-5.2.1/src/who.c.overflow 2005-05-25 09:59:06.000000000 +0100 | ||
| 10 | +++ coreutils-5.2.1/src/who.c 2005-05-25 10:00:31.000000000 +0100 | ||
| 11 | @@ -75,7 +75,7 @@ | ||
| 12 | # define NEW_TIME 0 | ||
| 13 | #endif | ||
| 14 | |||
| 15 | -#define IDLESTR_LEN 6 | ||
| 16 | +#define IDLESTR_LEN 10 | ||
| 17 | |||
| 18 | #if HAVE_STRUCT_XTMP_UT_PID | ||
| 19 | # 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.ac:40: error: automatic de-ANSI-fication support has been removed | ||
| 8 | | /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... | ||
| 9 | | /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... | ||
| 10 | | /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... | ||
| 11 | | configure.ac:40: the top level | ||
| 12 | | autom4te: m4 failed with exit status: 1 | ||
| 13 | |||
| 14 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 15 | 2012/05/04 | ||
| 16 | |||
| 17 | Index: coreutils-6.9/m4/jm-macros.m4 | ||
| 18 | =================================================================== | ||
| 19 | --- coreutils-6.9.orig/m4/jm-macros.m4 | ||
| 20 | +++ coreutils-6.9/m4/jm-macros.m4 | ||
| 21 | @@ -142,11 +142,6 @@ AC_DEFUN([gl_CHECK_ALL_TYPES], | ||
| 22 | dnl whether functions and headers are available, whether they work, etc. | ||
| 23 | AC_REQUIRE([AC_SYS_LARGEFILE]) | ||
| 24 | |||
| 25 | - dnl This test must precede tests of compiler characteristics like | ||
| 26 | - dnl that for the inline keyword, since it may change the degree to | ||
| 27 | - dnl which the compiler supports such features. | ||
| 28 | - AC_REQUIRE([AM_C_PROTOTYPES]) | ||
| 29 | - | ||
| 30 | dnl Checks for typedefs, structures, and compiler characteristics. | ||
| 31 | AC_REQUIRE([AC_C_BIGENDIAN]) | ||
| 32 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | Use native coreutils binaries to build manpages in cross environment. | ||
| 4 | This avoids man page build issues like this: | ||
| 5 | |||
| 6 | | Making all in man | ||
| 7 | | make[1]: Entering directory `/build_disk/poky_build/build1/tmp/work/i586-poky-linux/coreutils-6.9-r0/coreutils-6.9/man' | ||
| 8 | | Updating man page cut.1 | ||
| 9 | | Updating man page dir.1 | ||
| 10 | | Updating man page expand.1 | ||
| 11 | | Updating man page fold.1 | ||
| 12 | | Updating man page install.1 | ||
| 13 | | Updating man page join.1 | ||
| 14 | | Updating man page pr.1 | ||
| 15 | | Updating man page ls.1 | ||
| 16 | | Updating man page sort.1 | ||
| 17 | | Updating man page unexpand.1 | ||
| 18 | | Updating man page uniq.1 | ||
| 19 | | Updating man page who.1 | ||
| 20 | | Updating man page vdir.1 | ||
| 21 | | help2man: can't get `--help' info from dir.td/dir | ||
| 22 | | help2man: can't get `--help' info from cut.td/cut | ||
| 23 | | make[1]: *** [dir.1] Error 126 | ||
| 24 | | make[1]: *** Waiting for unfinished jobs.... | ||
| 25 | | help2man: can't get `--help' info from fold.td/fold | ||
| 26 | | help2man: can't get `--help' info from install.td/install | ||
| 27 | | help2man: can't get `--help' info from expand.td/expand | ||
| 28 | | help2man: can't get `--help' info from join.td/join | ||
| 29 | | make[1]: *** [cut.1] Error 126 | ||
| 30 | | make[1]: *** [fold.1] Error 126 | ||
| 31 | | make[1]: *** [install.1] Error 126 | ||
| 32 | | help2man: can't get `--help' info from sort.td/sort | ||
| 33 | | make[1]: *** [expand.1] Error 126 | ||
| 34 | | help2man: can't get `--help' info from pr.td/pr | ||
| 35 | | make[1]: *** [join.1] Error 126 | ||
| 36 | | help2man: can't get `--help' info from ls.td/ls | ||
| 37 | | help2man: can't get `--help' info from unexpand.td/unexpand | ||
| 38 | | help2man: can't get `--help' info from uniq.td/uniq | ||
| 39 | | help2man: can't get `--help' info from who.td/who | ||
| 40 | | make[1]: *** [sort.1] Error 126 | ||
| 41 | | make[1]: *** [pr.1] Error 126 | ||
| 42 | | help2man: can't get `--help' info from vdir.td/vdir | ||
| 43 | | make[1]: *** [ls.1] Error 126 | ||
| 44 | | make[1]: *** [uniq.1] Error 126 | ||
| 45 | | make[1]: *** [unexpand.1] Error 126 | ||
| 46 | | make[1]: *** [who.1] Error 126 | ||
| 47 | | make[1]: *** [vdir.1] Error 126 | ||
| 48 | | make[1]: Leaving directory `/build_disk/poky_build/build1/tmp/work/i586-poky-linux/coreutils-6.9-r0/coreutils-6.9/man' | ||
| 49 | | make: *** [all-recursive] Error 1 | ||
| 50 | | FATAL: oe_runmake failed | ||
| 51 | | 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) | ||
| 52 | NOTE: package coreutils-6.9-r0: task do_compile: Failed | ||
| 53 | ERROR: Task 8 (/home/nitin/prj/poky.git/meta/recipes-core/coreutils/coreutils_6.9.bb, do_compile) failed with exit code '1' | ||
| 54 | |||
| 55 | |||
| 56 | This patch is made for gplv2 coreutils the recipe | ||
| 57 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 58 | 2011/03/17 | ||
| 59 | |||
| 60 | Index: man/Makefile.am | ||
| 61 | =================================================================== | ||
| 62 | --- a/man.orig/Makefile.am | ||
| 63 | +++ b/man/Makefile.am | ||
| 64 | @@ -167,7 +167,7 @@ mapped_name = `echo $*|sed 's/install/gi | ||
| 65 | $(PERL) -- $(srcdir)/help2man \ | ||
| 66 | --source='$(PACKAGE_STRING)' \ | ||
| 67 | --include=$(srcdir)/$*.x \ | ||
| 68 | - --output=$t/$@ $t/$*; \ | ||
| 69 | + --output=$t/$@ $*; \ | ||
| 70 | } \ | ||
| 71 | && sed 's|$*\.td/||g' $t/$@ > $@ \ | ||
| 72 | && chmod a-w $@ \ | ||
| 73 | Index: man/Makefile.in | ||
| 74 | =================================================================== | ||
| 75 | --- a/man.orig/Makefile.in | ||
| 76 | +++ b/man/Makefile.in | ||
| 77 | @@ -865,7 +865,7 @@ yes.1: $(common_dep) $(srcdir)/yes.x . | ||
| 78 | $(PERL) -- $(srcdir)/help2man \ | ||
| 79 | --source='$(PACKAGE_STRING)' \ | ||
| 80 | --include=$(srcdir)/$*.x \ | ||
| 81 | - --output=$t/$@ $t/$*; \ | ||
| 82 | + --output=$t/$@ $*; \ | ||
| 83 | } \ | ||
| 84 | && sed 's|$*\.td/||g' $t/$@ > $@ \ | ||
| 85 | && 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | # coreutils uses gnulib which conflicts with newer libc header on futimens | ||
| 4 | # this patch simply renames coreutils futimes to avoid confliction | ||
| 5 | # | ||
| 6 | # Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 | ||
| 7 | # (this patch is licensed under GPLv2) | ||
| 8 | |||
| 9 | diff --git a/lib/utimens.c b/lib/utimens.c | ||
| 10 | index 71bc510..ae870b8 100644 | ||
| 11 | --- a/lib/utimens.c | ||
| 12 | +++ b/lib/utimens.c | ||
| 13 | @@ -75,7 +75,7 @@ struct utimbuf | ||
| 14 | Return 0 on success, -1 (setting errno) on failure. */ | ||
| 15 | |||
| 16 | int | ||
| 17 | -futimens (int fd ATTRIBUTE_UNUSED, | ||
| 18 | +futimens_coreutils (int fd ATTRIBUTE_UNUSED, | ||
| 19 | char const *file, struct timespec const timespec[2]) | ||
| 20 | { | ||
| 21 | /* Some Linux-based NFS clients are buggy, and mishandle time stamps | ||
| 22 | @@ -185,5 +185,5 @@ futimens (int fd ATTRIBUTE_UNUSED, | ||
| 23 | int | ||
| 24 | utimens (char const *file, struct timespec const timespec[2]) | ||
| 25 | { | ||
| 26 | - return futimens (-1, file, timespec); | ||
| 27 | + return futimens_coreutils (-1, file, timespec); | ||
| 28 | } | ||
| 29 | diff --git a/lib/utimens.h b/lib/utimens.h | ||
| 30 | index 0097aaa..13fc45a 100644 | ||
| 31 | --- a/lib/utimens.h | ||
| 32 | +++ b/lib/utimens.h | ||
| 33 | @@ -1,3 +1,3 @@ | ||
| 34 | #include <time.h> | ||
| 35 | -int futimens (int, char const *, struct timespec const [2]); | ||
| 36 | +int futimens_coreutils (int, char const *, struct timespec const [2]); | ||
| 37 | int utimens (char const *, struct timespec const [2]); | ||
| 38 | diff --git a/src/copy.c b/src/copy.c | ||
| 39 | index 4bdb75c..04634f1 100644 | ||
| 40 | --- a/src/copy.c | ||
| 41 | +++ b/src/copy.c | ||
| 42 | @@ -518,7 +518,7 @@ copy_reg (char const *src_name, char const *dst_name, | ||
| 43 | timespec[0] = get_stat_atime (src_sb); | ||
| 44 | timespec[1] = get_stat_mtime (src_sb); | ||
| 45 | |||
| 46 | - if (futimens (dest_desc, dst_name, timespec) != 0) | ||
| 47 | + if (futimens_coreutils (dest_desc, dst_name, timespec) != 0) | ||
| 48 | { | ||
| 49 | error (0, errno, _("preserving times for %s"), quote (dst_name)); | ||
| 50 | if (x->require_preserve) | ||
| 51 | diff --git a/src/touch.c b/src/touch.c | ||
| 52 | index a79c26d..6ef317d 100644 | ||
| 53 | --- a/src/touch.c | ||
| 54 | +++ b/src/touch.c | ||
| 55 | @@ -182,7 +182,7 @@ touch (const char *file) | ||
| 56 | t = timespec; | ||
| 57 | } | ||
| 58 | |||
| 59 | - ok = (futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); | ||
| 60 | + ok = (futimens_coreutils (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0); | ||
| 61 | |||
| 62 | if (fd == STDIN_FILENO) | ||
| 63 | { | ||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | # remove the line to cause recursive inclusion error from autoreconf, sicne | ||
| 4 | # newer autoconf has included this definition. Simply rename it here. | ||
| 5 | # | ||
| 6 | # Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 | ||
| 7 | # (this patch is licensed under GPLv2) | ||
| 8 | |||
| 9 | diff --git a/extensions.m4 b/extensions.m4 | ||
| 10 | index 143a9e5..f6558f1 100644 | ||
| 11 | --- a/m4/extensions.m4 | ||
| 12 | +++ b/m4/extensions.m4 | ||
| 13 | @@ -16,7 +16,7 @@ | ||
| 14 | # ------------------------ | ||
| 15 | # Enable extensions on systems that normally disable them, | ||
| 16 | # typically due to standards-conformance issues. | ||
| 17 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 18 | +AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS_DUMMY], | ||
| 19 | [ | ||
| 20 | AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 21 | 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 @@ | |||
| 1 | Remove hardcoded paths so OE's configure QA does not detect it and fail the builds | ||
| 2 | For cross compilation is less interesting to look into host paths for target libraries anyway | ||
| 3 | |||
| 4 | Upstream-Status: Inappropriate [OE Specific] | ||
| 5 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 6 | |||
| 7 | Index: coreutils-6.9/m4/getloadavg.m4 | ||
| 8 | =================================================================== | ||
| 9 | --- coreutils-6.9.orig/m4/getloadavg.m4 | ||
| 10 | +++ coreutils-6.9/m4/getloadavg.m4 | ||
| 11 | @@ -49,7 +49,6 @@ if test $gl_have_func = no; then | ||
| 12 | # There is a commonly available library for RS/6000 AIX. | ||
| 13 | # Since it is not a standard part of AIX, it might be installed locally. | ||
| 14 | gl_getloadavg_LIBS=$LIBS | ||
| 15 | - LIBS="-L/usr/local/lib $LIBS" | ||
| 16 | AC_CHECK_LIB(getloadavg, getloadavg, | ||
| 17 | [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) | ||
| 18 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | # man page for 'touch' is generated differently from others. All other utilities | ||
| 4 | # are provided static man source files, while for 'touch' it requires help2man | ||
| 5 | # to invoke "touch --help" and then convert the output into the manual. Since touch | ||
| 6 | # is with target format which can't be invoked on build system, disable building | ||
| 7 | # 'touch' man page here. | ||
| 8 | # | ||
| 9 | # Signed-off-by: Kevin Tian <kevin.tian@intel.com>, 2010-08-18 | ||
| 10 | # (this patch is licensed under GPLv2) | ||
| 11 | |||
| 12 | diff --git a/man/Makefile.am b/man/Makefile.am | ||
| 13 | index 32df9d1..37b09e3 100644 | ||
| 14 | --- a/man/Makefile.am | ||
| 15 | +++ b/man/Makefile.am | ||
| 16 | @@ -27,7 +27,7 @@ dist_man_MANS = \ | ||
| 17 | paste.1 pathchk.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 readlink.1 \ | ||
| 18 | rm.1 rmdir.1 seq.1 sha1sum.1 sha224sum.1 sha256sum.1 sha384sum.1 sha512sum.1 \ | ||
| 19 | shred.1 shuf.1 sleep.1 sort.1 split.1 stat.1 \ | ||
| 20 | - su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 touch.1 tr.1 true.1 tsort.1 \ | ||
| 21 | + su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 tr.1 true.1 tsort.1 \ | ||
| 22 | tty.1 unexpand.1 uniq.1 unlink.1 vdir.1 wc.1 \ | ||
| 23 | whoami.1 yes.1 $(MAN) | ||
| 24 | 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 @@ | |||
| 1 | SUMMARY = "The basic file, shell and text manipulation utilities" | ||
| 2 | DESCRIPTION = "The GNU Core Utilities provide the basic file, shell and text \ | ||
| 3 | manipulation utilities. These are the core utilities which are expected to exist on \ | ||
| 4 | every system." | ||
| 5 | |||
| 6 | HOMEPAGE = "http://www.gnu.org/software/coreutils/" | ||
| 7 | BUGTRACKER = "http://debbugs.gnu.org/coreutils" | ||
| 8 | LICENSE = "GPLv2+" | ||
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
| 10 | file://src/ls.c;beginline=4;endline=16;md5=15ed60f67b1db5fedd5dbc37cf8a9543" | ||
| 11 | PR = "r5" | ||
| 12 | DEPENDS = "virtual/libiconv" | ||
| 13 | |||
| 14 | inherit autotools gettext texinfo | ||
| 15 | |||
| 16 | SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.bz2 \ | ||
| 17 | file://gnulib_m4.patch \ | ||
| 18 | file://futimens.patch \ | ||
| 19 | file://coreutils-ls-x.patch \ | ||
| 20 | file://coreutils-6.9-cp-i-u.patch \ | ||
| 21 | file://coreutils-i18n.patch \ | ||
| 22 | file://coreutils-overflow.patch \ | ||
| 23 | file://coreutils-fix-install.patch \ | ||
| 24 | file://man-touch.patch \ | ||
| 25 | file://coreutils_fix_for_automake-1.12.patch \ | ||
| 26 | file://coreutils-fix-texinfo.patch \ | ||
| 27 | file://fix_for_manpage_building.patch \ | ||
| 28 | file://loadavg.patch \ | ||
| 29 | " | ||
| 30 | |||
| 31 | SRC_URI[md5sum] = "c9607d8495f16e98906e7ed2d9751a06" | ||
| 32 | SRC_URI[sha256sum] = "89c2895ad157de50e53298b22d91db116ee4e1dd3fdf4019260254e2e31497b0" | ||
| 33 | |||
| 34 | EXTRA_OECONF += "ac_cv_func_getgroups_works=yes \ | ||
| 35 | ac_cv_func_strcoll_works=yes" | ||
| 36 | |||
| 37 | # acl is not a default feature | ||
| 38 | # | ||
| 39 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}" | ||
| 40 | |||
| 41 | # with, without, depends, rdepends | ||
| 42 | # | ||
| 43 | 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," | ||
| 44 | |||
| 45 | |||
| 46 | # [ gets a special treatment and is not included in this | ||
| 47 | bindir_progs = "base64 basename cksum comm csplit cut dir dircolors dirname du \ | ||
| 48 | env expand expr factor fmt fold groups head hostid id install \ | ||
| 49 | join link logname md5sum mkfifo nice nl nohup od paste pathchk \ | ||
| 50 | pinky pr printenv printf ptx readlink seq sha1sum sha224sum sha256sum \ | ||
| 51 | sha384sum sha512sum shred shuf sort split sum tac tail tee test \ | ||
| 52 | tr tsort tty unexpand uniq unlink users vdir wc who whoami yes uptime" | ||
| 53 | |||
| 54 | # hostname gets a special treatment and is not included in this | ||
| 55 | base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill ln ls mkdir \ | ||
| 56 | mknod mv pwd rm rmdir sleep stty sync touch true uname hostname stat" | ||
| 57 | |||
| 58 | sbindir_progs= "chroot" | ||
| 59 | |||
| 60 | # Let aclocal use the relative path for the m4 file rather than the | ||
| 61 | # absolute since coreutils has a lot of m4 files, otherwise there might | ||
| 62 | # be an "Argument list too long" error when it is built in a long/deep | ||
| 63 | # directory. | ||
| 64 | acpaths = "-I ./m4" | ||
| 65 | |||
| 66 | do_install() { | ||
| 67 | autotools_do_install | ||
| 68 | |||
| 69 | install -d ${D}${base_bindir} | ||
| 70 | [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done | ||
| 71 | |||
| 72 | install -d ${D}${sbindir} | ||
| 73 | [ "${bindir}" != "${sbindir}" ] && for i in ${sbindir_progs}; do mv ${D}${bindir}/$i ${D}${sbindir}/$i; done | ||
| 74 | |||
| 75 | # [ requires special handling because [.coreutils will cause the sed stuff | ||
| 76 | # in update-alternatives to fail, therefore use lbracket - the name used | ||
| 77 | # for the actual source file. | ||
| 78 | mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN} | ||
| 79 | |||
| 80 | # Newer versions of coreutils do not include su, to mimic this behavior | ||
| 81 | # we simply remove it. | ||
| 82 | rm -f ${D}${bindir}/su | ||
| 83 | } | ||
| 84 | |||
| 85 | inherit update-alternatives | ||
| 86 | |||
| 87 | ALTERNATIVE_PRIORITY = "100" | ||
| 88 | |||
| 89 | ALTERNATIVE_${PN} = "lbracket ${bindir_progs} ${base_bindir_progs} ${sbindir_progs}" | ||
| 90 | |||
| 91 | ALTERNATIVE_${PN}-doc = "su.1 hostname.1" | ||
| 92 | ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" | ||
| 93 | ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" | ||
| 94 | |||
| 95 | ALTERNATIVE_PRIORITY[uptime] = "10" | ||
| 96 | ALTERNATIVE_PRIORITY[hostname] = "10" | ||
| 97 | |||
| 98 | ALTERNATIVE_LINK_NAME[lbracket] = "${bindir}/[" | ||
| 99 | ALTERNATIVE_TARGET[lbracket] = "${bindir}/lbracket.${BPN}" | ||
| 100 | |||
| 101 | python __anonymous() { | ||
| 102 | for prog in d.getVar('base_bindir_progs').split(): | ||
| 103 | d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) | ||
| 104 | |||
| 105 | for prog in d.getVar('sbindir_progs').split(): | ||
| 106 | d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) | ||
| 107 | } | ||
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 @@ | |||
| 1 | |||
| 2 | # Pulled from OpenEmbedded | ||
| 3 | # | ||
| 4 | # Commented by: Saul Wold <saul.wold@intel.com> | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | Index: gettext-0.16.1/gettext-tools/configure.ac | ||
| 9 | =================================================================== | ||
| 10 | --- gettext-0.16.1.orig/gettext-tools/configure.ac 2006-11-27 09:02:01.000000000 -0800 | ||
| 11 | +++ gettext-0.16.1/gettext-tools/configure.ac 2011-03-16 16:55:36.111396557 -0700 | ||
| 12 | @@ -36,27 +36,15 @@ | ||
| 13 | gt_JAVA_CHOICE | ||
| 14 | |||
| 15 | gt_GCJ | ||
| 16 | -if test -n "$HAVE_GCJ" && test "$JAVA_CHOICE" = yes; then | ||
| 17 | - BUILDJAVAEXE=yes | ||
| 18 | -else | ||
| 19 | BUILDJAVAEXE=no | ||
| 20 | -fi | ||
| 21 | AC_SUBST(BUILDJAVAEXE) | ||
| 22 | |||
| 23 | gt_JAVAEXEC | ||
| 24 | gt_JAVACOMP([1.3]) | ||
| 25 | AC_CHECK_PROG(JAR, jar, jar) | ||
| 26 | -if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then | ||
| 27 | - BUILDJAVA=yes | ||
| 28 | -else | ||
| 29 | BUILDJAVA=no | ||
| 30 | -fi | ||
| 31 | AC_SUBST(BUILDJAVA) | ||
| 32 | -if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then | ||
| 33 | - TESTJAVA=yes | ||
| 34 | -else | ||
| 35 | TESTJAVA=no | ||
| 36 | -fi | ||
| 37 | AC_SUBST(TESTJAVA) | ||
| 38 | |||
| 39 | 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 @@ | |||
| 1 | |||
| 2 | This patch updates the required version number from 2.61 to the | ||
| 3 | current 2.65 version of aclocal, this will need to be updated | ||
| 4 | when we update aclocal | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [configuration] | ||
| 7 | |||
| 8 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 9 | |||
| 10 | Index: gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 | ||
| 11 | =================================================================== | ||
| 12 | --- gettext-0.16.1.orig/autoconf-lib-link/m4/lib-link.m4 2011-03-17 02:24:36.391519775 -0700 | ||
| 13 | +++ gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 2011-03-17 02:24:45.569526073 -0700 | ||
| 14 | @@ -148,7 +148,7 @@ | ||
| 15 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
| 16 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
| 17 | dnl Autoconf >= 2.61 supports dots in --with options. | ||
| 18 | - define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) | ||
| 19 | + define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.65]),[-1],[translit([$1],[.],[_])],[$1])]) | ||
| 20 | dnl By default, look in $includedir and $libdir. | ||
| 21 | use_additional=yes | ||
| 22 | AC_LIB_WITH_FINAL_PREFIX([ | ||
| 23 | Index: gettext-0.16.1/autoconf-lib-link/tests/rpathly/aclocal.m4 | ||
| 24 | =================================================================== | ||
| 25 | --- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathly/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 | ||
| 26 | +++ gettext-0.16.1/autoconf-lib-link/tests/rpathly/aclocal.m4 2011-03-17 02:24:45.570526904 -0700 | ||
| 27 | @@ -11,8 +11,8 @@ | ||
| 28 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 29 | # PARTICULAR PURPOSE. | ||
| 30 | |||
| 31 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 32 | -[m4_fatal([this file was generated for autoconf 2.61. | ||
| 33 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 34 | +[m4_fatal([this file was generated for autoconf 2.65. | ||
| 35 | You have another version of autoconf. If you want to use that, | ||
| 36 | you should regenerate the build system entirely.], [63])]) | ||
| 37 | |||
| 38 | Index: gettext-0.16.1/autoconf-lib-link/tests/rpathx/aclocal.m4 | ||
| 39 | =================================================================== | ||
| 40 | --- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathx/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 | ||
| 41 | +++ gettext-0.16.1/autoconf-lib-link/tests/rpathx/aclocal.m4 2011-03-17 02:24:45.572525773 -0700 | ||
| 42 | @@ -11,8 +11,8 @@ | ||
| 43 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 44 | # PARTICULAR PURPOSE. | ||
| 45 | |||
| 46 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 47 | -[m4_fatal([this file was generated for autoconf 2.61. | ||
| 48 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 49 | +[m4_fatal([this file was generated for autoconf 2.65. | ||
| 50 | You have another version of autoconf. If you want to use that, | ||
| 51 | you should regenerate the build system entirely.], [63])]) | ||
| 52 | |||
| 53 | Index: gettext-0.16.1/autoconf-lib-link/tests/rpathy/aclocal.m4 | ||
| 54 | =================================================================== | ||
| 55 | --- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathy/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 | ||
| 56 | +++ gettext-0.16.1/autoconf-lib-link/tests/rpathy/aclocal.m4 2011-03-17 02:24:45.578394916 -0700 | ||
| 57 | @@ -11,7 +11,7 @@ | ||
| 58 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 59 | # PARTICULAR PURPOSE. | ||
| 60 | |||
| 61 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 62 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 63 | [m4_fatal([this file was generated for autoconf 2.61. | ||
| 64 | You have another version of autoconf. If you want to use that, | ||
| 65 | you should regenerate the build system entirely.], [63])]) | ||
| 66 | Index: gettext-0.16.1/autoconf-lib-link/tests/rpathz/aclocal.m4 | ||
| 67 | =================================================================== | ||
| 68 | --- gettext-0.16.1.orig/autoconf-lib-link/tests/rpathz/aclocal.m4 2011-03-17 02:24:36.391519775 -0700 | ||
| 69 | +++ gettext-0.16.1/autoconf-lib-link/tests/rpathz/aclocal.m4 2011-03-17 02:24:45.586395416 -0700 | ||
| 70 | @@ -11,8 +11,8 @@ | ||
| 71 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 72 | # PARTICULAR PURPOSE. | ||
| 73 | |||
| 74 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 75 | -[m4_fatal([this file was generated for autoconf 2.61. | ||
| 76 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 77 | +[m4_fatal([this file was generated for autoconf 2.65. | ||
| 78 | You have another version of autoconf. If you want to use that, | ||
| 79 | you should regenerate the build system entirely.], [63])]) | ||
| 80 | |||
| 81 | Index: gettext-0.16.1/gettext-tools/aclocal.m4 | ||
| 82 | =================================================================== | ||
| 83 | --- gettext-0.16.1.orig/gettext-tools/aclocal.m4 2006-11-27 09:34:32.000000000 -0800 | ||
| 84 | +++ gettext-0.16.1/gettext-tools/aclocal.m4 2011-03-17 02:27:01.135682807 -0700 | ||
| 85 | @@ -11,8 +11,8 @@ | ||
| 86 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 87 | # PARTICULAR PURPOSE. | ||
| 88 | |||
| 89 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 90 | -[m4_fatal([this file was generated for autoconf 2.61. | ||
| 91 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 92 | +[m4_fatal([this file was generated for autoconf 2.65. | ||
| 93 | You have another version of autoconf. If you want to use that, | ||
| 94 | you should regenerate the build system entirely.], [63])]) | ||
| 95 | |||
| 96 | Index: gettext-0.16.1/gettext-tools/examples/aclocal.m4 | ||
| 97 | =================================================================== | ||
| 98 | --- gettext-0.16.1.orig/gettext-tools/examples/aclocal.m4 2006-11-27 09:16:23.000000000 -0800 | ||
| 99 | +++ gettext-0.16.1/gettext-tools/examples/aclocal.m4 2011-03-17 02:26:52.589396683 -0700 | ||
| 100 | @@ -11,8 +11,8 @@ | ||
| 101 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 102 | # PARTICULAR PURPOSE. | ||
| 103 | |||
| 104 | -m4_if(m4_PACKAGE_VERSION, [2.61],, | ||
| 105 | -[m4_fatal([this file was generated for autoconf 2.61. | ||
| 106 | +m4_if(m4_PACKAGE_VERSION, [2.65],, | ||
| 107 | +[m4_fatal([this file was generated for autoconf 2.65. | ||
| 108 | You have another version of autoconf. If you want to use that, | ||
| 109 | you should regenerate the build system entirely.], [63])]) | ||
| 110 | |||
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 @@ | |||
| 1 | |||
| 2 | This patch removes the circular dependency on AC_GNU_SOURCE in | ||
| 3 | AC_USE_SYSTEM_EXTENSIONS. | ||
| 4 | |||
| 5 | Thanks to Mark Hatle for the timely pointers and fixes. | ||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [licensing] | ||
| 8 | |||
| 9 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 10 | |||
| 11 | diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/extensions.m4 gettext.patched/gettext-runtime/gnulib-m4/extensions.m4 | ||
| 12 | --- gettext-0.16.1/gettext-runtime/gnulib-m4/extensions.m4 2006-11-27 09:14:38.000000000 -0800 | ||
| 13 | +++ gettext.patched/gettext-runtime/gnulib-m4/extensions.m4 2011-03-16 23:54:01.711923448 -0700 | ||
| 14 | @@ -16,43 +16,47 @@ | ||
| 15 | # ------------------------ | ||
| 16 | # Enable extensions on systems that normally disable them, | ||
| 17 | # typically due to standards-conformance issues. | ||
| 18 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 19 | -[ | ||
| 20 | - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 21 | - AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 22 | - | ||
| 23 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 24 | - AC_REQUIRE([AC_AIX]) | ||
| 25 | - AC_REQUIRE([AC_MINIX]) | ||
| 26 | - | ||
| 27 | - AH_VERBATIM([__EXTENSIONS__], | ||
| 28 | -[/* Enable extensions on Solaris. */ | ||
| 29 | -#ifndef __EXTENSIONS__ | ||
| 30 | -# undef __EXTENSIONS__ | ||
| 31 | -#endif | ||
| 32 | -#ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 33 | -# undef _POSIX_PTHREAD_SEMANTICS | ||
| 34 | -#endif | ||
| 35 | -#ifndef _TANDEM_SOURCE | ||
| 36 | -# undef _TANDEM_SOURCE | ||
| 37 | -#endif]) | ||
| 38 | - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 39 | - [ac_cv_safe_to_define___extensions__], | ||
| 40 | - [AC_COMPILE_IFELSE( | ||
| 41 | - [AC_LANG_PROGRAM([ | ||
| 42 | -# define __EXTENSIONS__ 1 | ||
| 43 | - AC_INCLUDES_DEFAULT])], | ||
| 44 | - [ac_cv_safe_to_define___extensions__=yes], | ||
| 45 | - [ac_cv_safe_to_define___extensions__=no])]) | ||
| 46 | - test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 47 | - AC_DEFINE([__EXTENSIONS__]) | ||
| 48 | - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 49 | - AC_DEFINE([_TANDEM_SOURCE]) | ||
| 50 | -]) | ||
| 51 | +#AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 52 | +#[ | ||
| 53 | +# AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 54 | +# AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 55 | +# | ||
| 56 | +# AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 57 | +# AC_REQUIRE([AC_AIX]) | ||
| 58 | +# AC_REQUIRE([AC_MINIX]) | ||
| 59 | +# | ||
| 60 | +# AH_VERBATIM([__EXTENSIONS__], | ||
| 61 | +#[/* Enable extensions on Solaris. */ | ||
| 62 | +##ifndef __EXTENSIONS__ | ||
| 63 | +## undef __EXTENSIONS__ | ||
| 64 | +##endif | ||
| 65 | +##ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 66 | +## undef _POSIX_PTHREAD_SEMANTICS | ||
| 67 | +##endif | ||
| 68 | +##ifndef _TANDEM_SOURCE | ||
| 69 | +## undef _TANDEM_SOURCE | ||
| 70 | +##endif]) | ||
| 71 | +# AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 72 | +# [ac_cv_safe_to_define___extensions__], | ||
| 73 | +# [AC_COMPILE_IFELSE( | ||
| 74 | +# [AC_LANG_PROGRAM([ | ||
| 75 | +## define __EXTENSIONS__ 1 | ||
| 76 | +# AC_INCLUDES_DEFAULT])], | ||
| 77 | +# [ac_cv_safe_to_define___extensions__=yes], | ||
| 78 | +# [ac_cv_safe_to_define___extensions__=no])]) | ||
| 79 | +# test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 80 | +# AC_DEFINE([__EXTENSIONS__]) | ||
| 81 | +# AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 82 | +# AC_DEFINE([_TANDEM_SOURCE]) | ||
| 83 | +#]) | ||
| 84 | |||
| 85 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 86 | # ------------------------ | ||
| 87 | # Enable extensions on systems that normally disable them, | ||
| 88 | # typically due to standards-conformance issues. | ||
| 89 | AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], | ||
| 90 | - [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) | ||
| 91 | +[ | ||
| 92 | + AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 93 | + | ||
| 94 | + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
| 95 | +]) | ||
| 96 | diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-runtime/gnulib-m4/gnulib-comp.m4 | ||
| 97 | --- gettext-0.16.1/gettext-runtime/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:19.000000000 -0800 | ||
| 98 | +++ gettext.patched/gettext-runtime/gnulib-m4/gnulib-comp.m4 2011-03-16 23:50:17.471531838 -0700 | ||
| 99 | @@ -25,7 +25,7 @@ | ||
| 100 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable | ||
| 101 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable | ||
| 102 | AC_REQUIRE([AC_PROG_RANLIB]) | ||
| 103 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 104 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 105 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
| 106 | ]) | ||
| 107 | |||
| 108 | diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/mbchar.m4 gettext.patched/gettext-runtime/gnulib-m4/mbchar.m4 | ||
| 109 | --- gettext-0.16.1/gettext-runtime/gnulib-m4/mbchar.m4 2006-11-27 09:14:38.000000000 -0800 | ||
| 110 | +++ gettext.patched/gettext-runtime/gnulib-m4/mbchar.m4 2011-03-16 23:50:10.814396529 -0700 | ||
| 111 | @@ -9,7 +9,7 @@ | ||
| 112 | |||
| 113 | AC_DEFUN([gl_MBCHAR], | ||
| 114 | [ | ||
| 115 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 116 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 117 | dnl The following line is that so the user can test HAVE_WCHAR_H | ||
| 118 | dnl before #include "mbchar.h". | ||
| 119 | AC_CHECK_HEADERS_ONCE([wchar.h]) | ||
| 120 | diff -ru gettext-0.16.1/gettext-runtime/gnulib-m4/wcwidth.m4 gettext.patched/gettext-runtime/gnulib-m4/wcwidth.m4 | ||
| 121 | --- gettext-0.16.1/gettext-runtime/gnulib-m4/wcwidth.m4 2006-11-27 09:14:38.000000000 -0800 | ||
| 122 | +++ gettext.patched/gettext-runtime/gnulib-m4/wcwidth.m4 2011-03-16 23:50:08.357396247 -0700 | ||
| 123 | @@ -7,7 +7,7 @@ | ||
| 124 | AC_DEFUN([gl_FUNC_WCWIDTH], | ||
| 125 | [ | ||
| 126 | dnl Persuade glibc <wchar.h> to declare wcwidth(). | ||
| 127 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 128 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 129 | |||
| 130 | AC_REQUIRE([AC_C_INLINE]) | ||
| 131 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | ||
| 132 | diff -ru gettext-0.16.1/gettext-runtime/m4/lock.m4 gettext.patched/gettext-runtime/m4/lock.m4 | ||
| 133 | --- gettext-0.16.1/gettext-runtime/m4/lock.m4 2006-10-24 13:59:59.000000000 -0700 | ||
| 134 | +++ gettext.patched/gettext-runtime/m4/lock.m4 2011-03-16 23:50:04.355891676 -0700 | ||
| 135 | @@ -35,7 +35,7 @@ | ||
| 136 | AC_BEFORE([$0], [gl_ARGP])dnl | ||
| 137 | |||
| 138 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
| 139 | - AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems | ||
| 140 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems | ||
| 141 | dnl Check for multithreading. | ||
| 142 | AC_ARG_ENABLE(threads, | ||
| 143 | AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) | ||
| 144 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/extensions.m4 gettext.patched/gettext-tools/gnulib-m4/extensions.m4 | ||
| 145 | --- gettext-0.16.1/gettext-tools/gnulib-m4/extensions.m4 2006-11-27 09:14:54.000000000 -0800 | ||
| 146 | +++ gettext.patched/gettext-tools/gnulib-m4/extensions.m4 2011-03-16 23:53:28.487671266 -0700 | ||
| 147 | @@ -16,43 +16,47 @@ | ||
| 148 | # ------------------------ | ||
| 149 | # Enable extensions on systems that normally disable them, | ||
| 150 | # typically due to standards-conformance issues. | ||
| 151 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 152 | -[ | ||
| 153 | - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 154 | - AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 155 | - | ||
| 156 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 157 | - AC_REQUIRE([AC_AIX]) | ||
| 158 | - AC_REQUIRE([AC_MINIX]) | ||
| 159 | - | ||
| 160 | - AH_VERBATIM([__EXTENSIONS__], | ||
| 161 | -[/* Enable extensions on Solaris. */ | ||
| 162 | -#ifndef __EXTENSIONS__ | ||
| 163 | -# undef __EXTENSIONS__ | ||
| 164 | -#endif | ||
| 165 | -#ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 166 | -# undef _POSIX_PTHREAD_SEMANTICS | ||
| 167 | -#endif | ||
| 168 | -#ifndef _TANDEM_SOURCE | ||
| 169 | -# undef _TANDEM_SOURCE | ||
| 170 | -#endif]) | ||
| 171 | - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 172 | - [ac_cv_safe_to_define___extensions__], | ||
| 173 | - [AC_COMPILE_IFELSE( | ||
| 174 | - [AC_LANG_PROGRAM([ | ||
| 175 | -# define __EXTENSIONS__ 1 | ||
| 176 | - AC_INCLUDES_DEFAULT])], | ||
| 177 | - [ac_cv_safe_to_define___extensions__=yes], | ||
| 178 | - [ac_cv_safe_to_define___extensions__=no])]) | ||
| 179 | - test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 180 | - AC_DEFINE([__EXTENSIONS__]) | ||
| 181 | - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 182 | - AC_DEFINE([_TANDEM_SOURCE]) | ||
| 183 | -]) | ||
| 184 | +#AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 185 | +#[ | ||
| 186 | +# AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 187 | +# AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 188 | +# | ||
| 189 | +# AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 190 | +# AC_REQUIRE([AC_AIX]) | ||
| 191 | +# AC_REQUIRE([AC_MINIX]) | ||
| 192 | +# | ||
| 193 | +# AH_VERBATIM([__EXTENSIONS__], | ||
| 194 | +#[/* Enable extensions on Solaris. */ | ||
| 195 | +##ifndef __EXTENSIONS__ | ||
| 196 | +## undef __EXTENSIONS__ | ||
| 197 | +##endif | ||
| 198 | +##ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 199 | +## undef _POSIX_PTHREAD_SEMANTICS | ||
| 200 | +##endif | ||
| 201 | +##ifndef _TANDEM_SOURCE | ||
| 202 | +## undef _TANDEM_SOURCE | ||
| 203 | +##endif]) | ||
| 204 | +# AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 205 | +# [ac_cv_safe_to_define___extensions__], | ||
| 206 | +# [AC_COMPILE_IFELSE( | ||
| 207 | +# [AC_LANG_PROGRAM([ | ||
| 208 | +## define __EXTENSIONS__ 1 | ||
| 209 | +# AC_INCLUDES_DEFAULT])], | ||
| 210 | +# [ac_cv_safe_to_define___extensions__=yes], | ||
| 211 | +# [ac_cv_safe_to_define___extensions__=no])]) | ||
| 212 | +# test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 213 | +# AC_DEFINE([__EXTENSIONS__]) | ||
| 214 | +# AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 215 | +# AC_DEFINE([_TANDEM_SOURCE]) | ||
| 216 | +#]) | ||
| 217 | |||
| 218 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 219 | # ------------------------ | ||
| 220 | # Enable extensions on systems that normally disable them, | ||
| 221 | # typically due to standards-conformance issues. | ||
| 222 | AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], | ||
| 223 | - [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) | ||
| 224 | +[ | ||
| 225 | + AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 226 | + | ||
| 227 | + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
| 228 | +]) | ||
| 229 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/fnmatch.m4 gettext.patched/gettext-tools/gnulib-m4/fnmatch.m4 | ||
| 230 | --- gettext-0.16.1/gettext-tools/gnulib-m4/fnmatch.m4 2006-11-27 09:14:54.000000000 -0800 | ||
| 231 | +++ gettext.patched/gettext-tools/gnulib-m4/fnmatch.m4 2011-03-16 23:52:06.477463671 -0700 | ||
| 232 | @@ -91,7 +91,7 @@ | ||
| 233 | AC_DEFUN([gl_FUNC_FNMATCH_GNU], | ||
| 234 | [ | ||
| 235 | dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc. | ||
| 236 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 237 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 238 | |||
| 239 | FNMATCH_H= | ||
| 240 | _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu], | ||
| 241 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/getdelim.m4 gettext.patched/gettext-tools/gnulib-m4/getdelim.m4 | ||
| 242 | --- gettext-0.16.1/gettext-tools/gnulib-m4/getdelim.m4 2006-11-27 09:14:54.000000000 -0800 | ||
| 243 | +++ gettext.patched/gettext-tools/gnulib-m4/getdelim.m4 2011-03-16 23:52:22.871674845 -0700 | ||
| 244 | @@ -12,7 +12,7 @@ | ||
| 245 | [ | ||
| 246 | |||
| 247 | dnl Persuade glibc <stdio.h> to declare getdelim(). | ||
| 248 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 249 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 250 | |||
| 251 | AC_REPLACE_FUNCS(getdelim) | ||
| 252 | AC_CHECK_DECLS_ONCE(getdelim) | ||
| 253 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/getline.m4 gettext.patched/gettext-tools/gnulib-m4/getline.m4 | ||
| 254 | --- gettext-0.16.1/gettext-tools/gnulib-m4/getline.m4 2006-11-27 09:14:54.000000000 -0800 | ||
| 255 | +++ gettext.patched/gettext-tools/gnulib-m4/getline.m4 2011-03-16 23:51:49.829971108 -0700 | ||
| 256 | @@ -16,7 +16,7 @@ | ||
| 257 | AC_DEFUN([gl_FUNC_GETLINE], | ||
| 258 | [ | ||
| 259 | dnl Persuade glibc <stdio.h> to declare getline(). | ||
| 260 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 261 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 262 | |||
| 263 | AC_CHECK_DECLS([getline]) | ||
| 264 | |||
| 265 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-tools/gnulib-m4/gnulib-comp.m4 | ||
| 266 | --- gettext-0.16.1/gettext-tools/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:36.000000000 -0800 | ||
| 267 | +++ gettext.patched/gettext-tools/gnulib-m4/gnulib-comp.m4 2011-03-16 23:52:18.970450488 -0700 | ||
| 268 | @@ -25,7 +25,7 @@ | ||
| 269 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable | ||
| 270 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable | ||
| 271 | AC_REQUIRE([AC_PROG_RANLIB]) | ||
| 272 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 273 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 274 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
| 275 | AC_REQUIRE([gl_LOCK_EARLY]) | ||
| 276 | ]) | ||
| 277 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/mbchar.m4 gettext.patched/gettext-tools/gnulib-m4/mbchar.m4 | ||
| 278 | --- gettext-0.16.1/gettext-tools/gnulib-m4/mbchar.m4 2006-11-27 09:14:55.000000000 -0800 | ||
| 279 | +++ gettext.patched/gettext-tools/gnulib-m4/mbchar.m4 2011-03-16 23:51:40.844410216 -0700 | ||
| 280 | @@ -9,7 +9,7 @@ | ||
| 281 | |||
| 282 | AC_DEFUN([gl_MBCHAR], | ||
| 283 | [ | ||
| 284 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 285 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 286 | dnl The following line is that so the user can test HAVE_WCHAR_H | ||
| 287 | dnl before #include "mbchar.h". | ||
| 288 | AC_CHECK_HEADERS_ONCE([wchar.h]) | ||
| 289 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/stpcpy.m4 gettext.patched/gettext-tools/gnulib-m4/stpcpy.m4 | ||
| 290 | --- gettext-0.16.1/gettext-tools/gnulib-m4/stpcpy.m4 2006-11-27 09:14:55.000000000 -0800 | ||
| 291 | +++ gettext.patched/gettext-tools/gnulib-m4/stpcpy.m4 2011-03-16 23:52:14.691396045 -0700 | ||
| 292 | @@ -7,7 +7,7 @@ | ||
| 293 | AC_DEFUN([gl_FUNC_STPCPY], | ||
| 294 | [ | ||
| 295 | dnl Persuade glibc <string.h> to declare stpcpy(). | ||
| 296 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 297 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 298 | |||
| 299 | AC_REPLACE_FUNCS(stpcpy) | ||
| 300 | if test $ac_cv_func_stpcpy = no; then | ||
| 301 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/stpncpy.m4 gettext.patched/gettext-tools/gnulib-m4/stpncpy.m4 | ||
| 302 | --- gettext-0.16.1/gettext-tools/gnulib-m4/stpncpy.m4 2006-11-27 09:14:55.000000000 -0800 | ||
| 303 | +++ gettext.patched/gettext-tools/gnulib-m4/stpncpy.m4 2011-03-16 23:52:10.356641459 -0700 | ||
| 304 | @@ -7,7 +7,7 @@ | ||
| 305 | AC_DEFUN([gl_FUNC_STPNCPY], | ||
| 306 | [ | ||
| 307 | dnl Persuade glibc <string.h> to declare stpncpy(). | ||
| 308 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 309 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 310 | |||
| 311 | dnl Both glibc and AIX (4.3.3, 5.1) have an stpncpy() function | ||
| 312 | dnl declared in <string.h>. Its side effects are the same as those | ||
| 313 | diff -ru gettext-0.16.1/gettext-tools/gnulib-m4/wcwidth.m4 gettext.patched/gettext-tools/gnulib-m4/wcwidth.m4 | ||
| 314 | --- gettext-0.16.1/gettext-tools/gnulib-m4/wcwidth.m4 2006-11-27 09:14:55.000000000 -0800 | ||
| 315 | +++ gettext.patched/gettext-tools/gnulib-m4/wcwidth.m4 2011-03-16 23:51:08.260324221 -0700 | ||
| 316 | @@ -7,7 +7,7 @@ | ||
| 317 | AC_DEFUN([gl_FUNC_WCWIDTH], | ||
| 318 | [ | ||
| 319 | dnl Persuade glibc <wchar.h> to declare wcwidth(). | ||
| 320 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 321 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 322 | |||
| 323 | AC_REQUIRE([AC_C_INLINE]) | ||
| 324 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | ||
| 325 | diff -ru gettext-0.16.1/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 gettext.patched/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 | ||
| 326 | --- gettext-0.16.1/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 2006-11-27 09:33:45.000000000 -0800 | ||
| 327 | +++ gettext.patched/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 2011-03-16 23:51:02.036061317 -0700 | ||
| 328 | @@ -25,7 +25,7 @@ | ||
| 329 | m4_pattern_allow([^gl_LIBOBJS$])dnl a variable | ||
| 330 | m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable | ||
| 331 | AC_REQUIRE([AC_PROG_RANLIB]) | ||
| 332 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 333 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 334 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
| 335 | AC_REQUIRE([gl_LOCK_EARLY]) | ||
| 336 | ]) | ||
| 337 | diff -ru gettext-0.16.1/gettext-tools/m4/regex.m4 gettext.patched/gettext-tools/m4/regex.m4 | ||
| 338 | --- gettext-0.16.1/gettext-tools/m4/regex.m4 2006-11-27 09:02:05.000000000 -0800 | ||
| 339 | +++ gettext.patched/gettext-tools/m4/regex.m4 2011-03-16 23:50:53.533477195 -0700 | ||
| 340 | @@ -116,7 +116,7 @@ | ||
| 341 | dnl to get them. | ||
| 342 | |||
| 343 | dnl Persuade glibc <string.h> to declare mempcpy(). | ||
| 344 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 345 | + dnl AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 346 | |||
| 347 | AC_REQUIRE([AC_C_RESTRICT]) | ||
| 348 | 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 @@ | |||
| 1 | |||
| 2 | # Pulled from OpenEmbedded | ||
| 3 | # | ||
| 4 | # Commented by: Saul Wold <saul.wold@intel.com> | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | --- gettext-0.17/autoconf-lib-link/m4/lib-link.m4~ 2009-04-17 15:12:30.000000000 -0700 | ||
| 9 | +++ gettext-0.17/autoconf-lib-link/m4/lib-link.m4 2009-04-17 15:37:39.000000000 -0700 | ||
| 10 | @@ -267,6 +267,9 @@ | ||
| 11 | fi | ||
| 12 | fi | ||
| 13 | fi | ||
| 14 | + dnl Just let the compiler find the library, the compiler and user are smarter then this script | ||
| 15 | + dnl when cross compiling and working with a relocated install. | ||
| 16 | + found_dir="" | ||
| 17 | if test "X$found_dir" = "X"; then | ||
| 18 | for x in $LDFLAGS $LTLIB[]NAME; do | ||
| 19 | 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 @@ | |||
| 1 | |||
| 2 | # Pulled from OpenEmbedded | ||
| 3 | # | ||
| 4 | # Commented by: Saul Wold <saul.wold@intel.com> | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | Index: gettext-0.16.1/gettext-runtime/intl/Makefile.in | ||
| 9 | =================================================================== | ||
| 10 | --- gettext-0.16.1.orig/gettext-runtime/intl/Makefile.in 2006-11-27 09:02:00.000000000 -0800 | ||
| 11 | +++ gettext-0.16.1/gettext-runtime/intl/Makefile.in 2011-03-16 16:04:49.175419930 -0700 | ||
| 12 | @@ -35,7 +35,7 @@ | ||
| 13 | # 'make' does the wrong thing if GNU gettext was configured with | ||
| 14 | # "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la | ||
| 15 | # files it finds in srcdir = ../../gettext-runtime/intl. | ||
| 16 | -VPATH = $(srcdir) | ||
| 17 | +#VPATH = $(srcdir) | ||
| 18 | |||
| 19 | prefix = @prefix@ | ||
| 20 | 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 @@ | |||
| 1 | |||
| 2 | This patch hardcodes in version 0.17 for the GETTEXT_MACRO_VERSION, | ||
| 3 | the version check is only part of 0.17 and will not affect any 0.16.1 | ||
| 4 | operations | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 9 | |||
| 10 | Index: gettext-0.16.1/gettext-runtime/m4/po.m4 | ||
| 11 | =================================================================== | ||
| 12 | --- gettext-0.16.1.orig/gettext-runtime/m4/po.m4 2011-03-17 02:24:28.953520231 -0700 | ||
| 13 | +++ gettext-0.16.1/gettext-runtime/m4/po.m4 2011-03-17 02:28:25.455396862 -0700 | ||
| 14 | @@ -27,6 +27,9 @@ | ||
| 15 | AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | ||
| 16 | AC_REQUIRE([AM_NLS])dnl | ||
| 17 | |||
| 18 | + dnl Hardcode the MACRO_VERSION to 0.17 for gnutls | ||
| 19 | + AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) | ||
| 20 | + | ||
| 21 | dnl Perform the following tests also if --disable-nls has been given, | ||
| 22 | dnl because they are needed for "make dist" to work. | ||
| 23 | |||
| 24 | Index: gettext-0.16.1/gettext-runtime/po/Makefile.in.in | ||
| 25 | =================================================================== | ||
| 26 | --- gettext-0.16.1.orig/gettext-runtime/po/Makefile.in.in 2011-03-17 02:24:28.953520231 -0700 | ||
| 27 | +++ gettext-0.16.1/gettext-runtime/po/Makefile.in.in 2011-03-17 02:28:07.574395144 -0700 | ||
| 28 | @@ -10,6 +10,9 @@ | ||
| 29 | # | ||
| 30 | # Origin: gettext-0.16 | ||
| 31 | |||
| 32 | +# Hardcode this value for gnutls building against gplv2 code | ||
| 33 | +GETTEXT_MACRO_VERSION = 0.17 | ||
| 34 | + | ||
| 35 | PACKAGE = @PACKAGE@ | ||
| 36 | VERSION = @VERSION@ | ||
| 37 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||
| 38 | Index: gettext-0.16.1/gettext-tools/po/Makefile.in.in | ||
| 39 | =================================================================== | ||
| 40 | --- gettext-0.16.1.orig/gettext-tools/po/Makefile.in.in 2011-03-17 02:24:28.953520231 -0700 | ||
| 41 | +++ gettext-0.16.1/gettext-tools/po/Makefile.in.in 2011-03-17 02:28:07.574395144 -0700 | ||
| 42 | @@ -10,6 +10,9 @@ | ||
| 43 | # | ||
| 44 | # Origin: gettext-0.16 | ||
| 45 | |||
| 46 | +# Hardcode this value for gnutls building against gplv2 code | ||
| 47 | +GETTEXT_MACRO_VERSION = 0.17 | ||
| 48 | + | ||
| 49 | PACKAGE = @PACKAGE@ | ||
| 50 | VERSION = @VERSION@ | ||
| 51 | 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 @@ | |||
| 1 | |||
| 2 | # Pulled from OpenEmbedded | ||
| 3 | # | ||
| 4 | # Commented by: Saul Wold <saul.wold@intel.com> | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | Index: gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 | ||
| 9 | =================================================================== | ||
| 10 | --- gettext-0.16.1.orig/autoconf-lib-link/m4/lib-link.m4 2006-11-27 09:01:58.000000000 -0800 | ||
| 11 | +++ gettext-0.16.1/autoconf-lib-link/m4/lib-link.m4 2011-03-17 00:36:08.710836720 -0700 | ||
| 12 | @@ -6,12 +6,14 @@ | ||
| 13 | |||
| 14 | dnl From Bruno Haible. | ||
| 15 | |||
| 16 | -AC_PREREQ(2.50) | ||
| 17 | +AC_PREREQ(2.54) | ||
| 18 | |||
| 19 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | ||
| 20 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
| 21 | dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and | ||
| 22 | dnl augments the CPPFLAGS variable. | ||
| 23 | +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname | ||
| 24 | +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
| 25 | AC_DEFUN([AC_LIB_LINKFLAGS], | ||
| 26 | [ | ||
| 27 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
| 28 | @@ -24,13 +26,16 @@ | ||
| 29 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" | ||
| 30 | ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" | ||
| 31 | ac_cv_lib[]Name[]_cppflags="$INC[]NAME" | ||
| 32 | + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" | ||
| 33 | ]) | ||
| 34 | LIB[]NAME="$ac_cv_lib[]Name[]_libs" | ||
| 35 | LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" | ||
| 36 | INC[]NAME="$ac_cv_lib[]Name[]_cppflags" | ||
| 37 | + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" | ||
| 38 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
| 39 | AC_SUBST([LIB]NAME) | ||
| 40 | AC_SUBST([LTLIB]NAME) | ||
| 41 | + AC_SUBST([LIB]NAME[_PREFIX]) | ||
| 42 | dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the | ||
| 43 | dnl results of this search when this library appears as a dependency. | ||
| 44 | HAVE_LIB[]NAME=yes | ||
| 45 | @@ -46,6 +51,8 @@ | ||
| 46 | dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and | ||
| 47 | dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs | ||
| 48 | dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. | ||
| 49 | +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname | ||
| 50 | +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
| 51 | AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | ||
| 52 | [ | ||
| 53 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
| 54 | @@ -82,17 +89,24 @@ | ||
| 55 | CPPFLAGS="$ac_save_CPPFLAGS" | ||
| 56 | LIB[]NAME= | ||
| 57 | LTLIB[]NAME= | ||
| 58 | + LIB[]NAME[]_PREFIX= | ||
| 59 | + | ||
| 60 | fi | ||
| 61 | AC_SUBST([HAVE_LIB]NAME) | ||
| 62 | AC_SUBST([LIB]NAME) | ||
| 63 | AC_SUBST([LTLIB]NAME) | ||
| 64 | + AC_SUBST([LIB]NAME[_PREFIX]) | ||
| 65 | undefine([Name]) | ||
| 66 | undefine([NAME]) | ||
| 67 | ]) | ||
| 68 | |||
| 69 | dnl Determine the platform dependent parameters needed to use rpath: | ||
| 70 | -dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, | ||
| 71 | -dnl hardcode_direct, hardcode_minus_L. | ||
| 72 | +dnl acl_libext, | ||
| 73 | +dnl acl_shlibext, | ||
| 74 | +dnl acl_hardcode_libdir_flag_spec, | ||
| 75 | +dnl acl_hardcode_libdir_separator, | ||
| 76 | +dnl acl_hardcode_direct, | ||
| 77 | +dnl acl_hardcode_minus_L. | ||
| 78 | AC_DEFUN([AC_LIB_RPATH], | ||
| 79 | [ | ||
| 80 | dnl Tell automake >= 1.10 to complain if config.rpath is missing. | ||
| 81 | @@ -109,12 +123,14 @@ | ||
| 82 | acl_cv_rpath=done | ||
| 83 | ]) | ||
| 84 | wl="$acl_cv_wl" | ||
| 85 | - libext="$acl_cv_libext" | ||
| 86 | - shlibext="$acl_cv_shlibext" | ||
| 87 | - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" | ||
| 88 | - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" | ||
| 89 | - hardcode_direct="$acl_cv_hardcode_direct" | ||
| 90 | - hardcode_minus_L="$acl_cv_hardcode_minus_L" | ||
| 91 | + acl_libext="$acl_cv_libext" | ||
| 92 | + acl_shlibext="$acl_cv_shlibext" | ||
| 93 | + acl_libname_spec="$acl_cv_libname_spec" | ||
| 94 | + acl_library_names_spec="$acl_cv_library_names_spec" | ||
| 95 | + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" | ||
| 96 | + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" | ||
| 97 | + acl_hardcode_direct="$acl_cv_hardcode_direct" | ||
| 98 | + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" | ||
| 99 | dnl Determine whether the user wants rpath handling at all. | ||
| 100 | AC_ARG_ENABLE(rpath, | ||
| 101 | [ --disable-rpath do not hardcode runtime library paths], | ||
| 102 | @@ -124,20 +140,24 @@ | ||
| 103 | dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and | ||
| 104 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
| 105 | dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. | ||
| 106 | +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found | ||
| 107 | +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
| 108 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | ||
| 109 | [ | ||
| 110 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||
| 111 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
| 112 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
| 113 | + dnl Autoconf >= 2.61 supports dots in --with options. | ||
| 114 | + define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) | ||
| 115 | dnl By default, look in $includedir and $libdir. | ||
| 116 | use_additional=yes | ||
| 117 | AC_LIB_WITH_FINAL_PREFIX([ | ||
| 118 | eval additional_includedir=\"$includedir\" | ||
| 119 | eval additional_libdir=\"$libdir\" | ||
| 120 | ]) | ||
| 121 | - AC_LIB_ARG_WITH([lib$1-prefix], | ||
| 122 | -[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib | ||
| 123 | - --without-lib$1-prefix don't search for lib$1 in includedir and libdir], | ||
| 124 | + AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], | ||
| 125 | +[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib | ||
| 126 | + --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], | ||
| 127 | [ | ||
| 128 | if test "X$withval" = "Xno"; then | ||
| 129 | use_additional=no | ||
| 130 | @@ -158,6 +178,7 @@ | ||
| 131 | LIB[]NAME= | ||
| 132 | LTLIB[]NAME= | ||
| 133 | INC[]NAME= | ||
| 134 | + LIB[]NAME[]_PREFIX= | ||
| 135 | rpathdirs= | ||
| 136 | ltrpathdirs= | ||
| 137 | names_already_handled= | ||
| 138 | @@ -197,27 +218,53 @@ | ||
| 139 | found_la= | ||
| 140 | found_so= | ||
| 141 | found_a= | ||
| 142 | + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name | ||
| 143 | + if test -n "$acl_shlibext"; then | ||
| 144 | + shrext=".$acl_shlibext" # typically: shrext=.so | ||
| 145 | + else | ||
| 146 | + shrext= | ||
| 147 | + fi | ||
| 148 | if test $use_additional = yes; then | ||
| 149 | - if test -n "$shlibext" \ | ||
| 150 | - && { test -f "$additional_libdir/lib$name.$shlibext" \ | ||
| 151 | - || { test "$shlibext" = dll \ | ||
| 152 | - && test -f "$additional_libdir/lib$name.dll.a"; }; }; then | ||
| 153 | - found_dir="$additional_libdir" | ||
| 154 | - if test -f "$additional_libdir/lib$name.$shlibext"; then | ||
| 155 | - found_so="$additional_libdir/lib$name.$shlibext" | ||
| 156 | + dir="$additional_libdir" | ||
| 157 | + dnl The same code as in the loop below: | ||
| 158 | + dnl First look for a shared library. | ||
| 159 | + if test -n "$acl_shlibext"; then | ||
| 160 | + if test -f "$dir/$libname$shrext"; then | ||
| 161 | + found_dir="$dir" | ||
| 162 | + found_so="$dir/$libname$shrext" | ||
| 163 | else | ||
| 164 | - found_so="$additional_libdir/lib$name.dll.a" | ||
| 165 | + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then | ||
| 166 | + ver=`(cd "$dir" && \ | ||
| 167 | + for f in "$libname$shrext".*; do echo "$f"; done \ | ||
| 168 | + | sed -e "s,^$libname$shrext\\\\.,," \ | ||
| 169 | + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | ||
| 170 | + | sed 1q ) 2>/dev/null` | ||
| 171 | + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then | ||
| 172 | + found_dir="$dir" | ||
| 173 | + found_so="$dir/$libname$shrext.$ver" | ||
| 174 | + fi | ||
| 175 | + else | ||
| 176 | + eval library_names=\"$acl_library_names_spec\" | ||
| 177 | + for f in $library_names; do | ||
| 178 | + if test -f "$dir/$f"; then | ||
| 179 | + found_dir="$dir" | ||
| 180 | + found_so="$dir/$f" | ||
| 181 | + break | ||
| 182 | + fi | ||
| 183 | + done | ||
| 184 | + fi | ||
| 185 | fi | ||
| 186 | - if test -f "$additional_libdir/lib$name.la"; then | ||
| 187 | - found_la="$additional_libdir/lib$name.la" | ||
| 188 | + fi | ||
| 189 | + dnl Then look for a static library. | ||
| 190 | + if test "X$found_dir" = "X"; then | ||
| 191 | + if test -f "$dir/$libname.$acl_libext"; then | ||
| 192 | + found_dir="$dir" | ||
| 193 | + found_a="$dir/$libname.$acl_libext" | ||
| 194 | fi | ||
| 195 | - else | ||
| 196 | - if test -f "$additional_libdir/lib$name.$libext"; then | ||
| 197 | - found_dir="$additional_libdir" | ||
| 198 | - found_a="$additional_libdir/lib$name.$libext" | ||
| 199 | - if test -f "$additional_libdir/lib$name.la"; then | ||
| 200 | - found_la="$additional_libdir/lib$name.la" | ||
| 201 | - fi | ||
| 202 | + fi | ||
| 203 | + if test "X$found_dir" != "X"; then | ||
| 204 | + if test -f "$dir/$libname.la"; then | ||
| 205 | + found_la="$dir/$libname.la" | ||
| 206 | fi | ||
| 207 | fi | ||
| 208 | fi | ||
| 209 | @@ -227,26 +274,44 @@ | ||
| 210 | case "$x" in | ||
| 211 | -L*) | ||
| 212 | dir=`echo "X$x" | sed -e 's/^X-L//'` | ||
| 213 | - if test -n "$shlibext" \ | ||
| 214 | - && { test -f "$dir/lib$name.$shlibext" \ | ||
| 215 | - || { test "$shlibext" = dll \ | ||
| 216 | - && test -f "$dir/lib$name.dll.a"; }; }; then | ||
| 217 | - found_dir="$dir" | ||
| 218 | - if test -f "$dir/lib$name.$shlibext"; then | ||
| 219 | - found_so="$dir/lib$name.$shlibext" | ||
| 220 | + dnl First look for a shared library. | ||
| 221 | + if test -n "$acl_shlibext"; then | ||
| 222 | + if test -f "$dir/$libname$shrext"; then | ||
| 223 | + found_dir="$dir" | ||
| 224 | + found_so="$dir/$libname$shrext" | ||
| 225 | else | ||
| 226 | - found_so="$dir/lib$name.dll.a" | ||
| 227 | - fi | ||
| 228 | - if test -f "$dir/lib$name.la"; then | ||
| 229 | - found_la="$dir/lib$name.la" | ||
| 230 | + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then | ||
| 231 | + ver=`(cd "$dir" && \ | ||
| 232 | + for f in "$libname$shrext".*; do echo "$f"; done \ | ||
| 233 | + | sed -e "s,^$libname$shrext\\\\.,," \ | ||
| 234 | + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | ||
| 235 | + | sed 1q ) 2>/dev/null` | ||
| 236 | + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then | ||
| 237 | + found_dir="$dir" | ||
| 238 | + found_so="$dir/$libname$shrext.$ver" | ||
| 239 | + fi | ||
| 240 | + else | ||
| 241 | + eval library_names=\"$acl_library_names_spec\" | ||
| 242 | + for f in $library_names; do | ||
| 243 | + if test -f "$dir/$f"; then | ||
| 244 | + found_dir="$dir" | ||
| 245 | + found_so="$dir/$f" | ||
| 246 | + break | ||
| 247 | + fi | ||
| 248 | + done | ||
| 249 | + fi | ||
| 250 | fi | ||
| 251 | - else | ||
| 252 | - if test -f "$dir/lib$name.$libext"; then | ||
| 253 | + fi | ||
| 254 | + dnl Then look for a static library. | ||
| 255 | + if test "X$found_dir" = "X"; then | ||
| 256 | + if test -f "$dir/$libname.$acl_libext"; then | ||
| 257 | found_dir="$dir" | ||
| 258 | - found_a="$dir/lib$name.$libext" | ||
| 259 | - if test -f "$dir/lib$name.la"; then | ||
| 260 | - found_la="$dir/lib$name.la" | ||
| 261 | - fi | ||
| 262 | + found_a="$dir/$libname.$acl_libext" | ||
| 263 | + fi | ||
| 264 | + fi | ||
| 265 | + if test "X$found_dir" != "X"; then | ||
| 266 | + if test -f "$dir/$libname.la"; then | ||
| 267 | + found_la="$dir/$libname.la" | ||
| 268 | fi | ||
| 269 | fi | ||
| 270 | ;; | ||
| 271 | @@ -282,12 +347,12 @@ | ||
| 272 | ltrpathdirs="$ltrpathdirs $found_dir" | ||
| 273 | fi | ||
| 274 | dnl The hardcoding into $LIBNAME is system dependent. | ||
| 275 | - if test "$hardcode_direct" = yes; then | ||
| 276 | + if test "$acl_hardcode_direct" = yes; then | ||
| 277 | dnl Using DIR/libNAME.so during linking hardcodes DIR into the | ||
| 278 | dnl resulting binary. | ||
| 279 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 280 | else | ||
| 281 | - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then | ||
| 282 | + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then | ||
| 283 | dnl Use an explicit option to hardcode DIR into the resulting | ||
| 284 | dnl binary. | ||
| 285 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 286 | @@ -318,13 +383,13 @@ | ||
| 287 | if test -z "$haveit"; then | ||
| 288 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" | ||
| 289 | fi | ||
| 290 | - if test "$hardcode_minus_L" != no; then | ||
| 291 | + if test "$acl_hardcode_minus_L" != no; then | ||
| 292 | dnl FIXME: Not sure whether we should use | ||
| 293 | dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
| 294 | dnl here. | ||
| 295 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 296 | else | ||
| 297 | - dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH | ||
| 298 | + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH | ||
| 299 | dnl here, because this doesn't fit in flags passed to the | ||
| 300 | dnl compiler. So give up. No hardcoding. This affects only | ||
| 301 | dnl very old systems. | ||
| 302 | @@ -512,18 +577,18 @@ | ||
| 303 | done | ||
| 304 | done | ||
| 305 | if test "X$rpathdirs" != "X"; then | ||
| 306 | - if test -n "$hardcode_libdir_separator"; then | ||
| 307 | + if test -n "$acl_hardcode_libdir_separator"; then | ||
| 308 | dnl Weird platform: only the last -rpath option counts, the user must | ||
| 309 | dnl pass all path elements in one option. We can arrange that for a | ||
| 310 | dnl single library, but not when more than one $LIBNAMEs are used. | ||
| 311 | alldirs= | ||
| 312 | for found_dir in $rpathdirs; do | ||
| 313 | - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" | ||
| 314 | + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" | ||
| 315 | done | ||
| 316 | - dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. | ||
| 317 | + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. | ||
| 318 | acl_save_libdir="$libdir" | ||
| 319 | libdir="$alldirs" | ||
| 320 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 321 | + eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
| 322 | libdir="$acl_save_libdir" | ||
| 323 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
| 324 | else | ||
| 325 | @@ -531,7 +596,7 @@ | ||
| 326 | for found_dir in $rpathdirs; do | ||
| 327 | acl_save_libdir="$libdir" | ||
| 328 | libdir="$found_dir" | ||
| 329 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 330 | + eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
| 331 | libdir="$acl_save_libdir" | ||
| 332 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
| 333 | done | ||
| 334 | @@ -642,3 +707,79 @@ | ||
| 335 | fi | ||
| 336 | AC_SUBST([$1]) | ||
| 337 | ]) | ||
| 338 | + | ||
| 339 | +dnl For those cases where a variable contains several -L and -l options | ||
| 340 | +dnl referring to unknown libraries and directories, this macro determines the | ||
| 341 | +dnl necessary additional linker options for the runtime path. | ||
| 342 | +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) | ||
| 343 | +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. | ||
| 344 | +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, | ||
| 345 | +dnl otherwise linking without libtool is assumed. | ||
| 346 | +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | ||
| 347 | +[ | ||
| 348 | + AC_REQUIRE([AC_LIB_RPATH]) | ||
| 349 | + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||
| 350 | + $1= | ||
| 351 | + if test "$enable_rpath" != no; then | ||
| 352 | + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then | ||
| 353 | + dnl Use an explicit option to hardcode directories into the resulting | ||
| 354 | + dnl binary. | ||
| 355 | + rpathdirs= | ||
| 356 | + next= | ||
| 357 | + for opt in $2; do | ||
| 358 | + if test -n "$next"; then | ||
| 359 | + dir="$next" | ||
| 360 | + dnl No need to hardcode the standard /usr/lib. | ||
| 361 | + if test "X$dir" != "X/usr/$acl_libdirstem"; then | ||
| 362 | + rpathdirs="$rpathdirs $dir" | ||
| 363 | + fi | ||
| 364 | + next= | ||
| 365 | + else | ||
| 366 | + case $opt in | ||
| 367 | + -L) next=yes ;; | ||
| 368 | + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` | ||
| 369 | + dnl No need to hardcode the standard /usr/lib. | ||
| 370 | + if test "X$dir" != "X/usr/$acl_libdirstem"; then | ||
| 371 | + rpathdirs="$rpathdirs $dir" | ||
| 372 | + fi | ||
| 373 | + next= ;; | ||
| 374 | + *) next= ;; | ||
| 375 | + esac | ||
| 376 | + fi | ||
| 377 | + done | ||
| 378 | + if test "X$rpathdirs" != "X"; then | ||
| 379 | + if test -n ""$3""; then | ||
| 380 | + dnl libtool is used for linking. Use -R options. | ||
| 381 | + for dir in $rpathdirs; do | ||
| 382 | + $1="${$1}${$1:+ }-R$dir" | ||
| 383 | + done | ||
| 384 | + else | ||
| 385 | + dnl The linker is used for linking directly. | ||
| 386 | + if test -n "$acl_hardcode_libdir_separator"; then | ||
| 387 | + dnl Weird platform: only the last -rpath option counts, the user | ||
| 388 | + dnl must pass all path elements in one option. | ||
| 389 | + alldirs= | ||
| 390 | + for dir in $rpathdirs; do | ||
| 391 | + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" | ||
| 392 | + done | ||
| 393 | + acl_save_libdir="$libdir" | ||
| 394 | + libdir="$alldirs" | ||
| 395 | + eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
| 396 | + libdir="$acl_save_libdir" | ||
| 397 | + $1="$flag" | ||
| 398 | + else | ||
| 399 | + dnl The -rpath options are cumulative. | ||
| 400 | + for dir in $rpathdirs; do | ||
| 401 | + acl_save_libdir="$libdir" | ||
| 402 | + libdir="$dir" | ||
| 403 | + eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
| 404 | + libdir="$acl_save_libdir" | ||
| 405 | + $1="${$1}${$1:+ }$flag" | ||
| 406 | + done | ||
| 407 | + fi | ||
| 408 | + fi | ||
| 409 | + fi | ||
| 410 | + fi | ||
| 411 | + fi | ||
| 412 | + AC_SUBST([$1]) | ||
| 413 | +]) | ||
| 414 | Index: gettext-0.16.1/autoconf-lib-link/config.rpath | ||
| 415 | =================================================================== | ||
| 416 | --- gettext-0.16.1.orig/autoconf-lib-link/config.rpath 2006-11-27 09:01:58.000000000 -0800 | ||
| 417 | +++ gettext-0.16.1/autoconf-lib-link/config.rpath 2011-03-17 00:33:23.336539490 -0700 | ||
| 418 | @@ -2,7 +2,7 @@ | ||
| 419 | # Output a system dependent set of variables, describing how to set the | ||
| 420 | # run time search path of shared libraries in an executable. | ||
| 421 | # | ||
| 422 | -# Copyright 1996-2006 Free Software Foundation, Inc. | ||
| 423 | +# Copyright 1996-2007 Free Software Foundation, Inc. | ||
| 424 | # Taken from GNU libtool, 2001 | ||
| 425 | # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | ||
| 426 | # | ||
| 427 | @@ -47,6 +47,18 @@ | ||
| 428 | done | ||
| 429 | cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` | ||
| 430 | |||
| 431 | +# Code taken from libtool.m4's _LT_CC_BASENAME. | ||
| 432 | + | ||
| 433 | +for cc_temp in $CC""; do | ||
| 434 | + case $cc_temp in | ||
| 435 | + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; | ||
| 436 | + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; | ||
| 437 | + \-*) ;; | ||
| 438 | + *) break;; | ||
| 439 | + esac | ||
| 440 | +done | ||
| 441 | +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` | ||
| 442 | + | ||
| 443 | # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. | ||
| 444 | |||
| 445 | wl= | ||
| 446 | @@ -64,7 +76,14 @@ | ||
| 447 | ;; | ||
| 448 | esac | ||
| 449 | ;; | ||
| 450 | - mingw* | pw32* | os2*) | ||
| 451 | + darwin*) | ||
| 452 | + case $cc_basename in | ||
| 453 | + xlc*) | ||
| 454 | + wl='-Wl,' | ||
| 455 | + ;; | ||
| 456 | + esac | ||
| 457 | + ;; | ||
| 458 | + mingw* | cygwin* | pw32* | os2*) | ||
| 459 | ;; | ||
| 460 | hpux9* | hpux10* | hpux11*) | ||
| 461 | wl='-Wl,' | ||
| 462 | @@ -74,7 +93,7 @@ | ||
| 463 | ;; | ||
| 464 | newsos6) | ||
| 465 | ;; | ||
| 466 | - linux*) | ||
| 467 | + linux* | k*bsd*-gnu) | ||
| 468 | case $cc_basename in | ||
| 469 | icc* | ecc*) | ||
| 470 | wl='-Wl,' | ||
| 471 | @@ -100,7 +119,7 @@ | ||
| 472 | osf3* | osf4* | osf5*) | ||
| 473 | wl='-Wl,' | ||
| 474 | ;; | ||
| 475 | - sco3.2v5*) | ||
| 476 | + rdos*) | ||
| 477 | ;; | ||
| 478 | solaris*) | ||
| 479 | wl='-Wl,' | ||
| 480 | @@ -108,11 +127,14 @@ | ||
| 481 | sunos4*) | ||
| 482 | wl='-Qoption ld ' | ||
| 483 | ;; | ||
| 484 | - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
| 485 | + sysv4 | sysv4.2uw2* | sysv4.3*) | ||
| 486 | wl='-Wl,' | ||
| 487 | ;; | ||
| 488 | sysv4*MP*) | ||
| 489 | ;; | ||
| 490 | + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
| 491 | + wl='-Wl,' | ||
| 492 | + ;; | ||
| 493 | unicos*) | ||
| 494 | wl='-Wl,' | ||
| 495 | ;; | ||
| 496 | @@ -141,6 +163,10 @@ | ||
| 497 | # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
| 498 | with_gnu_ld=yes | ||
| 499 | ;; | ||
| 500 | + interix*) | ||
| 501 | + # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
| 502 | + with_gnu_ld=yes | ||
| 503 | + ;; | ||
| 504 | openbsd*) | ||
| 505 | with_gnu_ld=no | ||
| 506 | ;; | ||
| 507 | @@ -189,11 +215,11 @@ | ||
| 508 | ld_shlibs=no | ||
| 509 | fi | ||
| 510 | ;; | ||
| 511 | - interix3*) | ||
| 512 | + interix[3-9]*) | ||
| 513 | hardcode_direct=no | ||
| 514 | hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
| 515 | ;; | ||
| 516 | - linux*) | ||
| 517 | + gnu* | linux* | k*bsd*-gnu) | ||
| 518 | if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then | ||
| 519 | : | ||
| 520 | else | ||
| 521 | @@ -280,7 +306,7 @@ | ||
| 522 | strings "$collect2name" | grep resolve_lib_name >/dev/null | ||
| 523 | then | ||
| 524 | # We have reworked collect2 | ||
| 525 | - hardcode_direct=yes | ||
| 526 | + : | ||
| 527 | else | ||
| 528 | # We have old collect2 | ||
| 529 | hardcode_direct=unsupported | ||
| 530 | @@ -359,7 +385,7 @@ | ||
| 531 | hardcode_direct=yes | ||
| 532 | hardcode_minus_L=yes | ||
| 533 | ;; | ||
| 534 | - freebsd* | kfreebsd*-gnu | dragonfly*) | ||
| 535 | + freebsd* | dragonfly*) | ||
| 536 | hardcode_libdir_flag_spec='-R$libdir' | ||
| 537 | hardcode_direct=yes | ||
| 538 | ;; | ||
| 539 | @@ -412,18 +438,22 @@ | ||
| 540 | hardcode_libdir_separator=: | ||
| 541 | ;; | ||
| 542 | openbsd*) | ||
| 543 | - hardcode_direct=yes | ||
| 544 | - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
| 545 | - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
| 546 | + if test -f /usr/libexec/ld.so; then | ||
| 547 | + hardcode_direct=yes | ||
| 548 | + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
| 549 | + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
| 550 | + else | ||
| 551 | + case "$host_os" in | ||
| 552 | + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) | ||
| 553 | + hardcode_libdir_flag_spec='-R$libdir' | ||
| 554 | + ;; | ||
| 555 | + *) | ||
| 556 | + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
| 557 | + ;; | ||
| 558 | + esac | ||
| 559 | + fi | ||
| 560 | else | ||
| 561 | - case "$host_os" in | ||
| 562 | - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) | ||
| 563 | - hardcode_libdir_flag_spec='-R$libdir' | ||
| 564 | - ;; | ||
| 565 | - *) | ||
| 566 | - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
| 567 | - ;; | ||
| 568 | - esac | ||
| 569 | + ld_shlibs=no | ||
| 570 | fi | ||
| 571 | ;; | ||
| 572 | os2*) | ||
| 573 | @@ -471,7 +501,7 @@ | ||
| 574 | ld_shlibs=yes | ||
| 575 | fi | ||
| 576 | ;; | ||
| 577 | - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) | ||
| 578 | + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* |sco3.2v5.0.[024]*) | ||
| 579 | ;; | ||
| 580 | sysv5* | sco3.2v5* | sco5v6*) | ||
| 581 | hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' | ||
| 582 | @@ -488,33 +518,51 @@ | ||
| 583 | |||
| 584 | # Check dynamic linker characteristics | ||
| 585 | # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. | ||
| 586 | +# Unlike libtool.m4, here we don't care about _all_ names of the library, but | ||
| 587 | +# only about the one the linker finds when passed -lNAME. This is the last | ||
| 588 | +# element of library_names_spec in libtool.m4, or possibly two of them if the | ||
| 589 | +# linker has special search rules. | ||
| 590 | +library_names_spec= # the last element of library_names_spec in libtool.m4 | ||
| 591 | libname_spec='lib$name' | ||
| 592 | case "$host_os" in | ||
| 593 | aix3*) | ||
| 594 | + library_names_spec='$libname.a' | ||
| 595 | ;; | ||
| 596 | aix4* | aix5*) | ||
| 597 | + library_names_spec='$libname$shrext' | ||
| 598 | ;; | ||
| 599 | amigaos*) | ||
| 600 | + library_names_spec='$libname.a' | ||
| 601 | ;; | ||
| 602 | beos*) | ||
| 603 | + library_names_spec='$libname$shrext' | ||
| 604 | ;; | ||
| 605 | bsdi[45]*) | ||
| 606 | + library_names_spec='$libname$shrext' | ||
| 607 | ;; | ||
| 608 | cygwin* | mingw* | pw32*) | ||
| 609 | shrext=.dll | ||
| 610 | + library_names_spec='$libname.dll.a $libname.lib' | ||
| 611 | ;; | ||
| 612 | darwin* | rhapsody*) | ||
| 613 | shrext=.dylib | ||
| 614 | + library_names_spec='$libname$shrext' | ||
| 615 | ;; | ||
| 616 | dgux*) | ||
| 617 | + library_names_spec='$libname$shrext' | ||
| 618 | ;; | ||
| 619 | freebsd1*) | ||
| 620 | ;; | ||
| 621 | - kfreebsd*-gnu) | ||
| 622 | - ;; | ||
| 623 | freebsd* | dragonfly*) | ||
| 624 | + case "$host_os" in | ||
| 625 | + freebsd[123]*) | ||
| 626 | + library_names_spec='$libname$shrext$versuffix' ;; | ||
| 627 | + *) | ||
| 628 | + library_names_spec='$libname$shrext' ;; | ||
| 629 | + esac | ||
| 630 | ;; | ||
| 631 | gnu*) | ||
| 632 | + library_names_spec='$libname$shrext' | ||
| 633 | ;; | ||
| 634 | hpux9* | hpux10* | hpux11*) | ||
| 635 | case $host_cpu in | ||
| 636 | @@ -528,10 +576,13 @@ | ||
| 637 | shrext=.sl | ||
| 638 | ;; | ||
| 639 | esac | ||
| 640 | + library_names_spec='$libname$shrext' | ||
| 641 | ;; | ||
| 642 | - interix3*) | ||
| 643 | + interix[3-9]*) | ||
| 644 | + library_names_spec='$libname$shrext' | ||
| 645 | ;; | ||
| 646 | irix5* | irix6* | nonstopux*) | ||
| 647 | + library_names_spec='$libname$shrext' | ||
| 648 | case "$host_os" in | ||
| 649 | irix5* | nonstopux*) | ||
| 650 | libsuff= shlibsuff= | ||
| 651 | @@ -548,33 +599,46 @@ | ||
| 652 | ;; | ||
| 653 | linux*oldld* | linux*aout* | linux*coff*) | ||
| 654 | ;; | ||
| 655 | - linux*) | ||
| 656 | + linux* | k*bsd*-gnu) | ||
| 657 | + library_names_spec='$libname$shrext' | ||
| 658 | ;; | ||
| 659 | knetbsd*-gnu) | ||
| 660 | + library_names_spec='$libname$shrext' | ||
| 661 | ;; | ||
| 662 | netbsd*) | ||
| 663 | + library_names_spec='$libname$shrext' | ||
| 664 | ;; | ||
| 665 | newsos6) | ||
| 666 | + library_names_spec='$libname$shrext' | ||
| 667 | ;; | ||
| 668 | nto-qnx*) | ||
| 669 | + library_names_spec='$libname$shrext' | ||
| 670 | ;; | ||
| 671 | openbsd*) | ||
| 672 | + library_names_spec='$libname$shrext$versuffix' | ||
| 673 | ;; | ||
| 674 | os2*) | ||
| 675 | libname_spec='$name' | ||
| 676 | shrext=.dll | ||
| 677 | + library_names_spec='$libname.a' | ||
| 678 | ;; | ||
| 679 | osf3* | osf4* | osf5*) | ||
| 680 | + library_names_spec='$libname$shrext' | ||
| 681 | ;; | ||
| 682 | solaris*) | ||
| 683 | + library_names_spec='$libname$shrext' | ||
| 684 | ;; | ||
| 685 | sunos4*) | ||
| 686 | + library_names_spec='$libname$shrext$versuffix' | ||
| 687 | ;; | ||
| 688 | sysv4 | sysv4.3*) | ||
| 689 | + library_names_spec='$libname$shrext' | ||
| 690 | ;; | ||
| 691 | sysv4*MP*) | ||
| 692 | + library_names_spec='$libname$shrext' | ||
| 693 | ;; | ||
| 694 | sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
| 695 | + library_names_spec='$libname$shrext' | ||
| 696 | ;; | ||
| 697 | uts4*) | ||
| 698 | ;; | ||
| 699 | @@ -583,6 +647,8 @@ | ||
| 700 | sed_quote_subst='s/\(["`$\\]\)/\\\1/g' | ||
| 701 | escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` | ||
| 702 | shlibext=`echo "$shrext" | sed -e 's,^\.,,'` | ||
| 703 | +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` | ||
| 704 | +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` | ||
| 705 | escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` | ||
| 706 | |||
| 707 | LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF | ||
| 708 | @@ -596,6 +662,12 @@ | ||
| 709 | # Shared library suffix (normally "so"). | ||
| 710 | shlibext="$shlibext" | ||
| 711 | |||
| 712 | +# Format of library name prefix. | ||
| 713 | +libname_spec="$escaped_libname_spec" | ||
| 714 | + | ||
| 715 | +# Library names that the linker finds when passed -lNAME. | ||
| 716 | +library_names_spec="$escaped_library_names_spec" | ||
| 717 | + | ||
| 718 | # Flag to hardcode \$libdir into a binary during linking. | ||
| 719 | # This must work even if \$libdir does not exist. | ||
| 720 | 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 @@ | |||
| 1 | SUMMARY = "Utilities and libraries for producing multi-lingual messages" | ||
| 2 | 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." | ||
| 3 | HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html" | ||
| 4 | SECTION = "libs" | ||
| 5 | LICENSE = "GPLv2" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ea3144f04c41cd2eada5d3f472e6ea5" | ||
| 7 | |||
| 8 | PR = "r6" | ||
| 9 | DEPENDS = "virtual/libiconv" | ||
| 10 | DEPENDS_class-native = "" | ||
| 11 | PROVIDES = "virtual/libintl virtual/gettext" | ||
| 12 | PROVIDES_class-native = "virtual/gettext-native" | ||
| 13 | |||
| 14 | SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ | ||
| 15 | file://gettext-vpath.patch \ | ||
| 16 | file://linklib_from_0.17.patch \ | ||
| 17 | file://gettext-autoconf-lib-link-no-L.patch \ | ||
| 18 | file://disable_java.patch \ | ||
| 19 | file://fix_aclocal_version.patch \ | ||
| 20 | file://fix_gnu_source_circular.patch \ | ||
| 21 | file://hardcode_macro_version.patch \ | ||
| 22 | " | ||
| 23 | |||
| 24 | SRC_URI[md5sum] = "3d9ad24301c6d6b17ec30704a13fe127" | ||
| 25 | SRC_URI[sha256sum] = "0bf850d1a079fb5a61f0a47b1a9efd35eb44032255375e1cedb0253bc27b376d" | ||
| 26 | |||
| 27 | PARALLEL_MAKE = "" | ||
| 28 | |||
| 29 | LDFLAGS_prepend_libc-uclibc = " -lrt -lpthread " | ||
| 30 | |||
| 31 | inherit autotools texinfo | ||
| 32 | |||
| 33 | EXTRA_OECONF += "--without-lispdir \ | ||
| 34 | --disable-csharp \ | ||
| 35 | --disable-libasprintf \ | ||
| 36 | --disable-java \ | ||
| 37 | --disable-native-java \ | ||
| 38 | --disable-openmp \ | ||
| 39 | --without-emacs \ | ||
| 40 | " | ||
| 41 | EXTRA_OECONF_append_libc-musl = "\ | ||
| 42 | gt_cv_func_gnugettext1_libc=yes \ | ||
| 43 | gt_cv_func_gnugettext2_libc=yes \ | ||
| 44 | " | ||
| 45 | |||
| 46 | acpaths = '-I ${S}/autoconf-lib-link/m4/ \ | ||
| 47 | -I ${S}/gettext-runtime/m4 \ | ||
| 48 | -I ${S}/gettext-tools/m4' | ||
| 49 | |||
| 50 | do_configure_prepend() { | ||
| 51 | rm -f ${S}/config/m4/libtool.m4 | ||
| 52 | } | ||
| 53 | |||
| 54 | do_install_append_libc-musl () { | ||
| 55 | rm -f ${D}${libdir}/charset.alias | ||
| 56 | } | ||
| 57 | |||
| 58 | # these lack the .x behind the .so, but shouldn't be in the -dev package | ||
| 59 | # Otherwise you get the following results: | ||
| 60 | # 7.4M glibc/images/ep93xx/Angstrom-console-image-glibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz | ||
| 61 | # 25M uclibc/images/ep93xx/Angstrom-console-image-uclibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz | ||
| 62 | # because gettext depends on gettext-dev, which pulls in more -dev packages: | ||
| 63 | # 15228 KiB /ep93xx/libstdc++-dev_4.2.2-r2_ep93xx.ipk | ||
| 64 | # 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk | ||
| 65 | # 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk | ||
| 66 | # 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk | ||
| 67 | |||
| 68 | PACKAGES =+ "libgettextlib libgettextsrc" | ||
| 69 | FILES_libgettextlib = "${libdir}/libgettextlib-*.so*" | ||
| 70 | FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*" | ||
| 71 | |||
| 72 | PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-staticdev gettext-runtime-doc" | ||
| 73 | |||
| 74 | FILES_${PN} += "${libdir}/${BPN}/*" | ||
| 75 | |||
| 76 | FILES_gettext-runtime = "${bindir}/gettext \ | ||
| 77 | ${bindir}/ngettext \ | ||
| 78 | ${bindir}/envsubst \ | ||
| 79 | ${bindir}/gettext.sh \ | ||
| 80 | ${libdir}/libasprintf${SODEV} \ | ||
| 81 | ${libdir}/GNU.Gettext.dll \ | ||
| 82 | " | ||
| 83 | FILES_gettext-runtime_append_libc-uclibc = " ${libdir}/libintl.so.* \ | ||
| 84 | ${libdir}/charset.alias \ | ||
| 85 | " | ||
| 86 | FILES_gettext-runtime-staticdev += "${libdir}/libasprintf.a" | ||
| 87 | FILES_gettext-runtime-dev += "${includedir}/autosprintf.h \ | ||
| 88 | ${libdir}/libasprintf${SOLIBDEV}" | ||
| 89 | FILES_gettext-runtime-dev_append_libc-uclibc = " ${libdir}/libintl.so \ | ||
| 90 | ${includedir}/libintl.h \ | ||
| 91 | " | ||
| 92 | FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \ | ||
| 93 | ${mandir}/man1/ngettext.* \ | ||
| 94 | ${mandir}/man1/envsubst.* \ | ||
| 95 | ${mandir}/man1/.* \ | ||
| 96 | ${mandir}/man3/* \ | ||
| 97 | ${docdir}/gettext/gettext.* \ | ||
| 98 | ${docdir}/gettext/ngettext.* \ | ||
| 99 | ${docdir}/gettext/envsubst.* \ | ||
| 100 | ${docdir}/gettext/*.3.html \ | ||
| 101 | ${datadir}/gettext/ABOUT-NLS \ | ||
| 102 | ${docdir}/gettext/csharpdoc/* \ | ||
| 103 | ${docdir}/libasprintf/autosprintf.html \ | ||
| 104 | ${infodir}/autosprintf.info \ | ||
| 105 | " | ||
| 106 | |||
| 107 | do_install_append() { | ||
| 108 | rm -f ${D}${libdir}/preloadable_libintl.so | ||
| 109 | } | ||
| 110 | |||
| 111 | do_install_append_class-native () { | ||
| 112 | rm ${D}${datadir}/aclocal/* | ||
| 113 | rm ${D}${datadir}/gettext/config.rpath | ||
| 114 | rm ${D}${datadir}/gettext/po/Makefile.in.in | ||
| 115 | rm ${D}${datadir}/gettext/po/remove-potcdate.sin | ||
| 116 | } | ||
| 117 | |||
| 118 | # Anyone inheriting gettext will have both gettext-native and gettext | ||
| 119 | # available, and we don't want to use older macros from the target gettext in | ||
| 120 | # a non-gplv3 build, so kill them and let dependent recipes rely on | ||
| 121 | # gettext-native. | ||
| 122 | SYSROOT_DIRS_BLACKLIST += "${datadir}/aclocal" | ||
| 123 | |||
| 124 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Without this it fails to link against libtermcap causing various missing symbols | ||
| 4 | issues. | ||
| 5 | |||
| 6 | RP - 8/10/08 | ||
| 7 | |||
| 8 | Index: readline-5.2/configure.in | ||
| 9 | =================================================================== | ||
| 10 | --- readline-5.2.orig/configure.in 2008-10-08 09:58:52.000000000 +0100 | ||
| 11 | +++ readline-5.2/configure.in 2008-10-08 09:59:03.000000000 +0100 | ||
| 12 | @@ -211,10 +211,10 @@ | ||
| 13 | AC_MSG_CHECKING(configuration for building shared libraries) | ||
| 14 | eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}` | ||
| 15 | |||
| 16 | -# case "$SHLIB_LIBS" in | ||
| 17 | -# *curses*|*termcap*|*termlib*) ;; | ||
| 18 | -# *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; | ||
| 19 | -# esac | ||
| 20 | + case "$SHLIB_LIBS" in | ||
| 21 | + *curses*|*termcap*|*termlib*) ;; | ||
| 22 | + *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; | ||
| 23 | + esac | ||
| 24 | |||
| 25 | AC_SUBST(SHOBJ_CC) | ||
| 26 | 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 @@ | |||
| 1 | This support script ends up hardcoding unnecessary rpaths into the libraries. We | ||
| 2 | will search $libdir automatically so this is just wastes space. There may be some | ||
| 3 | cases this is necessary but our use cases aren't one of them. | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate | ||
| 6 | |||
| 7 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 8 | |||
| 9 | Index: readline-5.2/support/shobj-conf | ||
| 10 | =================================================================== | ||
| 11 | --- readline-5.2.orig/support/shobj-conf | ||
| 12 | +++ readline-5.2/support/shobj-conf | ||
| 13 | @@ -110,7 +110,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*) | ||
| 14 | SHOBJ_LD='${CC}' | ||
| 15 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | ||
| 16 | |||
| 17 | - SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' | ||
| 18 | + SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`' | ||
| 19 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | ||
| 20 | ;; | ||
| 21 | |||
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 @@ | |||
| 1 | SUMMARY = "Library for editing typed command lines" | ||
| 2 | DESCRIPTION = "The GNU Readline library provides a set of functions for use by applications that allow users to edit \ | ||
| 3 | command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes \ | ||
| 4 | additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \ | ||
| 5 | lines, and perform csh-like history expansion on previous commands." | ||
| 6 | SECTION = "libs" | ||
| 7 | |||
| 8 | LICENSE = "GPLv2+" | ||
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=03b36fdd84f74b8d8189a202b980b67f" | ||
| 10 | |||
| 11 | DEPENDS += "ncurses" | ||
| 12 | |||
| 13 | PR = "r9" | ||
| 14 | |||
| 15 | SRC_URI = "${GNU_MIRROR}/readline/${BPN}-${PV}.tar.gz;name=archive \ | ||
| 16 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-001;name=patch1;apply=yes;striplevel=0 \ | ||
| 17 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-002;name=patch2;apply=yes;striplevel=0 \ | ||
| 18 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-003;name=patch3;apply=yes;striplevel=0 \ | ||
| 19 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-004;name=patch4;apply=yes;striplevel=0 \ | ||
| 20 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-005;name=patch5;apply=yes;striplevel=0 \ | ||
| 21 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-006;name=patch6;apply=yes;striplevel=0 \ | ||
| 22 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-007;name=patch7;apply=yes;striplevel=0 \ | ||
| 23 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-008;name=patch8;apply=yes;striplevel=0 \ | ||
| 24 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-009;name=patch9;apply=yes;striplevel=0 \ | ||
| 25 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-010;name=patch10;apply=yes;striplevel=0 \ | ||
| 26 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-011;name=patch11;apply=yes;striplevel=0 \ | ||
| 27 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-012;name=patch12;apply=yes;striplevel=0 \ | ||
| 28 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-013;name=patch13;apply=yes;striplevel=0 \ | ||
| 29 | ${GNU_MIRROR}/readline/readline-5.2-patches/readline52-014;name=patch14;apply=yes;striplevel=0 \ | ||
| 30 | file://configure-fix.patch \ | ||
| 31 | file://config-dirent-symbols.patch \ | ||
| 32 | file://fix-redundant-rpath.patch" | ||
| 33 | |||
| 34 | SRC_URI[archive.md5sum] = "e39331f32ad14009b9ff49cc10c5e751" | ||
| 35 | SRC_URI[archive.sha256sum] = "12e88d96aee2cd1192500356f0535540db499282ca7f76339fb4228c31249f45" | ||
| 36 | |||
| 37 | SRC_URI[patch1.md5sum] = "9d4d41622aa9b230c57f68548ce87d8f" | ||
| 38 | SRC_URI[patch1.sha256sum] = "eac304c369154059f93049ada328739faaf40338d3cb1fb4b544c93d5ce3f8d5" | ||
| 39 | SRC_URI[patch2.md5sum] = "f03e512d14206e37f7d6a748b56b9476" | ||
| 40 | SRC_URI[patch2.sha256sum] = "9deacaef25507a0c2ae0b661bf9342559b59a2954d66ea3c5f5bcd900fdfcf78" | ||
| 41 | SRC_URI[patch3.md5sum] = "252b42d8750f1a94b6bdf086612dceb2" | ||
| 42 | SRC_URI[patch3.sha256sum] = "2a55d2ecb1c9b0147aeb193a6323616ab31c1c525a83b2db3a994b15594ba934" | ||
| 43 | SRC_URI[patch4.md5sum] = "a32333c2e603a3ed250514e91050e552" | ||
| 44 | SRC_URI[patch4.sha256sum] = "a03b65633781efa7c3aae5d57162985e7b7a3c10acf0f2621be610e16f27e5f2" | ||
| 45 | SRC_URI[patch5.md5sum] = "8106796c09b789523a3a78ab69c04b6d" | ||
| 46 | SRC_URI[patch5.sha256sum] = "06001896514148a757ea6edbbd40c4fc4331dc653847244386c37b138b150f64" | ||
| 47 | SRC_URI[patch6.md5sum] = "512188e2bf0837f7eca19dbf71f182ae" | ||
| 48 | SRC_URI[patch6.sha256sum] = "dfef3e982c0adf8bb5a9b7d0468ec8f5f18138b325e28759437464de5be71013" | ||
| 49 | SRC_URI[patch7.md5sum] = "ac17aca62eb6fb398c9f2fe9de540aff" | ||
| 50 | SRC_URI[patch7.sha256sum] = "775b028c7b761397ac6ae1bdfbac7e896dc3b9b3adc2f91312499180ca13bdd1" | ||
| 51 | SRC_URI[patch8.md5sum] = "2484c392db021905f112cf97a94dfd4c" | ||
| 52 | SRC_URI[patch8.sha256sum] = "a21b4e0bf0530b878bad24d5be23d18a9e03a75a31ae30844dc0933bb3d77ecd" | ||
| 53 | SRC_URI[patch9.md5sum] = "fc6eb35d07914fae5c57d49c12483ff7" | ||
| 54 | SRC_URI[patch9.sha256sum] = "138d5e0f0709a47a2d1621295a3dd5e3cc73b63b5cc28dab03abc4e94fe95ecf" | ||
| 55 | SRC_URI[patch10.md5sum] = "7a2bf3dc7ac7680b1461a5701100e91b" | ||
| 56 | SRC_URI[patch10.sha256sum] = "83f8c1aadb86b1a2fad8821a9c6be72a8de5afd7fd9fde58a30b3b57d939693e" | ||
| 57 | SRC_URI[patch11.md5sum] = "ef6cef6822663470f6ac8c517c5a7ec6" | ||
| 58 | SRC_URI[patch11.sha256sum] = "08ad3384ab0906e6fa4cc417eb8c43ff59375bcead15fd5c8e31730f0413b3d6" | ||
| 59 | SRC_URI[patch12.md5sum] = "e3e9f441c8111589855bc363e5640f6c" | ||
| 60 | SRC_URI[patch12.sha256sum] = "20f0243be2299c23213492cc2c19cfd15cc528d2b566a76a2de58306bb9e4c9e" | ||
| 61 | SRC_URI[patch13.md5sum] = "3e2e5f543ed268a68fd1fa839faade1a" | ||
| 62 | SRC_URI[patch13.sha256sum] = "0cc649516a5bdfa61c5e56937407570288b6972d75aa1bd060ad30ebe98144d5" | ||
| 63 | SRC_URI[patch14.md5sum] = "a1be30e1c6f1099bb5fcef00a2631fb8" | ||
| 64 | SRC_URI[patch14.sha256sum] = "6f1a68320d01522ca1ea5a737124ecc8739f3dcbfea2dee21e3ccf839a21a817" | ||
| 65 | |||
| 66 | inherit autotools | ||
| 67 | |||
| 68 | EXTRA_AUTORECONF += "--exclude=autoheader" | ||
| 69 | |||
| 70 | LEAD_SONAME = "libreadline.so" | ||
| 71 | |||
| 72 | do_configure_prepend () { | ||
| 73 | if [ ! -e ${S}/acinclude.m4 ]; then | ||
| 74 | cat ${S}/aclocal.m4 > ${S}/acinclude.m4 | ||
| 75 | fi | ||
| 76 | } | ||
| 77 | |||
| 78 | do_install_append () { | ||
| 79 | # Make install doesn't properly install these | ||
| 80 | oe_libinstall -so -C shlib libhistory ${D}${libdir} | ||
| 81 | oe_libinstall -so -C shlib libreadline ${D}${libdir} | ||
| 82 | } | ||
| 83 | |||
| 84 | 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 @@ | |||
| 1 | SUMMARY = "GNU Project parser generator (yacc replacement)" | ||
| 2 | DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ | ||
| 3 | an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ | ||
| 4 | grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ | ||
| 5 | little trouble." | ||
| 6 | HOMEPAGE = "http://www.gnu.org/software/bison/" | ||
| 7 | LICENSE = "GPLv2" | ||
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | ||
| 9 | SECTION = "devel" | ||
| 10 | DEPENDS = "bison-native flex-native" | ||
| 11 | |||
| 12 | PR = "r1" | ||
| 13 | |||
| 14 | SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \ | ||
| 15 | file://bison-2.3_m4.patch" | ||
| 16 | |||
| 17 | SRC_URI[md5sum] = "22327efdd5080e2b1acb6e560a04b43a" | ||
| 18 | SRC_URI[sha256sum] = "52f78aa4761a74ceb7fdf770f3554dd84308c3b93c4255e3a5c17558ecda293e" | ||
| 19 | |||
| 20 | inherit autotools gettext texinfo | ||
| 21 | acpaths = "-I ${S}/m4" | ||
| 22 | |||
| 23 | do_configure_prepend () { | ||
| 24 | rm -f ${S}/m4/*gl.m4 | ||
| 25 | cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/runtime-po/ | ||
| 26 | } | ||
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 @@ | |||
| 1 | From b7c42c6a9829bea911b22201edd7df2a9bec1a14 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 13 Apr 2015 17:52:34 -0700 | ||
| 4 | Subject: [PATCH] Include fcntl.h for getting loff_t definition | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | --- | ||
| 10 | dosfsck/dosfsck.h | 2 ++ | ||
| 11 | dosfsck/lfn.c | 1 + | ||
| 12 | 2 files changed, 3 insertions(+) | ||
| 13 | |||
| 14 | diff --git a/dosfsck/dosfsck.h b/dosfsck/dosfsck.h | ||
| 15 | index d9314b1..2076d5f 100644 | ||
| 16 | --- a/dosfsck/dosfsck.h | ||
| 17 | +++ b/dosfsck/dosfsck.h | ||
| 18 | @@ -50,6 +50,8 @@ | ||
| 19 | #define CT_LE_L(v) (v) | ||
| 20 | #endif /* __BIG_ENDIAN */ | ||
| 21 | |||
| 22 | +#include <fcntl.h> | ||
| 23 | + | ||
| 24 | #define VFAT_LN_ATTR (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME) | ||
| 25 | |||
| 26 | /* ++roman: Use own definition of boot sector structure -- the kernel headers' | ||
| 27 | diff --git a/dosfsck/lfn.c b/dosfsck/lfn.c | ||
| 28 | index 9b2cfc3..bb04fda 100644 | ||
| 29 | --- a/dosfsck/lfn.c | ||
| 30 | +++ b/dosfsck/lfn.c | ||
| 31 | @@ -7,6 +7,7 @@ | ||
| 32 | #include <string.h> | ||
| 33 | #include <limits.h> | ||
| 34 | #include <time.h> | ||
| 35 | +#include <fcntl.h> | ||
| 36 | |||
| 37 | #include "common.h" | ||
| 38 | #include "io.h" | ||
| 39 | -- | ||
| 40 | 2.1.4 | ||
| 41 | |||
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 @@ | |||
| 1 | The problem is that unsigned char[2] is | ||
| 2 | guranteed to be 8Bit aligned on arm | ||
| 3 | but unsigned short is/needs to be 16bit aligned | ||
| 4 | the union { unsigned short; unsigned char[2] } trick | ||
| 5 | didn't work so no we use the alpha hack. | ||
| 6 | |||
| 7 | memcpy into an 16bit aligned | ||
| 8 | |||
| 9 | -zecke | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [licensing] | ||
| 12 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 13 | |||
| 14 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 15 | |||
| 16 | --- dosfstools/dosfsck/boot.c.orig 2003-05-15 19:32:23.000000000 +0200 | ||
| 17 | +++ dosfstools/dosfsck/boot.c 2003-06-13 17:44:25.000000000 +0200 | ||
| 18 | @@ -36,17 +36,15 @@ | ||
| 19 | { 0xff, "5.25\" 320k floppy 2s/40tr/8sec" }, | ||
| 20 | }; | ||
| 21 | |||
| 22 | -#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__ | ||
| 23 | + | ||
| 24 | /* Unaligned fields must first be copied byte-wise */ | ||
| 25 | #define GET_UNALIGNED_W(f) \ | ||
| 26 | ({ \ | ||
| 27 | unsigned short __v; \ | ||
| 28 | memcpy( &__v, &f, sizeof(__v) ); \ | ||
| 29 | - CF_LE_W( *(unsigned short *)&f ); \ | ||
| 30 | + CF_LE_W( *(unsigned short *)&__v ); \ | ||
| 31 | }) | ||
| 32 | -#else | ||
| 33 | -#define GET_UNALIGNED_W(f) CF_LE_W( *(unsigned short *)&f ) | ||
| 34 | -#endif | ||
| 35 | + | ||
| 36 | |||
| 37 | |||
| 38 | 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 @@ | |||
| 1 | Ensure the __s8 type is properly defined. | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [licensing] | ||
| 4 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 5 | |||
| 6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 7 | |||
| 8 | --- dosfstools-2.10/dosfsck/dosfsck.h.org 2006-02-21 08:36:14.000000000 -0700 | ||
| 9 | +++ dosfstools-2.10/dosfsck/dosfsck.h 2006-02-21 08:40:12.000000000 -0700 | ||
| 10 | @@ -22,6 +22,14 @@ | ||
| 11 | #undef __KERNEL__ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | +#ifndef __s8 | ||
| 15 | +#include <asm/types.h> | ||
| 16 | +#endif | ||
| 17 | + | ||
| 18 | +#ifndef __ASM_STUB_BYTEORDER_H__ | ||
| 19 | +#include <asm/byteorder.h> | ||
| 20 | +#endif | ||
| 21 | + | ||
| 22 | #include <linux/msdos_fs.h> | ||
| 23 | |||
| 24 | /* 2.1 kernels use le16_to_cpu() type functions for CF_LE_W & Co., but don't | ||
| 25 | --- dosfstools-2.10/dosfsck/file.c.org 2006-02-21 08:37:36.000000000 -0700 | ||
| 26 | +++ dosfstools-2.10/dosfsck/file.c 2006-02-21 08:37:47.000000000 -0700 | ||
| 27 | @@ -23,6 +23,10 @@ | ||
| 28 | #undef __KERNEL__ | ||
| 29 | #endif | ||
| 30 | |||
| 31 | +#ifndef __s8 | ||
| 32 | +#include <asm/types.h> | ||
| 33 | +#endif | ||
| 34 | + | ||
| 35 | #include <linux/msdos_fs.h> | ||
| 36 | |||
| 37 | #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 @@ | |||
| 1 | Upstream-Status: Inappropriate | ||
| 2 | |||
| 3 | This patch fixes populated dosfs image creation with directory | ||
| 4 | structures. Earlier it was causing segfault; and only image | ||
| 5 | population with no subdirectories was working. | ||
| 6 | |||
| 7 | Issues fixed: | ||
| 8 | 1. (dir->count == dir->entries) check was only needed for root | ||
| 9 | directory entries. And this check is wrong for non-root | ||
| 10 | directories. | ||
| 11 | 2. For each dir entry 2 dir->table entries were needed, one for | ||
| 12 | the file/dir and 2nd for long file name support. Earlier long | ||
| 13 | name support was added for filenames but the 2nd entry | ||
| 14 | allocation, initialization & counting was missed. | ||
| 15 | 3. The memory clearing was missed at the code path after dir->table | ||
| 16 | memroy allocation. | ||
| 17 | 4. Add entries for . & .. directories in all non-root directories. | ||
| 18 | 5. The . directory points to the correct entry in fat now. | ||
| 19 | 6. All directoriy entries' size was not zero as required for dosfsck, | ||
| 20 | Now all directory entries' size is zero. | ||
| 21 | |||
| 22 | Enhancements: | ||
| 23 | 1. Added support for long names for directory names. This is same | ||
| 24 | as the existing long name support for filenames. | ||
| 25 | 2. Added error messages for previously silent memory allocation and | ||
| 26 | other errors. | ||
| 27 | 3. -d options does not work correctly with fat32, so now throwing | ||
| 28 | an error for that. | ||
| 29 | 4. Use predefined structures from kernel's msdos_fs.h file, rather | ||
| 30 | than defining again here. And accordingly change the names & use | ||
| 31 | of structure variables. | ||
| 32 | |||
| 33 | Outstanding Issues: | ||
| 34 | 1. The .. directory entry do not point to the parent of current | ||
| 35 | directory. This issue can be fixed by running dosfsck -a after | ||
| 36 | image creation. | ||
| 37 | 2. For files the filesize is correct, but the clusters size is more | ||
| 38 | than it needs to be, this also can be fixed by running dosfsck -a | ||
| 39 | after image creation. | ||
| 40 | |||
| 41 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 42 | 2011/12/13 | ||
| 43 | |||
| 44 | |||
| 45 | Index: dosfstools-2.11/mkdosfs/mkdosfs.c | ||
| 46 | =================================================================== | ||
| 47 | --- dosfstools-2.11.orig/mkdosfs/mkdosfs.c | ||
| 48 | +++ dosfstools-2.11/mkdosfs/mkdosfs.c | ||
| 49 | @@ -21,7 +21,17 @@ | ||
| 50 | June 2004 - Jordan Crouse (info.linux@amd.com) | ||
| 51 | Added -d <directory> support to populate the image | ||
| 52 | Copyright (C) 2004, Advanced Micro Devices, All Rights Reserved | ||
| 53 | - | ||
| 54 | + | ||
| 55 | + 2011-12-13: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 56 | + Enhanced the -d <directory> support for population of image while | ||
| 57 | + creation. Earlier subdirectores support was broken, only files in | ||
| 58 | + the rootdir were supported. Now directory hirarchy is supported. | ||
| 59 | + Also added long filename support to directory names. | ||
| 60 | + The -d <directory> option (image population while creation) | ||
| 61 | + is broken with fat32. | ||
| 62 | + Copyright (C) 2011, Intel Corporation, All Rights Reserved | ||
| 63 | + | ||
| 64 | + | ||
| 65 | Fixes/additions May 1998 by Roman Hodek | ||
| 66 | <Roman.Hodek@informatik.uni-erlangen.de>: | ||
| 67 | - Atari format support | ||
| 68 | @@ -86,23 +96,23 @@ | ||
| 69 | # undef __KERNEL__ | ||
| 70 | #endif | ||
| 71 | |||
| 72 | -#if __BYTE_ORDER == __BIG_ENDIAN | ||
| 73 | - | ||
| 74 | +#ifndef __ASM_STUB_BYTEORDER_H__ | ||
| 75 | #include <asm/byteorder.h> | ||
| 76 | -#ifdef __le16_to_cpu | ||
| 77 | -/* ++roman: 2.1 kernel headers define these function, they're probably more | ||
| 78 | - * efficient then coding the swaps machine-independently. */ | ||
| 79 | -#define CF_LE_W __le16_to_cpu | ||
| 80 | -#define CF_LE_L __le32_to_cpu | ||
| 81 | -#define CT_LE_W __cpu_to_le16 | ||
| 82 | -#define CT_LE_L __cpu_to_le32 | ||
| 83 | -#else | ||
| 84 | -#define CF_LE_W(v) ((((v) & 0xff) << 8) | (((v) >> 8) & 0xff)) | ||
| 85 | -#define CF_LE_L(v) (((unsigned)(v)>>24) | (((unsigned)(v)>>8)&0xff00) | \ | ||
| 86 | - (((unsigned)(v)<<8)&0xff0000) | ((unsigned)(v)<<24)) | ||
| 87 | +#endif | ||
| 88 | + | ||
| 89 | +#include <linux/msdos_fs.h> | ||
| 90 | + | ||
| 91 | +#undef CF_LE_W | ||
| 92 | +#undef CF_LE_L | ||
| 93 | +#undef CT_LE_W | ||
| 94 | +#undef CT_LE_L | ||
| 95 | + | ||
| 96 | +#if __BYTE_ORDER == __BIG_ENDIAN | ||
| 97 | +#include <byteswap.h> | ||
| 98 | +#define CF_LE_W(v) bswap_16(v) | ||
| 99 | +#define CF_LE_L(v) bswap_32(v) | ||
| 100 | #define CT_LE_W(v) CF_LE_W(v) | ||
| 101 | #define CT_LE_L(v) CF_LE_L(v) | ||
| 102 | -#endif /* defined(__le16_to_cpu) */ | ||
| 103 | |||
| 104 | #else | ||
| 105 | |||
| 106 | @@ -253,33 +263,6 @@ struct fat32_fsinfo { | ||
| 107 | __u32 reserved2[4]; | ||
| 108 | }; | ||
| 109 | |||
| 110 | -/* This stores up to 13 chars of the name */ | ||
| 111 | - | ||
| 112 | -struct msdos_dir_slot { | ||
| 113 | - __u8 id; /* sequence number for slot */ | ||
| 114 | - __u8 name0_4[10]; /* first 5 characters in name */ | ||
| 115 | - __u8 attr; /* attribute byte */ | ||
| 116 | - __u8 reserved; /* always 0 */ | ||
| 117 | - __u8 alias_checksum; /* checksum for 8.3 alias */ | ||
| 118 | - __u8 name5_10[12]; /* 6 more characters in name */ | ||
| 119 | - __u16 start; /* starting cluster number, 0 in long slots */ | ||
| 120 | - __u8 name11_12[4]; /* last 2 characters in name */ | ||
| 121 | -}; | ||
| 122 | - | ||
| 123 | -struct msdos_dir_entry | ||
| 124 | - { | ||
| 125 | - char name[8], ext[3]; /* name and extension */ | ||
| 126 | - __u8 attr; /* attribute bits */ | ||
| 127 | - __u8 lcase; /* Case for base and extension */ | ||
| 128 | - __u8 ctime_ms; /* Creation time, milliseconds */ | ||
| 129 | - __u16 ctime; /* Creation time */ | ||
| 130 | - __u16 cdate; /* Creation date */ | ||
| 131 | - __u16 adate; /* Last access date */ | ||
| 132 | - __u16 starthi; /* high 16 bits of first cl. (FAT32) */ | ||
| 133 | - __u16 time, date, start; /* time, date and first cluster */ | ||
| 134 | - __u32 size; /* file size (in bytes) */ | ||
| 135 | - } __attribute__ ((packed)); | ||
| 136 | - | ||
| 137 | /* The "boot code" we put into the filesystem... it writes a message and | ||
| 138 | tells the user to try again */ | ||
| 139 | |||
| 140 | @@ -356,7 +339,6 @@ static struct msdos_dir_entry *root_dir; | ||
| 141 | static int size_root_dir; /* Size of the root directory in bytes */ | ||
| 142 | static int sectors_per_cluster = 0; /* Number of sectors per disk cluster */ | ||
| 143 | static int root_dir_entries = 0; /* Number of root directory entries */ | ||
| 144 | -static int root_dir_num_entries = 0; | ||
| 145 | static int last_cluster_written = 0; | ||
| 146 | |||
| 147 | static char *blank_sector; /* Blank sector - all zeros */ | ||
| 148 | @@ -1315,7 +1297,7 @@ setup_tables (void) | ||
| 149 | de->date = CT_LE_W((unsigned short)(ctime->tm_mday + | ||
| 150 | ((ctime->tm_mon+1) << 5) + | ||
| 151 | ((ctime->tm_year-80) << 9))); | ||
| 152 | - de->ctime_ms = 0; | ||
| 153 | + de->ctime_cs = 0; | ||
| 154 | de->ctime = de->time; | ||
| 155 | de->cdate = de->date; | ||
| 156 | de->adate = de->date; | ||
| 157 | @@ -1451,16 +1433,23 @@ write_tables (void) | ||
| 158 | |||
| 159 | /* Add a file to the specified directory entry, and also write it into the image */ | ||
| 160 | |||
| 161 | -static void copy_filename(char *filename, char *base, char *ext) { | ||
| 162 | +static void copy_filename(char *filename, char *dos_name) { | ||
| 163 | |||
| 164 | char *ch = filename; | ||
| 165 | int i, len; | ||
| 166 | |||
| 167 | - memset(base, 0x20, 8); | ||
| 168 | - memset(ext, 0x20, 3); | ||
| 169 | + if (!strcmp(filename, ".")) { | ||
| 170 | + strncpy(dos_name, MSDOS_DOT, MSDOS_NAME); | ||
| 171 | + return; | ||
| 172 | + } | ||
| 173 | + if (!strcmp(filename, "..")) { | ||
| 174 | + strncpy(dos_name, MSDOS_DOTDOT, MSDOS_NAME); | ||
| 175 | + return; | ||
| 176 | + } | ||
| 177 | + memset(dos_name, 0x20, MSDOS_NAME); | ||
| 178 | |||
| 179 | for(len = 0 ; *ch && *ch != '.'; ch++) { | ||
| 180 | - base[len++] = toupper(*ch); | ||
| 181 | + dos_name[len++] = toupper(*ch); | ||
| 182 | if (len == 8) break; | ||
| 183 | } | ||
| 184 | |||
| 185 | @@ -1468,7 +1457,7 @@ static void copy_filename(char *filename | ||
| 186 | if (*ch) ch++; | ||
| 187 | |||
| 188 | for(len = 0 ; *ch; ch++) { | ||
| 189 | - ext[len++] = toupper(*ch); | ||
| 190 | + dos_name[8 + len++] = toupper(*ch); | ||
| 191 | if (len == 3) break; | ||
| 192 | } | ||
| 193 | } | ||
| 194 | @@ -1551,7 +1540,7 @@ static int add_file(char *filename, stru | ||
| 195 | int start; | ||
| 196 | int usedsec, totalsec; | ||
| 197 | |||
| 198 | - char name83[8], ext83[3]; | ||
| 199 | + char dos_name[MSDOS_NAME+1]; | ||
| 200 | |||
| 201 | struct msdos_dir_slot *slot; | ||
| 202 | int i; | ||
| 203 | @@ -1562,23 +1551,22 @@ static int add_file(char *filename, stru | ||
| 204 | if (dir->root) { | ||
| 205 | if (dir->count == dir->entries) { | ||
| 206 | printf("Error - too many directory entries\n"); | ||
| 207 | + return; | ||
| 208 | } | ||
| 209 | } | ||
| 210 | else { | ||
| 211 | - if (dir->count == dir->entries) { | ||
| 212 | - if (!dir->table) | ||
| 213 | - dir->table = | ||
| 214 | - (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); | ||
| 215 | - else { | ||
| 216 | - dir->table = | ||
| 217 | - (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * | ||
| 218 | - sizeof(struct msdos_dir_entry)); | ||
| 219 | - | ||
| 220 | - memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); | ||
| 221 | - } | ||
| 222 | - | ||
| 223 | - dir->entries++; | ||
| 224 | - } | ||
| 225 | + /* 2 entries, one extra for long filename */ | ||
| 226 | + if (!dir->table) | ||
| 227 | + dir->table = | ||
| 228 | + (struct msdos_dir_entry *) malloc(2 * sizeof(struct msdos_dir_entry)); | ||
| 229 | + else | ||
| 230 | + dir->table = | ||
| 231 | + (struct msdos_dir_entry *) realloc(dir->table, 2 * (dir->entries + 1) * | ||
| 232 | + sizeof(struct msdos_dir_entry)); | ||
| 233 | + if (!dir->table) | ||
| 234 | + printf("Error - realloc failed\n"); | ||
| 235 | + memset(&dir->table[dir->entries], 0, 2 * sizeof(struct msdos_dir_entry)); | ||
| 236 | + dir->entries += 2; | ||
| 237 | } | ||
| 238 | |||
| 239 | infile = open(filename, O_RDONLY, 0); | ||
| 240 | @@ -1611,13 +1599,13 @@ static int add_file(char *filename, stru | ||
| 241 | return -1; | ||
| 242 | } | ||
| 243 | |||
| 244 | - printf("ADD %s\n", filename); | ||
| 245 | + printf("ADD FILE %s\n", filename); | ||
| 246 | |||
| 247 | /* Grab the basename of the file */ | ||
| 248 | base = basename(filename); | ||
| 249 | |||
| 250 | - /* Extract out the 8.3 name */ | ||
| 251 | - copy_filename(base, name83, ext83); | ||
| 252 | + /* convert for dos fat structure */ | ||
| 253 | + copy_filename(base, dos_name); | ||
| 254 | |||
| 255 | /* Make an extended name slot */ | ||
| 256 | |||
| 257 | @@ -1629,12 +1617,9 @@ static int add_file(char *filename, stru | ||
| 258 | |||
| 259 | slot->alias_checksum = 0; | ||
| 260 | |||
| 261 | - for(i = 0; i < 8; i++) | ||
| 262 | - slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + name83[i]; | ||
| 263 | + for(i = 0; i < MSDOS_NAME; i++) | ||
| 264 | + slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + dos_name[i]; | ||
| 265 | |||
| 266 | - for(i = 0; i < 3; i++) | ||
| 267 | - slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + ext83[i]; | ||
| 268 | - | ||
| 269 | p = base; | ||
| 270 | |||
| 271 | copy_name(slot->name0_4, 10, &p); | ||
| 272 | @@ -1645,8 +1630,7 @@ static int add_file(char *filename, stru | ||
| 273 | /* Get the entry from the root filesytem */ | ||
| 274 | entry = &dir->table[dir->count++]; | ||
| 275 | |||
| 276 | - strncpy(entry->name, name83, 8); | ||
| 277 | - strncpy(entry->ext, ext83, 3); | ||
| 278 | + strncpy(entry->name, dos_name, MSDOS_NAME); | ||
| 279 | |||
| 280 | |||
| 281 | /* If the user has it read only, then add read only to the incoming | ||
| 282 | @@ -1665,7 +1649,7 @@ static int add_file(char *filename, stru | ||
| 283 | ((ctime->tm_mon+1) << 5) + | ||
| 284 | ((ctime->tm_year-80) << 9))); | ||
| 285 | |||
| 286 | - entry->ctime_ms = 0; | ||
| 287 | + entry->ctime_cs = 0; | ||
| 288 | entry->ctime = entry->time; | ||
| 289 | entry->cdate = entry->date; | ||
| 290 | entry->adate = entry->date; | ||
| 291 | @@ -1711,6 +1695,7 @@ static int add_file(char *filename, stru | ||
| 292 | |||
| 293 | exit_add: | ||
| 294 | if (infile) close(infile); | ||
| 295 | + return 0; | ||
| 296 | } | ||
| 297 | |||
| 298 | /* Add a new directory to the specified directory entry, and in turn populate | ||
| 299 | @@ -1727,10 +1712,18 @@ static void add_directory(char *filename | ||
| 300 | struct dirent *dentry = 0; | ||
| 301 | int remain; | ||
| 302 | char *data; | ||
| 303 | + char *base; | ||
| 304 | + char dos_name[MSDOS_NAME+1]; | ||
| 305 | + struct msdos_dir_slot *slot; | ||
| 306 | + int i; | ||
| 307 | + char *p; | ||
| 308 | |||
| 309 | /* If the directory doesn't exist */ | ||
| 310 | - if (!rddir) return; | ||
| 311 | - | ||
| 312 | + if (!rddir) { | ||
| 313 | + printf("Error - dir does not exist: %s\n", filename); | ||
| 314 | + return; | ||
| 315 | + } | ||
| 316 | + | ||
| 317 | if (dir->root) { | ||
| 318 | if (dir->count == dir->entries) { | ||
| 319 | printf("Error - too many directory entries\n"); | ||
| 320 | @@ -1738,28 +1731,58 @@ static void add_directory(char *filename | ||
| 321 | } | ||
| 322 | } | ||
| 323 | else { | ||
| 324 | - if (dir->count == dir->entries) { | ||
| 325 | - if (!dir->table) | ||
| 326 | - dir->table = (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); | ||
| 327 | - else { | ||
| 328 | - dir->table = (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * | ||
| 329 | - sizeof(struct msdos_dir_entry)); | ||
| 330 | - | ||
| 331 | - /* Zero it out to avoid issues */ | ||
| 332 | - memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); | ||
| 333 | - } | ||
| 334 | - dir->entries++; | ||
| 335 | + /* 2 entries, one extra for long name of the directory */ | ||
| 336 | + if (!dir->table) | ||
| 337 | + dir->table = (struct msdos_dir_entry *) malloc(2 * sizeof(struct msdos_dir_entry)); | ||
| 338 | + else | ||
| 339 | + dir->table = (struct msdos_dir_entry *) realloc(dir->table, 2 * (dir->entries + 1) * | ||
| 340 | + sizeof(struct msdos_dir_entry)); | ||
| 341 | + if (!dir->table) { | ||
| 342 | + printf("Error - memory allocation failed\n"); | ||
| 343 | + goto exit_add_dir; | ||
| 344 | } | ||
| 345 | + /* Zero it out to avoid issues */ | ||
| 346 | + memset(&dir->table[dir->entries], 0, 2 * sizeof(struct msdos_dir_entry)); | ||
| 347 | + dir->entries += 2; | ||
| 348 | } | ||
| 349 | |||
| 350 | + printf("ADD DIR %s\n", filename); | ||
| 351 | /* Now, create a new directory entry for the new directory */ | ||
| 352 | newdir = (struct dir_entry *) calloc(1, sizeof(struct dir_entry)); | ||
| 353 | - if (!newdir) goto exit_add_dir; | ||
| 354 | + if (!newdir) { | ||
| 355 | + printf("Error - calloc failed\n"); | ||
| 356 | + goto exit_add_dir; | ||
| 357 | + } | ||
| 358 | + | ||
| 359 | + /* Grab the basename of the file */ | ||
| 360 | + base = basename(filename); | ||
| 361 | + | ||
| 362 | + /* convert for dos structure */ | ||
| 363 | + copy_filename(base, dos_name); | ||
| 364 | + | ||
| 365 | + /* Make an extended name slot */ | ||
| 366 | + slot = (struct msdos_dir_slot *) &dir->table[dir->count++]; | ||
| 367 | + slot->id = 'A'; | ||
| 368 | + slot->attr = 0x0F; | ||
| 369 | + slot->reserved = 0; | ||
| 370 | + slot->start = 0; | ||
| 371 | + | ||
| 372 | + slot->alias_checksum = 0; | ||
| 373 | |||
| 374 | + for (i = 0; i < MSDOS_NAME; i++) | ||
| 375 | + slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + dos_name[i]; | ||
| 376 | + | ||
| 377 | + p = base; | ||
| 378 | + | ||
| 379 | + copy_name(slot->name0_4, 10, &p); | ||
| 380 | + copy_name(slot->name5_10, 12, &p); | ||
| 381 | + copy_name(slot->name11_12, 4, &p); | ||
| 382 | + | ||
| 383 | + /* Get the entry from the root filesytem */ | ||
| 384 | entry = &dir->table[dir->count++]; | ||
| 385 | |||
| 386 | - strncpy(entry->name, basename(filename), sizeof(entry->name)); | ||
| 387 | - | ||
| 388 | + strncpy(entry->name, dos_name, MSDOS_NAME); | ||
| 389 | + | ||
| 390 | entry->attr = ATTR_DIR; | ||
| 391 | ctime = localtime(&create_time); | ||
| 392 | |||
| 393 | @@ -1770,25 +1793,32 @@ static void add_directory(char *filename | ||
| 394 | ((ctime->tm_mon+1) << 5) + | ||
| 395 | ((ctime->tm_year-80) << 9))); | ||
| 396 | |||
| 397 | - entry->ctime_ms = 0; | ||
| 398 | + entry->ctime_cs = 0; | ||
| 399 | entry->ctime = entry->time; | ||
| 400 | entry->cdate = entry->date; | ||
| 401 | entry->adate = entry->date; | ||
| 402 | |||
| 403 | /* Now, read the directory */ | ||
| 404 | |||
| 405 | - while((dentry = readdir(rddir))) { | ||
| 406 | + | ||
| 407 | + while((base[0] != '.') && (dentry = readdir(rddir))) { | ||
| 408 | struct stat st; | ||
| 409 | char *buffer; | ||
| 410 | - | ||
| 411 | - if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) | ||
| 412 | - continue; | ||
| 413 | |||
| 414 | - /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ | ||
| 415 | - if (dentry->d_name[0] == '.') continue; | ||
| 416 | + if (dentry->d_name[0] == '.') { | ||
| 417 | + /* dos also has . & .. directory entries */ | ||
| 418 | + if (! ((!strcmp(dentry->d_name, ".")) || (!strcmp(dentry->d_name, "..")))) { | ||
| 419 | + /* ignore other .* files */ | ||
| 420 | + printf("Error - File/Dir name is not dos compatible, ignored: %s\n", dentry->d_name); | ||
| 421 | + continue; | ||
| 422 | + } | ||
| 423 | + } | ||
| 424 | |||
| 425 | buffer = malloc(strlen(filename) + strlen(dentry->d_name) + 3); | ||
| 426 | - if (!buffer) continue; | ||
| 427 | + if (!buffer) { | ||
| 428 | + printf("Error - malloc failed\n"); | ||
| 429 | + goto exit_add_dir; | ||
| 430 | + } | ||
| 431 | |||
| 432 | sprintf(buffer, "%s/%s", filename, dentry->d_name); | ||
| 433 | if (!stat(buffer, &st)) { | ||
| 434 | @@ -1806,11 +1836,23 @@ static void add_directory(char *filename | ||
| 435 | /* Now that the entire directory has been written, go ahead and write the directory | ||
| 436 | entry as well */ | ||
| 437 | |||
| 438 | + entry->size = 0; /* a directory has zero size */ | ||
| 439 | + | ||
| 440 | + if (base[0] == '.') { /* . & .. point to parent's cluster */ | ||
| 441 | + goto exit_add_dir; | ||
| 442 | + } | ||
| 443 | + | ||
| 444 | entry->start = CT_LE_W(last_cluster_written); | ||
| 445 | entry->starthi = CT_LE_W((last_cluster_written & 0xFFFF0000) >> 16); | ||
| 446 | - entry->size = newdir->count * sizeof(struct msdos_dir_entry); | ||
| 447 | + | ||
| 448 | +/* . dir start points to parent */ | ||
| 449 | + newdir->table[1].start = entry->start; | ||
| 450 | +/* .. dir points to parent of parent*/ | ||
| 451 | +/* .. dir start is not set yet, would need more changes to the code, | ||
| 452 | + * but dosfsck can fix these .. entry start pointers correctly */ | ||
| 453 | + | ||
| 454 | + remain = newdir->count * sizeof(struct msdos_dir_entry); | ||
| 455 | |||
| 456 | - remain = entry->size; | ||
| 457 | data = (char *) newdir->table; | ||
| 458 | |||
| 459 | while(remain) { | ||
| 460 | @@ -1858,6 +1900,7 @@ static void add_root_directory(char *dir | ||
| 461 | |||
| 462 | if (!newdir) { | ||
| 463 | closedir(dir); | ||
| 464 | + printf("Error - calloc failed!\n"); | ||
| 465 | return; | ||
| 466 | } | ||
| 467 | |||
| 468 | @@ -1877,7 +1920,10 @@ static void add_root_directory(char *dir | ||
| 469 | if (entry->d_name[0] == '.') continue; | ||
| 470 | |||
| 471 | buffer = malloc(strlen(dirname) + strlen(entry->d_name) + 3); | ||
| 472 | - if (!buffer) continue; | ||
| 473 | + if (!buffer) { | ||
| 474 | + printf("Error - malloc failed!\n"); | ||
| 475 | + continue; | ||
| 476 | + } | ||
| 477 | |||
| 478 | sprintf(buffer, "%s/%s", dirname, entry->d_name); | ||
| 479 | if (!stat(buffer, &st)) { | ||
| 480 | @@ -2245,6 +2291,9 @@ main (int argc, char **argv) | ||
| 481 | if (check && listfile) /* Auto and specified bad block handling are mutually */ | ||
| 482 | die ("-c and -l are incompatible"); /* exclusive of each other! */ | ||
| 483 | |||
| 484 | + if (dirname && (size_fat == 32)) | ||
| 485 | + die ("-d is incompatible with FAT32"); | ||
| 486 | + | ||
| 487 | if (!create) { | ||
| 488 | check_mount (device_name); /* Is the device already mounted? */ | ||
| 489 | 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 @@ | |||
| 1 | mkdsofs is using types of the style __u8, which it gets with some | ||
| 2 | versions of libc headers via linux/hdreg.h including asm/types.h. | ||
| 3 | Newer version of fedora (at least) have a hdreg.h whichdoes not | ||
| 4 | include asm/types.h. To work around this patch mkdosfs.c to explicity | ||
| 5 | include linux/types.h which will in turn pull in asm/types.h which | ||
| 6 | defines these variables. | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [licensing] | ||
| 9 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 10 | |||
| 11 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 12 | |||
| 13 | --- dosfstools-2.10/mkdosfs/mkdosfs.c~ 2006-07-12 18:46:21.000000000 +1000 | ||
| 14 | +++ dosfstools-2.10/mkdosfs/mkdosfs.c 2006-07-12 18:46:21.000000000 +1000 | ||
| 15 | @@ -60,6 +60,7 @@ | ||
| 16 | #include "../version.h" | ||
| 17 | |||
| 18 | #include <fcntl.h> | ||
| 19 | +#include <linux/types.h> | ||
| 20 | #include <linux/hdreg.h> | ||
| 21 | #include <linux/fs.h> | ||
| 22 | #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 @@ | |||
| 1 | Add option to read in bootcode from a file. | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [licensing] | ||
| 4 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 5 | |||
| 6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 7 | |||
| 8 | Index: dosfstools-2.11/mkdosfs/ChangeLog | ||
| 9 | =================================================================== | ||
| 10 | --- dosfstools-2.11.orig/mkdosfs/ChangeLog 1997-06-18 10:09:38.000000000 +0000 | ||
| 11 | +++ dosfstools-2.11/mkdosfs/ChangeLog 2011-12-06 12:14:23.634011558 +0000 | ||
| 12 | @@ -1,3 +1,14 @@ | ||
| 13 | +19th June 2003 Sam Bingner (sam@bingner.com) | ||
| 14 | + | ||
| 15 | + Added option to read in bootcode from a file so that if you have | ||
| 16 | + for example Windows 2000 boot code, you can have it write that | ||
| 17 | + as the bootcode. This is a dump of the behinning of a partition | ||
| 18 | + generally 512 bytes, but can be up to reserved sectors*512 bytes. | ||
| 19 | + Also writes 0x80 as the BIOS drive number if we are formatting a | ||
| 20 | + hard drive, and sets the number of hidden sectors to be the | ||
| 21 | + number of sectors in one track. These were required so that DOS | ||
| 22 | + could boot using the bootcode. | ||
| 23 | + | ||
| 24 | 28th January 1995 H. Peter Anvin (hpa@yggdrasil.com) | ||
| 25 | |||
| 26 | Better algorithm to select cluster sizes on large filesystems. | ||
| 27 | Index: dosfstools-2.11/mkdosfs/mkdosfs.8 | ||
| 28 | =================================================================== | ||
| 29 | --- dosfstools-2.11.orig/mkdosfs/mkdosfs.8 2004-02-25 19:36:07.000000000 +0000 | ||
| 30 | +++ dosfstools-2.11/mkdosfs/mkdosfs.8 2011-12-06 12:19:54.777888434 +0000 | ||
| 31 | @@ -44,6 +44,10 @@ | ||
| 32 | .I message-file | ||
| 33 | ] | ||
| 34 | [ | ||
| 35 | +.B \-B | ||
| 36 | +.I bootcode-file | ||
| 37 | +] | ||
| 38 | +[ | ||
| 39 | .B \-n | ||
| 40 | .I volume-name | ||
| 41 | ] | ||
| 42 | @@ -165,6 +169,18 @@ | ||
| 43 | carriage return-line feed combinations, and tabs have been expanded. | ||
| 44 | If the filename is a hyphen (-), the text is taken from standard input. | ||
| 45 | .TP | ||
| 46 | +.BI \-B " bootcode-file" | ||
| 47 | +Uses boot machine code from file "file". On any thing other than FAT32, | ||
| 48 | +this only writes the first 3 bytes, and 480 bytes from offset 3Eh. On | ||
| 49 | +FAT32, this writes the first 3 bytes, 420 bytes from offset 5Ah to both | ||
| 50 | +primary and backup boot sectors. Also writes all other reserved sectors | ||
| 51 | +excluding the sectors following boot sectors (usually sector 2 and 7). | ||
| 52 | +Does not require that the input file be as large as reserved_sectors*512. | ||
| 53 | +To make a FAT32 partition bootable, you will need at least the first | ||
| 54 | +13 sectors (6656 bytes). You can also specify a partition as the argument | ||
| 55 | +to clone the boot code from that partition. | ||
| 56 | +i.e mkdosfs -B /dev/sda1 /dev/sda1 | ||
| 57 | +.TP | ||
| 58 | .BI \-n " volume-name" | ||
| 59 | Sets the volume name (label) of the filesystem. The volume name can | ||
| 60 | be up to 11 characters long. The default is no label. | ||
| 61 | @@ -198,8 +214,9 @@ | ||
| 62 | simply will not support it ;) | ||
| 63 | .SH AUTHOR | ||
| 64 | Dave Hudson - <dave@humbug.demon.co.uk>; modified by Peter Anvin | ||
| 65 | -<hpa@yggdrasil.com>. Fixes and additions by Roman Hodek | ||
| 66 | -<roman@hodek.net> for Debian/GNU Linux. | ||
| 67 | +<hpa@yggdrasil.com> and Sam Bingner <sam@bingner.com>. Fixes and | ||
| 68 | +additions by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> | ||
| 69 | +for Debian/GNU Linux. | ||
| 70 | .SH ACKNOWLEDGEMENTS | ||
| 71 | .B mkdosfs | ||
| 72 | is based on code from | ||
| 73 | Index: dosfstools-2.11/mkdosfs/mkdosfs.c | ||
| 74 | =================================================================== | ||
| 75 | --- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2005-03-12 16:12:16.000000000 +0000 | ||
| 76 | +++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.121886076 +0000 | ||
| 77 | @@ -24,6 +24,12 @@ | ||
| 78 | - New options -A, -S, -C | ||
| 79 | - Support for filesystems > 2GB | ||
| 80 | - FAT32 support | ||
| 81 | + | ||
| 82 | + Fixes/additions June 2003 by Sam Bingner | ||
| 83 | + <sam@bingner.com>: | ||
| 84 | + - Add -B option to read in bootcode from a file | ||
| 85 | + - Write BIOS drive number so that FS can properly boot | ||
| 86 | + - Set number of hidden sectors before boot code to be one track | ||
| 87 | |||
| 88 | Copying: Copyright 1993, 1994 David Hudson (dave@humbug.demon.co.uk) | ||
| 89 | |||
| 90 | @@ -153,6 +159,8 @@ | ||
| 91 | #define FAT_BAD 0x0ffffff7 | ||
| 92 | |||
| 93 | #define MSDOS_EXT_SIGN 0x29 /* extended boot sector signature */ | ||
| 94 | +#define HD_DRIVE_NUMBER 0x80 /* Boot off first hard drive */ | ||
| 95 | +#define FD_DRIVE_NUMBER 0x00 /* Boot off first floppy drive */ | ||
| 96 | #define MSDOS_FAT12_SIGN "FAT12 " /* FAT12 filesystem signature */ | ||
| 97 | #define MSDOS_FAT16_SIGN "FAT16 " /* FAT16 filesystem signature */ | ||
| 98 | #define MSDOS_FAT32_SIGN "FAT32 " /* FAT32 filesystem signature */ | ||
| 99 | @@ -175,6 +183,8 @@ | ||
| 100 | #define BOOTCODE_SIZE 448 | ||
| 101 | #define BOOTCODE_FAT32_SIZE 420 | ||
| 102 | |||
| 103 | +#define MAX_RESERVED 0xFFFF | ||
| 104 | + | ||
| 105 | /* __attribute__ ((packed)) is used on all structures to make gcc ignore any | ||
| 106 | * alignments */ | ||
| 107 | |||
| 108 | @@ -202,7 +212,7 @@ | ||
| 109 | __u16 fat_length; /* sectors/FAT */ | ||
| 110 | __u16 secs_track; /* sectors per track */ | ||
| 111 | __u16 heads; /* number of heads */ | ||
| 112 | - __u32 hidden; /* hidden sectors (unused) */ | ||
| 113 | + __u32 hidden; /* hidden sectors (one track) */ | ||
| 114 | __u32 total_sect; /* number of sectors (if sectors == 0) */ | ||
| 115 | union { | ||
| 116 | struct { | ||
| 117 | @@ -285,6 +295,8 @@ | ||
| 118 | |||
| 119 | /* Global variables - the root of all evil :-) - see these and weep! */ | ||
| 120 | |||
| 121 | +static char *template_boot_code; /* Variable to store a full template boot sector in */ | ||
| 122 | +static int use_template = 0; | ||
| 123 | static char *program_name = "mkdosfs"; /* Name of the program */ | ||
| 124 | static char *device_name = NULL; /* Name of the device on which to create the filesystem */ | ||
| 125 | static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */ | ||
| 126 | @@ -837,6 +849,12 @@ | ||
| 127 | vi->volume_id[2] = (unsigned char) ((volume_id & 0x00ff0000) >> 16); | ||
| 128 | vi->volume_id[3] = (unsigned char) (volume_id >> 24); | ||
| 129 | } | ||
| 130 | + if (bs.media == 0xf8) { | ||
| 131 | + vi->drive_number = HD_DRIVE_NUMBER; /* Set bios drive number to 80h */ | ||
| 132 | + } | ||
| 133 | + else { | ||
| 134 | + vi->drive_number = FD_DRIVE_NUMBER; /* Set bios drive number to 00h */ | ||
| 135 | + } | ||
| 136 | |||
| 137 | if (!atari_format) { | ||
| 138 | memcpy(vi->volume_label, volume_name, 11); | ||
| 139 | @@ -1362,6 +1380,32 @@ | ||
| 140 | * dir area on FAT12/16, and the first cluster on FAT32. */ | ||
| 141 | writebuf( (char *) root_dir, size_root_dir, "root directory" ); | ||
| 142 | |||
| 143 | + if (use_template == 1) { | ||
| 144 | + /* dupe template into reserved sectors */ | ||
| 145 | + seekto( 0, "Start of partition" ); | ||
| 146 | + if (size_fat == 32) { | ||
| 147 | + writebuf( template_boot_code, 3, "backup jmpBoot" ); | ||
| 148 | + seekto( 0x5a, "sector 1 boot area" ); | ||
| 149 | + writebuf( template_boot_code+0x5a, 420, "sector 1 boot area" ); | ||
| 150 | + seekto( 512*2, "third sector" ); | ||
| 151 | + if (backup_boot != 0) { | ||
| 152 | + writebuf( template_boot_code+512*2, backup_boot*sector_size - 512*2, "data to backup boot" ); | ||
| 153 | + seekto( backup_boot*sector_size, "backup boot sector" ); | ||
| 154 | + writebuf( template_boot_code, 3, "backup jmpBoot" ); | ||
| 155 | + seekto( backup_boot*sector_size+0x5a, "backup boot sector boot area" ); | ||
| 156 | + writebuf( template_boot_code+0x5a, 420, "backup boot sector boot area" ); | ||
| 157 | + seekto( (backup_boot+2)*sector_size, "sector following backup code" ); | ||
| 158 | + writebuf( template_boot_code+(backup_boot+2)*sector_size, (reserved_sectors-backup_boot-2)*512, "remaining data" ); | ||
| 159 | + } else { | ||
| 160 | + writebuf( template_boot_code+512*2, (reserved_sectors-2)*512, "remaining data" ); | ||
| 161 | + } | ||
| 162 | + } else { | ||
| 163 | + writebuf( template_boot_code, 3, "jmpBoot" ); | ||
| 164 | + seekto( 0x3e, "sector 1 boot area" ); | ||
| 165 | + writebuf( template_boot_code+0x3e, 448, "boot code" ); | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | if (blank_sector) free( blank_sector ); | ||
| 170 | if (info_sector) free( info_sector ); | ||
| 171 | free (root_dir); /* Free up the root directory space from setup_tables */ | ||
| 172 | @@ -1376,7 +1420,7 @@ | ||
| 173 | { | ||
| 174 | fatal_error("\ | ||
| 175 | Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]\n\ | ||
| 176 | - [-m boot-msg-file] [-n volume-name] [-i volume-id]\n\ | ||
| 177 | + [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\ | ||
| 178 | [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\ | ||
| 179 | [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\ | ||
| 180 | /dev/name [blocks]\n"); | ||
| 181 | @@ -1439,7 +1483,7 @@ | ||
| 182 | printf ("%s " VERSION " (" VERSION_DATE ")\n", | ||
| 183 | program_name); | ||
| 184 | |||
| 185 | - while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:h:v")) != EOF) | ||
| 186 | + while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) | ||
| 187 | /* Scan the command line for options */ | ||
| 188 | switch (c) | ||
| 189 | { | ||
| 190 | @@ -1509,6 +1553,51 @@ | ||
| 191 | listfile = optarg; | ||
| 192 | break; | ||
| 193 | |||
| 194 | + case 'B': /* B : read in bootcode */ | ||
| 195 | + if ( strcmp(optarg, "-") ) | ||
| 196 | + { | ||
| 197 | + msgfile = fopen(optarg, "r"); | ||
| 198 | + if ( !msgfile ) | ||
| 199 | + perror(optarg); | ||
| 200 | + } | ||
| 201 | + else | ||
| 202 | + msgfile = stdin; | ||
| 203 | + | ||
| 204 | + if ( msgfile ) | ||
| 205 | + { | ||
| 206 | + if (!(template_boot_code = malloc( MAX_RESERVED ))) | ||
| 207 | + die( "Out of memory" ); | ||
| 208 | + /* The template boot sector including reserved must not be > 65535 */ | ||
| 209 | + use_template = 1; | ||
| 210 | + i = 0; | ||
| 211 | + do | ||
| 212 | + { | ||
| 213 | + ch = getc(msgfile); | ||
| 214 | + switch (ch) | ||
| 215 | + { | ||
| 216 | + case EOF: | ||
| 217 | + break; | ||
| 218 | + | ||
| 219 | + default: | ||
| 220 | + template_boot_code[i++] = ch; /* Store character */ | ||
| 221 | + break; | ||
| 222 | + } | ||
| 223 | + } | ||
| 224 | + while ( ch != EOF && i < MAX_RESERVED ); | ||
| 225 | + ch = getc(msgfile); /* find out if we're at EOF */ | ||
| 226 | + | ||
| 227 | + /* Fill up with zeros */ | ||
| 228 | + while( i < MAX_RESERVED ) | ||
| 229 | + template_boot_code[i++] = '\0'; | ||
| 230 | + | ||
| 231 | + if ( ch != EOF ) | ||
| 232 | + printf ("Warning: template too long; truncated after %d bytes\n", i); | ||
| 233 | + | ||
| 234 | + if ( msgfile != stdin ) | ||
| 235 | + fclose(msgfile); | ||
| 236 | + } | ||
| 237 | + break; | ||
| 238 | + | ||
| 239 | case 'm': /* m : Set boot message */ | ||
| 240 | if ( strcmp(optarg, "-") ) | ||
| 241 | { | ||
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 @@ | |||
| 1 | Add -d <directory> support to populate the image. | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [licensing] | ||
| 4 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 5 | |||
| 6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 7 | |||
| 8 | Index: dosfstools-2.11/mkdosfs/mkdosfs.c | ||
| 9 | =================================================================== | ||
| 10 | --- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.000000000 +0000 | ||
| 11 | +++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:37:13.445950703 +0000 | ||
| 12 | @@ -18,6 +18,10 @@ | ||
| 13 | as a rule), and not the block. For example the boot block does not | ||
| 14 | occupy a full cluster. | ||
| 15 | |||
| 16 | + June 2004 - Jordan Crouse (info.linux@amd.com) | ||
| 17 | + Added -d <directory> support to populate the image | ||
| 18 | + Copyright (C) 2004, Advanced Micro Devices, All Rights Reserved | ||
| 19 | + | ||
| 20 | Fixes/additions May 1998 by Roman Hodek | ||
| 21 | <Roman.Hodek@informatik.uni-erlangen.de>: | ||
| 22 | - Atari format support | ||
| 23 | @@ -71,6 +75,8 @@ | ||
| 24 | #include <unistd.h> | ||
| 25 | #include <time.h> | ||
| 26 | #include <errno.h> | ||
| 27 | +#include <libgen.h> | ||
| 28 | +#include <dirent.h> | ||
| 29 | |||
| 30 | #include <linux/version.h> | ||
| 31 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) | ||
| 32 | @@ -110,6 +116,8 @@ | ||
| 33 | * sufficient (or even better :) for 64 bit offsets in the meantime */ | ||
| 34 | #define llseek lseek | ||
| 35 | |||
| 36 | +#define ROUND_UP(value, divisor) (value + (divisor - (value % divisor))) / divisor | ||
| 37 | + | ||
| 38 | /* Constant definitions */ | ||
| 39 | |||
| 40 | #define TRUE 1 /* Boolean constants */ | ||
| 41 | @@ -149,7 +157,6 @@ | ||
| 42 | #define ATTR_VOLUME 8 /* volume label */ | ||
| 43 | #define ATTR_DIR 16 /* directory */ | ||
| 44 | #define ATTR_ARCH 32 /* archived */ | ||
| 45 | - | ||
| 46 | #define ATTR_NONE 0 /* no attribute bits */ | ||
| 47 | #define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN) | ||
| 48 | /* attribute bits that are copied "as is" */ | ||
| 49 | @@ -245,6 +252,19 @@ | ||
| 50 | __u32 reserved2[4]; | ||
| 51 | }; | ||
| 52 | |||
| 53 | +/* This stores up to 13 chars of the name */ | ||
| 54 | + | ||
| 55 | +struct msdos_dir_slot { | ||
| 56 | + __u8 id; /* sequence number for slot */ | ||
| 57 | + __u8 name0_4[10]; /* first 5 characters in name */ | ||
| 58 | + __u8 attr; /* attribute byte */ | ||
| 59 | + __u8 reserved; /* always 0 */ | ||
| 60 | + __u8 alias_checksum; /* checksum for 8.3 alias */ | ||
| 61 | + __u8 name5_10[12]; /* 6 more characters in name */ | ||
| 62 | + __u16 start; /* starting cluster number, 0 in long slots */ | ||
| 63 | + __u8 name11_12[4]; /* last 2 characters in name */ | ||
| 64 | +}; | ||
| 65 | + | ||
| 66 | struct msdos_dir_entry | ||
| 67 | { | ||
| 68 | char name[8], ext[3]; /* name and extension */ | ||
| 69 | @@ -293,6 +313,15 @@ | ||
| 70 | |||
| 71 | #define MESSAGE_OFFSET 29 /* Offset of message in above code */ | ||
| 72 | |||
| 73 | +/* Special structure to keep track of directories as we add them for the -d option */ | ||
| 74 | + | ||
| 75 | +struct dir_entry { | ||
| 76 | + int root; /* Specifies if this is the root dir or not */ | ||
| 77 | + int count; /* Number of items in the table */ | ||
| 78 | + int entries; /* Number of entries in the table */ | ||
| 79 | + struct msdos_dir_entry *table; /* Pointer to the entry table */ | ||
| 80 | +}; | ||
| 81 | + | ||
| 82 | /* Global variables - the root of all evil :-) - see these and weep! */ | ||
| 83 | |||
| 84 | static char *template_boot_code; /* Variable to store a full template boot sector in */ | ||
| 85 | @@ -326,6 +355,9 @@ | ||
| 86 | static int size_root_dir; /* Size of the root directory in bytes */ | ||
| 87 | static int sectors_per_cluster = 0; /* Number of sectors per disk cluster */ | ||
| 88 | static int root_dir_entries = 0; /* Number of root directory entries */ | ||
| 89 | +static int root_dir_num_entries = 0; | ||
| 90 | +static int last_cluster_written = 0; | ||
| 91 | + | ||
| 92 | static char *blank_sector; /* Blank sector - all zeros */ | ||
| 93 | static int hidden_sectors = 0; /* Number of hidden sectors */ | ||
| 94 | |||
| 95 | @@ -399,7 +431,6 @@ | ||
| 96 | } | ||
| 97 | } | ||
| 98 | |||
| 99 | - | ||
| 100 | /* Mark a specified sector as having a particular value in it's FAT entry */ | ||
| 101 | |||
| 102 | static void | ||
| 103 | @@ -1266,6 +1297,9 @@ | ||
| 104 | die ("unable to allocate space for root directory in memory"); | ||
| 105 | } | ||
| 106 | |||
| 107 | + | ||
| 108 | + last_cluster_written = 2; | ||
| 109 | + | ||
| 110 | memset(root_dir, 0, size_root_dir); | ||
| 111 | if ( memcmp(volume_name, " ", 11) ) | ||
| 112 | { | ||
| 113 | @@ -1314,11 +1348,11 @@ | ||
| 114 | } | ||
| 115 | |||
| 116 | if (!(blank_sector = malloc( sector_size ))) | ||
| 117 | - die( "Out of memory" ); | ||
| 118 | + die( "Out of memory" ); | ||
| 119 | + | ||
| 120 | memset(blank_sector, 0, sector_size); | ||
| 121 | } | ||
| 122 | - | ||
| 123 | - | ||
| 124 | + | ||
| 125 | /* Write the new filesystem's data tables to wherever they're going to end up! */ | ||
| 126 | |||
| 127 | #define error(str) \ | ||
| 128 | @@ -1340,7 +1374,7 @@ | ||
| 129 | do { \ | ||
| 130 | int __size = (size); \ | ||
| 131 | if (write (dev, buf, __size) != __size) \ | ||
| 132 | - error ("failed whilst writing " errstr); \ | ||
| 133 | + error ("failed whilst writing " errstr); \ | ||
| 134 | } while(0) | ||
| 135 | |||
| 136 | |||
| 137 | @@ -1412,6 +1446,452 @@ | ||
| 138 | free (fat); /* Free up the fat table space reserved during setup_tables */ | ||
| 139 | } | ||
| 140 | |||
| 141 | +/* Add a file to the specified directory entry, and also write it into the image */ | ||
| 142 | + | ||
| 143 | +static void copy_filename(char *filename, char *base, char *ext) { | ||
| 144 | + | ||
| 145 | + char *ch = filename; | ||
| 146 | + int i, len; | ||
| 147 | + | ||
| 148 | + memset(base, 0x20, 8); | ||
| 149 | + memset(ext, 0x20, 3); | ||
| 150 | + | ||
| 151 | + for(len = 0 ; *ch && *ch != '.'; ch++) { | ||
| 152 | + base[len++] = toupper(*ch); | ||
| 153 | + if (len == 8) break; | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + for ( ; *ch && *ch != '.'; ch++); | ||
| 157 | + if (*ch) ch++; | ||
| 158 | + | ||
| 159 | + for(len = 0 ; *ch; ch++) { | ||
| 160 | + ext[len++] = toupper(*ch); | ||
| 161 | + if (len == 3) break; | ||
| 162 | + } | ||
| 163 | +} | ||
| 164 | + | ||
| 165 | +/* Check for an .attrib.<filename> file, and read the attributes therein */ | ||
| 166 | + | ||
| 167 | +/* We are going to be pretty pedantic about this. The file needs 3 | ||
| 168 | + bytes at the beginning, the attributes are listed in this order: | ||
| 169 | + | ||
| 170 | + (H)idden|(S)ystem|(A)rchived | ||
| 171 | + | ||
| 172 | + A capital HSA means to enable it, anything else will disable it | ||
| 173 | + (I recommend a '-') The unix user attributes will still be used | ||
| 174 | + for write access. | ||
| 175 | + | ||
| 176 | + For example, to enable system file access for ldlinux.sys, write | ||
| 177 | + the following to .attrib.ldlinux.sys: -S- | ||
| 178 | +*/ | ||
| 179 | + | ||
| 180 | +unsigned char check_attrib_file(char *dir, char *filename) { | ||
| 181 | + | ||
| 182 | + char attrib[4] = { '-', '-', '-' }; | ||
| 183 | + unsigned char *buffer = 0; | ||
| 184 | + int ret = ATTR_NONE; | ||
| 185 | + int fd = -1; | ||
| 186 | + | ||
| 187 | + buffer = (char *) calloc(1, strlen(dir) + strlen(filename) + 10); | ||
| 188 | + if (!buffer) return ATTR_NONE; | ||
| 189 | + | ||
| 190 | + sprintf(buffer, "%s/.attrib.%s", dir, filename); | ||
| 191 | + | ||
| 192 | + if (access(buffer, R_OK)) | ||
| 193 | + goto exit_attrib; | ||
| 194 | + | ||
| 195 | + if ((fd = open(buffer, O_RDONLY, 0)) < 0) | ||
| 196 | + goto exit_attrib; | ||
| 197 | + | ||
| 198 | + if (read(fd, attrib, 3) < 0) | ||
| 199 | + goto exit_attrib; | ||
| 200 | + | ||
| 201 | + if (attrib[0] == 'H') ret |= ATTR_HIDDEN; | ||
| 202 | + if (attrib[1] == 'S') ret |= ATTR_SYS; | ||
| 203 | + if (attrib[2] == 'A') ret |= ATTR_ARCH; | ||
| 204 | + | ||
| 205 | + printf("%s: Setting atrribute %x\n", filename, ret); | ||
| 206 | + | ||
| 207 | + exit_attrib: | ||
| 208 | + if (fd >= 0) close(fd); | ||
| 209 | + if (buffer) free(buffer); | ||
| 210 | + | ||
| 211 | + return ret; | ||
| 212 | +} | ||
| 213 | + | ||
| 214 | +static void copy_name(char *buffer, int size, char **pointer) { | ||
| 215 | + int i; | ||
| 216 | + | ||
| 217 | + for(i = 0; i < size; i += 2) { | ||
| 218 | + if (*pointer) { | ||
| 219 | + buffer[i] = **pointer; | ||
| 220 | + buffer[i + 1] = 0x00; | ||
| 221 | + *pointer = **pointer ? *pointer + 1 : 0; | ||
| 222 | + } | ||
| 223 | + else { | ||
| 224 | + buffer[i] = 0xFF; | ||
| 225 | + buffer[i + 1] = 0xFF; | ||
| 226 | + } | ||
| 227 | + } | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +static int add_file(char *filename, struct dir_entry *dir, unsigned char attr) | ||
| 231 | +{ | ||
| 232 | + struct stat stat; | ||
| 233 | + struct msdos_dir_entry *entry; | ||
| 234 | + int infile = 0; | ||
| 235 | + int sectors, clusters; | ||
| 236 | + struct tm *ctime; | ||
| 237 | + int c, s; | ||
| 238 | + int ptr; | ||
| 239 | + char *buffer, *base; | ||
| 240 | + int start; | ||
| 241 | + int usedsec, totalsec; | ||
| 242 | + | ||
| 243 | + char name83[8], ext83[3]; | ||
| 244 | + | ||
| 245 | + struct msdos_dir_slot *slot; | ||
| 246 | + int i; | ||
| 247 | + char *p; | ||
| 248 | + | ||
| 249 | + /* The root directory is static, everything else grows as needed */ | ||
| 250 | + | ||
| 251 | + if (dir->root) { | ||
| 252 | + if (dir->count == dir->entries) { | ||
| 253 | + printf("Error - too many directory entries\n"); | ||
| 254 | + } | ||
| 255 | + } | ||
| 256 | + else { | ||
| 257 | + if (dir->count == dir->entries) { | ||
| 258 | + if (!dir->table) | ||
| 259 | + dir->table = | ||
| 260 | + (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); | ||
| 261 | + else { | ||
| 262 | + dir->table = | ||
| 263 | + (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * | ||
| 264 | + sizeof(struct msdos_dir_entry)); | ||
| 265 | + | ||
| 266 | + memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + dir->entries++; | ||
| 270 | + } | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + infile = open(filename, O_RDONLY, 0); | ||
| 274 | + if (!infile) return; | ||
| 275 | + | ||
| 276 | + if (fstat(infile, &stat)) | ||
| 277 | + goto exit_add; | ||
| 278 | + | ||
| 279 | + if (S_ISCHR(stat.st_mode) ||S_ISBLK(stat.st_mode) || | ||
| 280 | + S_ISFIFO(stat.st_mode) || S_ISLNK(stat.st_mode)) { | ||
| 281 | + printf("Error - cannot create a special file in a FATFS\n"); | ||
| 282 | + goto exit_add; | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | + /* FIXME: This isn't very pretty */ | ||
| 286 | + | ||
| 287 | + usedsec = start_data_sector + (size_root_dir / sector_size) + | ||
| 288 | + (last_cluster_written * bs.cluster_size); | ||
| 289 | + | ||
| 290 | + totalsec = blocks * BLOCK_SIZE / sector_size; | ||
| 291 | + | ||
| 292 | + /* Figure out how many sectors / clustors the file requires */ | ||
| 293 | + | ||
| 294 | + sectors = ROUND_UP(stat.st_size, sector_size); | ||
| 295 | + clusters = ROUND_UP(sectors, (int) bs.cluster_size); | ||
| 296 | + | ||
| 297 | + if (usedsec + sectors > totalsec) { | ||
| 298 | + printf("Error - %s is too big (%d vs %d)\n", filename, sectors, totalsec - usedsec); | ||
| 299 | + close(infile); | ||
| 300 | + return -1; | ||
| 301 | + } | ||
| 302 | + | ||
| 303 | + printf("ADD %s\n", filename); | ||
| 304 | + | ||
| 305 | + /* Grab the basename of the file */ | ||
| 306 | + base = basename(filename); | ||
| 307 | + | ||
| 308 | + /* Extract out the 8.3 name */ | ||
| 309 | + copy_filename(base, name83, ext83); | ||
| 310 | + | ||
| 311 | + /* Make an extended name slot */ | ||
| 312 | + | ||
| 313 | + slot = (struct msdos_dir_slot *) &dir->table[dir->count++]; | ||
| 314 | + slot->id = 'A'; | ||
| 315 | + slot->attr = 0x0F; | ||
| 316 | + slot->reserved = 0; | ||
| 317 | + slot->start = 0; | ||
| 318 | + | ||
| 319 | + slot->alias_checksum = 0; | ||
| 320 | + | ||
| 321 | + for(i = 0; i < 8; i++) | ||
| 322 | + slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + name83[i]; | ||
| 323 | + | ||
| 324 | + for(i = 0; i < 3; i++) | ||
| 325 | + slot->alias_checksum = (((slot->alias_checksum&1)<<7)|((slot->alias_checksum&0xfe)>>1)) + ext83[i]; | ||
| 326 | + | ||
| 327 | + p = base; | ||
| 328 | + | ||
| 329 | + copy_name(slot->name0_4, 10, &p); | ||
| 330 | + copy_name(slot->name5_10, 12, &p); | ||
| 331 | + copy_name(slot->name11_12, 4, &p); | ||
| 332 | + | ||
| 333 | + | ||
| 334 | + /* Get the entry from the root filesytem */ | ||
| 335 | + entry = &dir->table[dir->count++]; | ||
| 336 | + | ||
| 337 | + strncpy(entry->name, name83, 8); | ||
| 338 | + strncpy(entry->ext, ext83, 3); | ||
| 339 | + | ||
| 340 | + | ||
| 341 | + /* If the user has it read only, then add read only to the incoming | ||
| 342 | + attribute settings */ | ||
| 343 | + | ||
| 344 | + if (!(stat.st_mode & S_IWUSR)) attr |= ATTR_RO; | ||
| 345 | + entry->attr = attr; | ||
| 346 | + | ||
| 347 | + /* Set the access time on the file */ | ||
| 348 | + ctime = localtime(&create_time); | ||
| 349 | + | ||
| 350 | + entry->time = CT_LE_W((unsigned short)((ctime->tm_sec >> 1) + | ||
| 351 | + (ctime->tm_min << 5) + (ctime->tm_hour << 11))); | ||
| 352 | + | ||
| 353 | + entry->date = CT_LE_W((unsigned short)(ctime->tm_mday + | ||
| 354 | + ((ctime->tm_mon+1) << 5) + | ||
| 355 | + ((ctime->tm_year-80) << 9))); | ||
| 356 | + | ||
| 357 | + entry->ctime_ms = 0; | ||
| 358 | + entry->ctime = entry->time; | ||
| 359 | + entry->cdate = entry->date; | ||
| 360 | + entry->adate = entry->date; | ||
| 361 | + entry->size = stat.st_size; | ||
| 362 | + | ||
| 363 | + start = last_cluster_written; | ||
| 364 | + | ||
| 365 | + entry->start = CT_LE_W(start); /* start sector */ | ||
| 366 | + entry->starthi = CT_LE_W((start & 0xFFFF0000) >> 16); /* High start sector (for FAT32) */ | ||
| 367 | + | ||
| 368 | + /* We mark all of the clusters we use in the FAT */ | ||
| 369 | + | ||
| 370 | + for(c = 0; c < clusters; c++ ) { | ||
| 371 | + int free; | ||
| 372 | + int next = c == (clusters - 1) ? FAT_EOF : start + c + 1; | ||
| 373 | + mark_FAT_cluster(start + c, next); | ||
| 374 | + last_cluster_written++; | ||
| 375 | + } | ||
| 376 | + | ||
| 377 | + /* This confused me too - cluster 2 starts after the | ||
| 378 | + root directory data - search me as to why */ | ||
| 379 | + | ||
| 380 | + ptr = (start_data_sector * sector_size) + size_root_dir; | ||
| 381 | + ptr += (start - 2) * bs.cluster_size * sector_size; | ||
| 382 | + | ||
| 383 | + buffer = (char *) malloc(sector_size); | ||
| 384 | + | ||
| 385 | + if (!buffer) { | ||
| 386 | + printf("Error - couldn't allocate memory\n"); | ||
| 387 | + goto exit_add; | ||
| 388 | + } | ||
| 389 | + | ||
| 390 | + /* Write the file into the file block */ | ||
| 391 | + | ||
| 392 | + seekto(ptr, "datafile"); | ||
| 393 | + | ||
| 394 | + while(1) { | ||
| 395 | + int size = read(infile, buffer, sector_size); | ||
| 396 | + if (size <= 0) break; | ||
| 397 | + | ||
| 398 | + writebuf(buffer, size, "data"); | ||
| 399 | + } | ||
| 400 | + | ||
| 401 | + exit_add: | ||
| 402 | + if (infile) close(infile); | ||
| 403 | +} | ||
| 404 | + | ||
| 405 | +/* Add a new directory to the specified directory entry, and in turn populate | ||
| 406 | + it with its own files */ | ||
| 407 | + | ||
| 408 | +/* FIXME: This should check to make sure there is enough size to add itself */ | ||
| 409 | + | ||
| 410 | +static void add_directory(char *filename, struct dir_entry *dir) { | ||
| 411 | + | ||
| 412 | + struct dir_entry *newdir = 0; | ||
| 413 | + struct msdos_dir_entry *entry; | ||
| 414 | + struct tm *ctime; | ||
| 415 | + DIR *rddir = opendir(filename); | ||
| 416 | + struct dirent *dentry = 0; | ||
| 417 | + int remain; | ||
| 418 | + char *data; | ||
| 419 | + | ||
| 420 | + /* If the directory doesn't exist */ | ||
| 421 | + if (!rddir) return; | ||
| 422 | + | ||
| 423 | + if (dir->root) { | ||
| 424 | + if (dir->count == dir->entries) { | ||
| 425 | + printf("Error - too many directory entries\n"); | ||
| 426 | + goto exit_add_dir; | ||
| 427 | + } | ||
| 428 | + } | ||
| 429 | + else { | ||
| 430 | + if (dir->count == dir->entries) { | ||
| 431 | + if (!dir->table) | ||
| 432 | + dir->table = (struct msdos_dir_entry *) malloc(sizeof(struct msdos_dir_entry)); | ||
| 433 | + else { | ||
| 434 | + dir->table = (struct msdos_dir_entry *) realloc(dir->table, (dir->entries + 1) * | ||
| 435 | + sizeof(struct msdos_dir_entry)); | ||
| 436 | + | ||
| 437 | + /* Zero it out to avoid issues */ | ||
| 438 | + memset(&dir->table[dir->entries], 0, sizeof(struct msdos_dir_entry)); | ||
| 439 | + } | ||
| 440 | + dir->entries++; | ||
| 441 | + } | ||
| 442 | + } | ||
| 443 | + | ||
| 444 | + /* Now, create a new directory entry for the new directory */ | ||
| 445 | + newdir = (struct dir_entry *) calloc(1, sizeof(struct dir_entry)); | ||
| 446 | + if (!newdir) goto exit_add_dir; | ||
| 447 | + | ||
| 448 | + entry = &dir->table[dir->count++]; | ||
| 449 | + | ||
| 450 | + strncpy(entry->name, basename(filename), sizeof(entry->name)); | ||
| 451 | + | ||
| 452 | + entry->attr = ATTR_DIR; | ||
| 453 | + ctime = localtime(&create_time); | ||
| 454 | + | ||
| 455 | + entry->time = CT_LE_W((unsigned short)((ctime->tm_sec >> 1) + | ||
| 456 | + (ctime->tm_min << 5) + (ctime->tm_hour << 11))); | ||
| 457 | + | ||
| 458 | + entry->date = CT_LE_W((unsigned short)(ctime->tm_mday + | ||
| 459 | + ((ctime->tm_mon+1) << 5) + | ||
| 460 | + ((ctime->tm_year-80) << 9))); | ||
| 461 | + | ||
| 462 | + entry->ctime_ms = 0; | ||
| 463 | + entry->ctime = entry->time; | ||
| 464 | + entry->cdate = entry->date; | ||
| 465 | + entry->adate = entry->date; | ||
| 466 | + | ||
| 467 | + /* Now, read the directory */ | ||
| 468 | + | ||
| 469 | + while((dentry = readdir(rddir))) { | ||
| 470 | + struct stat st; | ||
| 471 | + char *buffer; | ||
| 472 | + | ||
| 473 | + if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) | ||
| 474 | + continue; | ||
| 475 | + | ||
| 476 | + /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ | ||
| 477 | + if (dentry->d_name[0] == '.') continue; | ||
| 478 | + | ||
| 479 | + buffer = malloc(strlen(filename) + strlen(dentry->d_name) + 3); | ||
| 480 | + if (!buffer) continue; | ||
| 481 | + | ||
| 482 | + sprintf(buffer, "%s/%s", filename, dentry->d_name); | ||
| 483 | + if (!stat(buffer, &st)) { | ||
| 484 | + if (S_ISDIR(st.st_mode)) | ||
| 485 | + add_directory(buffer, newdir); | ||
| 486 | + else if (S_ISREG(st.st_mode)) { | ||
| 487 | + unsigned char attrib = check_attrib_file(filename, dentry->d_name); | ||
| 488 | + add_file(buffer, newdir, attrib); | ||
| 489 | + } | ||
| 490 | + } | ||
| 491 | + | ||
| 492 | + free(buffer); | ||
| 493 | + } | ||
| 494 | + | ||
| 495 | + /* Now that the entire directory has been written, go ahead and write the directory | ||
| 496 | + entry as well */ | ||
| 497 | + | ||
| 498 | + entry->start = CT_LE_W(last_cluster_written); | ||
| 499 | + entry->starthi = CT_LE_W((last_cluster_written & 0xFFFF0000) >> 16); | ||
| 500 | + entry->size = newdir->count * sizeof(struct msdos_dir_entry); | ||
| 501 | + | ||
| 502 | + remain = entry->size; | ||
| 503 | + data = (char *) newdir->table; | ||
| 504 | + | ||
| 505 | + while(remain) { | ||
| 506 | + int size = | ||
| 507 | + remain > bs.cluster_size * sector_size ? bs.cluster_size * sector_size : remain; | ||
| 508 | + | ||
| 509 | + int pos = (start_data_sector * sector_size) + size_root_dir; | ||
| 510 | + pos += (last_cluster_written - 2) * bs.cluster_size * sector_size; | ||
| 511 | + | ||
| 512 | + seekto(pos, "add_dir"); | ||
| 513 | + writebuf(data, size, "add_dir"); | ||
| 514 | + | ||
| 515 | + remain -= size; | ||
| 516 | + data += size; | ||
| 517 | + | ||
| 518 | + mark_FAT_cluster(last_cluster_written, remain ? last_cluster_written + 1 : FAT_EOF); | ||
| 519 | + last_cluster_written++; | ||
| 520 | + } | ||
| 521 | + | ||
| 522 | + exit_add_dir: | ||
| 523 | + if (rddir) closedir(rddir); | ||
| 524 | + if (newdir->table) free(newdir->table); | ||
| 525 | + if (newdir) free(newdir); | ||
| 526 | +} | ||
| 527 | + | ||
| 528 | +/* Given a directory, add all the files and directories to the root directory of the | ||
| 529 | + image. | ||
| 530 | +*/ | ||
| 531 | + | ||
| 532 | +static void add_root_directory(char *dirname) | ||
| 533 | +{ | ||
| 534 | + DIR *dir = opendir(dirname); | ||
| 535 | + struct dirent *entry = 0; | ||
| 536 | + struct dir_entry *newdir = 0; | ||
| 537 | + | ||
| 538 | + if (!dir) { | ||
| 539 | + printf("Error - directory %s does not exist\n", dirname); | ||
| 540 | + return; | ||
| 541 | + } | ||
| 542 | + | ||
| 543 | + /* Create the root directory structure - this is a bit different then | ||
| 544 | + above, because the table already exists, we just refer to it. */ | ||
| 545 | + | ||
| 546 | + newdir = (struct dir_entry *) calloc(1,sizeof(struct dir_entry)); | ||
| 547 | + | ||
| 548 | + if (!newdir) { | ||
| 549 | + closedir(dir); | ||
| 550 | + return; | ||
| 551 | + } | ||
| 552 | + | ||
| 553 | + newdir->entries = root_dir_entries; | ||
| 554 | + newdir->root = 1; | ||
| 555 | + newdir->count = 0; | ||
| 556 | + newdir->table = root_dir; | ||
| 557 | + | ||
| 558 | + while((entry = readdir(dir))) { | ||
| 559 | + struct stat st; | ||
| 560 | + char *buffer; | ||
| 561 | + | ||
| 562 | + if (!strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..")) | ||
| 563 | + continue; | ||
| 564 | + | ||
| 565 | + /* DOS wouldn't like a typical unix . (dot) file, so we skip those too */ | ||
| 566 | + if (entry->d_name[0] == '.') continue; | ||
| 567 | + | ||
| 568 | + buffer = malloc(strlen(dirname) + strlen(entry->d_name) + 3); | ||
| 569 | + if (!buffer) continue; | ||
| 570 | + | ||
| 571 | + sprintf(buffer, "%s/%s", dirname, entry->d_name); | ||
| 572 | + if (!stat(buffer, &st)) { | ||
| 573 | + if (S_ISDIR(st.st_mode)) | ||
| 574 | + add_directory(buffer, newdir); | ||
| 575 | + else if (S_ISREG(st.st_mode)) { | ||
| 576 | + unsigned char attrib = check_attrib_file(dirname, entry->d_name); | ||
| 577 | + add_file(buffer, newdir, attrib); | ||
| 578 | + } | ||
| 579 | + } | ||
| 580 | + | ||
| 581 | + free(buffer); | ||
| 582 | + } | ||
| 583 | + | ||
| 584 | + closedir(dir); | ||
| 585 | + if (newdir) free(newdir); | ||
| 586 | +} | ||
| 587 | |||
| 588 | /* Report the command usage and return a failure error code */ | ||
| 589 | |||
| 590 | @@ -1423,7 +1903,7 @@ | ||
| 591 | [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\ | ||
| 592 | [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\ | ||
| 593 | [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\ | ||
| 594 | - /dev/name [blocks]\n"); | ||
| 595 | + [-d directory] /dev/name [blocks]\n"); | ||
| 596 | } | ||
| 597 | |||
| 598 | /* | ||
| 599 | @@ -1463,6 +1943,8 @@ | ||
| 600 | int c; | ||
| 601 | char *tmp; | ||
| 602 | char *listfile = NULL; | ||
| 603 | + char *dirname = NULL; | ||
| 604 | + | ||
| 605 | FILE *msgfile; | ||
| 606 | struct stat statbuf; | ||
| 607 | int i = 0, pos, ch; | ||
| 608 | @@ -1483,7 +1965,7 @@ | ||
| 609 | printf ("%s " VERSION " (" VERSION_DATE ")\n", | ||
| 610 | program_name); | ||
| 611 | |||
| 612 | - while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) | ||
| 613 | + while ((c = getopt (argc, argv, "AbcCd:f:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF) | ||
| 614 | /* Scan the command line for options */ | ||
| 615 | switch (c) | ||
| 616 | { | ||
| 617 | @@ -1508,6 +1990,10 @@ | ||
| 618 | create = TRUE; | ||
| 619 | break; | ||
| 620 | |||
| 621 | + case 'd': | ||
| 622 | + dirname = optarg; | ||
| 623 | + break; | ||
| 624 | + | ||
| 625 | case 'f': /* f : Choose number of FATs */ | ||
| 626 | nr_fats = (int) strtol (optarg, &tmp, 0); | ||
| 627 | if (*tmp || nr_fats < 1 || nr_fats > 4) | ||
| 628 | @@ -1811,8 +2297,10 @@ | ||
| 629 | else if (listfile) | ||
| 630 | get_list_blocks (listfile); | ||
| 631 | |||
| 632 | - write_tables (); /* Write the file system tables away! */ | ||
| 633 | |||
| 634 | + if (dirname) add_root_directory(dirname); | ||
| 635 | + | ||
| 636 | + write_tables (); /* Write the file system tables away! */ | ||
| 637 | exit (0); /* Terminate with no errors! */ | ||
| 638 | } | ||
| 639 | |||
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 @@ | |||
| 1 | Fix a compilation error due to undefined MSDOS_FAT12. | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [licensing] | ||
| 4 | We're tracking an old release of dosfstools due to licensing issues. | ||
| 5 | |||
| 6 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
| 7 | |||
| 8 | --- dosfstools-2.10/dosfsck/boot.c.orig 2004-10-15 08:51:42.394725176 -0600 | ||
| 9 | +++ dosfstools-2.10/dosfsck/boot.c 2004-10-15 08:49:16.776862456 -0600 | ||
| 10 | @@ -14,6 +14,9 @@ | ||
| 11 | #include "io.h" | ||
| 12 | #include "boot.h" | ||
| 13 | |||
| 14 | +#ifndef MSDOS_FAT12 | ||
| 15 | +#define MSDOS_FAT12 4084 | ||
| 16 | +#endif | ||
| 17 | |||
| 18 | #define ROUND_TO_MULTIPLE(n,m) ((n) && (m) ? (n)+(m)-1-((n)-1)%(m) : 0) | ||
| 19 | /* 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 @@ | |||
| 1 | FAT32 appears to be broken when used with the -d option to populate the msdos | ||
| 2 | image. This disables the FAT32 autoselection code which means we don't get | ||
| 3 | broken images with the -d option. It can still be enabled on the commandline | ||
| 4 | at the users own risk. This changes us back to the 2.10 version's behaviour | ||
| 5 | which was known to work well even with large images. | ||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [depends on other patches we apply] | ||
| 8 | |||
| 9 | RP 2011/12/13 | ||
| 10 | |||
| 11 | Index: dosfstools-2.11/mkdosfs/mkdosfs.c | ||
| 12 | =================================================================== | ||
| 13 | --- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-13 13:54:37.538509391 +0000 | ||
| 14 | +++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-13 13:55:10.258508631 +0000 | ||
| 15 | @@ -808,10 +808,12 @@ | ||
| 16 | bs.media = (char) 0xf8; /* Set up the media descriptor for a hard drive */ | ||
| 17 | bs.dir_entries[0] = (char) 0; /* Default to 512 entries */ | ||
| 18 | bs.dir_entries[1] = (char) 2; | ||
| 19 | +/* | ||
| 20 | if (!size_fat && blocks*SECTORS_PER_BLOCK > 1064960) { | ||
| 21 | if (verbose) printf("Auto-selecting FAT32 for large filesystem\n"); | ||
| 22 | size_fat = 32; | ||
| 23 | } | ||
| 24 | +*/ | ||
| 25 | if (size_fat == 32) { | ||
| 26 | /* For FAT32, try to do the same as M$'s format command: | ||
| 27 | * 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 @@ | |||
| 1 | # dosfstools OE build file | ||
| 2 | # Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved | ||
| 3 | # Released under the MIT license (see packages/COPYING) | ||
| 4 | SUMMARY = "DOS FAT Filesystem Utilities" | ||
| 5 | HOMEPAGE = "https://github.com/dosfstools/dosfstools" | ||
| 6 | |||
| 7 | SECTION = "base" | ||
| 8 | LICENSE = "GPLv2" | ||
| 9 | LIC_FILES_CHKSUM = "file://mkdosfs/COPYING;md5=cbe67f08d6883bff587f615f0cc81aa8" | ||
| 10 | PR = "r5" | ||
| 11 | |||
| 12 | SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.src.tar.gz/407d405ade410f7597d364ab5dc8c9f6/${BP}.src.tar.gz \ | ||
| 13 | file://mkdosfs-bootcode.patch \ | ||
| 14 | file://mkdosfs-dir.patch \ | ||
| 15 | file://alignment_hack.patch \ | ||
| 16 | file://msdos_fat12_undefined.patch \ | ||
| 17 | file://dosfstools-msdos_fs-types.patch \ | ||
| 18 | file://include-linux-types.patch \ | ||
| 19 | file://nofat32_autoselect.patch \ | ||
| 20 | file://fix_populated_dosfs_creation.patch \ | ||
| 21 | file://0001-Include-fcntl.h-for-getting-loff_t-definition.patch \ | ||
| 22 | " | ||
| 23 | |||
| 24 | SRC_URI[md5sum] = "407d405ade410f7597d364ab5dc8c9f6" | ||
| 25 | SRC_URI[sha256sum] = "0eac6d12388b3d9ed78684529c1b0d9346fa2abbe406c4d4a3eb5a023c98a484" | ||
| 26 | |||
| 27 | CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}" | ||
| 28 | |||
| 29 | EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" | ||
| 30 | |||
| 31 | do_install () { | ||
| 32 | oe_runmake "PREFIX=${D}" "SBINDIR=${D}${base_sbindir}" \ | ||
| 33 | "MANDIR=${D}${mandir}/man8" install | ||
| 34 | } | ||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.146/backends/arm_init.c | ||
| 4 | =================================================================== | ||
| 5 | --- elfutils-0.146.orig/backends/arm_init.c 2009-04-21 14:50:01.000000000 +0000 | ||
| 6 | +++ elfutils-0.146/backends/arm_init.c 2010-04-24 10:11:13.000000000 +0000 | ||
| 7 | @@ -32,21 +32,32 @@ | ||
| 8 | #define RELOC_PREFIX R_ARM_ | ||
| 9 | #include "libebl_CPU.h" | ||
| 10 | |||
| 11 | +#include "libebl_arm.h" | ||
| 12 | + | ||
| 13 | /* This defines the common reloc hooks based on arm_reloc.def. */ | ||
| 14 | #include "common-reloc.c" | ||
| 15 | |||
| 16 | |||
| 17 | const char * | ||
| 18 | arm_init (elf, machine, eh, ehlen) | ||
| 19 | - Elf *elf __attribute__ ((unused)); | ||
| 20 | + Elf *elf; | ||
| 21 | GElf_Half machine __attribute__ ((unused)); | ||
| 22 | Ebl *eh; | ||
| 23 | size_t ehlen; | ||
| 24 | { | ||
| 25 | + int soft_float = 0; | ||
| 26 | + | ||
| 27 | /* Check whether the Elf_BH object has a sufficent size. */ | ||
| 28 | if (ehlen < sizeof (Ebl)) | ||
| 29 | return NULL; | ||
| 30 | |||
| 31 | + if (elf) { | ||
| 32 | + GElf_Ehdr ehdr_mem; | ||
| 33 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
| 34 | + if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT)) | ||
| 35 | + soft_float = 1; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | /* We handle it. */ | ||
| 39 | eh->name = "ARM"; | ||
| 40 | arm_init_reloc (eh); | ||
| 41 | @@ -58,7 +69,10 @@ | ||
| 42 | HOOK (eh, core_note); | ||
| 43 | HOOK (eh, auxv_info); | ||
| 44 | HOOK (eh, check_object_attribute); | ||
| 45 | - HOOK (eh, return_value_location); | ||
| 46 | + if (soft_float) | ||
| 47 | + eh->return_value_location = arm_return_value_location_soft; | ||
| 48 | + else | ||
| 49 | + eh->return_value_location = arm_return_value_location_hard; | ||
| 50 | |||
| 51 | return MODVERSION; | ||
| 52 | } | ||
| 53 | Index: elfutils-0.146/backends/arm_regs.c | ||
| 54 | =================================================================== | ||
| 55 | --- elfutils-0.146.orig/backends/arm_regs.c 2009-04-21 14:50:01.000000000 +0000 | ||
| 56 | +++ elfutils-0.146/backends/arm_regs.c 2010-04-24 10:11:13.000000000 +0000 | ||
| 57 | @@ -28,6 +28,7 @@ | ||
| 58 | #endif | ||
| 59 | |||
| 60 | #include <string.h> | ||
| 61 | +#include <stdio.h> | ||
| 62 | #include <dwarf.h> | ||
| 63 | |||
| 64 | #define BACKEND arm_ | ||
| 65 | @@ -58,7 +59,15 @@ | ||
| 66 | namelen = 2; | ||
| 67 | break; | ||
| 68 | |||
| 69 | - case 10 ... 12: | ||
| 70 | + case 10 ... 11: | ||
| 71 | + name[0] = 'r'; | ||
| 72 | + name[1] = '1'; | ||
| 73 | + name[2] = regno % 10 + '0'; | ||
| 74 | + namelen = 3; | ||
| 75 | + break; | ||
| 76 | + | ||
| 77 | + case 12: | ||
| 78 | + *type = DW_ATE_unsigned; | ||
| 79 | name[0] = 'r'; | ||
| 80 | name[1] = '1'; | ||
| 81 | name[2] = regno % 10 + '0'; | ||
| 82 | @@ -73,6 +82,9 @@ | ||
| 83 | break; | ||
| 84 | |||
| 85 | case 16 + 0 ... 16 + 7: | ||
| 86 | + /* AADWARF says that there are no registers in that range, | ||
| 87 | + * but gcc maps FPA registers here | ||
| 88 | + */ | ||
| 89 | regno += 96 - 16; | ||
| 90 | /* Fall through. */ | ||
| 91 | case 96 + 0 ... 96 + 7: | ||
| 92 | @@ -84,11 +96,139 @@ | ||
| 93 | namelen = 2; | ||
| 94 | break; | ||
| 95 | |||
| 96 | + case 64 + 0 ... 64 + 9: | ||
| 97 | + *setname = "VFP"; | ||
| 98 | + *bits = 32; | ||
| 99 | + *type = DW_ATE_float; | ||
| 100 | + name[0] = 's'; | ||
| 101 | + name[1] = regno - 64 + '0'; | ||
| 102 | + namelen = 2; | ||
| 103 | + break; | ||
| 104 | + | ||
| 105 | + case 64 + 10 ... 64 + 31: | ||
| 106 | + *setname = "VFP"; | ||
| 107 | + *bits = 32; | ||
| 108 | + *type = DW_ATE_float; | ||
| 109 | + name[0] = 's'; | ||
| 110 | + name[1] = (regno - 64) / 10 + '0'; | ||
| 111 | + name[2] = (regno - 64) % 10 + '0'; | ||
| 112 | + namelen = 3; | ||
| 113 | + break; | ||
| 114 | + | ||
| 115 | + case 104 + 0 ... 104 + 7: | ||
| 116 | + /* XXX TODO: | ||
| 117 | + * This can be either intel wireless MMX general purpose/control | ||
| 118 | + * registers or xscale accumulator, which have different usage. | ||
| 119 | + * We only have the intel wireless MMX here now. | ||
| 120 | + * The name needs to be changed for the xscale accumulator too. */ | ||
| 121 | + *setname = "MMX"; | ||
| 122 | + *type = DW_ATE_unsigned; | ||
| 123 | + *bits = 32; | ||
| 124 | + memcpy(name, "wcgr", 4); | ||
| 125 | + name[4] = regno - 104 + '0'; | ||
| 126 | + namelen = 5; | ||
| 127 | + break; | ||
| 128 | + | ||
| 129 | + case 112 + 0 ... 112 + 9: | ||
| 130 | + *setname = "MMX"; | ||
| 131 | + *type = DW_ATE_unsigned; | ||
| 132 | + *bits = 64; | ||
| 133 | + name[0] = 'w'; | ||
| 134 | + name[1] = 'r'; | ||
| 135 | + name[2] = regno - 112 + '0'; | ||
| 136 | + namelen = 3; | ||
| 137 | + break; | ||
| 138 | + | ||
| 139 | + case 112 + 10 ... 112 + 15: | ||
| 140 | + *setname = "MMX"; | ||
| 141 | + *type = DW_ATE_unsigned; | ||
| 142 | + *bits = 64; | ||
| 143 | + name[0] = 'w'; | ||
| 144 | + name[1] = 'r'; | ||
| 145 | + name[2] = '1'; | ||
| 146 | + name[3] = regno - 112 - 10 + '0'; | ||
| 147 | + namelen = 4; | ||
| 148 | + break; | ||
| 149 | + | ||
| 150 | case 128: | ||
| 151 | + *setname = "special"; | ||
| 152 | *type = DW_ATE_unsigned; | ||
| 153 | return stpcpy (name, "spsr") + 1 - name; | ||
| 154 | |||
| 155 | + case 129: | ||
| 156 | + *setname = "special"; | ||
| 157 | + *type = DW_ATE_unsigned; | ||
| 158 | + return stpcpy(name, "spsr_fiq") + 1 - name; | ||
| 159 | + | ||
| 160 | + case 130: | ||
| 161 | + *setname = "special"; | ||
| 162 | + *type = DW_ATE_unsigned; | ||
| 163 | + return stpcpy(name, "spsr_irq") + 1 - name; | ||
| 164 | + | ||
| 165 | + case 131: | ||
| 166 | + *setname = "special"; | ||
| 167 | + *type = DW_ATE_unsigned; | ||
| 168 | + return stpcpy(name, "spsr_abt") + 1 - name; | ||
| 169 | + | ||
| 170 | + case 132: | ||
| 171 | + *setname = "special"; | ||
| 172 | + *type = DW_ATE_unsigned; | ||
| 173 | + return stpcpy(name, "spsr_und") + 1 - name; | ||
| 174 | + | ||
| 175 | + case 133: | ||
| 176 | + *setname = "special"; | ||
| 177 | + *type = DW_ATE_unsigned; | ||
| 178 | + return stpcpy(name, "spsr_svc") + 1 - name; | ||
| 179 | + | ||
| 180 | + case 144 ... 150: | ||
| 181 | + *setname = "integer"; | ||
| 182 | + *type = DW_ATE_signed; | ||
| 183 | + *bits = 32; | ||
| 184 | + return sprintf(name, "r%d_usr", regno - 144 + 8) + 1; | ||
| 185 | + | ||
| 186 | + case 151 ... 157: | ||
| 187 | + *setname = "integer"; | ||
| 188 | + *type = DW_ATE_signed; | ||
| 189 | + *bits = 32; | ||
| 190 | + return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1; | ||
| 191 | + | ||
| 192 | + case 158 ... 159: | ||
| 193 | + *setname = "integer"; | ||
| 194 | + *type = DW_ATE_signed; | ||
| 195 | + *bits = 32; | ||
| 196 | + return sprintf(name, "r%d_irq", regno - 158 + 13) + 1; | ||
| 197 | + | ||
| 198 | + case 160 ... 161: | ||
| 199 | + *setname = "integer"; | ||
| 200 | + *type = DW_ATE_signed; | ||
| 201 | + *bits = 32; | ||
| 202 | + return sprintf(name, "r%d_abt", regno - 160 + 13) + 1; | ||
| 203 | + | ||
| 204 | + case 162 ... 163: | ||
| 205 | + *setname = "integer"; | ||
| 206 | + *type = DW_ATE_signed; | ||
| 207 | + *bits = 32; | ||
| 208 | + return sprintf(name, "r%d_und", regno - 162 + 13) + 1; | ||
| 209 | + | ||
| 210 | + case 164 ... 165: | ||
| 211 | + *setname = "integer"; | ||
| 212 | + *type = DW_ATE_signed; | ||
| 213 | + *bits = 32; | ||
| 214 | + return sprintf(name, "r%d_svc", regno - 164 + 13) + 1; | ||
| 215 | + | ||
| 216 | + case 192 ... 199: | ||
| 217 | + *setname = "MMX"; | ||
| 218 | + *bits = 32; | ||
| 219 | + *type = DW_ATE_unsigned; | ||
| 220 | + name[0] = 'w'; | ||
| 221 | + name[1] = 'c'; | ||
| 222 | + name[2] = regno - 192 + '0'; | ||
| 223 | + namelen = 3; | ||
| 224 | + break; | ||
| 225 | + | ||
| 226 | case 256 + 0 ... 256 + 9: | ||
| 227 | + /* XXX TODO: Neon also uses those registers and can contain | ||
| 228 | + * both float and integers */ | ||
| 229 | *setname = "VFP"; | ||
| 230 | *type = DW_ATE_float; | ||
| 231 | *bits = 64; | ||
| 232 | Index: elfutils-0.146/backends/arm_retval.c | ||
| 233 | =================================================================== | ||
| 234 | --- elfutils-0.146.orig/backends/arm_retval.c 2010-01-12 16:57:54.000000000 +0000 | ||
| 235 | +++ elfutils-0.146/backends/arm_retval.c 2010-04-24 10:11:13.000000000 +0000 | ||
| 236 | @@ -45,6 +45,13 @@ | ||
| 237 | #define nloc_intreg 1 | ||
| 238 | #define nloc_intregs(n) (2 * (n)) | ||
| 239 | |||
| 240 | +/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */ | ||
| 241 | +static const Dwarf_Op loc_fpreg[] = | ||
| 242 | + { | ||
| 243 | + { .atom = DW_OP_reg16 }, | ||
| 244 | + }; | ||
| 245 | +#define nloc_fpreg 1 | ||
| 246 | + | ||
| 247 | /* The return value is a structure and is actually stored in stack space | ||
| 248 | passed in a hidden argument by the caller. But, the compiler | ||
| 249 | helpfully returns the address of that space in r0. */ | ||
| 250 | @@ -55,8 +62,9 @@ | ||
| 251 | #define nloc_aggregate 1 | ||
| 252 | |||
| 253 | |||
| 254 | -int | ||
| 255 | -arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 256 | +static int | ||
| 257 | +arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, | ||
| 258 | + int soft_float) | ||
| 259 | { | ||
| 260 | /* Start with the function's type, and get the DW_AT_type attribute, | ||
| 261 | which is the type of the return value. */ | ||
| 262 | @@ -109,14 +117,31 @@ | ||
| 263 | else | ||
| 264 | return -1; | ||
| 265 | } | ||
| 266 | + if (tag == DW_TAG_base_type) | ||
| 267 | + { | ||
| 268 | + Dwarf_Word encoding; | ||
| 269 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
| 270 | + &attr_mem), &encoding) != 0) | ||
| 271 | + return -1; | ||
| 272 | + | ||
| 273 | + if ((encoding == DW_ATE_float) && !soft_float) | ||
| 274 | + { | ||
| 275 | + *locp = loc_fpreg; | ||
| 276 | + if (size <= 8) | ||
| 277 | + return nloc_fpreg; | ||
| 278 | + goto aggregate; | ||
| 279 | + } | ||
| 280 | + } | ||
| 281 | if (size <= 16) | ||
| 282 | { | ||
| 283 | intreg: | ||
| 284 | *locp = loc_intreg; | ||
| 285 | return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4); | ||
| 286 | } | ||
| 287 | + /* fall through. */ | ||
| 288 | |||
| 289 | aggregate: | ||
| 290 | + /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */ | ||
| 291 | *locp = loc_aggregate; | ||
| 292 | return nloc_aggregate; | ||
| 293 | |||
| 294 | @@ -135,3 +160,18 @@ | ||
| 295 | DWARF and might be valid. */ | ||
| 296 | return -2; | ||
| 297 | } | ||
| 298 | + | ||
| 299 | +/* return location for -mabi=apcs-gnu -msoft-float */ | ||
| 300 | +int | ||
| 301 | +arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 302 | +{ | ||
| 303 | + return arm_return_value_location_ (functypedie, locp, 1); | ||
| 304 | +} | ||
| 305 | + | ||
| 306 | +/* return location for -mabi=apcs-gnu -mhard-float (current default) */ | ||
| 307 | +int | ||
| 308 | +arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 309 | +{ | ||
| 310 | + return arm_return_value_location_ (functypedie, locp, 0); | ||
| 311 | +} | ||
| 312 | + | ||
| 313 | Index: elfutils-0.146/libelf/elf.h | ||
| 314 | =================================================================== | ||
| 315 | --- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:11.000000000 +0000 | ||
| 316 | +++ elfutils-0.146/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000 | ||
| 317 | @@ -2290,6 +2290,9 @@ | ||
| 318 | #define EF_ARM_EABI_VER4 0x04000000 | ||
| 319 | #define EF_ARM_EABI_VER5 0x05000000 | ||
| 320 | |||
| 321 | +/* EI_OSABI values */ | ||
| 322 | +#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */ | ||
| 323 | + | ||
| 324 | /* Additional symbol types for Thumb. */ | ||
| 325 | #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ | ||
| 326 | #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ | ||
| 327 | @@ -2307,12 +2310,19 @@ | ||
| 328 | |||
| 329 | /* Processor specific values for the Phdr p_type field. */ | ||
| 330 | #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ | ||
| 331 | +#define PT_ARM_UNWIND PT_ARM_EXIDX | ||
| 332 | |||
| 333 | /* Processor specific values for the Shdr sh_type field. */ | ||
| 334 | #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ | ||
| 335 | #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ | ||
| 336 | #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ | ||
| 337 | |||
| 338 | +/* Processor specific values for the Dyn d_tag field. */ | ||
| 339 | +#define DT_ARM_RESERVED1 (DT_LOPROC + 0) | ||
| 340 | +#define DT_ARM_SYMTABSZ (DT_LOPROC + 1) | ||
| 341 | +#define DT_ARM_PREEMTMAB (DT_LOPROC + 2) | ||
| 342 | +#define DT_ARM_RESERVED2 (DT_LOPROC + 3) | ||
| 343 | +#define DT_ARM_NUM 4 | ||
| 344 | |||
| 345 | /* ARM relocs. */ | ||
| 346 | |||
| 347 | @@ -2344,12 +2354,75 @@ | ||
| 348 | #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */ | ||
| 349 | #define R_ARM_GOT32 26 /* 32 bit GOT entry */ | ||
| 350 | #define R_ARM_PLT32 27 /* 32 bit PLT address */ | ||
| 351 | +#define R_ARM_CALL 28 | ||
| 352 | +#define R_ARM_JUMP24 29 | ||
| 353 | +#define R_ARM_THM_JUMP24 30 | ||
| 354 | +#define R_ARM_BASE_ABS 31 | ||
| 355 | #define R_ARM_ALU_PCREL_7_0 32 | ||
| 356 | #define R_ARM_ALU_PCREL_15_8 33 | ||
| 357 | #define R_ARM_ALU_PCREL_23_15 34 | ||
| 358 | #define R_ARM_LDR_SBREL_11_0 35 | ||
| 359 | #define R_ARM_ALU_SBREL_19_12 36 | ||
| 360 | #define R_ARM_ALU_SBREL_27_20 37 | ||
| 361 | +#define R_ARM_TARGET1 38 | ||
| 362 | +#define R_ARM_SBREL31 39 | ||
| 363 | +#define R_ARM_V4BX 40 | ||
| 364 | +#define R_ARM_TARGET2 41 | ||
| 365 | +#define R_ARM_PREL31 42 | ||
| 366 | +#define R_ARM_MOVW_ABS_NC 43 | ||
| 367 | +#define R_ARM_MOVT_ABS 44 | ||
| 368 | +#define R_ARM_MOVW_PREL_NC 45 | ||
| 369 | +#define R_ARM_MOVT_PREL 46 | ||
| 370 | +#define R_ARM_THM_MOVW_ABS_NC 47 | ||
| 371 | +#define R_ARM_THM_MOVT_ABS 48 | ||
| 372 | +#define R_ARM_THM_MOVW_PREL_NC 49 | ||
| 373 | +#define R_ARM_THM_MOVT_PREL 50 | ||
| 374 | +#define R_ARM_THM_JUMP19 51 | ||
| 375 | +#define R_ARM_THM_JUMP6 52 | ||
| 376 | +#define R_ARM_THM_ALU_PREL_11_0 53 | ||
| 377 | +#define R_ARM_THM_PC12 54 | ||
| 378 | +#define R_ARM_ABS32_NOI 55 | ||
| 379 | +#define R_ARM_REL32_NOI 56 | ||
| 380 | +#define R_ARM_ALU_PC_G0_NC 57 | ||
| 381 | +#define R_ARM_ALU_PC_G0 58 | ||
| 382 | +#define R_ARM_ALU_PC_G1_NC 59 | ||
| 383 | +#define R_ARM_ALU_PC_G1 60 | ||
| 384 | +#define R_ARM_ALU_PC_G2 61 | ||
| 385 | +#define R_ARM_LDR_PC_G1 62 | ||
| 386 | +#define R_ARM_LDR_PC_G2 63 | ||
| 387 | +#define R_ARM_LDRS_PC_G0 64 | ||
| 388 | +#define R_ARM_LDRS_PC_G1 65 | ||
| 389 | +#define R_ARM_LDRS_PC_G2 66 | ||
| 390 | +#define R_ARM_LDC_PC_G0 67 | ||
| 391 | +#define R_ARM_LDC_PC_G1 68 | ||
| 392 | +#define R_ARM_LDC_PC_G2 69 | ||
| 393 | +#define R_ARM_ALU_SB_G0_NC 70 | ||
| 394 | +#define R_ARM_ALU_SB_G0 71 | ||
| 395 | +#define R_ARM_ALU_SB_G1_NC 72 | ||
| 396 | +#define R_ARM_ALU_SB_G1 73 | ||
| 397 | +#define R_ARM_ALU_SB_G2 74 | ||
| 398 | +#define R_ARM_LDR_SB_G0 75 | ||
| 399 | +#define R_ARM_LDR_SB_G1 76 | ||
| 400 | +#define R_ARM_LDR_SB_G2 77 | ||
| 401 | +#define R_ARM_LDRS_SB_G0 78 | ||
| 402 | +#define R_ARM_LDRS_SB_G1 79 | ||
| 403 | +#define R_ARM_LDRS_SB_G2 80 | ||
| 404 | +#define R_ARM_LDC_G0 81 | ||
| 405 | +#define R_ARM_LDC_G1 82 | ||
| 406 | +#define R_ARM_LDC_G2 83 | ||
| 407 | +#define R_ARM_MOVW_BREL_NC 84 | ||
| 408 | +#define R_ARM_MOVT_BREL 85 | ||
| 409 | +#define R_ARM_MOVW_BREL 86 | ||
| 410 | +#define R_ARM_THM_MOVW_BREL_NC 87 | ||
| 411 | +#define R_ARM_THM_MOVT_BREL 88 | ||
| 412 | +#define R_ARM_THM_MOVW_BREL 89 | ||
| 413 | +/* 90-93 unallocated */ | ||
| 414 | +#define R_ARM_PLT32_ABS 94 | ||
| 415 | +#define R_ARM_GOT_ABS 95 | ||
| 416 | +#define R_ARM_GOT_PREL 96 | ||
| 417 | +#define R_ARM_GOT_BREL12 97 | ||
| 418 | +#define R_ARM_GOTOFF12 98 | ||
| 419 | +#define R_ARM_GOTRELAX 99 | ||
| 420 | #define R_ARM_GNU_VTENTRY 100 | ||
| 421 | #define R_ARM_GNU_VTINHERIT 101 | ||
| 422 | #define R_ARM_THM_PC11 102 /* thumb unconditional branch */ | ||
| 423 | @@ -2364,6 +2437,12 @@ | ||
| 424 | static TLS block offset */ | ||
| 425 | #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static | ||
| 426 | TLS block */ | ||
| 427 | +#define R_ARM_TLS_LDO12 109 | ||
| 428 | +#define R_ARM_TLS_LE12 110 | ||
| 429 | +#define R_ARM_TLS_IE12GP 111 | ||
| 430 | +/* 112 - 127 private range */ | ||
| 431 | +#define R_ARM_ME_TOO 128 /* obsolete */ | ||
| 432 | + | ||
| 433 | #define R_ARM_RXPC25 249 | ||
| 434 | #define R_ARM_RSBREL32 250 | ||
| 435 | #define R_ARM_THM_RPC22 251 | ||
| 436 | Index: elfutils-0.146/backends/libebl_arm.h | ||
| 437 | =================================================================== | ||
| 438 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 439 | +++ elfutils-0.146/backends/libebl_arm.h 2010-04-24 10:11:13.000000000 +0000 | ||
| 440 | @@ -0,0 +1,9 @@ | ||
| 441 | +#ifndef _LIBEBL_ARM_H | ||
| 442 | +#define _LIBEBL_ARM_H 1 | ||
| 443 | + | ||
| 444 | +#include <libdw.h> | ||
| 445 | + | ||
| 446 | +extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp); | ||
| 447 | +extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp); | ||
| 448 | + | ||
| 449 | +#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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.146/libelf/elf.h | ||
| 4 | =================================================================== | ||
| 5 | --- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000 | ||
| 6 | +++ elfutils-0.146/libelf/elf.h 2010-04-24 10:22:43.000000000 +0000 | ||
| 7 | @@ -143,6 +143,7 @@ | ||
| 8 | #define ELFOSABI_HPUX 1 /* HP-UX */ | ||
| 9 | #define ELFOSABI_NETBSD 2 /* NetBSD. */ | ||
| 10 | #define ELFOSABI_LINUX 3 /* Linux. */ | ||
| 11 | +#define ELFOSABI_HURD 4 /* GNU/Hurd */ | ||
| 12 | #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ | ||
| 13 | #define ELFOSABI_AIX 7 /* IBM AIX. */ | ||
| 14 | #define ELFOSABI_IRIX 8 /* SGI Irix. */ | ||
| 15 | @@ -150,8 +151,13 @@ | ||
| 16 | #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ | ||
| 17 | #define ELFOSABI_MODESTO 11 /* Novell Modesto. */ | ||
| 18 | #define ELFOSABI_OPENBSD 12 /* OpenBSD. */ | ||
| 19 | +#define ELFOSABI_OPENVMS 13 /* OpenVMS */ | ||
| 20 | +#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ | ||
| 21 | +#define ELFOSABI_AROS 15 /* Amiga Research OS */ | ||
| 22 | +/* 64-255 Architecture-specific value range */ | ||
| 23 | #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */ | ||
| 24 | #define ELFOSABI_ARM 97 /* ARM */ | ||
| 25 | +/* This is deprecated? It's not in the latest version anymore. */ | ||
| 26 | #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ | ||
| 27 | |||
| 28 | #define EI_ABIVERSION 8 /* ABI version */ | ||
| 29 | @@ -206,7 +212,7 @@ | ||
| 30 | #define EM_H8_300H 47 /* Hitachi H8/300H */ | ||
| 31 | #define EM_H8S 48 /* Hitachi H8S */ | ||
| 32 | #define EM_H8_500 49 /* Hitachi H8/500 */ | ||
| 33 | -#define EM_IA_64 50 /* Intel Merced */ | ||
| 34 | +#define EM_IA_64 50 /* Intel IA64 */ | ||
| 35 | #define EM_MIPS_X 51 /* Stanford MIPS-X */ | ||
| 36 | #define EM_COLDFIRE 52 /* Motorola Coldfire */ | ||
| 37 | #define EM_68HC12 53 /* Motorola M68HC12 */ | ||
| 38 | @@ -220,7 +226,8 @@ | ||
| 39 | #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/ | ||
| 40 | #define EM_X86_64 62 /* AMD x86-64 architecture */ | ||
| 41 | #define EM_PDSP 63 /* Sony DSP Processor */ | ||
| 42 | - | ||
| 43 | +#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ | ||
| 44 | +#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ | ||
| 45 | #define EM_FX66 66 /* Siemens FX66 microcontroller */ | ||
| 46 | #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ | ||
| 47 | #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ | ||
| 48 | @@ -250,7 +257,22 @@ | ||
| 49 | #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ | ||
| 50 | #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ | ||
| 51 | #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ | ||
| 52 | -#define EM_NUM 95 | ||
| 53 | +#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */ | ||
| 54 | +#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */ | ||
| 55 | +#define EM_NS32K 97 /* National Semiconductor 32000 series */ | ||
| 56 | +#define EM_TPC 98 /* Tenor Network TPC processor */ | ||
| 57 | +#define EM_SNP1K 99 /* Trebia SNP 1000 processor */ | ||
| 58 | +#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */ | ||
| 59 | +#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */ | ||
| 60 | +#define EM_MAX 102 /* MAX Processor */ | ||
| 61 | +#define EM_CR 103 /* National Semiconductor CompactRISC */ | ||
| 62 | +#define EM_F2MC16 104 /* Fujitsu F2MC16 */ | ||
| 63 | +#define EM_MSP430 105 /* TI msp430 micro controller */ | ||
| 64 | +#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */ | ||
| 65 | +#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */ | ||
| 66 | +#define EM_SEP 108 /* Sharp embedded microprocessor */ | ||
| 67 | +#define EM_ARCA 109 /* Arca RISC Microprocessor */ | ||
| 68 | +#define EM_NUM 110 | ||
| 69 | |||
| 70 | /* If it is necessary to assign new unofficial EM_* values, please | ||
| 71 | 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 @@ | |||
| 1 | From 323ca04a0c9189544075c19b49da67f6443a8950 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Wed, 21 Jan 2015 09:33:38 +0900 | ||
| 4 | Subject: [PATCH] elf_begin.c: CVE-2014-9447 fix | ||
| 5 | |||
| 6 | this patch is from: | ||
| 7 | https://git.fedorahosted.org/cgit/elfutils.git/commit/?id=147018e729e7c22eeabf15b82d26e4bf68a0d18e | ||
| 8 | |||
| 9 | Upstream-Status: Backport | ||
| 10 | CVE: CVE-2014-9447 | ||
| 11 | |||
| 12 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 13 | --- | ||
| 14 | libelf/elf_begin.c | 7 ++----- | ||
| 15 | 1 file changed, 2 insertions(+), 5 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c | ||
| 18 | index e46add3..e83ba35 100644 | ||
| 19 | --- a/libelf/elf_begin.c | ||
| 20 | +++ b/libelf/elf_begin.c | ||
| 21 | @@ -736,11 +736,8 @@ read_long_names (Elf *elf) | ||
| 22 | break; | ||
| 23 | |||
| 24 | /* NUL-terminate the string. */ | ||
| 25 | - *runp = '\0'; | ||
| 26 | - | ||
| 27 | - /* Skip the NUL byte and the \012. */ | ||
| 28 | - runp += 2; | ||
| 29 | - | ||
| 30 | + *runp++ = '\0'; | ||
| 31 | + | ||
| 32 | /* A sanity check. Somebody might have generated invalid | ||
| 33 | archive. */ | ||
| 34 | if (runp >= newp + len) | ||
| 35 | -- | ||
| 36 | 1.8.4.2 | ||
| 37 | |||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | ar.c (do_oper_delete): Fix num passed to memset | ||
| 4 | native build failed as following on Fedora18+: | ||
| 5 | ar.c: In function 'do_oper_delete': | ||
| 6 | 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] | ||
| 7 | memset (found, '\0', sizeof (found)); | ||
| 8 | ^ | ||
| 9 | The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/ar.c?id=1a4d0668d18bf1090c5c08cdb5cb3ba2b8eb5410 | ||
| 10 | |||
| 11 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
| 12 | |||
| 13 | --- elfutils-0.148/src/ar.c.org 2013-03-12 21:12:17.928281375 -0500 | ||
| 14 | +++ elfutils-0.148/src/ar.c 2013-03-12 21:15:30.053285271 -0500 | ||
| 15 | @@ -915,7 +915,7 @@ | ||
| 16 | long int instance) | ||
| 17 | { | ||
| 18 | bool *found = alloca (sizeof (bool) * argc); | ||
| 19 | - memset (found, '\0', sizeof (found)); | ||
| 20 | + memset (found, '\0', sizeof (bool) * argc); | ||
| 21 | |||
| 22 | /* List of the files we keep. */ | ||
| 23 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table. | ||
| 4 | |||
| 5 | This could cause a failure in the elf*_xlatetof function. | ||
| 6 | |||
| 7 | diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h | ||
| 8 | --- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800 | ||
| 9 | +++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700 | ||
| 10 | @@ -94,6 +94,7 @@ | ||
| 11 | Vernaux32 (Ext_); | ||
| 12 | Syminfo32 (Ext_); | ||
| 13 | Move32 (Ext_); | ||
| 14 | +Lib32 (Ext_); | ||
| 15 | auxv_t32 (Ext_); | ||
| 16 | |||
| 17 | Ehdr64 (Ext_); | ||
| 18 | @@ -110,6 +111,7 @@ | ||
| 19 | Vernaux64 (Ext_); | ||
| 20 | Syminfo64 (Ext_); | ||
| 21 | Move64 (Ext_); | ||
| 22 | +Lib64 (Ext_); | ||
| 23 | auxv_t64 (Ext_); | ||
| 24 | |||
| 25 | #undef START | ||
| 26 | diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c | ||
| 27 | --- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800 | ||
| 28 | +++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700 | ||
| 29 | @@ -87,7 +87,9 @@ | ||
| 30 | [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \ | ||
| 31 | [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \ | ||
| 32 | [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \ | ||
| 33 | - [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)) | ||
| 34 | + [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \ | ||
| 35 | + [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \ | ||
| 36 | + [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD) | ||
| 37 | TYPE_SIZES (32) | ||
| 38 | }, | ||
| 39 | [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 @@ | |||
| 1 | This patch fixes a warning seen with gcc 4.8 (especially on ubuntu 13.10) | ||
| 2 | |||
| 3 | | addr2line.c: In function 'handle_address': | ||
| 4 | | addr2line.c:450:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=] | ||
| 5 | | if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
| 6 | | ^ | ||
| 7 | | addr2line.c:453:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=] | ||
| 8 | | switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
| 9 | | ^ | ||
| 10 | | cc1: all warnings being treated as errors | ||
| 11 | |||
| 12 | |||
| 13 | %a is old GNU style and should be abandoned in favor of %m | ||
| 14 | |||
| 15 | Also see | ||
| 16 | |||
| 17 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54361 | ||
| 18 | |||
| 19 | to support this assertion | ||
| 20 | |||
| 21 | This patch is added via redhat-compatibility patch so lets revert this part | ||
| 22 | here. | ||
| 23 | |||
| 24 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 25 | |||
| 26 | Upstream-Status: Inappropriate [Caused by an earlier patch] | ||
| 27 | |||
| 28 | Index: elfutils-0.148/src/addr2line.c | ||
| 29 | =================================================================== | ||
| 30 | --- elfutils-0.148.orig/src/addr2line.c 2013-09-23 17:46:45.513586538 -0700 | ||
| 31 | +++ elfutils-0.148/src/addr2line.c 2013-09-23 17:46:46.329586558 -0700 | ||
| 32 | @@ -447,10 +447,10 @@ | ||
| 33 | bool parsed = false; | ||
| 34 | int i, j; | ||
| 35 | char *name = NULL; | ||
| 36 | - if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
| 37 | + if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
| 38 | && string[i] == '\0') | ||
| 39 | parsed = adjust_to_section (name, &addr, dwfl); | ||
| 40 | - switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
| 41 | + switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
| 42 | { | ||
| 43 | default: | ||
| 44 | break; | ||
| 45 | Index: elfutils-0.148/tests/line2addr.c | ||
| 46 | =================================================================== | ||
| 47 | --- elfutils-0.148.orig/tests/line2addr.c 2013-09-23 17:46:45.521586538 -0700 | ||
| 48 | +++ elfutils-0.148/tests/line2addr.c 2013-09-23 17:46:46.329586558 -0700 | ||
| 49 | @@ -132,7 +132,7 @@ | ||
| 50 | { | ||
| 51 | struct args a = { .arg = argv[cnt] }; | ||
| 52 | |||
| 53 | - switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) | ||
| 54 | + switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) | ||
| 55 | { | ||
| 56 | default: | ||
| 57 | 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 @@ | |||
| 1 | Upstream-Status: pending | ||
| 2 | gcc 4.7 does not like pointer conversion, so have a void * tmp var to work | ||
| 3 | around following compilation issue. | ||
| 4 | |||
| 5 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 6 | 2011/07/07 | ||
| 7 | |||
| 8 | | md5.c: In function 'md5_finish_ctx': | ||
| 9 | | md5.c:108:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | ||
| 10 | | md5.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | ||
| 11 | | cc1: all warnings being treated as errors | ||
| 12 | | | ||
| 13 | | make[2]: *** [md5.o] Error 1 | ||
| 14 | | make[2]: *** Waiting for unfinished jobs.... | ||
| 15 | | sha1.c: In function 'sha1_finish_ctx': | ||
| 16 | | sha1.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | ||
| 17 | | sha1.c:111:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | ||
| 18 | | cc1: all warnings being treated as errors | ||
| 19 | | | ||
| 20 | | make[2]: *** [sha1.o] Error 1 | ||
| 21 | |||
| 22 | Index: elfutils-0.148/lib/md5.c | ||
| 23 | =================================================================== | ||
| 24 | --- elfutils-0.148.orig/lib/md5.c | ||
| 25 | +++ elfutils-0.148/lib/md5.c | ||
| 26 | @@ -95,6 +95,7 @@ md5_finish_ctx (ctx, resbuf) | ||
| 27 | /* Take yet unprocessed bytes into account. */ | ||
| 28 | md5_uint32 bytes = ctx->buflen; | ||
| 29 | size_t pad; | ||
| 30 | + void * tmp; | ||
| 31 | |||
| 32 | /* Now count remaining bytes. */ | ||
| 33 | ctx->total[0] += bytes; | ||
| 34 | @@ -105,9 +106,10 @@ md5_finish_ctx (ctx, resbuf) | ||
| 35 | memcpy (&ctx->buffer[bytes], fillbuf, pad); | ||
| 36 | |||
| 37 | /* Put the 64-bit file length in *bits* at the end of the buffer. */ | ||
| 38 | - *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3); | ||
| 39 | - *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | | ||
| 40 | - (ctx->total[0] >> 29)); | ||
| 41 | + tmp = &ctx->buffer[bytes + pad]; | ||
| 42 | + *(md5_uint32 *) tmp = SWAP (ctx->total[0] << 3); | ||
| 43 | + tmp = &ctx->buffer[bytes + pad + 4]; | ||
| 44 | + *(md5_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); | ||
| 45 | |||
| 46 | /* Process last bytes. */ | ||
| 47 | md5_process_block (ctx->buffer, bytes + pad + 8, ctx); | ||
| 48 | Index: elfutils-0.148/lib/sha1.c | ||
| 49 | =================================================================== | ||
| 50 | --- elfutils-0.148.orig/lib/sha1.c | ||
| 51 | +++ elfutils-0.148/lib/sha1.c | ||
| 52 | @@ -96,6 +96,7 @@ sha1_finish_ctx (ctx, resbuf) | ||
| 53 | /* Take yet unprocessed bytes into account. */ | ||
| 54 | sha1_uint32 bytes = ctx->buflen; | ||
| 55 | size_t pad; | ||
| 56 | + void * tmp; | ||
| 57 | |||
| 58 | /* Now count remaining bytes. */ | ||
| 59 | ctx->total[0] += bytes; | ||
| 60 | @@ -106,9 +107,10 @@ sha1_finish_ctx (ctx, resbuf) | ||
| 61 | memcpy (&ctx->buffer[bytes], fillbuf, pad); | ||
| 62 | |||
| 63 | /* Put the 64-bit file length in *bits* at the end of the buffer. */ | ||
| 64 | - *(sha1_uint32 *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | | ||
| 65 | - (ctx->total[0] >> 29)); | ||
| 66 | - *(sha1_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3); | ||
| 67 | + tmp = &ctx->buffer[bytes + pad]; | ||
| 68 | + *(sha1_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); | ||
| 69 | + tmp = &ctx->buffer[bytes + pad + 4]; | ||
| 70 | + *(sha1_uint32 *) tmp = SWAP (ctx->total[0] << 3); | ||
| 71 | |||
| 72 | /* Process last bytes. */ | ||
| 73 | 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 @@ | |||
| 1 | Fix warnings found with gcc6 | ||
| 2 | |||
| 3 | | ../../elfutils-0.148/libdw/dwarf_siblingof.c: In function 'dwarf_siblingof': | ||
| 4 | | ../../elfutils-0.148/libdw/dwarf_siblingof.c:69:6: error: nonnull argument 'result' compared to NULL [-Werror=nonnull-compare] | ||
| 5 | | if (result == NULL) | ||
| 6 | | ^ | ||
| 7 | |||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | Upstream-Status: Inappropriate [ unmaintained ] | ||
| 10 | Index: elfutils-0.148/libdw/dwarf_siblingof.c | ||
| 11 | =================================================================== | ||
| 12 | --- elfutils-0.148.orig/libdw/dwarf_siblingof.c | ||
| 13 | +++ elfutils-0.148/libdw/dwarf_siblingof.c | ||
| 14 | @@ -66,9 +66,6 @@ dwarf_siblingof (die, result) | ||
| 15 | if (die == NULL) | ||
| 16 | return -1; | ||
| 17 | |||
| 18 | - if (result == NULL) | ||
| 19 | - return -1; | ||
| 20 | - | ||
| 21 | if (result != die) | ||
| 22 | result->addr = NULL; | ||
| 23 | |||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.146/backends/parisc_init.c | ||
| 4 | =================================================================== | ||
| 5 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 6 | +++ elfutils-0.146/backends/parisc_init.c 2010-04-24 10:10:50.000000000 +0000 | ||
| 7 | @@ -0,0 +1,74 @@ | ||
| 8 | +/* Initialization of PA-RISC specific backend library. | ||
| 9 | + Copyright (C) 2002, 2005, 2006 Red Hat, Inc. | ||
| 10 | + This file is part of Red Hat elfutils. | ||
| 11 | + Written by Ulrich Drepper <drepper@redhat.com>, 2002. | ||
| 12 | + | ||
| 13 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 14 | + it under the terms of the GNU General Public License as published by the | ||
| 15 | + Free Software Foundation; version 2 of the License. | ||
| 16 | + | ||
| 17 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 18 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 19 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 20 | + General Public License for more details. | ||
| 21 | + | ||
| 22 | + You should have received a copy of the GNU General Public License along | ||
| 23 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 24 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 25 | + | ||
| 26 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 27 | + An included package of the Open Invention Network is a package for which | ||
| 28 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 29 | + license is granted, either expressly or impliedly, by designation as an | ||
| 30 | + included package. Should you wish to participate in the Open Invention | ||
| 31 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 32 | + <http://www.openinventionnetwork.com>. */ | ||
| 33 | + | ||
| 34 | +#ifdef HAVE_CONFIG_H | ||
| 35 | +# include <config.h> | ||
| 36 | +#endif | ||
| 37 | + | ||
| 38 | +#define BACKEND parisc_ | ||
| 39 | +#define RELOC_PREFIX R_PARISC_ | ||
| 40 | +#include "libebl_CPU.h" | ||
| 41 | +#include "libebl_parisc.h" | ||
| 42 | + | ||
| 43 | +/* This defines the common reloc hooks based on parisc_reloc.def. */ | ||
| 44 | +#include "common-reloc.c" | ||
| 45 | + | ||
| 46 | + | ||
| 47 | +const char * | ||
| 48 | +parisc_init (elf, machine, eh, ehlen) | ||
| 49 | + Elf *elf __attribute__ ((unused)); | ||
| 50 | + GElf_Half machine __attribute__ ((unused)); | ||
| 51 | + Ebl *eh; | ||
| 52 | + size_t ehlen; | ||
| 53 | +{ | ||
| 54 | + int pa64 = 0; | ||
| 55 | + | ||
| 56 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
| 57 | + if (ehlen < sizeof (Ebl)) | ||
| 58 | + return NULL; | ||
| 59 | + | ||
| 60 | + if (elf) { | ||
| 61 | + GElf_Ehdr ehdr_mem; | ||
| 62 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
| 63 | + if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE)) | ||
| 64 | + pa64 = 1; | ||
| 65 | + } | ||
| 66 | + /* We handle it. */ | ||
| 67 | + eh->name = "PA-RISC"; | ||
| 68 | + parisc_init_reloc (eh); | ||
| 69 | + HOOK (eh, reloc_simple_type); | ||
| 70 | + HOOK (eh, machine_flag_check); | ||
| 71 | + HOOK (eh, symbol_type_name); | ||
| 72 | + HOOK (eh, segment_type_name); | ||
| 73 | + HOOK (eh, section_type_name); | ||
| 74 | + HOOK (eh, register_info); | ||
| 75 | + if (pa64) | ||
| 76 | + eh->return_value_location = parisc_return_value_location_64; | ||
| 77 | + else | ||
| 78 | + eh->return_value_location = parisc_return_value_location_32; | ||
| 79 | + | ||
| 80 | + return MODVERSION; | ||
| 81 | +} | ||
| 82 | Index: elfutils-0.146/backends/parisc_regs.c | ||
| 83 | =================================================================== | ||
| 84 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 85 | +++ elfutils-0.146/backends/parisc_regs.c 2010-04-24 10:10:50.000000000 +0000 | ||
| 86 | @@ -0,0 +1,159 @@ | ||
| 87 | +/* Register names and numbers for PA-RISC DWARF. | ||
| 88 | + Copyright (C) 2005, 2006 Red Hat, Inc. | ||
| 89 | + This file is part of Red Hat elfutils. | ||
| 90 | + | ||
| 91 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 92 | + it under the terms of the GNU General Public License as published by the | ||
| 93 | + Free Software Foundation; version 2 of the License. | ||
| 94 | + | ||
| 95 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 96 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 97 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 98 | + General Public License for more details. | ||
| 99 | + | ||
| 100 | + You should have received a copy of the GNU General Public License along | ||
| 101 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 102 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 103 | + | ||
| 104 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 105 | + An included package of the Open Invention Network is a package for which | ||
| 106 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 107 | + license is granted, either expressly or impliedly, by designation as an | ||
| 108 | + included package. Should you wish to participate in the Open Invention | ||
| 109 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 110 | + <http://www.openinventionnetwork.com>. */ | ||
| 111 | + | ||
| 112 | +#ifdef HAVE_CONFIG_H | ||
| 113 | +# include <config.h> | ||
| 114 | +#endif | ||
| 115 | + | ||
| 116 | +#include <string.h> | ||
| 117 | +#include <dwarf.h> | ||
| 118 | + | ||
| 119 | +#define BACKEND parisc_ | ||
| 120 | +#include "libebl_CPU.h" | ||
| 121 | + | ||
| 122 | +ssize_t | ||
| 123 | +parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen, | ||
| 124 | + const char **prefix, const char **setname, | ||
| 125 | + int *bits, int *type) | ||
| 126 | +{ | ||
| 127 | + int pa64 = 0; | ||
| 128 | + | ||
| 129 | + if (ebl->elf) { | ||
| 130 | + GElf_Ehdr ehdr_mem; | ||
| 131 | + GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem); | ||
| 132 | + if (ehdr->e_flags & EF_PARISC_WIDE) | ||
| 133 | + pa64 = 1; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + int nregs = pa64 ? 127 : 128; | ||
| 137 | + | ||
| 138 | + if (name == NULL) | ||
| 139 | + return nregs; | ||
| 140 | + | ||
| 141 | + if (regno < 0 || regno >= nregs || namelen < 6) | ||
| 142 | + return -1; | ||
| 143 | + | ||
| 144 | + *prefix = "%"; | ||
| 145 | + | ||
| 146 | + if (regno < 32) | ||
| 147 | + { | ||
| 148 | + *setname = "integer"; | ||
| 149 | + *type = DW_ATE_signed; | ||
| 150 | + if (pa64) | ||
| 151 | + { | ||
| 152 | + *bits = 64; | ||
| 153 | + } | ||
| 154 | + else | ||
| 155 | + { | ||
| 156 | + *bits = 32; | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | + else if (regno == 32) | ||
| 160 | + { | ||
| 161 | + *setname = "special"; | ||
| 162 | + if (pa64) | ||
| 163 | + { | ||
| 164 | + *bits = 6; | ||
| 165 | + } | ||
| 166 | + else | ||
| 167 | + { | ||
| 168 | + *bits = 5; | ||
| 169 | + } | ||
| 170 | + *type = DW_ATE_unsigned; | ||
| 171 | + } | ||
| 172 | + else | ||
| 173 | + { | ||
| 174 | + *setname = "FPU"; | ||
| 175 | + *type = DW_ATE_float; | ||
| 176 | + if (pa64) | ||
| 177 | + { | ||
| 178 | + *bits = 64; | ||
| 179 | + } | ||
| 180 | + else | ||
| 181 | + { | ||
| 182 | + *bits = 32; | ||
| 183 | + } | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + if (regno < 33) { | ||
| 187 | + switch (regno) | ||
| 188 | + { | ||
| 189 | + case 0 ... 9: | ||
| 190 | + name[0] = 'r'; | ||
| 191 | + name[1] = regno + '0'; | ||
| 192 | + namelen = 2; | ||
| 193 | + break; | ||
| 194 | + case 10 ... 31: | ||
| 195 | + name[0] = 'r'; | ||
| 196 | + name[1] = regno / 10 + '0'; | ||
| 197 | + name[2] = regno % 10 + '0'; | ||
| 198 | + namelen = 3; | ||
| 199 | + break; | ||
| 200 | + case 32: | ||
| 201 | + *prefix = NULL; | ||
| 202 | + name[0] = 'S'; | ||
| 203 | + name[1] = 'A'; | ||
| 204 | + name[2] = 'R'; | ||
| 205 | + namelen = 3; | ||
| 206 | + break; | ||
| 207 | + } | ||
| 208 | + } | ||
| 209 | + else { | ||
| 210 | + if (pa64 && ((regno - 72) % 2)) { | ||
| 211 | + *setname = NULL; | ||
| 212 | + return 0; | ||
| 213 | + } | ||
| 214 | + | ||
| 215 | + switch (regno) | ||
| 216 | + { | ||
| 217 | + case 72 + 0 ... 72 + 11: | ||
| 218 | + name[0] = 'f'; | ||
| 219 | + name[1] = 'r'; | ||
| 220 | + name[2] = (regno + 8 - 72) / 2 + '0'; | ||
| 221 | + namelen = 3; | ||
| 222 | + if ((regno + 8 - 72) % 2) { | ||
| 223 | + name[3] = 'R'; | ||
| 224 | + namelen++; | ||
| 225 | + } | ||
| 226 | + break; | ||
| 227 | + case 72 + 12 ... 72 + 55: | ||
| 228 | + name[0] = 'f'; | ||
| 229 | + name[1] = 'r'; | ||
| 230 | + name[2] = (regno + 8 - 72) / 2 / 10 + '0'; | ||
| 231 | + name[3] = (regno + 8 - 72) / 2 % 10 + '0'; | ||
| 232 | + namelen = 4; | ||
| 233 | + if ((regno + 8 - 72) % 2) { | ||
| 234 | + name[4] = 'R'; | ||
| 235 | + namelen++; | ||
| 236 | + } | ||
| 237 | + break; | ||
| 238 | + default: | ||
| 239 | + *setname = NULL; | ||
| 240 | + return 0; | ||
| 241 | + } | ||
| 242 | + } | ||
| 243 | + name[namelen++] = '\0'; | ||
| 244 | + return namelen; | ||
| 245 | +} | ||
| 246 | Index: elfutils-0.146/backends/parisc_reloc.def | ||
| 247 | =================================================================== | ||
| 248 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 249 | +++ elfutils-0.146/backends/parisc_reloc.def 2010-04-24 10:10:50.000000000 +0000 | ||
| 250 | @@ -0,0 +1,128 @@ | ||
| 251 | +/* List the relocation types for PA-RISC. -*- C -*- | ||
| 252 | + Copyright (C) 2005 Red Hat, Inc. | ||
| 253 | + This file is part of Red Hat elfutils. | ||
| 254 | + | ||
| 255 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 256 | + it under the terms of the GNU General Public License as published by the | ||
| 257 | + Free Software Foundation; version 2 of the License. | ||
| 258 | + | ||
| 259 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 260 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 261 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 262 | + General Public License for more details. | ||
| 263 | + | ||
| 264 | + You should have received a copy of the GNU General Public License along | ||
| 265 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 266 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 267 | + | ||
| 268 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 269 | + An included package of the Open Invention Network is a package for which | ||
| 270 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 271 | + license is granted, either expressly or impliedly, by designation as an | ||
| 272 | + included package. Should you wish to participate in the Open Invention | ||
| 273 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 274 | + <http://www.openinventionnetwork.com>. */ | ||
| 275 | + | ||
| 276 | +/* NAME, REL|EXEC|DYN */ | ||
| 277 | + | ||
| 278 | +RELOC_TYPE (NONE, EXEC|DYN) | ||
| 279 | +RELOC_TYPE (DIR32, REL|EXEC|DYN) | ||
| 280 | +RELOC_TYPE (DIR21L, REL|EXEC|DYN) | ||
| 281 | +RELOC_TYPE (DIR17R, REL) | ||
| 282 | +RELOC_TYPE (DIR17F, REL) | ||
| 283 | +RELOC_TYPE (DIR14R, REL|DYN) | ||
| 284 | +RELOC_TYPE (PCREL32, REL) | ||
| 285 | +RELOC_TYPE (PCREL21L, REL) | ||
| 286 | +RELOC_TYPE (PCREL17R, REL) | ||
| 287 | +RELOC_TYPE (PCREL17F, REL) | ||
| 288 | +RELOC_TYPE (PCREL14R, REL|EXEC) | ||
| 289 | +RELOC_TYPE (DPREL21L, REL) | ||
| 290 | +RELOC_TYPE (DPREL14WR, REL) | ||
| 291 | +RELOC_TYPE (DPREL14DR, REL) | ||
| 292 | +RELOC_TYPE (DPREL14R, REL) | ||
| 293 | +RELOC_TYPE (GPREL21L, 0) | ||
| 294 | +RELOC_TYPE (GPREL14R, 0) | ||
| 295 | +RELOC_TYPE (LTOFF21L, REL) | ||
| 296 | +RELOC_TYPE (LTOFF14R, REL) | ||
| 297 | +RELOC_TYPE (DLTIND14F, 0) | ||
| 298 | +RELOC_TYPE (SETBASE, 0) | ||
| 299 | +RELOC_TYPE (SECREL32, REL) | ||
| 300 | +RELOC_TYPE (BASEREL21L, 0) | ||
| 301 | +RELOC_TYPE (BASEREL17R, 0) | ||
| 302 | +RELOC_TYPE (BASEREL14R, 0) | ||
| 303 | +RELOC_TYPE (SEGBASE, 0) | ||
| 304 | +RELOC_TYPE (SEGREL32, REL) | ||
| 305 | +RELOC_TYPE (PLTOFF21L, 0) | ||
| 306 | +RELOC_TYPE (PLTOFF14R, 0) | ||
| 307 | +RELOC_TYPE (PLTOFF14F, 0) | ||
| 308 | +RELOC_TYPE (LTOFF_FPTR32, 0) | ||
| 309 | +RELOC_TYPE (LTOFF_FPTR21L, 0) | ||
| 310 | +RELOC_TYPE (LTOFF_FPTR14R, 0) | ||
| 311 | +RELOC_TYPE (FPTR64, 0) | ||
| 312 | +RELOC_TYPE (PLABEL32, REL|DYN) | ||
| 313 | +RELOC_TYPE (PCREL64, 0) | ||
| 314 | +RELOC_TYPE (PCREL22C, 0) | ||
| 315 | +RELOC_TYPE (PCREL22F, 0) | ||
| 316 | +RELOC_TYPE (PCREL14WR, 0) | ||
| 317 | +RELOC_TYPE (PCREL14DR, 0) | ||
| 318 | +RELOC_TYPE (PCREL16F, 0) | ||
| 319 | +RELOC_TYPE (PCREL16WF, 0) | ||
| 320 | +RELOC_TYPE (PCREL16DF, 0) | ||
| 321 | +RELOC_TYPE (DIR64, REL|DYN) | ||
| 322 | +RELOC_TYPE (DIR14WR, REL) | ||
| 323 | +RELOC_TYPE (DIR14DR, REL) | ||
| 324 | +RELOC_TYPE (DIR16F, REL) | ||
| 325 | +RELOC_TYPE (DIR16WF, REL) | ||
| 326 | +RELOC_TYPE (DIR16DF, REL) | ||
| 327 | +RELOC_TYPE (GPREL64, 0) | ||
| 328 | +RELOC_TYPE (GPREL14WR, 0) | ||
| 329 | +RELOC_TYPE (GPREL14DR, 0) | ||
| 330 | +RELOC_TYPE (GPREL16F, 0) | ||
| 331 | +RELOC_TYPE (GPREL16WF, 0) | ||
| 332 | +RELOC_TYPE (GPREL16DF, 0) | ||
| 333 | +RELOC_TYPE (LTOFF64, 0) | ||
| 334 | +RELOC_TYPE (LTOFF14WR, 0) | ||
| 335 | +RELOC_TYPE (LTOFF14DR, 0) | ||
| 336 | +RELOC_TYPE (LTOFF16F, 0) | ||
| 337 | +RELOC_TYPE (LTOFF16WF, 0) | ||
| 338 | +RELOC_TYPE (LTOFF16DF, 0) | ||
| 339 | +RELOC_TYPE (SECREL64, 0) | ||
| 340 | +RELOC_TYPE (BASEREL14WR, 0) | ||
| 341 | +RELOC_TYPE (BASEREL14DR, 0) | ||
| 342 | +RELOC_TYPE (SEGREL64, 0) | ||
| 343 | +RELOC_TYPE (PLTOFF14WR, 0) | ||
| 344 | +RELOC_TYPE (PLTOFF14DR, 0) | ||
| 345 | +RELOC_TYPE (PLTOFF16F, 0) | ||
| 346 | +RELOC_TYPE (PLTOFF16WF, 0) | ||
| 347 | +RELOC_TYPE (PLTOFF16DF, 0) | ||
| 348 | +RELOC_TYPE (LTOFF_FPTR64, 0) | ||
| 349 | +RELOC_TYPE (LTOFF_FPTR14WR, 0) | ||
| 350 | +RELOC_TYPE (LTOFF_FPTR14DR, 0) | ||
| 351 | +RELOC_TYPE (LTOFF_FPTR16F, 0) | ||
| 352 | +RELOC_TYPE (LTOFF_FPTR16WF, 0) | ||
| 353 | +RELOC_TYPE (LTOFF_FPTR16DF, 0) | ||
| 354 | +RELOC_TYPE (COPY, EXEC) | ||
| 355 | +RELOC_TYPE (IPLT, EXEC|DYN) | ||
| 356 | +RELOC_TYPE (EPLT, 0) | ||
| 357 | +RELOC_TYPE (TPREL32, DYN) | ||
| 358 | +RELOC_TYPE (TPREL21L, 0) | ||
| 359 | +RELOC_TYPE (TPREL14R, 0) | ||
| 360 | +RELOC_TYPE (LTOFF_TP21L, 0) | ||
| 361 | +RELOC_TYPE (LTOFF_TP14R, 0) | ||
| 362 | +RELOC_TYPE (LTOFF_TP14F, 0) | ||
| 363 | +RELOC_TYPE (TPREL64, 0) | ||
| 364 | +RELOC_TYPE (TPREL14WR, 0) | ||
| 365 | +RELOC_TYPE (TPREL14DR, 0) | ||
| 366 | +RELOC_TYPE (TPREL16F, 0) | ||
| 367 | +RELOC_TYPE (TPREL16WF, 0) | ||
| 368 | +RELOC_TYPE (TPREL16DF, 0) | ||
| 369 | +RELOC_TYPE (LTOFF_TP64, 0) | ||
| 370 | +RELOC_TYPE (LTOFF_TP14WR, 0) | ||
| 371 | +RELOC_TYPE (LTOFF_TP14DR, 0) | ||
| 372 | +RELOC_TYPE (LTOFF_TP16F, 0) | ||
| 373 | +RELOC_TYPE (LTOFF_TP16WF, 0) | ||
| 374 | +RELOC_TYPE (LTOFF_TP16DF, 0) | ||
| 375 | +RELOC_TYPE (TLS_DTPMOD32, DYN) | ||
| 376 | +RELOC_TYPE (TLS_DTPMOD64, DYN) | ||
| 377 | + | ||
| 378 | +#define NO_RELATIVE_RELOC 1 | ||
| 379 | Index: elfutils-0.146/backends/parisc_retval.c | ||
| 380 | =================================================================== | ||
| 381 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 382 | +++ elfutils-0.146/backends/parisc_retval.c 2010-04-24 10:10:50.000000000 +0000 | ||
| 383 | @@ -0,0 +1,213 @@ | ||
| 384 | +/* Function return value location for Linux/PA-RISC ABI. | ||
| 385 | + Copyright (C) 2005 Red Hat, Inc. | ||
| 386 | + This file is part of Red Hat elfutils. | ||
| 387 | + | ||
| 388 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 389 | + it under the terms of the GNU General Public License as published by the | ||
| 390 | + Free Software Foundation; version 2 of the License. | ||
| 391 | + | ||
| 392 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 393 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 394 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 395 | + General Public License for more details. | ||
| 396 | + | ||
| 397 | + You should have received a copy of the GNU General Public License along | ||
| 398 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 399 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 400 | + | ||
| 401 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 402 | + An included package of the Open Invention Network is a package for which | ||
| 403 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 404 | + license is granted, either expressly or impliedly, by designation as an | ||
| 405 | + included package. Should you wish to participate in the Open Invention | ||
| 406 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 407 | + <http://www.openinventionnetwork.com>. */ | ||
| 408 | + | ||
| 409 | +#ifdef HAVE_CONFIG_H | ||
| 410 | +# include <config.h> | ||
| 411 | +#endif | ||
| 412 | + | ||
| 413 | +#include <assert.h> | ||
| 414 | +#include <dwarf.h> | ||
| 415 | + | ||
| 416 | +#define BACKEND parisc_ | ||
| 417 | +#include "libebl_CPU.h" | ||
| 418 | +#include "libebl_parisc.h" | ||
| 419 | + | ||
| 420 | +/* %r28, or pair %r28, %r29. */ | ||
| 421 | +static const Dwarf_Op loc_intreg32[] = | ||
| 422 | + { | ||
| 423 | + { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 424 | + { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 425 | + }; | ||
| 426 | + | ||
| 427 | +static const Dwarf_Op loc_intreg[] = | ||
| 428 | + { | ||
| 429 | + { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 430 | + { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 431 | + }; | ||
| 432 | +#define nloc_intreg 1 | ||
| 433 | +#define nloc_intregpair 4 | ||
| 434 | + | ||
| 435 | +/* %fr4L, or pair %fr4L, %fr4R on pa-32 */ | ||
| 436 | +static const Dwarf_Op loc_fpreg32[] = | ||
| 437 | + { | ||
| 438 | + { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 439 | + { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 440 | + }; | ||
| 441 | +#define nloc_fpreg32 2 | ||
| 442 | +#define nloc_fpregpair32 4 | ||
| 443 | + | ||
| 444 | +/* $fr4 */ | ||
| 445 | +static const Dwarf_Op loc_fpreg[] = | ||
| 446 | + { | ||
| 447 | + { .atom = DW_OP_regx, .number = 72 }, | ||
| 448 | + }; | ||
| 449 | +#define nloc_fpreg 1 | ||
| 450 | + | ||
| 451 | +#if 0 | ||
| 452 | +/* The return value is a structure and is actually stored in stack space | ||
| 453 | + passed in a hidden argument by the caller. Address of the location is stored | ||
| 454 | + in %r28 before function call, but it may be changed by function. */ | ||
| 455 | +static const Dwarf_Op loc_aggregate[] = | ||
| 456 | + { | ||
| 457 | + { .atom = DW_OP_breg28 }, | ||
| 458 | + }; | ||
| 459 | +#define nloc_aggregate 1 | ||
| 460 | +#endif | ||
| 461 | + | ||
| 462 | +static int | ||
| 463 | +parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64) | ||
| 464 | +{ | ||
| 465 | + Dwarf_Word regsize = pa64 ? 8 : 4; | ||
| 466 | + | ||
| 467 | + /* Start with the function's type, and get the DW_AT_type attribute, | ||
| 468 | + which is the type of the return value. */ | ||
| 469 | + | ||
| 470 | + Dwarf_Attribute attr_mem; | ||
| 471 | + Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); | ||
| 472 | + if (attr == NULL) | ||
| 473 | + /* The function has no return value, like a `void' function in C. */ | ||
| 474 | + return 0; | ||
| 475 | + | ||
| 476 | + Dwarf_Die die_mem; | ||
| 477 | + Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); | ||
| 478 | + int tag = dwarf_tag (typedie); | ||
| 479 | + | ||
| 480 | + /* Follow typedefs and qualifiers to get to the actual type. */ | ||
| 481 | + while (tag == DW_TAG_typedef | ||
| 482 | + || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type | ||
| 483 | + || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) | ||
| 484 | + { | ||
| 485 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
| 486 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
| 487 | + tag = dwarf_tag (typedie); | ||
| 488 | + } | ||
| 489 | + | ||
| 490 | + switch (tag) | ||
| 491 | + { | ||
| 492 | + case -1: | ||
| 493 | + return -1; | ||
| 494 | + | ||
| 495 | + case DW_TAG_subrange_type: | ||
| 496 | + if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) | ||
| 497 | + { | ||
| 498 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
| 499 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
| 500 | + tag = dwarf_tag (typedie); | ||
| 501 | + } | ||
| 502 | + /* Fall through. */ | ||
| 503 | + | ||
| 504 | + case DW_TAG_base_type: | ||
| 505 | + case DW_TAG_enumeration_type: | ||
| 506 | + case DW_TAG_pointer_type: | ||
| 507 | + case DW_TAG_ptr_to_member_type: | ||
| 508 | + { | ||
| 509 | + Dwarf_Word size; | ||
| 510 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, | ||
| 511 | + &attr_mem), &size) != 0) | ||
| 512 | + { | ||
| 513 | + if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) | ||
| 514 | + size = 4; | ||
| 515 | + else | ||
| 516 | + return -1; | ||
| 517 | + } | ||
| 518 | + if (tag == DW_TAG_base_type) | ||
| 519 | + { | ||
| 520 | + Dwarf_Word encoding; | ||
| 521 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
| 522 | + &attr_mem), &encoding) != 0) | ||
| 523 | + return -1; | ||
| 524 | + | ||
| 525 | + if (encoding == DW_ATE_float) | ||
| 526 | + { | ||
| 527 | + if (pa64) { | ||
| 528 | + *locp = loc_fpreg; | ||
| 529 | + if (size <= 8) | ||
| 530 | + return nloc_fpreg; | ||
| 531 | + } | ||
| 532 | + else { | ||
| 533 | + *locp = loc_fpreg32; | ||
| 534 | + if (size <= 4) | ||
| 535 | + return nloc_fpreg32; | ||
| 536 | + else if (size <= 8) | ||
| 537 | + return nloc_fpregpair32; | ||
| 538 | + } | ||
| 539 | + goto aggregate; | ||
| 540 | + } | ||
| 541 | + } | ||
| 542 | + if (pa64) | ||
| 543 | + *locp = loc_intreg; | ||
| 544 | + else | ||
| 545 | + *locp = loc_intreg32; | ||
| 546 | + if (size <= regsize) | ||
| 547 | + return nloc_intreg; | ||
| 548 | + if (size <= 2 * regsize) | ||
| 549 | + return nloc_intregpair; | ||
| 550 | + | ||
| 551 | + /* Else fall through. */ | ||
| 552 | + } | ||
| 553 | + | ||
| 554 | + case DW_TAG_structure_type: | ||
| 555 | + case DW_TAG_class_type: | ||
| 556 | + case DW_TAG_union_type: | ||
| 557 | + case DW_TAG_array_type: | ||
| 558 | + aggregate: { | ||
| 559 | + Dwarf_Word size; | ||
| 560 | + if (dwarf_aggregate_size (typedie, &size) != 0) | ||
| 561 | + return -1; | ||
| 562 | + if (pa64) | ||
| 563 | + *locp = loc_intreg; | ||
| 564 | + else | ||
| 565 | + *locp = loc_intreg32; | ||
| 566 | + if (size <= regsize) | ||
| 567 | + return nloc_intreg; | ||
| 568 | + if (size <= 2 * regsize) | ||
| 569 | + return nloc_intregpair; | ||
| 570 | +#if 0 | ||
| 571 | + /* there should be some way to know this location... But I do not see it. */ | ||
| 572 | + *locp = loc_aggregate; | ||
| 573 | + return nloc_aggregate; | ||
| 574 | +#endif | ||
| 575 | + /* fall through. */ | ||
| 576 | + } | ||
| 577 | + } | ||
| 578 | + | ||
| 579 | + /* XXX We don't have a good way to return specific errors from ebl calls. | ||
| 580 | + This value means we do not understand the type, but it is well-formed | ||
| 581 | + DWARF and might be valid. */ | ||
| 582 | + return -2; | ||
| 583 | +} | ||
| 584 | + | ||
| 585 | +int | ||
| 586 | +parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 587 | +{ | ||
| 588 | + return parisc_return_value_location_ (functypedie, locp, 0); | ||
| 589 | +} | ||
| 590 | + | ||
| 591 | +int | ||
| 592 | +parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 593 | +{ | ||
| 594 | + return parisc_return_value_location_ (functypedie, locp, 1); | ||
| 595 | +} | ||
| 596 | + | ||
| 597 | Index: elfutils-0.146/backends/parisc_symbol.c | ||
| 598 | =================================================================== | ||
| 599 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 600 | +++ elfutils-0.146/backends/parisc_symbol.c 2010-04-24 10:10:50.000000000 +0000 | ||
| 601 | @@ -0,0 +1,112 @@ | ||
| 602 | +/* PA-RISC specific symbolic name handling. | ||
| 603 | + Copyright (C) 2002, 2005 Red Hat, Inc. | ||
| 604 | + This file is part of Red Hat elfutils. | ||
| 605 | + Written by Ulrich Drepper <drepper@redhat.com>, 2002. | ||
| 606 | + | ||
| 607 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 608 | + it under the terms of the GNU General Public License as published by the | ||
| 609 | + Free Software Foundation; version 2 of the License. | ||
| 610 | + | ||
| 611 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 612 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 613 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 614 | + General Public License for more details. | ||
| 615 | + | ||
| 616 | + You should have received a copy of the GNU General Public License along | ||
| 617 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 618 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 619 | + | ||
| 620 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 621 | + An included package of the Open Invention Network is a package for which | ||
| 622 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 623 | + license is granted, either expressly or impliedly, by designation as an | ||
| 624 | + included package. Should you wish to participate in the Open Invention | ||
| 625 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 626 | + <http://www.openinventionnetwork.com>. */ | ||
| 627 | + | ||
| 628 | +#ifdef HAVE_CONFIG_H | ||
| 629 | +# include <config.h> | ||
| 630 | +#endif | ||
| 631 | + | ||
| 632 | +#include <elf.h> | ||
| 633 | +#include <stddef.h> | ||
| 634 | + | ||
| 635 | +#define BACKEND parisc_ | ||
| 636 | +#include "libebl_CPU.h" | ||
| 637 | + | ||
| 638 | +const char * | ||
| 639 | +parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)), | ||
| 640 | + size_t len __attribute__ ((unused))) | ||
| 641 | +{ | ||
| 642 | + switch (segment) | ||
| 643 | + { | ||
| 644 | + case PT_PARISC_ARCHEXT: | ||
| 645 | + return "PARISC_ARCHEXT"; | ||
| 646 | + case PT_PARISC_UNWIND: | ||
| 647 | + return "PARISC_UNWIND"; | ||
| 648 | + default: | ||
| 649 | + break; | ||
| 650 | + } | ||
| 651 | + return NULL; | ||
| 652 | +} | ||
| 653 | + | ||
| 654 | +/* Return symbolic representation of symbol type. */ | ||
| 655 | +const char * | ||
| 656 | +parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)), | ||
| 657 | + size_t len __attribute__ ((unused))) | ||
| 658 | +{ | ||
| 659 | + if (symbol == STT_PARISC_MILLICODE) | ||
| 660 | + return "PARISC_MILLI"; | ||
| 661 | + return NULL; | ||
| 662 | +} | ||
| 663 | + | ||
| 664 | +/* Return symbolic representation of section type. */ | ||
| 665 | +const char * | ||
| 666 | +parisc_section_type_name (int type, | ||
| 667 | + char *buf __attribute__ ((unused)), | ||
| 668 | + size_t len __attribute__ ((unused))) | ||
| 669 | +{ | ||
| 670 | + switch (type) | ||
| 671 | + { | ||
| 672 | + case SHT_PARISC_EXT: | ||
| 673 | + return "PARISC_EXT"; | ||
| 674 | + case SHT_PARISC_UNWIND: | ||
| 675 | + return "PARISC_UNWIND"; | ||
| 676 | + case SHT_PARISC_DOC: | ||
| 677 | + return "PARISC_DOC"; | ||
| 678 | + } | ||
| 679 | + | ||
| 680 | + return NULL; | ||
| 681 | +} | ||
| 682 | + | ||
| 683 | +/* Check whether machine flags are valid. */ | ||
| 684 | +bool | ||
| 685 | +parisc_machine_flag_check (GElf_Word flags) | ||
| 686 | +{ | ||
| 687 | + if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB | | ||
| 688 | + EF_PARISC_WIDE | EF_PARISC_NO_KABP | | ||
| 689 | + EF_PARISC_LAZYSWAP | EF_PARISC_ARCH)) | ||
| 690 | + return 0; | ||
| 691 | + | ||
| 692 | + GElf_Word arch = flags & EF_PARISC_ARCH; | ||
| 693 | + | ||
| 694 | + return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) || | ||
| 695 | + (arch == EFA_PARISC_2_0)); | ||
| 696 | +} | ||
| 697 | + | ||
| 698 | +/* Check for the simple reloc types. */ | ||
| 699 | +Elf_Type | ||
| 700 | +parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
| 701 | +{ | ||
| 702 | + switch (type) | ||
| 703 | + { | ||
| 704 | + case R_PARISC_DIR64: | ||
| 705 | + case R_PARISC_SECREL64: | ||
| 706 | + return ELF_T_XWORD; | ||
| 707 | + case R_PARISC_DIR32: | ||
| 708 | + case R_PARISC_SECREL32: | ||
| 709 | + return ELF_T_WORD; | ||
| 710 | + default: | ||
| 711 | + return ELF_T_NUM; | ||
| 712 | + } | ||
| 713 | +} | ||
| 714 | Index: elfutils-0.146/backends/libebl_parisc.h | ||
| 715 | =================================================================== | ||
| 716 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 717 | +++ elfutils-0.146/backends/libebl_parisc.h 2010-04-24 10:10:50.000000000 +0000 | ||
| 718 | @@ -0,0 +1,9 @@ | ||
| 719 | +#ifndef _LIBEBL_HPPA_H | ||
| 720 | +#define _LIBEBL_HPPA_H 1 | ||
| 721 | + | ||
| 722 | +#include <libdw.h> | ||
| 723 | + | ||
| 724 | +extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp); | ||
| 725 | +extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp); | ||
| 726 | + | ||
| 727 | +#endif | ||
| 728 | Index: elfutils-0.146/backends/Makefile.am | ||
| 729 | =================================================================== | ||
| 730 | --- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:10:41.000000000 +0000 | ||
| 731 | +++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:10:50.000000000 +0000 | ||
| 732 | @@ -29,11 +29,11 @@ | ||
| 733 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
| 734 | |||
| 735 | |||
| 736 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 | ||
| 737 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc | ||
| 738 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
| 739 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
| 740 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
| 741 | - libebl_s390_pic.a | ||
| 742 | + libebl_s390_pic.a libebl_parisc_pic.a | ||
| 743 | noinst_LIBRARIES = $(libebl_pic) | ||
| 744 | noinst_DATA = $(libebl_pic:_pic.a=.so) | ||
| 745 | |||
| 746 | @@ -95,6 +95,9 @@ | ||
| 747 | libebl_s390_pic_a_SOURCES = $(s390_SRCS) | ||
| 748 | am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os) | ||
| 749 | |||
| 750 | +parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c | ||
| 751 | +libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) | ||
| 752 | +am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) | ||
| 753 | |||
| 754 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
| 755 | @rm -f $(@:.so=.map) | ||
| 756 | Index: elfutils-0.146/libelf/elf.h | ||
| 757 | =================================================================== | ||
| 758 | --- elfutils-0.146.orig/libelf/elf.h 2010-04-13 20:08:02.000000000 +0000 | ||
| 759 | +++ elfutils-0.146/libelf/elf.h 2010-04-24 10:10:50.000000000 +0000 | ||
| 760 | @@ -1789,16 +1789,24 @@ | ||
| 761 | #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */ | ||
| 762 | #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */ | ||
| 763 | #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */ | ||
| 764 | +#define R_PARISC_DPREL14WR 19 | ||
| 765 | +#define R_PARISC_DPREL14DR 20 | ||
| 766 | #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */ | ||
| 767 | #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */ | ||
| 768 | #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */ | ||
| 769 | #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */ | ||
| 770 | #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */ | ||
| 771 | +#define R_PARISC_DLTIND14F 39 | ||
| 772 | +#define R_PARISC_SETBASE 40 | ||
| 773 | #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */ | ||
| 774 | +#define R_PARISC_BASEREL21L 42 | ||
| 775 | +#define R_PARISC_BASEREL17R 43 | ||
| 776 | +#define R_PARISC_BASEREL14R 46 | ||
| 777 | #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */ | ||
| 778 | #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */ | ||
| 779 | #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */ | ||
| 780 | #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */ | ||
| 781 | +#define R_PARISC_PLTOFF14F 55 | ||
| 782 | #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */ | ||
| 783 | #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */ | ||
| 784 | #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */ | ||
| 785 | @@ -1807,6 +1815,7 @@ | ||
| 786 | #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */ | ||
| 787 | #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */ | ||
| 788 | #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */ | ||
| 789 | +#define R_PARISC_PCREL22C 73 | ||
| 790 | #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */ | ||
| 791 | #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */ | ||
| 792 | #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */ | ||
| 793 | @@ -1832,6 +1841,8 @@ | ||
| 794 | #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */ | ||
| 795 | #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */ | ||
| 796 | #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */ | ||
| 797 | +#define R_PARISC_BASEREL14WR 107 | ||
| 798 | +#define R_PARISC_BASEREL14DR 108 | ||
| 799 | #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */ | ||
| 800 | #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */ | ||
| 801 | #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 @@ | |||
| 1 | #define MNEMONIC_BITS 10 | ||
| 2 | #define SUFFIX_BITS 3 | ||
| 3 | #define FCT1_BITS 7 | ||
| 4 | #define STR1_BITS 4 | ||
| 5 | #define OFF1_1_BITS 7 | ||
| 6 | #define OFF1_1_BIAS 3 | ||
| 7 | #define OFF1_2_BITS 7 | ||
| 8 | #define OFF1_2_BIAS 4 | ||
| 9 | #define OFF1_3_BITS 1 | ||
| 10 | #define OFF1_3_BIAS 7 | ||
| 11 | #define FCT2_BITS 6 | ||
| 12 | #define STR2_BITS 2 | ||
| 13 | #define OFF2_1_BITS 7 | ||
| 14 | #define OFF2_1_BIAS 5 | ||
| 15 | #define OFF2_2_BITS 7 | ||
| 16 | #define OFF2_2_BIAS 4 | ||
| 17 | #define OFF2_3_BITS 4 | ||
| 18 | #define OFF2_3_BIAS 7 | ||
| 19 | #define FCT3_BITS 4 | ||
| 20 | #define STR3_BITS 1 | ||
| 21 | #define OFF3_1_BITS 6 | ||
| 22 | #define OFF3_1_BIAS 10 | ||
| 23 | #define OFF3_2_BITS 1 | ||
| 24 | #define OFF3_2_BIAS 21 | ||
| 25 | |||
| 26 | #include <i386_data.h> | ||
| 27 | |||
| 28 | #define suffix_none 0 | ||
| 29 | #define suffix_w 1 | ||
| 30 | #define suffix_w0 2 | ||
| 31 | #define suffix_W 3 | ||
| 32 | #define suffix_tttn 4 | ||
| 33 | #define suffix_D 7 | ||
| 34 | #define suffix_w1 5 | ||
| 35 | #define suffix_W1 6 | ||
| 36 | |||
| 37 | static const opfct_t op1_fct[] = | ||
| 38 | { | ||
| 39 | NULL, | ||
| 40 | FCT_MOD$R_M, | ||
| 41 | FCT_Mod$R_m, | ||
| 42 | FCT_abs, | ||
| 43 | FCT_ax, | ||
| 44 | FCT_ax$w, | ||
| 45 | FCT_ccc, | ||
| 46 | FCT_ddd, | ||
| 47 | FCT_disp8, | ||
| 48 | FCT_ds_bx, | ||
| 49 | FCT_ds_si, | ||
| 50 | FCT_dx, | ||
| 51 | FCT_es_di, | ||
| 52 | FCT_freg, | ||
| 53 | FCT_imm$s, | ||
| 54 | FCT_imm$w, | ||
| 55 | FCT_imm16, | ||
| 56 | FCT_imm8, | ||
| 57 | FCT_imms8, | ||
| 58 | FCT_mmxreg, | ||
| 59 | FCT_mod$16r_m, | ||
| 60 | FCT_mod$64r_m, | ||
| 61 | FCT_mod$8r_m, | ||
| 62 | FCT_mod$r_m, | ||
| 63 | FCT_mod$r_m$w, | ||
| 64 | FCT_reg, | ||
| 65 | FCT_reg$w, | ||
| 66 | FCT_reg16, | ||
| 67 | FCT_reg64, | ||
| 68 | FCT_rel, | ||
| 69 | FCT_sel, | ||
| 70 | FCT_sreg2, | ||
| 71 | FCT_sreg3, | ||
| 72 | FCT_string, | ||
| 73 | FCT_xmmreg, | ||
| 74 | }; | ||
| 75 | static const char op1_str[] = | ||
| 76 | "%ax\0" | ||
| 77 | "%cl\0" | ||
| 78 | "%eax\0" | ||
| 79 | "%st\0" | ||
| 80 | "%xmm0\0" | ||
| 81 | "*"; | ||
| 82 | static const uint8_t op1_str_idx[] = { | ||
| 83 | 0, | ||
| 84 | 4, | ||
| 85 | 8, | ||
| 86 | 13, | ||
| 87 | 17, | ||
| 88 | 23, | ||
| 89 | }; | ||
| 90 | static const opfct_t op2_fct[] = | ||
| 91 | { | ||
| 92 | NULL, | ||
| 93 | FCT_MOD$R_M, | ||
| 94 | FCT_Mod$R_m, | ||
| 95 | FCT_abs, | ||
| 96 | FCT_absval, | ||
| 97 | FCT_ax$w, | ||
| 98 | FCT_ccc, | ||
| 99 | FCT_ddd, | ||
| 100 | FCT_ds_si, | ||
| 101 | FCT_dx, | ||
| 102 | FCT_es_di, | ||
| 103 | FCT_freg, | ||
| 104 | FCT_imm8, | ||
| 105 | FCT_mmxreg, | ||
| 106 | FCT_mod$64r_m, | ||
| 107 | FCT_mod$r_m, | ||
| 108 | FCT_mod$r_m$w, | ||
| 109 | FCT_moda$r_m, | ||
| 110 | FCT_reg, | ||
| 111 | FCT_reg$w, | ||
| 112 | FCT_reg64, | ||
| 113 | FCT_sreg3, | ||
| 114 | FCT_string, | ||
| 115 | FCT_xmmreg, | ||
| 116 | }; | ||
| 117 | static const char op2_str[] = | ||
| 118 | "%ecx\0" | ||
| 119 | "%st"; | ||
| 120 | static const uint8_t op2_str_idx[] = { | ||
| 121 | 0, | ||
| 122 | 5, | ||
| 123 | }; | ||
| 124 | static const opfct_t op3_fct[] = | ||
| 125 | { | ||
| 126 | NULL, | ||
| 127 | FCT_mmxreg, | ||
| 128 | FCT_mod$r_m, | ||
| 129 | FCT_reg, | ||
| 130 | FCT_string, | ||
| 131 | FCT_xmmreg, | ||
| 132 | }; | ||
| 133 | static const char op3_str[] = | ||
| 134 | "%edx"; | ||
| 135 | static const uint8_t op3_str_idx[] = { | ||
| 136 | 0, | ||
| 137 | }; | ||
| 138 | static const struct instr_enc instrtab[] = | ||
| 139 | { | ||
| 140 | { .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, }, | ||
| 141 | { .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, }, | ||
| 142 | { .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, }, | ||
| 143 | { .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, }, | ||
| 144 | { .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, }, | ||
| 145 | { .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, }, | ||
| 146 | { .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, }, | ||
| 147 | { .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, }, | ||
| 148 | { .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, }, | ||
| 149 | { .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, }, | ||
| 150 | { .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, }, | ||
| 151 | { .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, }, | ||
| 152 | { .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, }, | ||
| 153 | { .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, }, | ||
| 154 | { .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, }, | ||
| 155 | { .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, }, | ||
| 156 | { .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, }, | ||
| 157 | { .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, }, | ||
| 158 | { .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, }, | ||
| 159 | { .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, }, | ||
| 160 | { .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, }, | ||
| 161 | { .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, }, | ||
| 162 | { .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, }, | ||
| 163 | { .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, }, | ||
| 164 | { .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, }, | ||
| 165 | { .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, }, | ||
| 166 | { .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, }, | ||
| 167 | { .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, }, | ||
| 168 | { .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, }, | ||
| 169 | { .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, }, | ||
| 170 | { .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, }, | ||
| 171 | { .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, }, | ||
| 172 | { .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, }, | ||
| 173 | { .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, }, | ||
| 174 | { .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, }, | ||
| 175 | { .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, }, | ||
| 176 | { .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, }, | ||
| 177 | { .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, }, | ||
| 178 | { .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, }, | ||
| 179 | { .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, }, | ||
| 180 | { .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, }, | ||
| 181 | { .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, }, | ||
| 182 | { .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, }, | ||
| 183 | { .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, }, | ||
| 184 | { .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, }, | ||
| 185 | { .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, }, | ||
| 186 | { .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, }, | ||
| 187 | { .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, }, | ||
| 188 | { .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, }, | ||
| 189 | { .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, }, | ||
| 190 | { .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, }, | ||
| 191 | { .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, }, | ||
| 192 | { .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, }, | ||
| 193 | { .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, }, | ||
| 194 | { .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, }, | ||
| 195 | { .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, }, | ||
| 196 | { .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, }, | ||
| 197 | { .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, }, | ||
| 198 | { .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, }, | ||
| 199 | { .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, }, | ||
| 200 | { .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, }, | ||
| 201 | { .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, }, | ||
| 202 | { .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, }, | ||
| 203 | { .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, }, | ||
| 204 | { .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, }, | ||
| 205 | { .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, }, | ||
| 206 | { .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, }, | ||
| 207 | { .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, }, | ||
| 208 | { .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, }, | ||
| 209 | { .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, }, | ||
| 210 | { .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, }, | ||
| 211 | { .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, }, | ||
| 212 | { .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, }, | ||
| 213 | { .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, }, | ||
| 214 | { .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, }, | ||
| 215 | { .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, }, | ||
| 216 | { .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, }, | ||
| 217 | { .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, }, | ||
| 218 | { .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, }, | ||
| 219 | { .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, }, | ||
| 220 | { .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, }, | ||
| 221 | { .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, }, | ||
| 222 | { .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, }, | ||
| 223 | { .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, }, | ||
| 224 | { .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, }, | ||
| 225 | { .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, }, | ||
| 226 | { .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, }, | ||
| 227 | { .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, }, | ||
| 228 | { .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, }, | ||
| 229 | { .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, }, | ||
| 230 | { .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, }, | ||
| 231 | { .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, }, | ||
| 232 | { .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, }, | ||
| 233 | { .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, }, | ||
| 234 | { .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, }, | ||
| 235 | { .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, }, | ||
| 236 | { .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, }, | ||
| 237 | { .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, }, | ||
| 238 | { .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, }, | ||
| 239 | { .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, }, | ||
| 240 | { .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, }, | ||
| 241 | { .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, }, | ||
| 242 | { .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, }, | ||
| 243 | { .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, }, | ||
| 244 | { .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, }, | ||
| 245 | { .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, }, | ||
| 246 | { .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, }, | ||
| 247 | { .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, }, | ||
| 248 | { .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, }, | ||
| 249 | { .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, }, | ||
| 250 | { .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, }, | ||
| 251 | { .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, }, | ||
| 252 | { .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, }, | ||
| 253 | { .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, }, | ||
| 254 | { .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, }, | ||
| 255 | { .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, }, | ||
| 256 | { .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, }, | ||
| 257 | { .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, }, | ||
| 258 | { .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, }, | ||
| 259 | { .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, }, | ||
| 260 | { .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, }, | ||
| 261 | { .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, }, | ||
| 262 | { .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, }, | ||
| 263 | { .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, }, | ||
| 264 | { .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, }, | ||
| 265 | { .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, }, | ||
| 266 | { .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, }, | ||
| 267 | { .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, }, | ||
| 268 | { .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, }, | ||
| 269 | { .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, }, | ||
| 270 | { .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, }, | ||
| 271 | { .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, }, | ||
| 272 | { .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, }, | ||
| 273 | { .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, }, | ||
| 274 | { .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, }, | ||
| 275 | { .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, }, | ||
| 276 | { .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, }, | ||
| 277 | { .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, }, | ||
| 278 | { .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, }, | ||
| 279 | { .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, }, | ||
| 280 | { .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, }, | ||
| 281 | { .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, }, | ||
| 282 | { .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, }, | ||
| 283 | { .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, }, | ||
| 284 | { .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, }, | ||
| 285 | { .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, }, | ||
| 286 | { .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, }, | ||
| 287 | { .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, }, | ||
| 288 | { .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, }, | ||
| 289 | { .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, }, | ||
| 290 | { .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, }, | ||
| 291 | { .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, }, | ||
| 292 | { .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, }, | ||
| 293 | { .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, }, | ||
| 294 | { .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, }, | ||
| 295 | { .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, }, | ||
| 296 | { .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, }, | ||
| 297 | { .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, }, | ||
| 298 | { .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, }, | ||
| 299 | { .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, }, | ||
| 300 | { .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, }, | ||
| 301 | { .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, }, | ||
| 302 | { .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, }, | ||
| 303 | { .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, }, | ||
| 304 | { .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, }, | ||
| 305 | { .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, }, | ||
| 306 | { .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, }, | ||
| 307 | { .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, }, | ||
| 308 | { .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, }, | ||
| 309 | { .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, }, | ||
| 310 | { .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, }, | ||
| 311 | { .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, }, | ||
| 312 | { .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, }, | ||
| 313 | { .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, }, | ||
| 314 | { .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, }, | ||
| 315 | { .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, }, | ||
| 316 | { .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, }, | ||
| 317 | { .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, }, | ||
| 318 | { .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, }, | ||
| 319 | { .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, }, | ||
| 320 | { .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, }, | ||
| 321 | { .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, }, | ||
| 322 | { .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, }, | ||
| 323 | { .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, }, | ||
| 324 | { .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, }, | ||
| 325 | { .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, }, | ||
| 326 | { .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, }, | ||
| 327 | { .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, }, | ||
| 328 | { .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, }, | ||
| 329 | { .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, }, | ||
| 330 | { .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, }, | ||
| 331 | { .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, }, | ||
| 332 | { .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, }, | ||
| 333 | { .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, }, | ||
| 334 | { .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, }, | ||
| 335 | { .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, }, | ||
| 336 | { .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, }, | ||
| 337 | { .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, }, | ||
| 338 | { .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, }, | ||
| 339 | { .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, }, | ||
| 340 | { .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, }, | ||
| 341 | { .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, }, | ||
| 342 | { .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, }, | ||
| 343 | { .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, }, | ||
| 344 | { .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, }, | ||
| 345 | { .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, }, | ||
| 346 | { .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, }, | ||
| 347 | { .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, }, | ||
| 348 | { .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, }, | ||
| 349 | { .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, }, | ||
| 350 | { .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, }, | ||
| 351 | { .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, }, | ||
| 352 | { .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, }, | ||
| 353 | { .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, }, | ||
| 354 | { .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, }, | ||
| 355 | { .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, }, | ||
| 356 | { .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, }, | ||
| 357 | { .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, }, | ||
| 358 | { .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, }, | ||
| 359 | { .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, }, | ||
| 360 | { .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, }, | ||
| 361 | { .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, }, | ||
| 362 | { .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, }, | ||
| 363 | { .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, }, | ||
| 364 | { .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, }, | ||
| 365 | { .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, }, | ||
| 366 | { .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, }, | ||
| 367 | { .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, }, | ||
| 368 | { .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, }, | ||
| 369 | { .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, }, | ||
| 370 | { .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, }, | ||
| 371 | { .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, }, | ||
| 372 | { .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, }, | ||
| 373 | { .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, }, | ||
| 374 | { .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, }, | ||
| 375 | { .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, }, | ||
| 376 | { .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, }, | ||
| 377 | { .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, }, | ||
| 378 | { .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, }, | ||
| 379 | { .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, }, | ||
| 380 | { .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, }, | ||
| 381 | { .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, }, | ||
| 382 | { .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, }, | ||
| 383 | { .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, }, | ||
| 384 | { .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, }, | ||
| 385 | { .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, }, | ||
| 386 | { .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, }, | ||
| 387 | { .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, }, | ||
| 388 | { .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, }, | ||
| 389 | { .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, }, | ||
| 390 | { .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, }, | ||
| 391 | { .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, }, | ||
| 392 | { .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, }, | ||
| 393 | { .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, }, | ||
| 394 | { .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, }, | ||
| 395 | { .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, }, | ||
| 396 | { .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, }, | ||
| 397 | { .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, }, | ||
| 398 | { .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, }, | ||
| 399 | { .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, }, | ||
| 400 | { .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, }, | ||
| 401 | { .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, }, | ||
| 402 | { .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, }, | ||
| 403 | { .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, }, | ||
| 404 | { .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, }, | ||
| 405 | { .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, }, | ||
| 406 | { .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, }, | ||
| 407 | { .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, }, | ||
| 408 | { .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, }, | ||
| 409 | { .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, }, | ||
| 410 | { .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, }, | ||
| 411 | { .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, }, | ||
| 412 | { .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, }, | ||
| 413 | { .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, }, | ||
| 414 | { .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, }, | ||
| 415 | { .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, }, | ||
| 416 | { .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, }, | ||
| 417 | { .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, }, | ||
| 418 | { .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, }, | ||
| 419 | { .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, }, | ||
| 420 | { .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, }, | ||
| 421 | { .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, }, | ||
| 422 | { .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, }, | ||
| 423 | { .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, }, | ||
| 424 | { .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, }, | ||
| 425 | { .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, }, | ||
| 426 | { .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, }, | ||
| 427 | { .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, }, | ||
| 428 | { .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, }, | ||
| 429 | { .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, }, | ||
| 430 | { .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, }, | ||
| 431 | { .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, }, | ||
| 432 | { .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, }, | ||
| 433 | { .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, }, | ||
| 434 | { .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, }, | ||
| 435 | { .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, }, | ||
| 436 | { .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, }, | ||
| 437 | { .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, }, | ||
| 438 | { .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, }, | ||
| 439 | { .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, }, | ||
| 440 | { .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, }, | ||
| 441 | { .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, }, | ||
| 442 | { .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, }, | ||
| 443 | { .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, }, | ||
| 444 | { .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, }, | ||
| 445 | { .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, }, | ||
| 446 | { .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, }, | ||
| 447 | { .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, }, | ||
| 448 | { .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, }, | ||
| 449 | { .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, }, | ||
| 450 | { .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, }, | ||
| 451 | { .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, }, | ||
| 452 | { .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, }, | ||
| 453 | { .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, }, | ||
| 454 | { .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, }, | ||
| 455 | { .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, }, | ||
| 456 | { .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, }, | ||
| 457 | { .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, }, | ||
| 458 | { .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, }, | ||
| 459 | { .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, }, | ||
| 460 | { .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, }, | ||
| 461 | { .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, }, | ||
| 462 | { .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, }, | ||
| 463 | { .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, }, | ||
| 464 | { .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, }, | ||
| 465 | { .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, }, | ||
| 466 | { .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, }, | ||
| 467 | { .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, }, | ||
| 468 | { .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, }, | ||
| 469 | { .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, }, | ||
| 470 | { .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, }, | ||
| 471 | { .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, }, | ||
| 472 | { .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, }, | ||
| 473 | { .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, }, | ||
| 474 | { .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, }, | ||
| 475 | { .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, }, | ||
| 476 | { .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, }, | ||
| 477 | { .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, }, | ||
| 478 | { .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, }, | ||
| 479 | { .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, }, | ||
| 480 | { .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, }, | ||
| 481 | { .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, }, | ||
| 482 | { .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, }, | ||
| 483 | { .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, }, | ||
| 484 | { .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, }, | ||
| 485 | { .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, }, | ||
| 486 | { .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, }, | ||
| 487 | { .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, }, | ||
| 488 | { .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, }, | ||
| 489 | { .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, }, | ||
| 490 | { .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, }, | ||
| 491 | { .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, }, | ||
| 492 | { .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, }, | ||
| 493 | { .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, }, | ||
| 494 | { .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, }, | ||
| 495 | { .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, }, | ||
| 496 | { .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, }, | ||
| 497 | { .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, }, | ||
| 498 | { .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, }, | ||
| 499 | { .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, }, | ||
| 500 | { .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, }, | ||
| 501 | { .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, }, | ||
| 502 | { .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, }, | ||
| 503 | { .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, }, | ||
| 504 | { .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, }, | ||
| 505 | { .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, }, | ||
| 506 | { .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, }, | ||
| 507 | { .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, }, | ||
| 508 | { .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, }, | ||
| 509 | { .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, }, | ||
| 510 | { .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, }, | ||
| 511 | { .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, }, | ||
| 512 | { .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, }, | ||
| 513 | { .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, }, | ||
| 514 | { .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, }, | ||
| 515 | { .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, }, | ||
| 516 | { .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, }, | ||
| 517 | { .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, }, | ||
| 518 | { .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, }, | ||
| 519 | { .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, }, | ||
| 520 | { .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, }, | ||
| 521 | { .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, }, | ||
| 522 | { .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, }, | ||
| 523 | { .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, }, | ||
| 524 | { .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, }, | ||
| 525 | { .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, }, | ||
| 526 | { .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, }, | ||
| 527 | { .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, }, | ||
| 528 | { .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, }, | ||
| 529 | { .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, }, | ||
| 530 | { .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, }, | ||
| 531 | { .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, }, | ||
| 532 | { .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, }, | ||
| 533 | { .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, }, | ||
| 534 | { .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, }, | ||
| 535 | { .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, }, | ||
| 536 | { .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, }, | ||
| 537 | { .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, }, | ||
| 538 | { .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, }, | ||
| 539 | { .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, }, | ||
| 540 | { .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, }, | ||
| 541 | { .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, }, | ||
| 542 | { .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, }, | ||
| 543 | { .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, }, | ||
| 544 | { .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, }, | ||
| 545 | { .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, }, | ||
| 546 | { .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, }, | ||
| 547 | { .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, }, | ||
| 548 | { .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, }, | ||
| 549 | { .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, }, | ||
| 550 | { .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, }, | ||
| 551 | { .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, }, | ||
| 552 | { .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, }, | ||
| 553 | { .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, }, | ||
| 554 | { .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, }, | ||
| 555 | { .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, }, | ||
| 556 | { .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, }, | ||
| 557 | { .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, }, | ||
| 558 | { .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, }, | ||
| 559 | { .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, }, | ||
| 560 | { .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, }, | ||
| 561 | { .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, }, | ||
| 562 | { .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, }, | ||
| 563 | { .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, }, | ||
| 564 | { .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, }, | ||
| 565 | { .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, }, | ||
| 566 | { .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, }, | ||
| 567 | { .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, }, | ||
| 568 | { .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, }, | ||
| 569 | { .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, }, | ||
| 570 | { .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, }, | ||
| 571 | { .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, }, | ||
| 572 | { .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, }, | ||
| 573 | { .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, }, | ||
| 574 | { .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, }, | ||
| 575 | { .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, }, | ||
| 576 | { .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, }, | ||
| 577 | { .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, }, | ||
| 578 | { .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, }, | ||
| 579 | { .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, }, | ||
| 580 | { .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, }, | ||
| 581 | { .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, }, | ||
| 582 | { .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, }, | ||
| 583 | { .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, }, | ||
| 584 | { .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, }, | ||
| 585 | { .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, }, | ||
| 586 | { .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, }, | ||
| 587 | { .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, }, | ||
| 588 | { .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, }, | ||
| 589 | { .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, }, | ||
| 590 | { .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, }, | ||
| 591 | { .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, }, | ||
| 592 | { .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, }, | ||
| 593 | { .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, }, | ||
| 594 | { .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, }, | ||
| 595 | { .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, }, | ||
| 596 | { .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, }, | ||
| 597 | { .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, }, | ||
| 598 | { .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, }, | ||
| 599 | { .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, }, | ||
| 600 | { .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, }, | ||
| 601 | { .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, }, | ||
| 602 | { .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, }, | ||
| 603 | { .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, }, | ||
| 604 | { .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, }, | ||
| 605 | { .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, }, | ||
| 606 | { .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, }, | ||
| 607 | { .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, }, | ||
| 608 | { .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, }, | ||
| 609 | { .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, }, | ||
| 610 | { .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, }, | ||
| 611 | { .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, }, | ||
| 612 | { .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, }, | ||
| 613 | { .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, }, | ||
| 614 | { .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, }, | ||
| 615 | { .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, }, | ||
| 616 | { .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, }, | ||
| 617 | { .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, }, | ||
| 618 | { .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, }, | ||
| 619 | { .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, }, | ||
| 620 | { .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, }, | ||
| 621 | { .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, }, | ||
| 622 | { .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, }, | ||
| 623 | { .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, }, | ||
| 624 | { .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, }, | ||
| 625 | { .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, }, | ||
| 626 | { .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, }, | ||
| 627 | { .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, }, | ||
| 628 | { .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, }, | ||
| 629 | { .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, }, | ||
| 630 | { .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, }, | ||
| 631 | { .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, }, | ||
| 632 | { .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, }, | ||
| 633 | { .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, }, | ||
| 634 | { .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, }, | ||
| 635 | { .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, }, | ||
| 636 | { .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, }, | ||
| 637 | { .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, }, | ||
| 638 | { .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, }, | ||
| 639 | { .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, }, | ||
| 640 | { .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, }, | ||
| 641 | { .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, }, | ||
| 642 | { .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, }, | ||
| 643 | { .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, }, | ||
| 644 | { .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, }, | ||
| 645 | { .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, }, | ||
| 646 | { .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, }, | ||
| 647 | { .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, }, | ||
| 648 | { .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, }, | ||
| 649 | { .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, }, | ||
| 650 | { .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, }, | ||
| 651 | { .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, }, | ||
| 652 | { .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, }, | ||
| 653 | { .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, }, | ||
| 654 | { .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, }, | ||
| 655 | { .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, }, | ||
| 656 | { .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, }, | ||
| 657 | { .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, }, | ||
| 658 | { .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, }, | ||
| 659 | { .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, }, | ||
| 660 | { .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, }, | ||
| 661 | { .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, }, | ||
| 662 | { .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, }, | ||
| 663 | { .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, }, | ||
| 664 | { .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, }, | ||
| 665 | { .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, }, | ||
| 666 | { .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, }, | ||
| 667 | { .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, }, | ||
| 668 | { .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, }, | ||
| 669 | { .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, }, | ||
| 670 | { .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, }, | ||
| 671 | { .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, }, | ||
| 672 | { .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, }, | ||
| 673 | { .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, }, | ||
| 674 | { .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, }, | ||
| 675 | { .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, }, | ||
| 676 | { .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, }, | ||
| 677 | { .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, }, | ||
| 678 | { .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, }, | ||
| 679 | { .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, }, | ||
| 680 | { .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, }, | ||
| 681 | { .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, }, | ||
| 682 | { .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, }, | ||
| 683 | { .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, }, | ||
| 684 | { .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, }, | ||
| 685 | { .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, }, | ||
| 686 | { .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, }, | ||
| 687 | { .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, }, | ||
| 688 | { .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, }, | ||
| 689 | { .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, }, | ||
| 690 | { .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, }, | ||
| 691 | { .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, }, | ||
| 692 | { .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, }, | ||
| 693 | { .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, }, | ||
| 694 | { .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, }, | ||
| 695 | { .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, }, | ||
| 696 | { .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, }, | ||
| 697 | { .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, }, | ||
| 698 | { .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, }, | ||
| 699 | { .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, }, | ||
| 700 | { .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, }, | ||
| 701 | { .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, }, | ||
| 702 | { .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, }, | ||
| 703 | { .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, }, | ||
| 704 | { .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, }, | ||
| 705 | { .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, }, | ||
| 706 | { .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, }, | ||
| 707 | { .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, }, | ||
| 708 | { .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, }, | ||
| 709 | { .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, }, | ||
| 710 | { .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, }, | ||
| 711 | { .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, }, | ||
| 712 | { .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, }, | ||
| 713 | { .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, }, | ||
| 714 | { .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, }, | ||
| 715 | { .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, }, | ||
| 716 | { .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, }, | ||
| 717 | { .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, }, | ||
| 718 | { .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, }, | ||
| 719 | { .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, }, | ||
| 720 | { .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, }, | ||
| 721 | { .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, }, | ||
| 722 | { .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, }, | ||
| 723 | { .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, }, | ||
| 724 | { .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, }, | ||
| 725 | { .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, }, | ||
| 726 | { .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, }, | ||
| 727 | { .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, }, | ||
| 728 | { .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, }, | ||
| 729 | { .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, }, | ||
| 730 | { .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, }, | ||
| 731 | { .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, }, | ||
| 732 | { .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, }, | ||
| 733 | { .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, }, | ||
| 734 | { .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, }, | ||
| 735 | { .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, }, | ||
| 736 | { .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, }, | ||
| 737 | { .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, }, | ||
| 738 | { .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, }, | ||
| 739 | { .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, }, | ||
| 740 | { .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, }, | ||
| 741 | { .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, }, | ||
| 742 | { .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, }, | ||
| 743 | { .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, }, | ||
| 744 | { .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, }, | ||
| 745 | { .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, }, | ||
| 746 | { .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, }, | ||
| 747 | { .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, }, | ||
| 748 | { .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, }, | ||
| 749 | { .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, }, | ||
| 750 | { .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, }, | ||
| 751 | { .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, }, | ||
| 752 | { .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, }, | ||
| 753 | { .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, }, | ||
| 754 | { .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, }, | ||
| 755 | { .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, }, | ||
| 756 | { .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, }, | ||
| 757 | { .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, }, | ||
| 758 | { .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, }, | ||
| 759 | { .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, }, | ||
| 760 | { .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, }, | ||
| 761 | { .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, }, | ||
| 762 | { .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, }, | ||
| 763 | { .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, }, | ||
| 764 | { .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, }, | ||
| 765 | { .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, }, | ||
| 766 | { .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, }, | ||
| 767 | { .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, }, | ||
| 768 | { .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, }, | ||
| 769 | { .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, }, | ||
| 770 | { .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, }, | ||
| 771 | { .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, }, | ||
| 772 | { .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, }, | ||
| 773 | { .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, }, | ||
| 774 | { .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, }, | ||
| 775 | { .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, }, | ||
| 776 | { .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, }, | ||
| 777 | { .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, }, | ||
| 778 | { .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, }, | ||
| 779 | { .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, }, | ||
| 780 | { .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, }, | ||
| 781 | { .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, }, | ||
| 782 | { .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, }, | ||
| 783 | { .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, }, | ||
| 784 | { .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, }, | ||
| 785 | { .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, }, | ||
| 786 | { .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, }, | ||
| 787 | { .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, }, | ||
| 788 | { .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, }, | ||
| 789 | { .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, }, | ||
| 790 | { .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, }, | ||
| 791 | { .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, }, | ||
| 792 | { .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, }, | ||
| 793 | { .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, }, | ||
| 794 | { .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, }, | ||
| 795 | { .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, }, | ||
| 796 | { .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, }, | ||
| 797 | { .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, }, | ||
| 798 | { .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, }, | ||
| 799 | { .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, }, | ||
| 800 | { .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, }, | ||
| 801 | { .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, }, | ||
| 802 | { .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, }, | ||
| 803 | { .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, }, | ||
| 804 | { .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, }, | ||
| 805 | { .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, }, | ||
| 806 | { .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, }, | ||
| 807 | { .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, }, | ||
| 808 | { .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, }, | ||
| 809 | { .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, }, | ||
| 810 | { .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, }, | ||
| 811 | { .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, }, | ||
| 812 | { .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, }, | ||
| 813 | { .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, }, | ||
| 814 | { .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, }, | ||
| 815 | { .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, }, | ||
| 816 | { .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, }, | ||
| 817 | { .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, }, | ||
| 818 | { .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, }, | ||
| 819 | { .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, }, | ||
| 820 | { .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, }, | ||
| 821 | { .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, }, | ||
| 822 | { .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, }, | ||
| 823 | { .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, }, | ||
| 824 | { .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, }, | ||
| 825 | { .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, }, | ||
| 826 | { .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, }, | ||
| 827 | { .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, }, | ||
| 828 | { .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, }, | ||
| 829 | { .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, }, | ||
| 830 | { .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, }, | ||
| 831 | { .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, }, | ||
| 832 | { .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, }, | ||
| 833 | { .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, }, | ||
| 834 | { .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, }, | ||
| 835 | { .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, }, | ||
| 836 | { .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, }, | ||
| 837 | { .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, }, | ||
| 838 | { .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, }, | ||
| 839 | { .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, }, | ||
| 840 | { .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, }, | ||
| 841 | { .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, }, | ||
| 842 | { .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, }, | ||
| 843 | { .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, }, | ||
| 844 | { .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, }, | ||
| 845 | { .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, }, | ||
| 846 | { .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, }, | ||
| 847 | { .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, }, | ||
| 848 | { .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, }, | ||
| 849 | { .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, }, | ||
| 850 | { .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, }, | ||
| 851 | { .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, }, | ||
| 852 | { .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, }, | ||
| 853 | { .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, }, | ||
| 854 | { .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, }, | ||
| 855 | { .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, }, | ||
| 856 | { .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, }, | ||
| 857 | { .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, }, | ||
| 858 | { .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, }, | ||
| 859 | { .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, }, | ||
| 860 | { .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, }, | ||
| 861 | { .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, }, | ||
| 862 | { .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, }, | ||
| 863 | { .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, }, | ||
| 864 | { .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, }, | ||
| 865 | { .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, }, | ||
| 866 | { .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, }, | ||
| 867 | { .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, }, | ||
| 868 | { .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, }, | ||
| 869 | { .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, }, | ||
| 870 | { .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, }, | ||
| 871 | { .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, }, | ||
| 872 | { .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, }, | ||
| 873 | { .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, }, | ||
| 874 | { .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, }, | ||
| 875 | { .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, }, | ||
| 876 | { .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, }, | ||
| 877 | { .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, }, | ||
| 878 | { .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, }, | ||
| 879 | { .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, }, | ||
| 880 | { .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, }, | ||
| 881 | { .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, }, | ||
| 882 | { .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, }, | ||
| 883 | { .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, }, | ||
| 884 | { .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, }, | ||
| 885 | { .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, }, | ||
| 886 | { .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, }, | ||
| 887 | { .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, }, | ||
| 888 | { .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, }, | ||
| 889 | { .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, }, | ||
| 890 | { .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, }, | ||
| 891 | { .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, }, | ||
| 892 | { .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, }, | ||
| 893 | { .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, }, | ||
| 894 | { .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, }, | ||
| 895 | { .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, }, | ||
| 896 | { .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, }, | ||
| 897 | }; | ||
| 898 | static const uint8_t match_data[] = | ||
| 899 | { | ||
| 900 | 0x11, 0x37, | ||
| 901 | 0x22, 0xd5, 0xa, | ||
| 902 | 0x22, 0xd4, 0xa, | ||
| 903 | 0x11, 0x3f, | ||
| 904 | 0x1, 0xfe, 0x14, | ||
| 905 | 0x2, 0xfe, 0x80, 0x38, 0x10, | ||
| 906 | 0x2, 0xfe, 0x82, 0x38, 0x10, | ||
| 907 | 0x2, 0xfe, 0x10, 0, 0, | ||
| 908 | 0x2, 0xfe, 0x12, 0, 0, | ||
| 909 | 0x1, 0xfe, 0x4, | ||
| 910 | 0x2, 0xfe, 0x80, 0x38, 0, | ||
| 911 | 0x12, 0x83, 0x38, 0, | ||
| 912 | 0x2, 0xfe, 0, 0, 0, | ||
| 913 | 0x2, 0xfe, 0x2, 0, 0, | ||
| 914 | 0x34, 0x66, 0xf, 0xd0, 0, 0, | ||
| 915 | 0x34, 0xf2, 0xf, 0xd0, 0, 0, | ||
| 916 | 0x1, 0xfe, 0x24, | ||
| 917 | 0x2, 0xfe, 0x80, 0x38, 0x20, | ||
| 918 | 0x2, 0xfe, 0x82, 0x38, 0x20, | ||
| 919 | 0x2, 0xfe, 0x20, 0, 0, | ||
| 920 | 0x2, 0xfe, 0x22, 0, 0, | ||
| 921 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
| 922 | 0x23, 0xf, 0x54, 0, 0, | ||
| 923 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
| 924 | 0x23, 0xf, 0x55, 0, 0, | ||
| 925 | 0x12, 0x63, 0, 0, | ||
| 926 | 0x12, 0x62, 0, 0, | ||
| 927 | 0x23, 0xf, 0xbc, 0, 0, | ||
| 928 | 0x23, 0xf, 0xbd, 0, 0, | ||
| 929 | 0x12, 0xf, 0xf8, 0xc8, | ||
| 930 | 0x23, 0xf, 0xa3, 0, 0, | ||
| 931 | 0x23, 0xf, 0xba, 0x38, 0x20, | ||
| 932 | 0x23, 0xf, 0xbb, 0, 0, | ||
| 933 | 0x23, 0xf, 0xba, 0x38, 0x38, | ||
| 934 | 0x23, 0xf, 0xb3, 0, 0, | ||
| 935 | 0x23, 0xf, 0xba, 0x38, 0x30, | ||
| 936 | 0x23, 0xf, 0xab, 0, 0, | ||
| 937 | 0x23, 0xf, 0xba, 0x38, 0x28, | ||
| 938 | 0x11, 0xe8, | ||
| 939 | 0x12, 0xff, 0x38, 0x10, | ||
| 940 | 0x11, 0x9a, | ||
| 941 | 0x12, 0xff, 0x38, 0x18, | ||
| 942 | 0x11, 0x98, | ||
| 943 | 0x11, 0x99, | ||
| 944 | 0x11, 0xf8, | ||
| 945 | 0x11, 0xfc, | ||
| 946 | 0x11, 0xfa, | ||
| 947 | 0x22, 0xf, 0x5, | ||
| 948 | 0x22, 0xf, 0x6, | ||
| 949 | 0x22, 0xf, 0x7, | ||
| 950 | 0x22, 0xf, 0x34, | ||
| 951 | 0x22, 0xf, 0x35, | ||
| 952 | 0x11, 0xf5, | ||
| 953 | 0x13, 0xf, 0xf0, 0x40, 0, 0, | ||
| 954 | 0x1, 0xfe, 0x3c, | ||
| 955 | 0x2, 0xfe, 0x80, 0x38, 0x38, | ||
| 956 | 0x12, 0x83, 0x38, 0x38, | ||
| 957 | 0x2, 0xfe, 0x38, 0, 0, | ||
| 958 | 0x2, 0xfe, 0x3a, 0, 0, | ||
| 959 | 0x34, 0xf2, 0xf, 0xc2, 0, 0, | ||
| 960 | 0x34, 0xf3, 0xf, 0xc2, 0, 0, | ||
| 961 | 0x34, 0x66, 0xf, 0xc2, 0, 0, | ||
| 962 | 0x23, 0xf, 0xc2, 0, 0, | ||
| 963 | 0x1, 0xfe, 0xa6, | ||
| 964 | 0x13, 0xf, 0xfe, 0xb0, 0, 0, | ||
| 965 | 0x23, 0xf, 0xc7, 0x38, 0x8, | ||
| 966 | 0x22, 0xf, 0xa2, | ||
| 967 | 0x34, 0xf3, 0xf, 0xe6, 0, 0, | ||
| 968 | 0x34, 0xf2, 0xf, 0xe6, 0, 0, | ||
| 969 | 0x34, 0x66, 0xf, 0xe6, 0, 0, | ||
| 970 | 0x11, 0x27, | ||
| 971 | 0x11, 0x2f, | ||
| 972 | 0x2, 0xfe, 0xfe, 0x38, 0x8, | ||
| 973 | 0x1, 0xf8, 0x48, | ||
| 974 | 0x2, 0xfe, 0xf6, 0x38, 0x30, | ||
| 975 | 0x22, 0xf, 0x77, | ||
| 976 | 0x11, 0xc8, | ||
| 977 | 0x22, 0xd9, 0xd0, | ||
| 978 | 0x22, 0xd9, 0xe0, | ||
| 979 | 0x22, 0xd9, 0xe1, | ||
| 980 | 0x22, 0xd9, 0xe4, | ||
| 981 | 0x22, 0xd9, 0xe5, | ||
| 982 | 0x22, 0xd9, 0xe8, | ||
| 983 | 0x22, 0xd9, 0xe9, | ||
| 984 | 0x22, 0xd9, 0xea, | ||
| 985 | 0x22, 0xd9, 0xeb, | ||
| 986 | 0x22, 0xd9, 0xec, | ||
| 987 | 0x22, 0xd9, 0xed, | ||
| 988 | 0x22, 0xd9, 0xee, | ||
| 989 | 0x22, 0xd9, 0xf0, | ||
| 990 | 0x22, 0xd9, 0xf1, | ||
| 991 | 0x22, 0xd9, 0xf2, | ||
| 992 | 0x22, 0xd9, 0xf3, | ||
| 993 | 0x22, 0xd9, 0xf4, | ||
| 994 | 0x22, 0xd9, 0xf5, | ||
| 995 | 0x22, 0xd9, 0xf6, | ||
| 996 | 0x22, 0xd9, 0xf7, | ||
| 997 | 0x22, 0xd9, 0xf8, | ||
| 998 | 0x22, 0xd9, 0xf9, | ||
| 999 | 0x22, 0xd9, 0xfa, | ||
| 1000 | 0x22, 0xd9, 0xfb, | ||
| 1001 | 0x22, 0xd9, 0xfc, | ||
| 1002 | 0x22, 0xd9, 0xfd, | ||
| 1003 | 0x22, 0xd9, 0xfe, | ||
| 1004 | 0x22, 0xd9, 0xff, | ||
| 1005 | 0x12, 0xd8, 0xf8, 0xc0, | ||
| 1006 | 0x12, 0xdc, 0xf8, 0xc0, | ||
| 1007 | 0x2, 0xfb, 0xd8, 0x38, 0, | ||
| 1008 | 0x12, 0xd8, 0xf8, 0xc8, | ||
| 1009 | 0x12, 0xdc, 0xf8, 0xc8, | ||
| 1010 | 0x2, 0xfb, 0xd8, 0x38, 0x8, | ||
| 1011 | 0x12, 0xd8, 0xf8, 0xe0, | ||
| 1012 | 0x12, 0xdc, 0xf8, 0xe0, | ||
| 1013 | 0x2, 0xfb, 0xd8, 0x38, 0x20, | ||
| 1014 | 0x12, 0xd8, 0xf8, 0xe8, | ||
| 1015 | 0x12, 0xdc, 0xf8, 0xe8, | ||
| 1016 | 0x2, 0xfb, 0xd8, 0x38, 0x28, | ||
| 1017 | 0x12, 0xdd, 0xf8, 0xd0, | ||
| 1018 | 0x2, 0xfb, 0xd9, 0x38, 0x10, | ||
| 1019 | 0x12, 0xdd, 0xf8, 0xd8, | ||
| 1020 | 0x2, 0xfb, 0xd9, 0x38, 0x18, | ||
| 1021 | 0x12, 0xd9, 0x38, 0x20, | ||
| 1022 | 0x12, 0xd9, 0x38, 0x28, | ||
| 1023 | 0x12, 0xd9, 0x38, 0x30, | ||
| 1024 | 0x12, 0xd9, 0x38, 0x38, | ||
| 1025 | 0x12, 0xd9, 0xf8, 0xc8, | ||
| 1026 | 0x12, 0xde, 0xf8, 0xc0, | ||
| 1027 | 0x12, 0xda, 0xf8, 0xc0, | ||
| 1028 | 0x2, 0xfb, 0xda, 0x38, 0, | ||
| 1029 | 0x12, 0xda, 0xf8, 0xc8, | ||
| 1030 | 0x12, 0xde, 0xf8, 0xc8, | ||
| 1031 | 0x2, 0xfb, 0xda, 0x38, 0x8, | ||
| 1032 | 0x12, 0xde, 0xf8, 0xe0, | ||
| 1033 | 0x2, 0xfb, 0xda, 0x38, 0x20, | ||
| 1034 | 0x12, 0xde, 0xf8, 0xe8, | ||
| 1035 | 0x2, 0xfb, 0xda, 0x38, 0x28, | ||
| 1036 | 0x22, 0xdf, 0xe0, | ||
| 1037 | 0x12, 0xdf, 0x38, 0x20, | ||
| 1038 | 0x12, 0xdf, 0xf8, 0xf0, | ||
| 1039 | 0x12, 0xdf, 0x38, 0x30, | ||
| 1040 | 0x22, 0xd9, 0xe0, | ||
| 1041 | 0x33, 0x9b, 0xdb, 0xe2, | ||
| 1042 | 0x33, 0x9b, 0xdb, 0xe3, | ||
| 1043 | 0x11, 0x9b, | ||
| 1044 | 0x22, 0xdb, 0xe2, | ||
| 1045 | 0x12, 0xda, 0xf8, 0xc0, | ||
| 1046 | 0x12, 0xda, 0xf8, 0xc8, | ||
| 1047 | 0x12, 0xda, 0xf8, 0xd0, | ||
| 1048 | 0x12, 0xda, 0xf8, 0xd8, | ||
| 1049 | 0x12, 0xdb, 0xf8, 0xc0, | ||
| 1050 | 0x12, 0xdb, 0xf8, 0xc8, | ||
| 1051 | 0x12, 0xdb, 0xf8, 0xd0, | ||
| 1052 | 0x12, 0xdb, 0xf8, 0xd8, | ||
| 1053 | 0x12, 0xd8, 0xf8, 0xd0, | ||
| 1054 | 0x2, 0xfb, 0xd8, 0x38, 0x10, | ||
| 1055 | 0x12, 0xd8, 0xf8, 0xd8, | ||
| 1056 | 0x2, 0xfb, 0xd8, 0x38, 0x18, | ||
| 1057 | 0x22, 0xde, 0xd9, | ||
| 1058 | 0x12, 0xdb, 0xf8, 0xf0, | ||
| 1059 | 0x12, 0xdf, 0xf8, 0xf0, | ||
| 1060 | 0x12, 0xdb, 0xf8, 0xe8, | ||
| 1061 | 0x12, 0xdf, 0xf8, 0xe8, | ||
| 1062 | 0x22, 0xd9, 0xff, | ||
| 1063 | 0x22, 0xd9, 0xf6, | ||
| 1064 | 0x12, 0xd8, 0xf8, 0xf0, | ||
| 1065 | 0x12, 0xdc, 0xf8, 0xf0, | ||
| 1066 | 0x2, 0xfb, 0xd8, 0x38, 0x30, | ||
| 1067 | 0x12, 0xda, 0x38, 0x30, | ||
| 1068 | 0x12, 0xde, 0xf8, 0xf0, | ||
| 1069 | 0x12, 0xde, 0x38, 0x30, | ||
| 1070 | 0x12, 0xde, 0xf8, 0xf8, | ||
| 1071 | 0x12, 0xd8, 0xf8, 0xf8, | ||
| 1072 | 0x12, 0xdc, 0xf8, 0xf8, | ||
| 1073 | 0x2, 0xfb, 0xd8, 0x38, 0x38, | ||
| 1074 | 0x12, 0xda, 0x38, 0x38, | ||
| 1075 | 0x12, 0xde, 0x38, 0x38, | ||
| 1076 | 0x12, 0xde, 0xf8, 0xf0, | ||
| 1077 | 0x12, 0xdd, 0xf8, 0xc0, | ||
| 1078 | 0x12, 0xda, 0xf8, 0xd0, | ||
| 1079 | 0x2, 0xfb, 0xda, 0x38, 0x10, | ||
| 1080 | 0x12, 0xda, 0xf8, 0xd8, | ||
| 1081 | 0x2, 0xfb, 0xda, 0x38, 0x18, | ||
| 1082 | 0x12, 0xdf, 0x38, 0, | ||
| 1083 | 0x12, 0xdb, 0x38, 0, | ||
| 1084 | 0x12, 0xdf, 0x38, 0x28, | ||
| 1085 | 0x22, 0xd9, 0xf7, | ||
| 1086 | 0x22, 0xdb, 0xe3, | ||
| 1087 | 0x2, 0xfb, 0xdb, 0x38, 0x10, | ||
| 1088 | 0x2, 0xfb, 0xdb, 0x38, 0x18, | ||
| 1089 | 0x12, 0xdf, 0x38, 0x38, | ||
| 1090 | 0x2, 0xfb, 0xdb, 0x38, 0x8, | ||
| 1091 | 0x12, 0xdd, 0x38, 0x8, | ||
| 1092 | 0x12, 0xdb, 0x38, 0x28, | ||
| 1093 | 0x12, 0xdb, 0x38, 0x38, | ||
| 1094 | 0x12, 0xd9, 0xf8, 0xc0, | ||
| 1095 | 0x2, 0xfb, 0xd9, 0x38, 0, | ||
| 1096 | 0x12, 0xdd, 0xf8, 0xe0, | ||
| 1097 | 0x12, 0xdd, 0x38, 0x20, | ||
| 1098 | 0x12, 0xdd, 0xf8, 0xe8, | ||
| 1099 | 0x12, 0xdd, 0x38, 0x30, | ||
| 1100 | 0x12, 0xdd, 0x38, 0x38, | ||
| 1101 | 0x11, 0xf4, | ||
| 1102 | 0x2, 0xfe, 0xf6, 0x38, 0x38, | ||
| 1103 | 0x2, 0xfe, 0xf6, 0x38, 0x28, | ||
| 1104 | 0x23, 0xf, 0xaf, 0, 0, | ||
| 1105 | 0x2, 0xfd, 0x69, 0, 0, | ||
| 1106 | 0x1, 0xfe, 0xe4, | ||
| 1107 | 0x1, 0xfe, 0xec, | ||
| 1108 | 0x2, 0xfe, 0xfe, 0x38, 0, | ||
| 1109 | 0x1, 0xf8, 0x40, | ||
| 1110 | 0x1, 0xfe, 0x6c, | ||
| 1111 | 0x11, 0xcd, | ||
| 1112 | 0x11, 0xcc, | ||
| 1113 | 0x11, 0xce, | ||
| 1114 | 0x22, 0xf, 0x8, | ||
| 1115 | 0x33, 0xf, 0x1, 0xf8, | ||
| 1116 | 0x23, 0xf, 0x1, 0x38, 0x38, | ||
| 1117 | 0x11, 0xcf, | ||
| 1118 | 0x1, 0xf0, 0x70, | ||
| 1119 | 0x12, 0xf, 0xf0, 0x80, | ||
| 1120 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
| 1121 | 0x11, 0xe3, | ||
| 1122 | 0x11, 0xeb, | ||
| 1123 | 0x11, 0xe9, | ||
| 1124 | 0x12, 0xff, 0x38, 0x20, | ||
| 1125 | 0x11, 0xea, | ||
| 1126 | 0x12, 0xff, 0x38, 0x28, | ||
| 1127 | 0x11, 0x9f, | ||
| 1128 | 0x23, 0xf, 0x2, 0, 0, | ||
| 1129 | 0x12, 0xc5, 0, 0, | ||
| 1130 | 0x12, 0x8d, 0, 0, | ||
| 1131 | 0x11, 0xc9, | ||
| 1132 | 0x12, 0xc4, 0, 0, | ||
| 1133 | 0x23, 0xf, 0xb4, 0, 0, | ||
| 1134 | 0x23, 0xf, 0xb5, 0, 0, | ||
| 1135 | 0x23, 0xf, 0x1, 0x38, 0x10, | ||
| 1136 | 0x23, 0xf, 0x1, 0x38, 0x18, | ||
| 1137 | 0x23, 0xf, 0, 0x38, 0x10, | ||
| 1138 | 0x23, 0xf, 0x1, 0x38, 0x30, | ||
| 1139 | 0x11, 0xf0, | ||
| 1140 | 0x1, 0xfe, 0xac, | ||
| 1141 | 0x11, 0xe2, | ||
| 1142 | 0x11, 0xe1, | ||
| 1143 | 0x11, 0xe0, | ||
| 1144 | 0x23, 0xf, 0x3, 0, 0, | ||
| 1145 | 0x23, 0xf, 0xb2, 0, 0, | ||
| 1146 | 0x23, 0xf, 0, 0x38, 0x18, | ||
| 1147 | 0x2, 0xfe, 0x88, 0, 0, | ||
| 1148 | 0x2, 0xfe, 0x8a, 0, 0, | ||
| 1149 | 0x2, 0xfe, 0xc6, 0x38, 0, | ||
| 1150 | 0x1, 0xf0, 0xb0, | ||
| 1151 | 0x1, 0xfe, 0xa0, | ||
| 1152 | 0x1, 0xfe, 0xa2, | ||
| 1153 | 0x23, 0xf, 0x20, 0xc0, 0xc0, | ||
| 1154 | 0x23, 0xf, 0x22, 0xc0, 0xc0, | ||
| 1155 | 0x23, 0xf, 0x21, 0xc0, 0xc0, | ||
| 1156 | 0x23, 0xf, 0x23, 0xc0, 0xc0, | ||
| 1157 | 0x12, 0x8c, 0, 0, | ||
| 1158 | 0x12, 0x8e, 0, 0, | ||
| 1159 | 0x1, 0xfe, 0xa4, | ||
| 1160 | 0x23, 0xf, 0xbe, 0, 0, | ||
| 1161 | 0x23, 0xf, 0xbf, 0, 0, | ||
| 1162 | 0x23, 0xf, 0xb6, 0, 0, | ||
| 1163 | 0x23, 0xf, 0xb7, 0, 0, | ||
| 1164 | 0x2, 0xfe, 0xf6, 0x38, 0x20, | ||
| 1165 | 0x2, 0xfe, 0xf6, 0x38, 0x18, | ||
| 1166 | 0x22, 0xf3, 0x90, | ||
| 1167 | 0x11, 0x90, | ||
| 1168 | 0x34, 0xf3, 0xf, 0xb8, 0, 0, | ||
| 1169 | 0x2, 0xfe, 0xf6, 0x38, 0x10, | ||
| 1170 | 0x2, 0xfe, 0x8, 0, 0, | ||
| 1171 | 0x2, 0xfe, 0xa, 0, 0, | ||
| 1172 | 0x2, 0xfe, 0x80, 0x38, 0x8, | ||
| 1173 | 0x2, 0xfe, 0x82, 0x38, 0x8, | ||
| 1174 | 0x1, 0xfe, 0xc, | ||
| 1175 | 0x1, 0xfe, 0xe6, | ||
| 1176 | 0x1, 0xfe, 0xee, | ||
| 1177 | 0x1, 0xfe, 0x6e, | ||
| 1178 | 0x12, 0x8f, 0x38, 0, | ||
| 1179 | 0x12, 0xf, 0xc7, 0x81, | ||
| 1180 | 0x11, 0x9d, | ||
| 1181 | 0x12, 0xff, 0x38, 0x30, | ||
| 1182 | 0x1, 0xf8, 0x50, | ||
| 1183 | 0x1, 0xf8, 0x58, | ||
| 1184 | 0x1, 0xfd, 0x68, | ||
| 1185 | 0x1, 0xe7, 0x6, | ||
| 1186 | 0x12, 0xf, 0xc7, 0x80, | ||
| 1187 | 0x11, 0x60, | ||
| 1188 | 0x11, 0x61, | ||
| 1189 | 0x11, 0x9c, | ||
| 1190 | 0x2, 0xfe, 0xd0, 0x38, 0x10, | ||
| 1191 | 0x2, 0xfe, 0xd2, 0x38, 0x10, | ||
| 1192 | 0x2, 0xfe, 0xc0, 0x38, 0x10, | ||
| 1193 | 0x2, 0xfe, 0xd0, 0x38, 0x18, | ||
| 1194 | 0x2, 0xfe, 0xd2, 0x38, 0x18, | ||
| 1195 | 0x2, 0xfe, 0xc0, 0x38, 0x18, | ||
| 1196 | 0x22, 0xf, 0x32, | ||
| 1197 | 0x22, 0xf, 0x33, | ||
| 1198 | 0x22, 0xf, 0x31, | ||
| 1199 | 0x11, 0xc3, | ||
| 1200 | 0x11, 0xc2, | ||
| 1201 | 0x11, 0xcb, | ||
| 1202 | 0x11, 0xca, | ||
| 1203 | 0x2, 0xfe, 0xd0, 0x38, 0, | ||
| 1204 | 0x2, 0xfe, 0xd2, 0x38, 0, | ||
| 1205 | 0x2, 0xfe, 0xc0, 0x38, 0, | ||
| 1206 | 0x2, 0xfe, 0xd0, 0x38, 0x8, | ||
| 1207 | 0x2, 0xfe, 0xd2, 0x38, 0x8, | ||
| 1208 | 0x2, 0xfe, 0xc0, 0x38, 0x8, | ||
| 1209 | 0x22, 0xf, 0xaa, | ||
| 1210 | 0x11, 0x9e, | ||
| 1211 | 0x2, 0xfe, 0xd0, 0x38, 0x38, | ||
| 1212 | 0x2, 0xfe, 0xd2, 0x38, 0x38, | ||
| 1213 | 0x2, 0xfe, 0xc0, 0x38, 0x38, | ||
| 1214 | 0x2, 0xfe, 0x18, 0, 0, | ||
| 1215 | 0x2, 0xfe, 0x1a, 0, 0, | ||
| 1216 | 0x1, 0xfe, 0x1c, | ||
| 1217 | 0x2, 0xfe, 0x80, 0x38, 0x18, | ||
| 1218 | 0x2, 0xfe, 0x82, 0x38, 0x18, | ||
| 1219 | 0x1, 0xfe, 0xae, | ||
| 1220 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
| 1221 | 0x2, 0xfe, 0xd0, 0x38, 0x20, | ||
| 1222 | 0x2, 0xfe, 0xd2, 0x38, 0x20, | ||
| 1223 | 0x2, 0xfe, 0xc0, 0x38, 0x20, | ||
| 1224 | 0x2, 0xfe, 0xd0, 0x38, 0x28, | ||
| 1225 | 0x23, 0xf, 0xa4, 0, 0, | ||
| 1226 | 0x23, 0xf, 0xa5, 0, 0, | ||
| 1227 | 0x2, 0xfe, 0xd2, 0x38, 0x28, | ||
| 1228 | 0x2, 0xfe, 0xc0, 0x38, 0x28, | ||
| 1229 | 0x23, 0xf, 0xac, 0, 0, | ||
| 1230 | 0x23, 0xf, 0xad, 0, 0, | ||
| 1231 | 0x33, 0xf, 0x1, 0xc1, | ||
| 1232 | 0x33, 0xf, 0x1, 0xc2, | ||
| 1233 | 0x33, 0xf, 0x1, 0xc3, | ||
| 1234 | 0x33, 0xf, 0x1, 0xc4, | ||
| 1235 | 0x23, 0xf, 0x78, 0, 0, | ||
| 1236 | 0x23, 0xf, 0x79, 0, 0, | ||
| 1237 | 0x23, 0xf, 0x1, 0x38, 0, | ||
| 1238 | 0x33, 0xf, 0x1, 0xc8, | ||
| 1239 | 0x33, 0xf, 0x1, 0xc9, | ||
| 1240 | 0x23, 0xf, 0x1, 0x38, 0x8, | ||
| 1241 | 0x23, 0xf, 0, 0x38, 0, | ||
| 1242 | 0x23, 0xf, 0x1, 0x38, 0x20, | ||
| 1243 | 0x11, 0xf9, | ||
| 1244 | 0x11, 0xfd, | ||
| 1245 | 0x11, 0xfb, | ||
| 1246 | 0x1, 0xfe, 0xaa, | ||
| 1247 | 0x23, 0xf, 0, 0x38, 0x8, | ||
| 1248 | 0x2, 0xfe, 0x28, 0, 0, | ||
| 1249 | 0x2, 0xfe, 0x2a, 0, 0, | ||
| 1250 | 0x1, 0xfe, 0x2c, | ||
| 1251 | 0x2, 0xfe, 0x80, 0x38, 0x28, | ||
| 1252 | 0x2, 0xfe, 0x82, 0x38, 0x28, | ||
| 1253 | 0x2, 0xfe, 0x84, 0, 0, | ||
| 1254 | 0x1, 0xfe, 0xa8, | ||
| 1255 | 0x2, 0xfe, 0xf6, 0x38, 0, | ||
| 1256 | 0x22, 0xf, 0xb, | ||
| 1257 | 0x23, 0xf, 0, 0x38, 0x20, | ||
| 1258 | 0x23, 0xf, 0, 0x38, 0x28, | ||
| 1259 | 0x22, 0xf, 0x9, | ||
| 1260 | 0x23, 0xf, 0xd, 0x38, 0, | ||
| 1261 | 0x23, 0xf, 0xd, 0x38, 0x8, | ||
| 1262 | 0x23, 0xf, 0x18, 0x38, 0, | ||
| 1263 | 0x23, 0xf, 0x18, 0x38, 0x8, | ||
| 1264 | 0x23, 0xf, 0x18, 0x38, 0x10, | ||
| 1265 | 0x23, 0xf, 0x18, 0x38, 0x18, | ||
| 1266 | 0x23, 0xf, 0x1f, 0, 0, | ||
| 1267 | 0x22, 0xf, 0x30, | ||
| 1268 | 0x13, 0xf, 0xfe, 0xc0, 0, 0, | ||
| 1269 | 0x2, 0xfe, 0x86, 0, 0, | ||
| 1270 | 0x1, 0xf8, 0x90, | ||
| 1271 | 0x11, 0xd7, | ||
| 1272 | 0x2, 0xfe, 0x30, 0, 0, | ||
| 1273 | 0x2, 0xfe, 0x32, 0, 0, | ||
| 1274 | 0x1, 0xfe, 0x34, | ||
| 1275 | 0x2, 0xfe, 0x80, 0x38, 0x30, | ||
| 1276 | 0x2, 0xfe, 0x82, 0x38, 0x30, | ||
| 1277 | 0x22, 0xf, 0x77, | ||
| 1278 | 0x34, 0x66, 0xf, 0xdb, 0, 0, | ||
| 1279 | 0x23, 0xf, 0xdb, 0, 0, | ||
| 1280 | 0x34, 0x66, 0xf, 0xdf, 0, 0, | ||
| 1281 | 0x23, 0xf, 0xdf, 0, 0, | ||
| 1282 | 0x34, 0x66, 0xf, 0xf5, 0, 0, | ||
| 1283 | 0x23, 0xf, 0xf5, 0, 0, | ||
| 1284 | 0x34, 0x66, 0xf, 0xeb, 0, 0, | ||
| 1285 | 0x23, 0xf, 0xeb, 0, 0, | ||
| 1286 | 0x34, 0x66, 0xf, 0xef, 0, 0, | ||
| 1287 | 0x23, 0xf, 0xef, 0, 0, | ||
| 1288 | 0x23, 0xf, 0x55, 0, 0, | ||
| 1289 | 0x23, 0xf, 0x54, 0, 0, | ||
| 1290 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
| 1291 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
| 1292 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
| 1293 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
| 1294 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
| 1295 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
| 1296 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
| 1297 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
| 1298 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
| 1299 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
| 1300 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
| 1301 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
| 1302 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
| 1303 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
| 1304 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
| 1305 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
| 1306 | 0x23, 0xf, 0xae, 0x38, 0x8, | ||
| 1307 | 0x23, 0xf, 0xae, 0x38, 0, | ||
| 1308 | 0x23, 0xf, 0xae, 0x38, 0x10, | ||
| 1309 | 0x23, 0xf, 0xae, 0x38, 0x18, | ||
| 1310 | 0x34, 0xf2, 0xf, 0x10, 0, 0, | ||
| 1311 | 0x34, 0xf3, 0xf, 0x10, 0, 0, | ||
| 1312 | 0x34, 0x66, 0xf, 0x10, 0, 0, | ||
| 1313 | 0x23, 0xf, 0x10, 0, 0, | ||
| 1314 | 0x34, 0xf2, 0xf, 0x11, 0, 0, | ||
| 1315 | 0x34, 0xf3, 0xf, 0x11, 0, 0, | ||
| 1316 | 0x34, 0x66, 0xf, 0x11, 0, 0, | ||
| 1317 | 0x23, 0xf, 0x11, 0, 0, | ||
| 1318 | 0x34, 0xf2, 0xf, 0x12, 0, 0, | ||
| 1319 | 0x34, 0xf3, 0xf, 0x12, 0, 0, | ||
| 1320 | 0x34, 0x66, 0xf, 0x12, 0, 0, | ||
| 1321 | 0x23, 0xf, 0x12, 0xc0, 0xc0, | ||
| 1322 | 0x23, 0xf, 0x12, 0, 0, | ||
| 1323 | 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0, | ||
| 1324 | 0x23, 0xf, 0x13, 0xc0, 0xc0, | ||
| 1325 | 0x34, 0x66, 0xf, 0x13, 0, 0, | ||
| 1326 | 0x23, 0xf, 0x13, 0, 0, | ||
| 1327 | 0x34, 0x66, 0xf, 0x14, 0, 0, | ||
| 1328 | 0x23, 0xf, 0x14, 0, 0, | ||
| 1329 | 0x34, 0x66, 0xf, 0x15, 0, 0, | ||
| 1330 | 0x23, 0xf, 0x15, 0, 0, | ||
| 1331 | 0x34, 0xf3, 0xf, 0x16, 0, 0, | ||
| 1332 | 0x34, 0x66, 0xf, 0x16, 0, 0, | ||
| 1333 | 0x23, 0xf, 0x16, 0xc0, 0xc0, | ||
| 1334 | 0x23, 0xf, 0x16, 0, 0, | ||
| 1335 | 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0, | ||
| 1336 | 0x23, 0xf, 0x17, 0xc0, 0xc0, | ||
| 1337 | 0x34, 0x66, 0xf, 0x17, 0, 0, | ||
| 1338 | 0x23, 0xf, 0x17, 0, 0, | ||
| 1339 | 0x34, 0x66, 0xf, 0x28, 0, 0, | ||
| 1340 | 0x23, 0xf, 0x28, 0, 0, | ||
| 1341 | 0x34, 0x66, 0xf, 0x29, 0, 0, | ||
| 1342 | 0x23, 0xf, 0x29, 0, 0, | ||
| 1343 | 0x34, 0xf2, 0xf, 0x2a, 0, 0, | ||
| 1344 | 0x34, 0xf3, 0xf, 0x2a, 0, 0, | ||
| 1345 | 0x34, 0x66, 0xf, 0x2a, 0, 0, | ||
| 1346 | 0x23, 0xf, 0x2a, 0, 0, | ||
| 1347 | 0x34, 0x66, 0xf, 0x2b, 0, 0, | ||
| 1348 | 0x23, 0xf, 0x2b, 0, 0, | ||
| 1349 | 0x34, 0xf2, 0xf, 0x2c, 0, 0, | ||
| 1350 | 0x34, 0xf3, 0xf, 0x2c, 0, 0, | ||
| 1351 | 0x34, 0x66, 0xf, 0x2c, 0, 0, | ||
| 1352 | 0x23, 0xf, 0x2c, 0, 0, | ||
| 1353 | 0x34, 0x66, 0xf, 0x2d, 0, 0, | ||
| 1354 | 0x34, 0xf2, 0xf, 0x2d, 0, 0, | ||
| 1355 | 0x34, 0xf3, 0xf, 0x2d, 0, 0, | ||
| 1356 | 0x23, 0xf, 0x2d, 0, 0, | ||
| 1357 | 0x34, 0x66, 0xf, 0x2e, 0, 0, | ||
| 1358 | 0x23, 0xf, 0x2e, 0, 0, | ||
| 1359 | 0x34, 0x66, 0xf, 0x2f, 0, 0, | ||
| 1360 | 0x23, 0xf, 0x2f, 0, 0, | ||
| 1361 | 0x22, 0xf, 0x37, | ||
| 1362 | 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0, | ||
| 1363 | 0x23, 0xf, 0x50, 0xc0, 0xc0, | ||
| 1364 | 0x34, 0x66, 0xf, 0x51, 0, 0, | ||
| 1365 | 0x34, 0xf2, 0xf, 0x51, 0, 0, | ||
| 1366 | 0x34, 0xf3, 0xf, 0x51, 0, 0, | ||
| 1367 | 0x23, 0xf, 0x51, 0, 0, | ||
| 1368 | 0x34, 0xf3, 0xf, 0x52, 0, 0, | ||
| 1369 | 0x23, 0xf, 0x52, 0, 0, | ||
| 1370 | 0x34, 0xf3, 0xf, 0x53, 0, 0, | ||
| 1371 | 0x23, 0xf, 0x53, 0, 0, | ||
| 1372 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
| 1373 | 0x23, 0xf, 0x54, 0, 0, | ||
| 1374 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
| 1375 | 0x23, 0xf, 0x55, 0, 0, | ||
| 1376 | 0x34, 0x66, 0xf, 0x56, 0, 0, | ||
| 1377 | 0x23, 0xf, 0x56, 0, 0, | ||
| 1378 | 0x34, 0x66, 0xf, 0x57, 0, 0, | ||
| 1379 | 0x23, 0xf, 0x57, 0, 0, | ||
| 1380 | 0x34, 0xf2, 0xf, 0x58, 0, 0, | ||
| 1381 | 0x34, 0xf3, 0xf, 0x58, 0, 0, | ||
| 1382 | 0x34, 0x66, 0xf, 0x58, 0, 0, | ||
| 1383 | 0x23, 0xf, 0x58, 0, 0, | ||
| 1384 | 0x34, 0xf2, 0xf, 0x59, 0, 0, | ||
| 1385 | 0x34, 0xf3, 0xf, 0x59, 0, 0, | ||
| 1386 | 0x34, 0x66, 0xf, 0x59, 0, 0, | ||
| 1387 | 0x23, 0xf, 0x59, 0, 0, | ||
| 1388 | 0x34, 0xf2, 0xf, 0x5a, 0, 0, | ||
| 1389 | 0x34, 0xf3, 0xf, 0x5a, 0, 0, | ||
| 1390 | 0x34, 0x66, 0xf, 0x5a, 0, 0, | ||
| 1391 | 0x23, 0xf, 0x5a, 0, 0, | ||
| 1392 | 0x34, 0x66, 0xf, 0x5b, 0, 0, | ||
| 1393 | 0x34, 0xf3, 0xf, 0x5b, 0, 0, | ||
| 1394 | 0x23, 0xf, 0x5b, 0, 0, | ||
| 1395 | 0x34, 0xf2, 0xf, 0x5c, 0, 0, | ||
| 1396 | 0x34, 0xf3, 0xf, 0x5c, 0, 0, | ||
| 1397 | 0x34, 0x66, 0xf, 0x5c, 0, 0, | ||
| 1398 | 0x23, 0xf, 0x5c, 0, 0, | ||
| 1399 | 0x34, 0xf2, 0xf, 0x5d, 0, 0, | ||
| 1400 | 0x34, 0xf3, 0xf, 0x5d, 0, 0, | ||
| 1401 | 0x34, 0x66, 0xf, 0x5d, 0, 0, | ||
| 1402 | 0x23, 0xf, 0x5d, 0, 0, | ||
| 1403 | 0x34, 0xf2, 0xf, 0x5e, 0, 0, | ||
| 1404 | 0x34, 0xf3, 0xf, 0x5e, 0, 0, | ||
| 1405 | 0x34, 0x66, 0xf, 0x5e, 0, 0, | ||
| 1406 | 0x23, 0xf, 0x5e, 0, 0, | ||
| 1407 | 0x34, 0xf2, 0xf, 0x5f, 0, 0, | ||
| 1408 | 0x34, 0xf3, 0xf, 0x5f, 0, 0, | ||
| 1409 | 0x34, 0x66, 0xf, 0x5f, 0, 0, | ||
| 1410 | 0x23, 0xf, 0x5f, 0, 0, | ||
| 1411 | 0x34, 0x66, 0xf, 0x60, 0, 0, | ||
| 1412 | 0x23, 0xf, 0x60, 0, 0, | ||
| 1413 | 0x34, 0x66, 0xf, 0x61, 0, 0, | ||
| 1414 | 0x23, 0xf, 0x61, 0, 0, | ||
| 1415 | 0x34, 0x66, 0xf, 0x62, 0, 0, | ||
| 1416 | 0x23, 0xf, 0x62, 0, 0, | ||
| 1417 | 0x34, 0x66, 0xf, 0x63, 0, 0, | ||
| 1418 | 0x23, 0xf, 0x63, 0, 0, | ||
| 1419 | 0x34, 0x66, 0xf, 0x64, 0, 0, | ||
| 1420 | 0x23, 0xf, 0x64, 0, 0, | ||
| 1421 | 0x34, 0x66, 0xf, 0x65, 0, 0, | ||
| 1422 | 0x23, 0xf, 0x65, 0, 0, | ||
| 1423 | 0x34, 0x66, 0xf, 0x66, 0, 0, | ||
| 1424 | 0x23, 0xf, 0x66, 0, 0, | ||
| 1425 | 0x34, 0x66, 0xf, 0x67, 0, 0, | ||
| 1426 | 0x23, 0xf, 0x67, 0, 0, | ||
| 1427 | 0x34, 0x66, 0xf, 0x68, 0, 0, | ||
| 1428 | 0x23, 0xf, 0x68, 0, 0, | ||
| 1429 | 0x34, 0x66, 0xf, 0x69, 0, 0, | ||
| 1430 | 0x23, 0xf, 0x69, 0, 0, | ||
| 1431 | 0x34, 0x66, 0xf, 0x6a, 0, 0, | ||
| 1432 | 0x23, 0xf, 0x6a, 0, 0, | ||
| 1433 | 0x34, 0x66, 0xf, 0x6b, 0, 0, | ||
| 1434 | 0x23, 0xf, 0x6b, 0, 0, | ||
| 1435 | 0x34, 0x66, 0xf, 0x6c, 0, 0, | ||
| 1436 | 0x34, 0x66, 0xf, 0x6d, 0, 0, | ||
| 1437 | 0x34, 0x66, 0xf, 0x6e, 0, 0, | ||
| 1438 | 0x23, 0xf, 0x6e, 0, 0, | ||
| 1439 | 0x34, 0x66, 0xf, 0x6f, 0, 0, | ||
| 1440 | 0x34, 0xf3, 0xf, 0x6f, 0, 0, | ||
| 1441 | 0x23, 0xf, 0x6f, 0, 0, | ||
| 1442 | 0x34, 0x66, 0xf, 0x70, 0, 0, | ||
| 1443 | 0x34, 0xf2, 0xf, 0x70, 0, 0, | ||
| 1444 | 0x34, 0xf3, 0xf, 0x70, 0, 0, | ||
| 1445 | 0x23, 0xf, 0x70, 0, 0, | ||
| 1446 | 0x34, 0x66, 0xf, 0x74, 0, 0, | ||
| 1447 | 0x23, 0xf, 0x74, 0, 0, | ||
| 1448 | 0x34, 0x66, 0xf, 0x75, 0, 0, | ||
| 1449 | 0x23, 0xf, 0x75, 0, 0, | ||
| 1450 | 0x34, 0x66, 0xf, 0x76, 0, 0, | ||
| 1451 | 0x23, 0xf, 0x76, 0, 0, | ||
| 1452 | 0x34, 0x66, 0xf, 0x7c, 0, 0, | ||
| 1453 | 0x34, 0xf2, 0xf, 0x7c, 0, 0, | ||
| 1454 | 0x34, 0x66, 0xf, 0x7d, 0, 0, | ||
| 1455 | 0x34, 0xf2, 0xf, 0x7d, 0, 0, | ||
| 1456 | 0x34, 0x66, 0xf, 0x7e, 0, 0, | ||
| 1457 | 0x34, 0xf3, 0xf, 0x7e, 0, 0, | ||
| 1458 | 0x23, 0xf, 0x7e, 0, 0, | ||
| 1459 | 0x34, 0x66, 0xf, 0x7f, 0, 0, | ||
| 1460 | 0x34, 0xf3, 0xf, 0x7f, 0, 0, | ||
| 1461 | 0x23, 0xf, 0x7f, 0, 0, | ||
| 1462 | 0x23, 0xf, 0xc3, 0, 0, | ||
| 1463 | 0x34, 0x66, 0xf, 0xc4, 0, 0, | ||
| 1464 | 0x23, 0xf, 0xc4, 0, 0, | ||
| 1465 | 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0, | ||
| 1466 | 0x23, 0xf, 0xc5, 0xc0, 0xc0, | ||
| 1467 | 0x34, 0x66, 0xf, 0xc6, 0, 0, | ||
| 1468 | 0x23, 0xf, 0xc6, 0, 0, | ||
| 1469 | 0x34, 0x66, 0xf, 0xd1, 0, 0, | ||
| 1470 | 0x23, 0xf, 0xd1, 0, 0, | ||
| 1471 | 0x34, 0x66, 0xf, 0xd2, 0, 0, | ||
| 1472 | 0x23, 0xf, 0xd2, 0, 0, | ||
| 1473 | 0x34, 0x66, 0xf, 0xd3, 0, 0, | ||
| 1474 | 0x23, 0xf, 0xd3, 0, 0, | ||
| 1475 | 0x34, 0x66, 0xf, 0xd4, 0, 0, | ||
| 1476 | 0x23, 0xf, 0xd4, 0, 0, | ||
| 1477 | 0x34, 0x66, 0xf, 0xd5, 0, 0, | ||
| 1478 | 0x23, 0xf, 0xd5, 0, 0, | ||
| 1479 | 0x34, 0x66, 0xf, 0xd6, 0, 0, | ||
| 1480 | 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0, | ||
| 1481 | 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0, | ||
| 1482 | 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0, | ||
| 1483 | 0x23, 0xf, 0xd7, 0xc0, 0xc0, | ||
| 1484 | 0x34, 0x66, 0xf, 0xd8, 0, 0, | ||
| 1485 | 0x23, 0xf, 0xd8, 0, 0, | ||
| 1486 | 0x34, 0x66, 0xf, 0xd9, 0, 0, | ||
| 1487 | 0x23, 0xf, 0xd9, 0, 0, | ||
| 1488 | 0x34, 0x66, 0xf, 0xda, 0, 0, | ||
| 1489 | 0x23, 0xf, 0xda, 0, 0, | ||
| 1490 | 0x34, 0x66, 0xf, 0xdc, 0, 0, | ||
| 1491 | 0x23, 0xf, 0xdc, 0, 0, | ||
| 1492 | 0x34, 0x66, 0xf, 0xdd, 0, 0, | ||
| 1493 | 0x23, 0xf, 0xdd, 0, 0, | ||
| 1494 | 0x34, 0x66, 0xf, 0xde, 0, 0, | ||
| 1495 | 0x23, 0xf, 0xde, 0, 0, | ||
| 1496 | 0x34, 0x66, 0xf, 0xe0, 0, 0, | ||
| 1497 | 0x23, 0xf, 0xe0, 0, 0, | ||
| 1498 | 0x34, 0x66, 0xf, 0xe1, 0, 0, | ||
| 1499 | 0x23, 0xf, 0xe1, 0, 0, | ||
| 1500 | 0x34, 0x66, 0xf, 0xe2, 0, 0, | ||
| 1501 | 0x23, 0xf, 0xe2, 0, 0, | ||
| 1502 | 0x34, 0x66, 0xf, 0xe3, 0, 0, | ||
| 1503 | 0x23, 0xf, 0xe3, 0, 0, | ||
| 1504 | 0x34, 0x66, 0xf, 0xe4, 0, 0, | ||
| 1505 | 0x23, 0xf, 0xe4, 0, 0, | ||
| 1506 | 0x34, 0x66, 0xf, 0xe5, 0, 0, | ||
| 1507 | 0x23, 0xf, 0xe5, 0, 0, | ||
| 1508 | 0x34, 0x66, 0xf, 0xe7, 0, 0, | ||
| 1509 | 0x23, 0xf, 0xe7, 0, 0, | ||
| 1510 | 0x34, 0x66, 0xf, 0xe8, 0, 0, | ||
| 1511 | 0x23, 0xf, 0xe8, 0, 0, | ||
| 1512 | 0x34, 0x66, 0xf, 0xe9, 0, 0, | ||
| 1513 | 0x23, 0xf, 0xe9, 0, 0, | ||
| 1514 | 0x34, 0x66, 0xf, 0xea, 0, 0, | ||
| 1515 | 0x23, 0xf, 0xea, 0, 0, | ||
| 1516 | 0x34, 0x66, 0xf, 0xec, 0, 0, | ||
| 1517 | 0x23, 0xf, 0xec, 0, 0, | ||
| 1518 | 0x34, 0x66, 0xf, 0xed, 0, 0, | ||
| 1519 | 0x23, 0xf, 0xed, 0, 0, | ||
| 1520 | 0x34, 0x66, 0xf, 0xee, 0, 0, | ||
| 1521 | 0x23, 0xf, 0xee, 0, 0, | ||
| 1522 | 0x34, 0xf2, 0xf, 0xf0, 0, 0, | ||
| 1523 | 0x34, 0x66, 0xf, 0xf1, 0, 0, | ||
| 1524 | 0x23, 0xf, 0xf1, 0, 0, | ||
| 1525 | 0x34, 0x66, 0xf, 0xf2, 0, 0, | ||
| 1526 | 0x23, 0xf, 0xf2, 0, 0, | ||
| 1527 | 0x34, 0x66, 0xf, 0xf3, 0, 0, | ||
| 1528 | 0x23, 0xf, 0xf3, 0, 0, | ||
| 1529 | 0x34, 0x66, 0xf, 0xf4, 0, 0, | ||
| 1530 | 0x23, 0xf, 0xf4, 0, 0, | ||
| 1531 | 0x34, 0x66, 0xf, 0xf6, 0, 0, | ||
| 1532 | 0x23, 0xf, 0xf6, 0, 0, | ||
| 1533 | 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0, | ||
| 1534 | 0x23, 0xf, 0xf7, 0xc0, 0xc0, | ||
| 1535 | 0x34, 0x66, 0xf, 0xf8, 0, 0, | ||
| 1536 | 0x23, 0xf, 0xf8, 0, 0, | ||
| 1537 | 0x34, 0x66, 0xf, 0xf9, 0, 0, | ||
| 1538 | 0x23, 0xf, 0xf9, 0, 0, | ||
| 1539 | 0x34, 0x66, 0xf, 0xfa, 0, 0, | ||
| 1540 | 0x23, 0xf, 0xfa, 0, 0, | ||
| 1541 | 0x34, 0x66, 0xf, 0xfb, 0, 0, | ||
| 1542 | 0x23, 0xf, 0xfb, 0, 0, | ||
| 1543 | 0x34, 0x66, 0xf, 0xfc, 0, 0, | ||
| 1544 | 0x23, 0xf, 0xfc, 0, 0, | ||
| 1545 | 0x34, 0x66, 0xf, 0xfd, 0, 0, | ||
| 1546 | 0x23, 0xf, 0xfd, 0, 0, | ||
| 1547 | 0x34, 0x66, 0xf, 0xfe, 0, 0, | ||
| 1548 | 0x23, 0xf, 0xfe, 0, 0, | ||
| 1549 | 0x45, 0x66, 0xf, 0x38, 0, 0, 0, | ||
| 1550 | 0x34, 0xf, 0x38, 0, 0, 0, | ||
| 1551 | 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0, | ||
| 1552 | 0x34, 0xf, 0x38, 0x1, 0, 0, | ||
| 1553 | 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0, | ||
| 1554 | 0x34, 0xf, 0x38, 0x2, 0, 0, | ||
| 1555 | 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0, | ||
| 1556 | 0x34, 0xf, 0x38, 0x3, 0, 0, | ||
| 1557 | 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0, | ||
| 1558 | 0x34, 0xf, 0x38, 0x4, 0, 0, | ||
| 1559 | 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0, | ||
| 1560 | 0x34, 0xf, 0x38, 0x5, 0, 0, | ||
| 1561 | 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0, | ||
| 1562 | 0x34, 0xf, 0x38, 0x6, 0, 0, | ||
| 1563 | 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0, | ||
| 1564 | 0x34, 0xf, 0x38, 0x7, 0, 0, | ||
| 1565 | 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0, | ||
| 1566 | 0x34, 0xf, 0x38, 0x8, 0, 0, | ||
| 1567 | 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0, | ||
| 1568 | 0x34, 0xf, 0x38, 0x9, 0, 0, | ||
| 1569 | 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0, | ||
| 1570 | 0x34, 0xf, 0x38, 0xa, 0, 0, | ||
| 1571 | 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0, | ||
| 1572 | 0x34, 0xf, 0x38, 0xb, 0, 0, | ||
| 1573 | 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0, | ||
| 1574 | 0x34, 0xf, 0x38, 0x1c, 0, 0, | ||
| 1575 | 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0, | ||
| 1576 | 0x34, 0xf, 0x38, 0x1d, 0, 0, | ||
| 1577 | 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0, | ||
| 1578 | 0x34, 0xf, 0x38, 0x1e, 0, 0, | ||
| 1579 | 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0, | ||
| 1580 | 0x34, 0xf, 0x3a, 0xf, 0, 0, | ||
| 1581 | 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30, | ||
| 1582 | 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30, | ||
| 1583 | 0x23, 0xf, 0xc7, 0x38, 0x30, | ||
| 1584 | 0x23, 0xf, 0xc7, 0x38, 0x38, | ||
| 1585 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0, | ||
| 1586 | 0x23, 0xf, 0x71, 0xf8, 0xd0, | ||
| 1587 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0, | ||
| 1588 | 0x23, 0xf, 0x71, 0xf8, 0xe0, | ||
| 1589 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0, | ||
| 1590 | 0x23, 0xf, 0x71, 0xf8, 0xf0, | ||
| 1591 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0, | ||
| 1592 | 0x23, 0xf, 0x72, 0xf8, 0xd0, | ||
| 1593 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0, | ||
| 1594 | 0x23, 0xf, 0x72, 0xf8, 0xe0, | ||
| 1595 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0, | ||
| 1596 | 0x23, 0xf, 0x72, 0xf8, 0xf0, | ||
| 1597 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0, | ||
| 1598 | 0x23, 0xf, 0x73, 0xf8, 0xd0, | ||
| 1599 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8, | ||
| 1600 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0, | ||
| 1601 | 0x23, 0xf, 0x73, 0xf8, 0xf0, | ||
| 1602 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8, | ||
| 1603 | 0x33, 0xf, 0xae, 0xe8, | ||
| 1604 | 0x33, 0xf, 0xae, 0xf0, | ||
| 1605 | 0x33, 0xf, 0xae, 0xf8, | ||
| 1606 | 0x23, 0xf, 0xae, 0x38, 0x38, | ||
| 1607 | 0x23, 0xf, 0xf, 0, 0, | ||
| 1608 | 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0, | ||
| 1609 | 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0, | ||
| 1610 | 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0, | ||
| 1611 | 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0, | ||
| 1612 | 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0, | ||
| 1613 | 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0, | ||
| 1614 | 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0, | ||
| 1615 | 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0, | ||
| 1616 | 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0, | ||
| 1617 | 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0, | ||
| 1618 | 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0, | ||
| 1619 | 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0, | ||
| 1620 | 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0, | ||
| 1621 | 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0, | ||
| 1622 | 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0, | ||
| 1623 | 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0, | ||
| 1624 | 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0, | ||
| 1625 | 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0, | ||
| 1626 | 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0, | ||
| 1627 | 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0, | ||
| 1628 | 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0, | ||
| 1629 | 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0, | ||
| 1630 | 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0, | ||
| 1631 | 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0, | ||
| 1632 | 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0, | ||
| 1633 | 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0, | ||
| 1634 | 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0, | ||
| 1635 | 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0, | ||
| 1636 | 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0, | ||
| 1637 | 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0, | ||
| 1638 | 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0, | ||
| 1639 | 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0, | ||
| 1640 | 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0, | ||
| 1641 | 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0, | ||
| 1642 | 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0, | ||
| 1643 | 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0, | ||
| 1644 | 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0, | ||
| 1645 | 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0, | ||
| 1646 | 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0, | ||
| 1647 | 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0, | ||
| 1648 | 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0, | ||
| 1649 | 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0, | ||
| 1650 | 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0, | ||
| 1651 | 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0, | ||
| 1652 | 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0, | ||
| 1653 | 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0, | ||
| 1654 | 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0, | ||
| 1655 | 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0, | ||
| 1656 | 0x1, 0xe7, 0x7, | ||
| 1657 | }; | ||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.146/backends/m68k_init.c | ||
| 4 | =================================================================== | ||
| 5 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 6 | +++ elfutils-0.146/backends/m68k_init.c 2010-04-24 10:11:38.000000000 +0000 | ||
| 7 | @@ -0,0 +1,49 @@ | ||
| 8 | +/* Initialization of m68k specific backend library. | ||
| 9 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
| 10 | + | ||
| 11 | + This software is free software; you can redistribute it and/or modify | ||
| 12 | + it under the terms of the GNU General Public License as published by the | ||
| 13 | + Free Software Foundation; version 2 of the License. | ||
| 14 | + | ||
| 15 | + This softare is distributed in the hope that it will be useful, but | ||
| 16 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 18 | + General Public License for more details. | ||
| 19 | + | ||
| 20 | + You should have received a copy of the GNU General Public License along | ||
| 21 | + with this software; if not, write to the Free Software Foundation, | ||
| 22 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 23 | + | ||
| 24 | +*/ | ||
| 25 | + | ||
| 26 | +#ifdef HAVE_CONFIG_H | ||
| 27 | +# include <config.h> | ||
| 28 | +#endif | ||
| 29 | + | ||
| 30 | +#define BACKEND m68k_ | ||
| 31 | +#define RELOC_PREFIX R_68K_ | ||
| 32 | +#include "libebl_CPU.h" | ||
| 33 | + | ||
| 34 | +/* This defines the common reloc hooks based on m68k_reloc.def. */ | ||
| 35 | +#include "common-reloc.c" | ||
| 36 | + | ||
| 37 | + | ||
| 38 | +const char * | ||
| 39 | +m68k_init (elf, machine, eh, ehlen) | ||
| 40 | + Elf *elf __attribute__ ((unused)); | ||
| 41 | + GElf_Half machine __attribute__ ((unused)); | ||
| 42 | + Ebl *eh; | ||
| 43 | + size_t ehlen; | ||
| 44 | +{ | ||
| 45 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
| 46 | + if (ehlen < sizeof (Ebl)) | ||
| 47 | + return NULL; | ||
| 48 | + | ||
| 49 | + /* We handle it. */ | ||
| 50 | + eh->name = "m68k"; | ||
| 51 | + m68k_init_reloc (eh); | ||
| 52 | + HOOK (eh, reloc_simple_type); | ||
| 53 | + HOOK (eh, register_info); | ||
| 54 | + | ||
| 55 | + return MODVERSION; | ||
| 56 | +} | ||
| 57 | Index: elfutils-0.146/backends/m68k_regs.c | ||
| 58 | =================================================================== | ||
| 59 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 60 | +++ elfutils-0.146/backends/m68k_regs.c 2010-04-24 10:11:38.000000000 +0000 | ||
| 61 | @@ -0,0 +1,106 @@ | ||
| 62 | +/* Register names and numbers for m68k DWARF. | ||
| 63 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
| 64 | + | ||
| 65 | + This software is free software; you can redistribute it and/or modify | ||
| 66 | + it under the terms of the GNU General Public License as published by the | ||
| 67 | + Free Software Foundation; version 2 of the License. | ||
| 68 | + | ||
| 69 | + This software is distributed in the hope that it will be useful, but | ||
| 70 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 71 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 72 | + General Public License for more details. | ||
| 73 | + | ||
| 74 | + You should have received a copy of the GNU General Public License along | ||
| 75 | + with this software; if not, write to the Free Software Foundation, | ||
| 76 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 77 | + | ||
| 78 | + */ | ||
| 79 | + | ||
| 80 | +#ifdef HAVE_CONFIG_H | ||
| 81 | +# include <config.h> | ||
| 82 | +#endif | ||
| 83 | + | ||
| 84 | +#include <string.h> | ||
| 85 | +#include <dwarf.h> | ||
| 86 | + | ||
| 87 | +#define BACKEND m68k_ | ||
| 88 | +#include "libebl_CPU.h" | ||
| 89 | + | ||
| 90 | +ssize_t | ||
| 91 | +m68k_register_info (Ebl *ebl __attribute__ ((unused)), | ||
| 92 | + int regno, char *name, size_t namelen, | ||
| 93 | + const char **prefix, const char **setname, | ||
| 94 | + int *bits, int *type) | ||
| 95 | +{ | ||
| 96 | + if (name == NULL) | ||
| 97 | + return 25; | ||
| 98 | + | ||
| 99 | + if (regno < 0 || regno > 24 || namelen < 5) | ||
| 100 | + return -1; | ||
| 101 | + | ||
| 102 | + *prefix = "%"; | ||
| 103 | + *bits = 32; | ||
| 104 | + *type = (regno < 8 ? DW_ATE_signed | ||
| 105 | + : regno < 16 ? DW_ATE_address : DW_ATE_float); | ||
| 106 | + | ||
| 107 | + if (regno < 8) | ||
| 108 | + { | ||
| 109 | + *setname = "integer"; | ||
| 110 | + } | ||
| 111 | + else if (regno < 16) | ||
| 112 | + { | ||
| 113 | + *setname = "address"; | ||
| 114 | + } | ||
| 115 | + else if (regno < 24) | ||
| 116 | + { | ||
| 117 | + *setname = "FPU"; | ||
| 118 | + } | ||
| 119 | + else | ||
| 120 | + { | ||
| 121 | + *setname = "address"; | ||
| 122 | + *type = DW_ATE_address; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + switch (regno) | ||
| 126 | + { | ||
| 127 | + case 0 ... 7: | ||
| 128 | + name[0] = 'd'; | ||
| 129 | + name[1] = regno + '0'; | ||
| 130 | + namelen = 2; | ||
| 131 | + break; | ||
| 132 | + | ||
| 133 | + case 8 ... 13: | ||
| 134 | + name[0] = 'a'; | ||
| 135 | + name[1] = regno - 8 + '0'; | ||
| 136 | + namelen = 2; | ||
| 137 | + break; | ||
| 138 | + | ||
| 139 | + case 14: | ||
| 140 | + name[0] = 'f'; | ||
| 141 | + name[1] = 'p'; | ||
| 142 | + namelen = 2; | ||
| 143 | + break; | ||
| 144 | + | ||
| 145 | + case 15: | ||
| 146 | + name[0] = 's'; | ||
| 147 | + name[1] = 'p'; | ||
| 148 | + namelen = 2; | ||
| 149 | + break; | ||
| 150 | + | ||
| 151 | + case 16 ... 23: | ||
| 152 | + name[0] = 'f'; | ||
| 153 | + name[1] = 'p'; | ||
| 154 | + name[2] = regno - 16 + '0'; | ||
| 155 | + namelen = 3; | ||
| 156 | + break; | ||
| 157 | + | ||
| 158 | + case 24: | ||
| 159 | + name[0] = 'p'; | ||
| 160 | + name[1] = 'c'; | ||
| 161 | + namelen = 2; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + name[namelen++] = '\0'; | ||
| 165 | + return namelen; | ||
| 166 | +} | ||
| 167 | + | ||
| 168 | Index: elfutils-0.146/backends/m68k_reloc.def | ||
| 169 | =================================================================== | ||
| 170 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 171 | +++ elfutils-0.146/backends/m68k_reloc.def 2010-04-24 10:11:38.000000000 +0000 | ||
| 172 | @@ -0,0 +1,45 @@ | ||
| 173 | +/* List the relocation types for m68k. -*- C -*- | ||
| 174 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
| 175 | + | ||
| 176 | + This software is free software; you can redistribute it and/or modify | ||
| 177 | + it under the terms of the GNU General Public License as published by the | ||
| 178 | + Free Software Foundation; version 2 of the License. | ||
| 179 | + | ||
| 180 | + This software is distributed in the hope that it will be useful, but | ||
| 181 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 182 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 183 | + General Public License for more details. | ||
| 184 | + | ||
| 185 | + You should have received a copy of the GNU General Public License along | ||
| 186 | + with this software; if not, write to the Free Software Foundation, | ||
| 187 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 188 | +*/ | ||
| 189 | + | ||
| 190 | +/* NAME, REL|EXEC|DYN */ | ||
| 191 | + | ||
| 192 | +RELOC_TYPE (NONE, 0) | ||
| 193 | +RELOC_TYPE (32, REL|EXEC|DYN) | ||
| 194 | +RELOC_TYPE (16, REL) | ||
| 195 | +RELOC_TYPE (8, REL) | ||
| 196 | +RELOC_TYPE (PC32, REL|EXEC|DYN) | ||
| 197 | +RELOC_TYPE (PC16, REL) | ||
| 198 | +RELOC_TYPE (PC8, REL) | ||
| 199 | +RELOC_TYPE (GOT32, REL) | ||
| 200 | +RELOC_TYPE (GOT16, REL) | ||
| 201 | +RELOC_TYPE (GOT8, REL) | ||
| 202 | +RELOC_TYPE (GOT32O, REL) | ||
| 203 | +RELOC_TYPE (GOT16O, REL) | ||
| 204 | +RELOC_TYPE (GOT8O, REL) | ||
| 205 | +RELOC_TYPE (PLT32, REL) | ||
| 206 | +RELOC_TYPE (PLT16, REL) | ||
| 207 | +RELOC_TYPE (PLT8, REL) | ||
| 208 | +RELOC_TYPE (PLT32O, REL) | ||
| 209 | +RELOC_TYPE (PLT16O, REL) | ||
| 210 | +RELOC_TYPE (PLT8O, REL) | ||
| 211 | +RELOC_TYPE (COPY, EXEC) | ||
| 212 | +RELOC_TYPE (GLOB_DAT, EXEC|DYN) | ||
| 213 | +RELOC_TYPE (JMP_SLOT, EXEC|DYN) | ||
| 214 | +RELOC_TYPE (RELATIVE, EXEC|DYN) | ||
| 215 | +RELOC_TYPE (GNU_VTINHERIT, REL) | ||
| 216 | +RELOC_TYPE (GNU_VTENTRY, REL) | ||
| 217 | + | ||
| 218 | Index: elfutils-0.146/libelf/elf.h | ||
| 219 | =================================================================== | ||
| 220 | --- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000 | ||
| 221 | +++ elfutils-0.146/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000 | ||
| 222 | @@ -1125,6 +1125,9 @@ | ||
| 223 | #define R_68K_GLOB_DAT 20 /* Create GOT entry */ | ||
| 224 | #define R_68K_JMP_SLOT 21 /* Create PLT entry */ | ||
| 225 | #define R_68K_RELATIVE 22 /* Adjust by program base */ | ||
| 226 | +/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */ | ||
| 227 | +#define R_68K_GNU_VTINHERIT 23 | ||
| 228 | +#define R_68K_GNU_VTENTRY 24 | ||
| 229 | #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */ | ||
| 230 | #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */ | ||
| 231 | #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */ | ||
| 232 | Index: elfutils-0.146/backends/Makefile.am | ||
| 233 | =================================================================== | ||
| 234 | --- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:11:23.000000000 +0000 | ||
| 235 | +++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:11:38.000000000 +0000 | ||
| 236 | @@ -29,11 +29,12 @@ | ||
| 237 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
| 238 | |||
| 239 | |||
| 240 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips | ||
| 241 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k | ||
| 242 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
| 243 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
| 244 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
| 245 | - libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a | ||
| 246 | + libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \ | ||
| 247 | + libebl_m68k_pic.a | ||
| 248 | noinst_LIBRARIES = $(libebl_pic) | ||
| 249 | noinst_DATA = $(libebl_pic:_pic.a=.so) | ||
| 250 | |||
| 251 | @@ -103,6 +104,10 @@ | ||
| 252 | libebl_mips_pic_a_SOURCES = $(mips_SRCS) | ||
| 253 | am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) | ||
| 254 | |||
| 255 | +m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c | ||
| 256 | +libebl_m68k_pic_a_SOURCES = $(m68k_SRCS) | ||
| 257 | +am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os) | ||
| 258 | + | ||
| 259 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
| 260 | @rm -f $(@:.so=.map) | ||
| 261 | echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ | ||
| 262 | Index: elfutils-0.146/backends/m68k_symbol.c | ||
| 263 | =================================================================== | ||
| 264 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 265 | +++ elfutils-0.146/backends/m68k_symbol.c 2010-04-24 10:11:38.000000000 +0000 | ||
| 266 | @@ -0,0 +1,43 @@ | ||
| 267 | +/* m68k specific symbolic name handling. | ||
| 268 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
| 269 | + | ||
| 270 | + This software is free software; you can redistribute it and/or modify | ||
| 271 | + it under the terms of the GNU General Public License as published by the | ||
| 272 | + Free Software Foundation; version 2 of the License. | ||
| 273 | + | ||
| 274 | + This software distributed in the hope that it will be useful, but | ||
| 275 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 276 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 277 | + General Public License for more details. | ||
| 278 | + | ||
| 279 | + You should have received a copy of the GNU General Public License along | ||
| 280 | + with this software; if not, write to the Free Software Foundation, | ||
| 281 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 282 | +*/ | ||
| 283 | + | ||
| 284 | +#ifdef HAVE_CONFIG_H | ||
| 285 | +# include <config.h> | ||
| 286 | +#endif | ||
| 287 | + | ||
| 288 | +#include <elf.h> | ||
| 289 | +#include <stddef.h> | ||
| 290 | + | ||
| 291 | +#define BACKEND m68k_ | ||
| 292 | +#include "libebl_CPU.h" | ||
| 293 | + | ||
| 294 | +/* Check for the simple reloc types. */ | ||
| 295 | +Elf_Type | ||
| 296 | +m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
| 297 | +{ | ||
| 298 | + switch (type) | ||
| 299 | + { | ||
| 300 | + case R_68K_32: | ||
| 301 | + return ELF_T_SWORD; | ||
| 302 | + case R_68K_16: | ||
| 303 | + return ELF_T_HALF; | ||
| 304 | + case R_68K_8: | ||
| 305 | + return ELF_T_BYTE; | ||
| 306 | + default: | ||
| 307 | + return ELF_T_NUM; | ||
| 308 | + } | ||
| 309 | +} | ||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.145/backends/mips_init.c | ||
| 4 | =================================================================== | ||
| 5 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 6 | +++ elfutils-0.145/backends/mips_init.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 7 | @@ -0,0 +1,60 @@ | ||
| 8 | +/* Initialization of mips specific backend library. | ||
| 9 | + Copyright (C) 2006 Red Hat, Inc. | ||
| 10 | + This file is part of Red Hat elfutils. | ||
| 11 | + | ||
| 12 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 13 | + it under the terms of the GNU General Public License as published by the | ||
| 14 | + Free Software Foundation; version 2 of the License. | ||
| 15 | + | ||
| 16 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 17 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 19 | + General Public License for more details. | ||
| 20 | + | ||
| 21 | + You should have received a copy of the GNU General Public License along | ||
| 22 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 23 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 24 | + | ||
| 25 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 26 | + An included package of the Open Invention Network is a package for which | ||
| 27 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 28 | + license is granted, either expressly or impliedly, by designation as an | ||
| 29 | + included package. Should you wish to participate in the Open Invention | ||
| 30 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 31 | + <http://www.openinventionnetwork.com>. */ | ||
| 32 | + | ||
| 33 | +#ifdef HAVE_CONFIG_H | ||
| 34 | +# include <config.h> | ||
| 35 | +#endif | ||
| 36 | + | ||
| 37 | +#define BACKEND mips_ | ||
| 38 | +#define RELOC_PREFIX R_MIPS_ | ||
| 39 | +#include "libebl_CPU.h" | ||
| 40 | + | ||
| 41 | +/* This defines the common reloc hooks based on mips_reloc.def. */ | ||
| 42 | +#include "common-reloc.c" | ||
| 43 | + | ||
| 44 | +const char * | ||
| 45 | +mips_init (elf, machine, eh, ehlen) | ||
| 46 | + Elf *elf __attribute__ ((unused)); | ||
| 47 | + GElf_Half machine __attribute__ ((unused)); | ||
| 48 | + Ebl *eh; | ||
| 49 | + size_t ehlen; | ||
| 50 | +{ | ||
| 51 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
| 52 | + if (ehlen < sizeof (Ebl)) | ||
| 53 | + return NULL; | ||
| 54 | + | ||
| 55 | + /* We handle it. */ | ||
| 56 | + if (machine == EM_MIPS) | ||
| 57 | + eh->name = "MIPS R3000 big-endian"; | ||
| 58 | + else if (machine == EM_MIPS_RS3_LE) | ||
| 59 | + eh->name = "MIPS R3000 little-endian"; | ||
| 60 | + | ||
| 61 | + mips_init_reloc (eh); | ||
| 62 | + HOOK (eh, reloc_simple_type); | ||
| 63 | + HOOK (eh, return_value_location); | ||
| 64 | + HOOK (eh, register_info); | ||
| 65 | + | ||
| 66 | + return MODVERSION; | ||
| 67 | +} | ||
| 68 | Index: elfutils-0.145/backends/mips_regs.c | ||
| 69 | =================================================================== | ||
| 70 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 71 | +++ elfutils-0.145/backends/mips_regs.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 72 | @@ -0,0 +1,104 @@ | ||
| 73 | +/* Register names and numbers for MIPS DWARF. | ||
| 74 | + Copyright (C) 2006 Red Hat, Inc. | ||
| 75 | + This file is part of Red Hat elfutils. | ||
| 76 | + | ||
| 77 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 78 | + it under the terms of the GNU General Public License as published by the | ||
| 79 | + Free Software Foundation; version 2 of the License. | ||
| 80 | + | ||
| 81 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 82 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 83 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 84 | + General Public License for more details. | ||
| 85 | + | ||
| 86 | + You should have received a copy of the GNU General Public License along | ||
| 87 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 88 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 89 | + | ||
| 90 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 91 | + An included package of the Open Invention Network is a package for which | ||
| 92 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 93 | + license is granted, either expressly or impliedly, by designation as an | ||
| 94 | + included package. Should you wish to participate in the Open Invention | ||
| 95 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 96 | + <http://www.openinventionnetwork.com>. */ | ||
| 97 | + | ||
| 98 | +#ifdef HAVE_CONFIG_H | ||
| 99 | +# include <config.h> | ||
| 100 | +#endif | ||
| 101 | + | ||
| 102 | +#include <string.h> | ||
| 103 | +#include <dwarf.h> | ||
| 104 | + | ||
| 105 | +#define BACKEND mips_ | ||
| 106 | +#include "libebl_CPU.h" | ||
| 107 | + | ||
| 108 | +ssize_t | ||
| 109 | +mips_register_info (Ebl *ebl __attribute__((unused)), | ||
| 110 | + int regno, char *name, size_t namelen, | ||
| 111 | + const char **prefix, const char **setname, | ||
| 112 | + int *bits, int *type) | ||
| 113 | +{ | ||
| 114 | + if (name == NULL) | ||
| 115 | + return 66; | ||
| 116 | + | ||
| 117 | + if (regno < 0 || regno > 65 || namelen < 4) | ||
| 118 | + return -1; | ||
| 119 | + | ||
| 120 | + *prefix = "$"; | ||
| 121 | + | ||
| 122 | + if (regno < 32) | ||
| 123 | + { | ||
| 124 | + *setname = "integer"; | ||
| 125 | + *type = DW_ATE_signed; | ||
| 126 | + *bits = 32; | ||
| 127 | + if (regno < 32 + 10) | ||
| 128 | + { | ||
| 129 | + name[0] = regno + '0'; | ||
| 130 | + namelen = 1; | ||
| 131 | + } | ||
| 132 | + else | ||
| 133 | + { | ||
| 134 | + name[0] = (regno / 10) + '0'; | ||
| 135 | + name[1] = (regno % 10) + '0'; | ||
| 136 | + namelen = 2; | ||
| 137 | + } | ||
| 138 | + } | ||
| 139 | + else if (regno < 64) | ||
| 140 | + { | ||
| 141 | + *setname = "FPU"; | ||
| 142 | + *type = DW_ATE_float; | ||
| 143 | + *bits = 32; | ||
| 144 | + name[0] = 'f'; | ||
| 145 | + if (regno < 32 + 10) | ||
| 146 | + { | ||
| 147 | + name[1] = (regno - 32) + '0'; | ||
| 148 | + namelen = 2; | ||
| 149 | + } | ||
| 150 | + else | ||
| 151 | + { | ||
| 152 | + name[1] = (regno - 32) / 10 + '0'; | ||
| 153 | + name[2] = (regno - 32) % 10 + '0'; | ||
| 154 | + namelen = 3; | ||
| 155 | + } | ||
| 156 | + } | ||
| 157 | + else if (regno == 64) | ||
| 158 | + { | ||
| 159 | + *type = DW_ATE_signed; | ||
| 160 | + *bits = 32; | ||
| 161 | + name[0] = 'h'; | ||
| 162 | + name[1] = 'i'; | ||
| 163 | + namelen = 2; | ||
| 164 | + } | ||
| 165 | + else | ||
| 166 | + { | ||
| 167 | + *type = DW_ATE_signed; | ||
| 168 | + *bits = 32; | ||
| 169 | + name[0] = 'l'; | ||
| 170 | + name[1] = 'o'; | ||
| 171 | + namelen = 2; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + name[namelen++] = '\0'; | ||
| 175 | + return namelen; | ||
| 176 | +} | ||
| 177 | Index: elfutils-0.145/backends/mips_reloc.def | ||
| 178 | =================================================================== | ||
| 179 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 180 | +++ elfutils-0.145/backends/mips_reloc.def 2010-02-24 18:57:35.000000000 +0000 | ||
| 181 | @@ -0,0 +1,79 @@ | ||
| 182 | +/* List the relocation types for mips. -*- C -*- | ||
| 183 | + Copyright (C) 2006 Red Hat, Inc. | ||
| 184 | + This file is part of Red Hat elfutils. | ||
| 185 | + | ||
| 186 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 187 | + it under the terms of the GNU General Public License as published by the | ||
| 188 | + Free Software Foundation; version 2 of the License. | ||
| 189 | + | ||
| 190 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 191 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 192 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 193 | + General Public License for more details. | ||
| 194 | + | ||
| 195 | + You should have received a copy of the GNU General Public License along | ||
| 196 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 197 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 198 | + | ||
| 199 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 200 | + An included package of the Open Invention Network is a package for which | ||
| 201 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 202 | + license is granted, either expressly or impliedly, by designation as an | ||
| 203 | + included package. Should you wish to participate in the Open Invention | ||
| 204 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 205 | + <http://www.openinventionnetwork.com>. */ | ||
| 206 | + | ||
| 207 | +/* NAME, REL|EXEC|DYN */ | ||
| 208 | + | ||
| 209 | +RELOC_TYPE (NONE, 0) | ||
| 210 | +RELOC_TYPE (16, 0) | ||
| 211 | +RELOC_TYPE (32, 0) | ||
| 212 | +RELOC_TYPE (REL32, 0) | ||
| 213 | +RELOC_TYPE (26, 0) | ||
| 214 | +RELOC_TYPE (HI16, 0) | ||
| 215 | +RELOC_TYPE (LO16, 0) | ||
| 216 | +RELOC_TYPE (GPREL16, 0) | ||
| 217 | +RELOC_TYPE (LITERAL, 0) | ||
| 218 | +RELOC_TYPE (GOT16, 0) | ||
| 219 | +RELOC_TYPE (PC16, 0) | ||
| 220 | +RELOC_TYPE (CALL16, 0) | ||
| 221 | +RELOC_TYPE (GPREL32, 0) | ||
| 222 | + | ||
| 223 | +RELOC_TYPE (SHIFT5, 0) | ||
| 224 | +RELOC_TYPE (SHIFT6, 0) | ||
| 225 | +RELOC_TYPE (64, 0) | ||
| 226 | +RELOC_TYPE (GOT_DISP, 0) | ||
| 227 | +RELOC_TYPE (GOT_PAGE, 0) | ||
| 228 | +RELOC_TYPE (GOT_OFST, 0) | ||
| 229 | +RELOC_TYPE (GOT_HI16, 0) | ||
| 230 | +RELOC_TYPE (GOT_LO16, 0) | ||
| 231 | +RELOC_TYPE (SUB, 0) | ||
| 232 | +RELOC_TYPE (INSERT_A, 0) | ||
| 233 | +RELOC_TYPE (INSERT_B, 0) | ||
| 234 | +RELOC_TYPE (DELETE, 0) | ||
| 235 | +RELOC_TYPE (HIGHER, 0) | ||
| 236 | +RELOC_TYPE (HIGHEST, 0) | ||
| 237 | +RELOC_TYPE (CALL_HI16, 0) | ||
| 238 | +RELOC_TYPE (CALL_LO16, 0) | ||
| 239 | +RELOC_TYPE (SCN_DISP, 0) | ||
| 240 | +RELOC_TYPE (REL16, 0) | ||
| 241 | +RELOC_TYPE (ADD_IMMEDIATE, 0) | ||
| 242 | +RELOC_TYPE (PJUMP, 0) | ||
| 243 | +RELOC_TYPE (RELGOT, 0) | ||
| 244 | +RELOC_TYPE (JALR, 0) | ||
| 245 | +RELOC_TYPE (TLS_DTPMOD32, 0) | ||
| 246 | +RELOC_TYPE (TLS_DTPREL32, 0) | ||
| 247 | +RELOC_TYPE (TLS_DTPMOD64, 0) | ||
| 248 | +RELOC_TYPE (TLS_DTPREL64, 0) | ||
| 249 | +RELOC_TYPE (TLS_GD, 0) | ||
| 250 | +RELOC_TYPE (TLS_LDM, 0) | ||
| 251 | +RELOC_TYPE (TLS_DTPREL_HI16, 0) | ||
| 252 | +RELOC_TYPE (TLS_DTPREL_LO16, 0) | ||
| 253 | +RELOC_TYPE (TLS_GOTTPREL, 0) | ||
| 254 | +RELOC_TYPE (TLS_TPREL32, 0) | ||
| 255 | +RELOC_TYPE (TLS_TPREL64, 0) | ||
| 256 | +RELOC_TYPE (TLS_TPREL_HI16, 0) | ||
| 257 | +RELOC_TYPE (TLS_TPREL_LO16, 0) | ||
| 258 | + | ||
| 259 | +#define NO_COPY_RELOC 1 | ||
| 260 | +#define NO_RELATIVE_RELOC 1 | ||
| 261 | Index: elfutils-0.145/backends/mips_retval.c | ||
| 262 | =================================================================== | ||
| 263 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 264 | +++ elfutils-0.145/backends/mips_retval.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 265 | @@ -0,0 +1,321 @@ | ||
| 266 | +/* Function return value location for Linux/mips ABI. | ||
| 267 | + Copyright (C) 2005 Red Hat, Inc. | ||
| 268 | + This file is part of Red Hat elfutils. | ||
| 269 | + | ||
| 270 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 271 | + it under the terms of the GNU General Public License as published by the | ||
| 272 | + Free Software Foundation; version 2 of the License. | ||
| 273 | + | ||
| 274 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 275 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 276 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 277 | + General Public License for more details. | ||
| 278 | + | ||
| 279 | + You should have received a copy of the GNU General Public License along | ||
| 280 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 281 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 282 | + | ||
| 283 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 284 | + An included package of the Open Invention Network is a package for which | ||
| 285 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 286 | + license is granted, either expressly or impliedly, by designation as an | ||
| 287 | + included package. Should you wish to participate in the Open Invention | ||
| 288 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 289 | + <http://www.openinventionnetwork.com>. */ | ||
| 290 | + | ||
| 291 | +#ifdef HAVE_CONFIG_H | ||
| 292 | +# include <config.h> | ||
| 293 | +#endif | ||
| 294 | + | ||
| 295 | +#include <string.h> | ||
| 296 | +#include <assert.h> | ||
| 297 | +#include <dwarf.h> | ||
| 298 | +#include <elf.h> | ||
| 299 | + | ||
| 300 | +#include "../libebl/libeblP.h" | ||
| 301 | +#include "../libdw/libdwP.h" | ||
| 302 | + | ||
| 303 | +#define BACKEND mips_ | ||
| 304 | +#include "libebl_CPU.h" | ||
| 305 | + | ||
| 306 | +/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ | ||
| 307 | +#define EF_MIPS_ABI 0x0000F000 | ||
| 308 | + | ||
| 309 | +/* The original o32 abi. */ | ||
| 310 | +#define E_MIPS_ABI_O32 0x00001000 | ||
| 311 | + | ||
| 312 | +/* O32 extended to work on 64 bit architectures */ | ||
| 313 | +#define E_MIPS_ABI_O64 0x00002000 | ||
| 314 | + | ||
| 315 | +/* EABI in 32 bit mode */ | ||
| 316 | +#define E_MIPS_ABI_EABI32 0x00003000 | ||
| 317 | + | ||
| 318 | +/* EABI in 64 bit mode */ | ||
| 319 | +#define E_MIPS_ABI_EABI64 0x00004000 | ||
| 320 | + | ||
| 321 | +/* All the possible MIPS ABIs. */ | ||
| 322 | +enum mips_abi | ||
| 323 | + { | ||
| 324 | + MIPS_ABI_UNKNOWN = 0, | ||
| 325 | + MIPS_ABI_N32, | ||
| 326 | + MIPS_ABI_O32, | ||
| 327 | + MIPS_ABI_N64, | ||
| 328 | + MIPS_ABI_O64, | ||
| 329 | + MIPS_ABI_EABI32, | ||
| 330 | + MIPS_ABI_EABI64, | ||
| 331 | + MIPS_ABI_LAST | ||
| 332 | + }; | ||
| 333 | + | ||
| 334 | +/* Find the mips ABI of the current file */ | ||
| 335 | +enum mips_abi find_mips_abi(Elf *elf) | ||
| 336 | +{ | ||
| 337 | + GElf_Ehdr ehdr_mem; | ||
| 338 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
| 339 | + | ||
| 340 | + if (ehdr == NULL) | ||
| 341 | + return MIPS_ABI_LAST; | ||
| 342 | + | ||
| 343 | + GElf_Word elf_flags = ehdr->e_flags; | ||
| 344 | + | ||
| 345 | + /* Check elf_flags to see if it specifies the ABI being used. */ | ||
| 346 | + switch ((elf_flags & EF_MIPS_ABI)) | ||
| 347 | + { | ||
| 348 | + case E_MIPS_ABI_O32: | ||
| 349 | + return MIPS_ABI_O32; | ||
| 350 | + case E_MIPS_ABI_O64: | ||
| 351 | + return MIPS_ABI_O64; | ||
| 352 | + case E_MIPS_ABI_EABI32: | ||
| 353 | + return MIPS_ABI_EABI32; | ||
| 354 | + case E_MIPS_ABI_EABI64: | ||
| 355 | + return MIPS_ABI_EABI64; | ||
| 356 | + default: | ||
| 357 | + if ((elf_flags & EF_MIPS_ABI2)) | ||
| 358 | + return MIPS_ABI_N32; | ||
| 359 | + } | ||
| 360 | + | ||
| 361 | + /* GCC creates a pseudo-section whose name describes the ABI. */ | ||
| 362 | + size_t shstrndx; | ||
| 363 | + if (elf_getshdrstrndx (elf, &shstrndx) < 0) | ||
| 364 | + return MIPS_ABI_LAST; | ||
| 365 | + | ||
| 366 | + const char *name; | ||
| 367 | + Elf_Scn *scn = NULL; | ||
| 368 | + while ((scn = elf_nextscn (elf, scn)) != NULL) | ||
| 369 | + { | ||
| 370 | + GElf_Shdr shdr_mem; | ||
| 371 | + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); | ||
| 372 | + if (shdr == NULL) | ||
| 373 | + return MIPS_ABI_LAST; | ||
| 374 | + | ||
| 375 | + name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: ""; | ||
| 376 | + if (strncmp (name, ".mdebug.", 8) != 0) | ||
| 377 | + continue; | ||
| 378 | + | ||
| 379 | + if (strcmp (name, ".mdebug.abi32") == 0) | ||
| 380 | + return MIPS_ABI_O32; | ||
| 381 | + else if (strcmp (name, ".mdebug.abiN32") == 0) | ||
| 382 | + return MIPS_ABI_N32; | ||
| 383 | + else if (strcmp (name, ".mdebug.abi64") == 0) | ||
| 384 | + return MIPS_ABI_N64; | ||
| 385 | + else if (strcmp (name, ".mdebug.abiO64") == 0) | ||
| 386 | + return MIPS_ABI_O64; | ||
| 387 | + else if (strcmp (name, ".mdebug.eabi32") == 0) | ||
| 388 | + return MIPS_ABI_EABI32; | ||
| 389 | + else if (strcmp (name, ".mdebug.eabi64") == 0) | ||
| 390 | + return MIPS_ABI_EABI64; | ||
| 391 | + else | ||
| 392 | + return MIPS_ABI_UNKNOWN; | ||
| 393 | + } | ||
| 394 | + | ||
| 395 | + return MIPS_ABI_UNKNOWN; | ||
| 396 | +} | ||
| 397 | + | ||
| 398 | +unsigned int | ||
| 399 | +mips_abi_regsize (enum mips_abi abi) | ||
| 400 | +{ | ||
| 401 | + switch (abi) | ||
| 402 | + { | ||
| 403 | + case MIPS_ABI_EABI32: | ||
| 404 | + case MIPS_ABI_O32: | ||
| 405 | + return 4; | ||
| 406 | + case MIPS_ABI_N32: | ||
| 407 | + case MIPS_ABI_N64: | ||
| 408 | + case MIPS_ABI_O64: | ||
| 409 | + case MIPS_ABI_EABI64: | ||
| 410 | + return 8; | ||
| 411 | + case MIPS_ABI_UNKNOWN: | ||
| 412 | + case MIPS_ABI_LAST: | ||
| 413 | + default: | ||
| 414 | + return 0; | ||
| 415 | + } | ||
| 416 | +} | ||
| 417 | + | ||
| 418 | + | ||
| 419 | +/* $v0 or pair $v0, $v1 */ | ||
| 420 | +static const Dwarf_Op loc_intreg_o32[] = | ||
| 421 | + { | ||
| 422 | + { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 423 | + { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 424 | + }; | ||
| 425 | + | ||
| 426 | +static const Dwarf_Op loc_intreg[] = | ||
| 427 | + { | ||
| 428 | + { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 429 | + { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 430 | + }; | ||
| 431 | +#define nloc_intreg 1 | ||
| 432 | +#define nloc_intregpair 4 | ||
| 433 | + | ||
| 434 | +/* $f0 (float), or pair $f0, $f1 (double). | ||
| 435 | + * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */ | ||
| 436 | +static const Dwarf_Op loc_fpreg_o32[] = | ||
| 437 | + { | ||
| 438 | + { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 439 | + { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 440 | + { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 441 | + { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 }, | ||
| 442 | + }; | ||
| 443 | + | ||
| 444 | +/* $f0, or pair $f0, $f2. */ | ||
| 445 | +static const Dwarf_Op loc_fpreg[] = | ||
| 446 | + { | ||
| 447 | + { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 448 | + { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 }, | ||
| 449 | + }; | ||
| 450 | +#define nloc_fpreg 1 | ||
| 451 | +#define nloc_fpregpair 4 | ||
| 452 | +#define nloc_fpregquad 8 | ||
| 453 | + | ||
| 454 | +/* The return value is a structure and is actually stored in stack space | ||
| 455 | + passed in a hidden argument by the caller. But, the compiler | ||
| 456 | + helpfully returns the address of that space in $v0. */ | ||
| 457 | +static const Dwarf_Op loc_aggregate[] = | ||
| 458 | + { | ||
| 459 | + { .atom = DW_OP_breg2, .number = 0 } | ||
| 460 | + }; | ||
| 461 | +#define nloc_aggregate 1 | ||
| 462 | + | ||
| 463 | +int | ||
| 464 | +mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
| 465 | +{ | ||
| 466 | + /* First find the ABI used by the elf object */ | ||
| 467 | + enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf); | ||
| 468 | + | ||
| 469 | + /* Something went seriously wrong while trying to figure out the ABI */ | ||
| 470 | + if (abi == MIPS_ABI_LAST) | ||
| 471 | + return -1; | ||
| 472 | + | ||
| 473 | + /* We couldn't identify the ABI, but the file seems valid */ | ||
| 474 | + if (abi == MIPS_ABI_UNKNOWN) | ||
| 475 | + return -2; | ||
| 476 | + | ||
| 477 | + /* Can't handle EABI variants */ | ||
| 478 | + if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64)) | ||
| 479 | + return -2; | ||
| 480 | + | ||
| 481 | + unsigned int regsize = mips_abi_regsize (abi); | ||
| 482 | + if (!regsize) | ||
| 483 | + return -2; | ||
| 484 | + | ||
| 485 | + /* Start with the function's type, and get the DW_AT_type attribute, | ||
| 486 | + which is the type of the return value. */ | ||
| 487 | + | ||
| 488 | + Dwarf_Attribute attr_mem; | ||
| 489 | + Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); | ||
| 490 | + if (attr == NULL) | ||
| 491 | + /* The function has no return value, like a `void' function in C. */ | ||
| 492 | + return 0; | ||
| 493 | + | ||
| 494 | + Dwarf_Die die_mem; | ||
| 495 | + Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); | ||
| 496 | + int tag = dwarf_tag (typedie); | ||
| 497 | + | ||
| 498 | + /* Follow typedefs and qualifiers to get to the actual type. */ | ||
| 499 | + while (tag == DW_TAG_typedef | ||
| 500 | + || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type | ||
| 501 | + || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) | ||
| 502 | + { | ||
| 503 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
| 504 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
| 505 | + tag = dwarf_tag (typedie); | ||
| 506 | + } | ||
| 507 | + | ||
| 508 | + switch (tag) | ||
| 509 | + { | ||
| 510 | + case -1: | ||
| 511 | + return -1; | ||
| 512 | + | ||
| 513 | + case DW_TAG_subrange_type: | ||
| 514 | + if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) | ||
| 515 | + { | ||
| 516 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
| 517 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
| 518 | + tag = dwarf_tag (typedie); | ||
| 519 | + } | ||
| 520 | + /* Fall through. */ | ||
| 521 | + | ||
| 522 | + case DW_TAG_base_type: | ||
| 523 | + case DW_TAG_enumeration_type: | ||
| 524 | + case DW_TAG_pointer_type: | ||
| 525 | + case DW_TAG_ptr_to_member_type: | ||
| 526 | + { | ||
| 527 | + Dwarf_Word size; | ||
| 528 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, | ||
| 529 | + &attr_mem), &size) != 0) | ||
| 530 | + { | ||
| 531 | + if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) | ||
| 532 | + size = regsize; | ||
| 533 | + else | ||
| 534 | + return -1; | ||
| 535 | + } | ||
| 536 | + if (tag == DW_TAG_base_type) | ||
| 537 | + { | ||
| 538 | + Dwarf_Word encoding; | ||
| 539 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
| 540 | + &attr_mem), &encoding) != 0) | ||
| 541 | + return -1; | ||
| 542 | + | ||
| 543 | +#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc)) | ||
| 544 | + | ||
| 545 | + if (encoding == DW_ATE_float) | ||
| 546 | + { | ||
| 547 | + *locp = ABI_LOC(loc_fpreg, regsize); | ||
| 548 | + if (size <= regsize) | ||
| 549 | + return nloc_fpreg; | ||
| 550 | + | ||
| 551 | + if (size <= 2*regsize) | ||
| 552 | + return nloc_fpregpair; | ||
| 553 | + | ||
| 554 | + if (size <= 4*regsize && abi == MIPS_ABI_O32) | ||
| 555 | + return nloc_fpregquad; | ||
| 556 | + | ||
| 557 | + goto aggregate; | ||
| 558 | + } | ||
| 559 | + } | ||
| 560 | + *locp = ABI_LOC(loc_intreg, regsize); | ||
| 561 | + if (size <= regsize) | ||
| 562 | + return nloc_intreg; | ||
| 563 | + if (size <= 2*regsize) | ||
| 564 | + return nloc_intregpair; | ||
| 565 | + | ||
| 566 | + /* Else fall through. Shouldn't happen though (at least with gcc) */ | ||
| 567 | + } | ||
| 568 | + | ||
| 569 | + case DW_TAG_structure_type: | ||
| 570 | + case DW_TAG_class_type: | ||
| 571 | + case DW_TAG_union_type: | ||
| 572 | + case DW_TAG_array_type: | ||
| 573 | + aggregate: | ||
| 574 | + /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */ | ||
| 575 | + if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64)) | ||
| 576 | + return -2; | ||
| 577 | + | ||
| 578 | + *locp = loc_aggregate; | ||
| 579 | + return nloc_aggregate; | ||
| 580 | + } | ||
| 581 | + | ||
| 582 | + /* XXX We don't have a good way to return specific errors from ebl calls. | ||
| 583 | + This value means we do not understand the type, but it is well-formed | ||
| 584 | + DWARF and might be valid. */ | ||
| 585 | + return -2; | ||
| 586 | +} | ||
| 587 | Index: elfutils-0.145/backends/mips_symbol.c | ||
| 588 | =================================================================== | ||
| 589 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 590 | +++ elfutils-0.145/backends/mips_symbol.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 591 | @@ -0,0 +1,52 @@ | ||
| 592 | +/* MIPS specific symbolic name handling. | ||
| 593 | + Copyright (C) 2002, 2003, 2005 Red Hat, Inc. | ||
| 594 | + This file is part of Red Hat elfutils. | ||
| 595 | + Written by Jakub Jelinek <jakub@redhat.com>, 2002. | ||
| 596 | + | ||
| 597 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
| 598 | + it under the terms of the GNU General Public License as published by the | ||
| 599 | + Free Software Foundation; version 2 of the License. | ||
| 600 | + | ||
| 601 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
| 602 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 603 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 604 | + General Public License for more details. | ||
| 605 | + | ||
| 606 | + You should have received a copy of the GNU General Public License along | ||
| 607 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
| 608 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
| 609 | + | ||
| 610 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
| 611 | + An included package of the Open Invention Network is a package for which | ||
| 612 | + Open Invention Network licensees cross-license their patents. No patent | ||
| 613 | + license is granted, either expressly or impliedly, by designation as an | ||
| 614 | + included package. Should you wish to participate in the Open Invention | ||
| 615 | + Network licensing program, please visit www.openinventionnetwork.com | ||
| 616 | + <http://www.openinventionnetwork.com>. */ | ||
| 617 | + | ||
| 618 | +#ifdef HAVE_CONFIG_H | ||
| 619 | +# include <config.h> | ||
| 620 | +#endif | ||
| 621 | + | ||
| 622 | +#include <elf.h> | ||
| 623 | +#include <stddef.h> | ||
| 624 | + | ||
| 625 | +#define BACKEND mips_ | ||
| 626 | +#include "libebl_CPU.h" | ||
| 627 | + | ||
| 628 | +/* Check for the simple reloc types. */ | ||
| 629 | +Elf_Type | ||
| 630 | +mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
| 631 | +{ | ||
| 632 | + switch (type) | ||
| 633 | + { | ||
| 634 | + case R_MIPS_16: | ||
| 635 | + return ELF_T_HALF; | ||
| 636 | + case R_MIPS_32: | ||
| 637 | + return ELF_T_WORD; | ||
| 638 | + case R_MIPS_64: | ||
| 639 | + return ELF_T_XWORD; | ||
| 640 | + default: | ||
| 641 | + return ELF_T_NUM; | ||
| 642 | + } | ||
| 643 | +} | ||
| 644 | Index: elfutils-0.145/libebl/eblopenbackend.c | ||
| 645 | =================================================================== | ||
| 646 | --- elfutils-0.145.orig/libebl/eblopenbackend.c 2010-02-24 18:55:51.000000000 +0000 | ||
| 647 | +++ elfutils-0.145/libebl/eblopenbackend.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 648 | @@ -91,6 +91,8 @@ | ||
| 649 | { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, | ||
| 650 | { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, | ||
| 651 | { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, | ||
| 652 | + { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, | ||
| 653 | + { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, | ||
| 654 | |||
| 655 | { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, | ||
| 656 | { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 }, | ||
| 657 | Index: elfutils-0.145/backends/common-reloc.c | ||
| 658 | =================================================================== | ||
| 659 | --- elfutils-0.145.orig/backends/common-reloc.c 2010-02-24 18:55:51.000000000 +0000 | ||
| 660 | +++ elfutils-0.145/backends/common-reloc.c 2010-02-24 18:57:35.000000000 +0000 | ||
| 661 | @@ -109,11 +109,13 @@ | ||
| 662 | } | ||
| 663 | |||
| 664 | |||
| 665 | +#ifndef NO_COPY_RELOC | ||
| 666 | bool | ||
| 667 | EBLHOOK(copy_reloc_p) (int reloc) | ||
| 668 | { | ||
| 669 | return reloc == R_TYPE (COPY); | ||
| 670 | } | ||
| 671 | +#endif | ||
| 672 | |||
| 673 | bool | ||
| 674 | EBLHOOK(none_reloc_p) (int reloc) | ||
| 675 | @@ -135,7 +137,9 @@ | ||
| 676 | ebl->reloc_type_name = EBLHOOK(reloc_type_name); | ||
| 677 | ebl->reloc_type_check = EBLHOOK(reloc_type_check); | ||
| 678 | ebl->reloc_valid_use = EBLHOOK(reloc_valid_use); | ||
| 679 | +#ifndef NO_COPY_RELOC | ||
| 680 | ebl->copy_reloc_p = EBLHOOK(copy_reloc_p); | ||
| 681 | +#endif | ||
| 682 | ebl->none_reloc_p = EBLHOOK(none_reloc_p); | ||
| 683 | #ifndef NO_RELATIVE_RELOC | ||
| 684 | ebl->relative_reloc_p = EBLHOOK(relative_reloc_p); | ||
| 685 | Index: elfutils-0.145/backends/Makefile.am | ||
| 686 | =================================================================== | ||
| 687 | --- elfutils-0.145.orig/backends/Makefile.am 2010-02-24 18:57:26.000000000 +0000 | ||
| 688 | +++ elfutils-0.145/backends/Makefile.am 2010-02-24 18:57:57.000000000 +0000 | ||
| 689 | @@ -29,11 +29,11 @@ | ||
| 690 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
| 691 | |||
| 692 | |||
| 693 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc | ||
| 694 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips | ||
| 695 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
| 696 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
| 697 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
| 698 | - libebl_s390_pic.a libebl_parisc_pic.a | ||
| 699 | + libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a | ||
| 700 | noinst_LIBRARIES = $(libebl_pic) | ||
| 701 | noinst_DATA = $(libebl_pic:_pic.a=.so) | ||
| 702 | |||
| 703 | @@ -99,6 +99,10 @@ | ||
| 704 | libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) | ||
| 705 | am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) | ||
| 706 | |||
| 707 | +mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c | ||
| 708 | +libebl_mips_pic_a_SOURCES = $(mips_SRCS) | ||
| 709 | +am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) | ||
| 710 | + | ||
| 711 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
| 712 | @rm -f $(@:.so=.map) | ||
| 713 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | nm: Fix size passed to snprintf for invalid sh_name case. | ||
| 4 | native build failed as following on Fedora18: | ||
| 5 | nm.c: In function 'show_symbols_sysv': | ||
| 6 | 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] | ||
| 7 | snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
| 8 | ^ | ||
| 9 | |||
| 10 | The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58 | ||
| 11 | |||
| 12 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
| 13 | |||
| 14 | --- elfutils-0.148/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500 | ||
| 15 | +++ elfutils-0.148/src/nm.c 2013-03-11 22:46:09.000000000 -0500 | ||
| 16 | @@ -752,8 +752,9 @@ | ||
| 17 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
| 18 | if (unlikely (name == NULL)) | ||
| 19 | { | ||
| 20 | - name = alloca (sizeof "[invalid sh_name 0x12345678]"); | ||
| 21 | - snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
| 22 | + const size_t bufsz = sizeof "[invalid sh_name 0x12345678]"; | ||
| 23 | + name = alloca (bufsz); | ||
| 24 | + snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]", | ||
| 25 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
| 26 | } | ||
| 27 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.148/backends/ChangeLog | ||
| 4 | =================================================================== | ||
| 5 | --- elfutils-0.148.orig/backends/ChangeLog 2010-04-13 20:08:02.000000000 +0000 | ||
| 6 | +++ elfutils-0.148/backends/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 7 | @@ -106,6 +106,10 @@ | ||
| 8 | * ppc_attrs.c (ppc_check_object_attribute): Handle tag | ||
| 9 | GNU_Power_ABI_Struct_Return. | ||
| 10 | |||
| 11 | +2009-01-23 Roland McGrath <roland@redhat.com> | ||
| 12 | + | ||
| 13 | + * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED). | ||
| 14 | + | ||
| 15 | 2008-10-04 Ulrich Drepper <drepper@redhat.com> | ||
| 16 | |||
| 17 | * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and | ||
| 18 | @@ -433,6 +437,11 @@ | ||
| 19 | * sparc_init.c: Likewise. | ||
| 20 | * x86_64_init.c: Likewise. | ||
| 21 | |||
| 22 | +2005-11-22 Roland McGrath <roland@redhat.com> | ||
| 23 | + | ||
| 24 | + * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure. | ||
| 25 | + (libebl_%.so rule): Use it in place of -Wl,--as-needed. | ||
| 26 | + | ||
| 27 | 2005-11-19 Roland McGrath <roland@redhat.com> | ||
| 28 | |||
| 29 | * ppc64_reloc.def: REL30 -> ADDR30. | ||
| 30 | @@ -455,6 +464,9 @@ | ||
| 31 | * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). | ||
| 32 | (CLEANFILES): Add libebl_$(m).so. | ||
| 33 | |||
| 34 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 35 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 36 | + | ||
| 37 | * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>. | ||
| 38 | * ppc64_reloc.def: Likewise. | ||
| 39 | |||
| 40 | Index: elfutils-0.148/backends/Makefile.am | ||
| 41 | =================================================================== | ||
| 42 | --- elfutils-0.148.orig/backends/Makefile.am 2010-04-13 20:08:02.000000000 +0000 | ||
| 43 | +++ elfutils-0.148/backends/Makefile.am 2010-07-03 13:04:07.000000000 +0000 | ||
| 44 | @@ -103,7 +103,7 @@ | ||
| 45 | $(LINK) -shared -o $(@:.map=.so) \ | ||
| 46 | -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ | ||
| 47 | -Wl,--version-script,$(@:.so=.map) \ | ||
| 48 | - -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap) | ||
| 49 | + -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap) | ||
| 50 | $(textrel_check) | ||
| 51 | |||
| 52 | libebl_i386.so: $(cpu_i386) | ||
| 53 | Index: elfutils-0.148/ChangeLog | ||
| 54 | =================================================================== | ||
| 55 | --- elfutils-0.148.orig/ChangeLog 2010-04-21 14:26:40.000000000 +0000 | ||
| 56 | +++ elfutils-0.148/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 57 | @@ -2,6 +2,10 @@ | ||
| 58 | |||
| 59 | * configure.ac (LOCALEDIR, DATADIRNAME): Removed. | ||
| 60 | |||
| 61 | +2009-11-22 Roland McGrath <roland@redhat.com> | ||
| 62 | + | ||
| 63 | + * configure.ac: Use sed and expr instead of modern bash extensions. | ||
| 64 | + | ||
| 65 | 2009-09-21 Ulrich Drepper <drepper@redhat.com> | ||
| 66 | |||
| 67 | * configure.ac: Update for more modern autoconf. | ||
| 68 | @@ -10,6 +14,10 @@ | ||
| 69 | |||
| 70 | * configure.ac (zip_LIBS): Check for liblzma too. | ||
| 71 | |||
| 72 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
| 73 | + | ||
| 74 | + * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works. | ||
| 75 | + | ||
| 76 | 2009-04-19 Roland McGrath <roland@redhat.com> | ||
| 77 | |||
| 78 | * configure.ac (eu_version): Round down here, not in version.h macros. | ||
| 79 | @@ -21,6 +29,8 @@ | ||
| 80 | |||
| 81 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
| 82 | |||
| 83 | + * configure.ac: Check for __builtin_popcount. | ||
| 84 | + | ||
| 85 | * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. | ||
| 86 | |||
| 87 | * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of | ||
| 88 | @@ -101,6 +111,10 @@ | ||
| 89 | * configure.ac: Add dummy automake conditional to get dependencies | ||
| 90 | for non-generic linker right. See src/Makefile.am. | ||
| 91 | |||
| 92 | +2005-11-22 Roland McGrath <roland@redhat.com> | ||
| 93 | + | ||
| 94 | + * configure.ac: Check for --as-needed linker option. | ||
| 95 | + | ||
| 96 | 2005-11-18 Roland McGrath <roland@redhat.com> | ||
| 97 | |||
| 98 | * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. | ||
| 99 | @@ -148,6 +162,17 @@ | ||
| 100 | * Makefile.am (all_SUBDIRS): Add libdwfl. | ||
| 101 | * configure.ac: Write libdwfl/Makefile. | ||
| 102 | |||
| 103 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 104 | + | ||
| 105 | + * configure.ac (WEXTRA): Check for -Wextra and set this substitution. | ||
| 106 | + | ||
| 107 | + * configure.ac: Check for struct stat st_?tim members. | ||
| 108 | + * src/strip.c (process_file): Use st_?time if st_?tim are not there. | ||
| 109 | + | ||
| 110 | + * configure.ac: Check for futimes function. | ||
| 111 | + * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead. | ||
| 112 | + (handle_ar) [! HAVE_FUTIMES]: Likewise. | ||
| 113 | + | ||
| 114 | 2005-05-19 Roland McGrath <roland@redhat.com> | ||
| 115 | |||
| 116 | * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. | ||
| 117 | Index: elfutils-0.148/config/eu.am | ||
| 118 | =================================================================== | ||
| 119 | --- elfutils-0.148.orig/config/eu.am 2010-04-21 14:26:40.000000000 +0000 | ||
| 120 | +++ elfutils-0.148/config/eu.am 2010-07-03 13:04:07.000000000 +0000 | ||
| 121 | @@ -25,11 +25,14 @@ | ||
| 122 | ## <http://www.openinventionnetwork.com>. | ||
| 123 | ## | ||
| 124 | |||
| 125 | +WEXTRA = @WEXTRA@ | ||
| 126 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
| 127 | + | ||
| 128 | DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"' | ||
| 129 | INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. | ||
| 130 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow \ | ||
| 131 | $(if $($(*F)_no_Werror),,-Werror) \ | ||
| 132 | - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ | ||
| 133 | + $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \ | ||
| 134 | $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \ | ||
| 135 | $($(*F)_CFLAGS) | ||
| 136 | |||
| 137 | Index: elfutils-0.148/config.h.in | ||
| 138 | =================================================================== | ||
| 139 | --- elfutils-0.148.orig/config.h.in 2010-06-28 19:07:37.000000000 +0000 | ||
| 140 | +++ elfutils-0.148/config.h.in 2010-07-03 13:04:07.000000000 +0000 | ||
| 141 | @@ -1,5 +1,8 @@ | ||
| 142 | /* config.h.in. Generated from configure.ac by autoheader. */ | ||
| 143 | |||
| 144 | +/* Have __builtin_popcount. */ | ||
| 145 | +#undef HAVE_BUILTIN_POPCOUNT | ||
| 146 | + | ||
| 147 | /* $libdir subdirectory containing libebl modules. */ | ||
| 148 | #undef LIBEBL_SUBDIR | ||
| 149 | |||
| 150 | @@ -55,4 +58,7 @@ | ||
| 151 | /* Define for large files, on AIX-style hosts. */ | ||
| 152 | #undef _LARGE_FILES | ||
| 153 | |||
| 154 | +/* Stubbed out if missing compiler support. */ | ||
| 155 | +#undef __thread | ||
| 156 | + | ||
| 157 | #include <eu-config.h> | ||
| 158 | Index: elfutils-0.148/configure.ac | ||
| 159 | =================================================================== | ||
| 160 | --- elfutils-0.148.orig/configure.ac 2010-06-28 19:07:26.000000000 +0000 | ||
| 161 | +++ elfutils-0.148/configure.ac 2010-07-03 13:04:07.000000000 +0000 | ||
| 162 | @@ -73,6 +73,54 @@ | ||
| 163 | AS_IF([test "x$ac_cv_c99" != xyes], | ||
| 164 | AC_MSG_ERROR([gcc with C99 support required])) | ||
| 165 | |||
| 166 | +AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl | ||
| 167 | +old_CFLAGS="$CFLAGS" | ||
| 168 | +CFLAGS="$CFLAGS -Wextra" | ||
| 169 | +AC_COMPILE_IFELSE([void foo (void) { }], | ||
| 170 | + ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no) | ||
| 171 | +CFLAGS="$old_CFLAGS"]) | ||
| 172 | +AC_SUBST(WEXTRA) | ||
| 173 | +AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W]) | ||
| 174 | + | ||
| 175 | +AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl | ||
| 176 | +old_CFLAGS="$CFLAGS" | ||
| 177 | +CFLAGS="$CFLAGS -fgnu89-inline -Werror" | ||
| 178 | +AC_COMPILE_IFELSE([ | ||
| 179 | +void foo (void) | ||
| 180 | +{ | ||
| 181 | + inline void bar (void) {} | ||
| 182 | + bar (); | ||
| 183 | +} | ||
| 184 | +extern inline void baz (void) {} | ||
| 185 | +], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no) | ||
| 186 | +CFLAGS="$old_CFLAGS"]) | ||
| 187 | +AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes], | ||
| 188 | + [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"]) | ||
| 189 | + | ||
| 190 | +AC_CACHE_CHECK([for --as-needed linker option], | ||
| 191 | + ac_cv_as_needed, [dnl | ||
| 192 | +cat > conftest.c <<EOF | ||
| 193 | +int main (void) { return 0; } | ||
| 194 | +EOF | ||
| 195 | +if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS | ||
| 196 | + -fPIC -shared -o conftest.so conftest.c | ||
| 197 | + -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD]) | ||
| 198 | +then | ||
| 199 | + ac_cv_as_needed=yes | ||
| 200 | +else | ||
| 201 | + ac_cv_as_needed=no | ||
| 202 | +fi | ||
| 203 | +rm -f conftest*]) | ||
| 204 | +AS_IF([test "x$ac_cv_as_needed" = xyes], | ||
| 205 | + [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=]) | ||
| 206 | +AC_SUBST(LD_AS_NEEDED) | ||
| 207 | + | ||
| 208 | +AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl | ||
| 209 | +AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])], | ||
| 210 | + ac_cv_popcount=yes, ac_cv_popcount=no)]) | ||
| 211 | +AS_IF([test "x$ac_cv_popcount" = xyes], | ||
| 212 | + [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])]) | ||
| 213 | + | ||
| 214 | AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl | ||
| 215 | # Use the same flags that we use for our DSOs, so the test is representative. | ||
| 216 | # Some old compiler/linker/libc combinations fail some ways and not others. | ||
| 217 | @@ -88,7 +136,10 @@ | ||
| 218 | CFLAGS="$save_CFLAGS" | ||
| 219 | LDFLAGS="$save_LDFLAGS"]) | ||
| 220 | AS_IF([test "x$ac_cv_tls" != xyes], | ||
| 221 | - AC_MSG_ERROR([__thread support required])) | ||
| 222 | + [AS_IF([test "$use_locks" = yes], | ||
| 223 | + [AC_MSG_ERROR([--enable-thread-safety requires __thread support])], | ||
| 224 | + [AC_DEFINE([__thread], [/* empty: no multi-thread support */], | ||
| 225 | + [Stubbed out if missing compiler support.])])]) | ||
| 226 | |||
| 227 | dnl This test must come as early as possible after the compiler configuration | ||
| 228 | dnl tests, because the choice of the file model can (in principle) affect | ||
| 229 | @@ -251,7 +302,7 @@ | ||
| 230 | |||
| 231 | # 1.234<whatever> -> 1234<whatever> | ||
| 232 | case "$PACKAGE_VERSION" in | ||
| 233 | -[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;; | ||
| 234 | +[[0-9]].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;; | ||
| 235 | *) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; | ||
| 236 | esac | ||
| 237 | case "$eu_version" in | ||
| 238 | @@ -280,6 +331,6 @@ | ||
| 239 | esac | ||
| 240 | |||
| 241 | # Round up to the next release API (x.y) version. | ||
| 242 | -[eu_version=$[($eu_version + 999) / 1000]] | ||
| 243 | +eu_version=`expr \( $eu_version + 999 \) / 1000` | ||
| 244 | |||
| 245 | AC_OUTPUT | ||
| 246 | Index: elfutils-0.148/lib/ChangeLog | ||
| 247 | =================================================================== | ||
| 248 | --- elfutils-0.148.orig/lib/ChangeLog 2010-06-28 19:05:56.000000000 +0000 | ||
| 249 | +++ elfutils-0.148/lib/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 250 | @@ -14,6 +14,9 @@ | ||
| 251 | |||
| 252 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
| 253 | |||
| 254 | + * eu-config.h [! HAVE_BUILTIN_POPCOUNT] | ||
| 255 | + (__builtin_popcount): New inline function. | ||
| 256 | + | ||
| 257 | * eu-config.h: Add multiple inclusion protection. | ||
| 258 | |||
| 259 | 2009-01-17 Ulrich Drepper <drepper@redhat.com> | ||
| 260 | @@ -70,6 +73,11 @@ | ||
| 261 | * Makefile.am (libeu_a_SOURCES): Add it. | ||
| 262 | * system.h: Declare crc32_file. | ||
| 263 | |||
| 264 | +2005-02-07 Roland McGrath <roland@redhat.com> | ||
| 265 | + | ||
| 266 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 267 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 268 | + | ||
| 269 | 2005-04-30 Ulrich Drepper <drepper@redhat.com> | ||
| 270 | |||
| 271 | * Makefile.am: Use -ffunction-sections for xmalloc.c. | ||
| 272 | Index: elfutils-0.148/lib/eu-config.h | ||
| 273 | =================================================================== | ||
| 274 | --- elfutils-0.148.orig/lib/eu-config.h 2009-08-12 14:23:22.000000000 +0000 | ||
| 275 | +++ elfutils-0.148/lib/eu-config.h 2010-07-03 13:04:07.000000000 +0000 | ||
| 276 | @@ -182,6 +182,17 @@ | ||
| 277 | /* This macro is used by the tests conditionalize for standalone building. */ | ||
| 278 | #define ELFUTILS_HEADER(name) <lib##name.h> | ||
| 279 | |||
| 280 | +#ifndef HAVE_BUILTIN_POPCOUNT | ||
| 281 | +# define __builtin_popcount hakmem_popcount | ||
| 282 | +static inline unsigned int __attribute__ ((unused)) | ||
| 283 | +hakmem_popcount (unsigned int x) | ||
| 284 | +{ | ||
| 285 | + /* HAKMEM 169 */ | ||
| 286 | + unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111); | ||
| 287 | + return ((n + (n >> 3)) & 030707070707) % 63; | ||
| 288 | +} | ||
| 289 | +#endif /* HAVE_BUILTIN_POPCOUNT */ | ||
| 290 | + | ||
| 291 | |||
| 292 | #ifdef SHARED | ||
| 293 | # define OLD_VERSION(name, version) \ | ||
| 294 | Index: elfutils-0.148/libasm/ChangeLog | ||
| 295 | =================================================================== | ||
| 296 | --- elfutils-0.148.orig/libasm/ChangeLog 2010-03-05 05:48:23.000000000 +0000 | ||
| 297 | +++ elfutils-0.148/libasm/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 298 | @@ -67,6 +67,11 @@ | ||
| 299 | * asm_error.c: Add new error ASM_E_IOERROR. | ||
| 300 | * libasmP.h: Add ASM_E_IOERROR definition. | ||
| 301 | |||
| 302 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 303 | + | ||
| 304 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 305 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 306 | + | ||
| 307 | 2005-02-15 Ulrich Drepper <drepper@redhat.com> | ||
| 308 | |||
| 309 | * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. | ||
| 310 | Index: elfutils-0.148/libcpu/ChangeLog | ||
| 311 | =================================================================== | ||
| 312 | --- elfutils-0.148.orig/libcpu/ChangeLog 2010-03-05 05:48:23.000000000 +0000 | ||
| 313 | +++ elfutils-0.148/libcpu/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 314 | @@ -9,6 +9,9 @@ | ||
| 315 | |||
| 316 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
| 317 | |||
| 318 | + * i386_disasm.c (i386_disasm): Add abort after assert-constant for old | ||
| 319 | + compilers that don't realize it's noreturn. | ||
| 320 | + | ||
| 321 | * Makefile.am (i386_parse_CFLAGS): Use quotes around command | ||
| 322 | substitution that can produce leading whitespace. | ||
| 323 | |||
| 324 | @@ -338,6 +341,11 @@ | ||
| 325 | * defs/i386.doc: New file. | ||
| 326 | * defs/x86_64: New file. | ||
| 327 | |||
| 328 | +2005-04-04 Roland McGrath <roland@redhat.com> | ||
| 329 | + | ||
| 330 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 331 | + (AM_CFLAGS): Use it instead of -Wextra. | ||
| 332 | + | ||
| 333 | 2005-02-15 Ulrich Drepper <drepper@redhat.com> | ||
| 334 | |||
| 335 | * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. | ||
| 336 | Index: elfutils-0.148/libcpu/i386_disasm.c | ||
| 337 | =================================================================== | ||
| 338 | --- elfutils-0.148.orig/libcpu/i386_disasm.c 2009-01-08 20:56:36.000000000 +0000 | ||
| 339 | +++ elfutils-0.148/libcpu/i386_disasm.c 2010-07-03 13:04:07.000000000 +0000 | ||
| 340 | @@ -791,6 +791,7 @@ | ||
| 341 | |||
| 342 | default: | ||
| 343 | assert (! "INVALID not handled"); | ||
| 344 | + abort (); | ||
| 345 | } | ||
| 346 | } | ||
| 347 | else | ||
| 348 | Index: elfutils-0.148/libdw/ChangeLog | ||
| 349 | =================================================================== | ||
| 350 | --- elfutils-0.148.orig/libdw/ChangeLog 2010-06-28 19:05:56.000000000 +0000 | ||
| 351 | +++ elfutils-0.148/libdw/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 352 | @@ -276,6 +276,10 @@ | ||
| 353 | |||
| 354 | * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. | ||
| 355 | |||
| 356 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
| 357 | + | ||
| 358 | + * libdw.h: Disable extern inlines for GCC 4.2. | ||
| 359 | + | ||
| 360 | 2009-08-10 Roland McGrath <roland@redhat.com> | ||
| 361 | |||
| 362 | * dwarf_getscopevar.c: Use dwarf_diename. | ||
| 363 | @@ -1044,6 +1048,11 @@ | ||
| 364 | |||
| 365 | 2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 366 | |||
| 367 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 368 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 369 | + | ||
| 370 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 371 | + | ||
| 372 | * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to | ||
| 373 | formref offset. | ||
| 374 | |||
| 375 | Index: elfutils-0.148/libdw/libdw.h | ||
| 376 | =================================================================== | ||
| 377 | --- elfutils-0.148.orig/libdw/libdw.h 2010-06-28 19:05:56.000000000 +0000 | ||
| 378 | +++ elfutils-0.148/libdw/libdw.h 2010-07-03 13:04:07.000000000 +0000 | ||
| 379 | @@ -842,7 +842,7 @@ | ||
| 380 | |||
| 381 | |||
| 382 | /* Inline optimizations. */ | ||
| 383 | -#ifdef __OPTIMIZE__ | ||
| 384 | +#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) | ||
| 385 | /* Return attribute code of given attribute. */ | ||
| 386 | __libdw_extern_inline unsigned int | ||
| 387 | dwarf_whatattr (Dwarf_Attribute *attr) | ||
| 388 | Index: elfutils-0.148/libdwfl/ChangeLog | ||
| 389 | =================================================================== | ||
| 390 | --- elfutils-0.148.orig/libdwfl/ChangeLog 2010-06-28 19:05:56.000000000 +0000 | ||
| 391 | +++ elfutils-0.148/libdwfl/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 392 | @@ -1265,6 +1265,11 @@ | ||
| 393 | |||
| 394 | 2005-07-21 Roland McGrath <roland@redhat.com> | ||
| 395 | |||
| 396 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 397 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 398 | + | ||
| 399 | +2005-07-21 Roland McGrath <roland@redhat.com> | ||
| 400 | + | ||
| 401 | * Makefile.am (noinst_HEADERS): Add loc2c.c. | ||
| 402 | |||
| 403 | * test2.c (main): Check sscanf result to quiet warning. | ||
| 404 | Index: elfutils-0.148/libebl/ChangeLog | ||
| 405 | =================================================================== | ||
| 406 | --- elfutils-0.148.orig/libebl/ChangeLog 2010-03-05 05:48:23.000000000 +0000 | ||
| 407 | +++ elfutils-0.148/libebl/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 408 | @@ -624,6 +624,11 @@ | ||
| 409 | * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency | ||
| 410 | tracking works right. | ||
| 411 | |||
| 412 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 413 | + | ||
| 414 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 415 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 416 | + | ||
| 417 | 2005-05-21 Ulrich Drepper <drepper@redhat.com> | ||
| 418 | |||
| 419 | * libebl_x86_64.map: Add x86_64_core_note. | ||
| 420 | Index: elfutils-0.148/libelf/ChangeLog | ||
| 421 | =================================================================== | ||
| 422 | --- elfutils-0.148.orig/libelf/ChangeLog 2010-06-14 21:17:20.000000000 +0000 | ||
| 423 | +++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:04:07.000000000 +0000 | ||
| 424 | @@ -657,6 +657,11 @@ | ||
| 425 | |||
| 426 | * elf.h: Update from glibc. | ||
| 427 | |||
| 428 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 429 | + | ||
| 430 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 431 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 432 | + | ||
| 433 | 2005-05-08 Roland McGrath <roland@redhat.com> | ||
| 434 | |||
| 435 | * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. | ||
| 436 | Index: elfutils-0.148/libelf/common.h | ||
| 437 | =================================================================== | ||
| 438 | --- elfutils-0.148.orig/libelf/common.h 2009-01-08 20:56:36.000000000 +0000 | ||
| 439 | +++ elfutils-0.148/libelf/common.h 2010-07-03 13:04:07.000000000 +0000 | ||
| 440 | @@ -160,7 +160,7 @@ | ||
| 441 | (Var) = (sizeof (Var) == 1 \ | ||
| 442 | ? (unsigned char) (Var) \ | ||
| 443 | : (sizeof (Var) == 2 \ | ||
| 444 | - ? bswap_16 (Var) \ | ||
| 445 | + ? (unsigned short int) bswap_16 (Var) \ | ||
| 446 | : (sizeof (Var) == 4 \ | ||
| 447 | ? bswap_32 (Var) \ | ||
| 448 | : bswap_64 (Var)))) | ||
| 449 | @@ -169,7 +169,7 @@ | ||
| 450 | (Dst) = (sizeof (Var) == 1 \ | ||
| 451 | ? (unsigned char) (Var) \ | ||
| 452 | : (sizeof (Var) == 2 \ | ||
| 453 | - ? bswap_16 (Var) \ | ||
| 454 | + ? (unsigned short int) bswap_16 (Var) \ | ||
| 455 | : (sizeof (Var) == 4 \ | ||
| 456 | ? bswap_32 (Var) \ | ||
| 457 | : bswap_64 (Var)))) | ||
| 458 | Index: elfutils-0.148/src/addr2line.c | ||
| 459 | =================================================================== | ||
| 460 | --- elfutils-0.148.orig/src/addr2line.c 2010-05-28 14:38:30.000000000 +0000 | ||
| 461 | +++ elfutils-0.148/src/addr2line.c 2010-07-03 13:05:40.000000000 +0000 | ||
| 462 | @@ -447,10 +447,10 @@ | ||
| 463 | bool parsed = false; | ||
| 464 | int i, j; | ||
| 465 | char *name = NULL; | ||
| 466 | - if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
| 467 | + if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
| 468 | && string[i] == '\0') | ||
| 469 | parsed = adjust_to_section (name, &addr, dwfl); | ||
| 470 | - switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
| 471 | + switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
| 472 | { | ||
| 473 | default: | ||
| 474 | break; | ||
| 475 | Index: elfutils-0.148/src/ChangeLog | ||
| 476 | =================================================================== | ||
| 477 | --- elfutils-0.148.orig/src/ChangeLog 2010-06-28 19:05:56.000000000 +0000 | ||
| 478 | +++ elfutils-0.148/src/ChangeLog 2010-07-03 13:04:08.000000000 +0000 | ||
| 479 | @@ -165,8 +165,16 @@ | ||
| 480 | * readelf.c (attr_callback): Use print_block only when we don't use | ||
| 481 | print_ops. | ||
| 482 | |||
| 483 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
| 484 | + | ||
| 485 | + * ld.h: Disable extern inlines for GCC 4.2. | ||
| 486 | + | ||
| 487 | 2009-08-14 Roland McGrath <roland@redhat.com> | ||
| 488 | |||
| 489 | + * strings.c (read_block): Conditionalize posix_fadvise use | ||
| 490 | + on [POSIX_FADV_SEQUENTIAL]. | ||
| 491 | + From Petr Salinger <Petr.Salinger@seznam.cz>. | ||
| 492 | + | ||
| 493 | * ar.c (do_oper_extract): Use pathconf instead of statfs. | ||
| 494 | |||
| 495 | 2009-08-01 Ulrich Drepper <drepper@redhat.com> | ||
| 496 | @@ -330,6 +338,8 @@ | ||
| 497 | * readelf.c (print_debug_frame_section): Use t instead of j formats | ||
| 498 | for ptrdiff_t OFFSET. | ||
| 499 | |||
| 500 | + * addr2line.c (handle_address): Use %a instead of %m for compatibility. | ||
| 501 | + | ||
| 502 | 2009-01-21 Ulrich Drepper <drepper@redhat.com> | ||
| 503 | |||
| 504 | * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section | ||
| 505 | @@ -513,6 +523,11 @@ | ||
| 506 | that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really | ||
| 507 | is valid in RELRO. | ||
| 508 | |||
| 509 | +2008-03-01 Roland McGrath <roland@redhat.com> | ||
| 510 | + | ||
| 511 | + * readelf.c (dump_archive_index): Tweak portability hack | ||
| 512 | + to match [__GNUC__ < 4] too. | ||
| 513 | + | ||
| 514 | 2008-02-29 Roland McGrath <roland@redhat.com> | ||
| 515 | |||
| 516 | * readelf.c (print_attributes): Add a cast. | ||
| 517 | @@ -764,6 +779,8 @@ | ||
| 518 | |||
| 519 | * readelf.c (hex_dump): Fix rounding error in whitespace calculation. | ||
| 520 | |||
| 521 | + * Makefile.am (readelf_no_Werror): New variable. | ||
| 522 | + | ||
| 523 | 2007-10-15 Roland McGrath <roland@redhat.com> | ||
| 524 | |||
| 525 | * make-debug-archive.in: New file. | ||
| 526 | @@ -1203,6 +1220,10 @@ | ||
| 527 | * elflint.c (valid_e_machine): Add EM_ALPHA. | ||
| 528 | Reported by Christian Aichinger <Greek0@gmx.net>. | ||
| 529 | |||
| 530 | + * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to | ||
| 531 | + MADV_SEQUENTIAL if undefined. Don't call posix_madvise | ||
| 532 | + if neither is defined. | ||
| 533 | + | ||
| 534 | 2006-08-08 Ulrich Drepper <drepper@redhat.com> | ||
| 535 | |||
| 536 | * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. | ||
| 537 | @@ -1279,6 +1300,10 @@ | ||
| 538 | * Makefile.am: Add hacks to create dependency files for non-generic | ||
| 539 | linker. | ||
| 540 | |||
| 541 | +2006-04-05 Roland McGrath <roland@redhat.com> | ||
| 542 | + | ||
| 543 | + * strings.c (MAP_POPULATE): Define to 0 if undefined. | ||
| 544 | + | ||
| 545 | 2006-06-12 Ulrich Drepper <drepper@redhat.com> | ||
| 546 | |||
| 547 | * ldgeneric.c (ld_generic_generate_sections): Don't create .interp | ||
| 548 | @@ -1627,6 +1652,11 @@ | ||
| 549 | * readelf.c (print_debug_loc_section): Fix indentation for larger | ||
| 550 | address size. | ||
| 551 | |||
| 552 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 553 | + | ||
| 554 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 555 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 556 | + | ||
| 557 | 2005-05-30 Roland McGrath <roland@redhat.com> | ||
| 558 | |||
| 559 | * readelf.c (print_debug_line_section): Print section offset of each | ||
| 560 | Index: elfutils-0.148/src/findtextrel.c | ||
| 561 | =================================================================== | ||
| 562 | --- elfutils-0.148.orig/src/findtextrel.c 2009-02-11 01:12:59.000000000 +0000 | ||
| 563 | +++ elfutils-0.148/src/findtextrel.c 2010-07-03 13:04:08.000000000 +0000 | ||
| 564 | @@ -490,7 +490,11 @@ | ||
| 565 | |||
| 566 | |||
| 567 | static void | ||
| 568 | -check_rel (size_t nsegments, struct segments segments[nsegments], | ||
| 569 | +check_rel (size_t nsegments, struct segments segments[ | ||
| 570 | +#if __GNUC__ >= 4 | ||
| 571 | + nsegments | ||
| 572 | +#endif | ||
| 573 | + ], | ||
| 574 | GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw, | ||
| 575 | const char *fname, bool more_than_one, void **knownsrcs) | ||
| 576 | { | ||
| 577 | Index: elfutils-0.148/src/ld.h | ||
| 578 | =================================================================== | ||
| 579 | --- elfutils-0.148.orig/src/ld.h 2009-06-13 22:39:51.000000000 +0000 | ||
| 580 | +++ elfutils-0.148/src/ld.h 2010-07-03 13:04:08.000000000 +0000 | ||
| 581 | @@ -1122,6 +1122,7 @@ | ||
| 582 | |||
| 583 | /* Checked whether the symbol is undefined and referenced from a DSO. */ | ||
| 584 | extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx); | ||
| 585 | +#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) | ||
| 586 | #ifdef __GNUC_STDC_INLINE__ | ||
| 587 | __attribute__ ((__gnu_inline__)) | ||
| 588 | #endif | ||
| 589 | @@ -1139,5 +1140,6 @@ | ||
| 590 | |||
| 591 | return sym->defined && sym->in_dso; | ||
| 592 | } | ||
| 593 | +#endif /* Optimizing and not GCC 4.2. */ | ||
| 594 | |||
| 595 | #endif /* ld.h */ | ||
| 596 | Index: elfutils-0.148/src/Makefile.am | ||
| 597 | =================================================================== | ||
| 598 | --- elfutils-0.148.orig/src/Makefile.am 2010-03-05 05:48:23.000000000 +0000 | ||
| 599 | +++ elfutils-0.148/src/Makefile.am 2010-07-03 13:04:08.000000000 +0000 | ||
| 600 | @@ -99,6 +99,9 @@ | ||
| 601 | # XXX While the file is not finished, don't warn about this | ||
| 602 | ldgeneric_no_Wunused = yes | ||
| 603 | |||
| 604 | +# Buggy old compilers. | ||
| 605 | +readelf_no_Werror = yes | ||
| 606 | + | ||
| 607 | readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
| 608 | nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
| 609 | size_LDADD = $(libelf) $(libeu) $(libmudflap) | ||
| 610 | |||
| 611 | Index: elfutils-0.148/src/readelf.c | ||
| 612 | =================================================================== | ||
| 613 | --- elfutils-0.148.orig/src/readelf.c 2010-06-28 19:05:56.000000000 +0000 | ||
| 614 | +++ elfutils-0.148/src/readelf.c 2010-07-03 13:04:08.000000000 +0000 | ||
| 615 | @@ -7845,7 +7845,7 @@ | ||
| 616 | if (unlikely (elf_rand (elf, as_off) == 0) | ||
| 617 | || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf)) | ||
| 618 | == NULL)) | ||
| 619 | -#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) | ||
| 620 | +#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4 | ||
| 621 | while (1) | ||
| 622 | #endif | ||
| 623 | error (EXIT_FAILURE, 0, | ||
| 624 | Index: elfutils-0.148/src/strings.c | ||
| 625 | =================================================================== | ||
| 626 | --- elfutils-0.148.orig/src/strings.c 2009-02-11 01:12:59.000000000 +0000 | ||
| 627 | +++ elfutils-0.148/src/strings.c 2010-07-03 13:04:08.000000000 +0000 | ||
| 628 | @@ -51,6 +51,10 @@ | ||
| 629 | |||
| 630 | #include <system.h> | ||
| 631 | |||
| 632 | +#ifndef MAP_POPULATE | ||
| 633 | +# define MAP_POPULATE 0 | ||
| 634 | +#endif | ||
| 635 | + | ||
| 636 | |||
| 637 | /* Prototypes of local functions. */ | ||
| 638 | static int read_fd (int fd, const char *fname, off64_t fdlen); | ||
| 639 | @@ -491,8 +495,13 @@ | ||
| 640 | fd, start_off); | ||
| 641 | if (mem != MAP_FAILED) | ||
| 642 | { | ||
| 643 | +#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL | ||
| 644 | +# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL | ||
| 645 | +#endif | ||
| 646 | +#ifdef POSIX_MADV_SEQUENTIAL | ||
| 647 | /* We will go through the mapping sequentially. */ | ||
| 648 | (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL); | ||
| 649 | +#endif | ||
| 650 | break; | ||
| 651 | } | ||
| 652 | if (errno != EINVAL && errno != ENOMEM) | ||
| 653 | @@ -586,9 +595,11 @@ | ||
| 654 | elfmap_off = from & ~(ps - 1); | ||
| 655 | elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size); | ||
| 656 | |||
| 657 | +#ifdef POSIX_FADV_SEQUENTIAL | ||
| 658 | if (unlikely (elfmap == MAP_FAILED)) | ||
| 659 | /* Let the kernel know we are going to read everything in sequence. */ | ||
| 660 | (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL); | ||
| 661 | +#endif | ||
| 662 | } | ||
| 663 | |||
| 664 | if (unlikely (elfmap == MAP_FAILED)) | ||
| 665 | Index: elfutils-0.148/src/strip.c | ||
| 666 | =================================================================== | ||
| 667 | --- elfutils-0.148.orig/src/strip.c 2010-01-15 09:05:55.000000000 +0000 | ||
| 668 | +++ elfutils-0.148/src/strip.c 2010-07-03 13:04:08.000000000 +0000 | ||
| 669 | @@ -53,6 +53,12 @@ | ||
| 670 | #include <libebl.h> | ||
| 671 | #include <system.h> | ||
| 672 | |||
| 673 | +#ifdef HAVE_FUTIMES | ||
| 674 | +# define FUTIMES(fd, fname, tvp) futimes (fd, tvp) | ||
| 675 | +#else | ||
| 676 | +# define FUTIMES(fd, fname, tvp) utimes (fname, tvp) | ||
| 677 | +#endif | ||
| 678 | + | ||
| 679 | |||
| 680 | /* Name and version of program. */ | ||
| 681 | static void print_version (FILE *stream, struct argp_state *state); | ||
| 682 | @@ -301,8 +307,18 @@ | ||
| 683 | |||
| 684 | /* If we have to preserve the timestamp, we need it in the | ||
| 685 | format utimes() understands. */ | ||
| 686 | +#ifdef HAVE_STRUCT_STAT_ST_ATIM | ||
| 687 | TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim); | ||
| 688 | +#else | ||
| 689 | + tv[0].tv_sec = pre_st.st_atime; | ||
| 690 | + tv[0].tv_usec = 0; | ||
| 691 | +#endif | ||
| 692 | +#ifdef HAVE_STRUCT_STAT_ST_MTIM | ||
| 693 | TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim); | ||
| 694 | +#else | ||
| 695 | + tv[1].tv_sec = pre_st.st_atime; | ||
| 696 | + tv[1].tv_usec = 0; | ||
| 697 | +#endif | ||
| 698 | } | ||
| 699 | |||
| 700 | /* Open the file. */ | ||
| 701 | @@ -1747,7 +1763,7 @@ | ||
| 702 | /* If requested, preserve the timestamp. */ | ||
| 703 | if (tvp != NULL) | ||
| 704 | { | ||
| 705 | - if (futimes (fd, tvp) != 0) | ||
| 706 | + if (FUTIMES (fd, output_fname, tvp) != 0) | ||
| 707 | { | ||
| 708 | error (0, errno, gettext ("\ | ||
| 709 | cannot set access and modification date of '%s'"), | ||
| 710 | @@ -1804,7 +1820,7 @@ | ||
| 711 | |||
| 712 | if (tvp != NULL) | ||
| 713 | { | ||
| 714 | - if (unlikely (futimes (fd, tvp) != 0)) | ||
| 715 | + if (unlikely (FUTIMES (fd, fname, tvp) != 0)) | ||
| 716 | { | ||
| 717 | error (0, errno, gettext ("\ | ||
| 718 | cannot set access and modification date of '%s'"), fname); | ||
| 719 | Index: elfutils-0.148/tests/ChangeLog | ||
| 720 | =================================================================== | ||
| 721 | --- elfutils-0.148.orig/tests/ChangeLog 2010-06-28 19:05:56.000000000 +0000 | ||
| 722 | +++ elfutils-0.148/tests/ChangeLog 2010-07-03 13:04:08.000000000 +0000 | ||
| 723 | @@ -154,6 +154,8 @@ | ||
| 724 | |||
| 725 | 2008-01-21 Roland McGrath <roland@redhat.com> | ||
| 726 | |||
| 727 | + * line2addr.c (main): Revert last change. | ||
| 728 | + | ||
| 729 | * testfile45.S.bz2: Add tests for cltq, cqto. | ||
| 730 | * testfile45.expect.bz2: Adjust. | ||
| 731 | |||
| 732 | @@ -862,6 +864,11 @@ | ||
| 733 | * Makefile.am (TESTS): Add run-elflint-test.sh. | ||
| 734 | (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. | ||
| 735 | |||
| 736 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
| 737 | + | ||
| 738 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
| 739 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
| 740 | + | ||
| 741 | 2005-05-24 Ulrich Drepper <drepper@redhat.com> | ||
| 742 | |||
| 743 | * get-files.c (main): Use correct format specifier. | ||
| 744 | Index: elfutils-0.148/tests/line2addr.c | ||
| 745 | =================================================================== | ||
| 746 | --- elfutils-0.148.orig/tests/line2addr.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 747 | +++ elfutils-0.148/tests/line2addr.c 2010-07-03 13:04:08.000000000 +0000 | ||
| 748 | @@ -132,7 +132,7 @@ | ||
| 749 | { | ||
| 750 | struct args a = { .arg = argv[cnt] }; | ||
| 751 | |||
| 752 | - switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) | ||
| 753 | + switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) | ||
| 754 | { | ||
| 755 | default: | ||
| 756 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Index: elfutils-0.148/libelf/ChangeLog | ||
| 4 | =================================================================== | ||
| 5 | --- elfutils-0.148.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000 | ||
| 6 | +++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000 | ||
| 7 | @@ -649,10 +649,53 @@ | ||
| 8 | If section content hasn't been read yet, do it before looking for the | ||
| 9 | block size. If no section data present, infer size of section header. | ||
| 10 | |||
| 11 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
| 12 | + | ||
| 13 | + * libelfP.h (INVALID_NDX): Define. | ||
| 14 | + * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any. | ||
| 15 | + * gelf_getlib.c (gelf_getlib): Likewise. | ||
| 16 | + * gelf_getmove.c (gelf_getmove): Likewise. | ||
| 17 | + * gelf_getrel.c (gelf_getrel): Likewise. | ||
| 18 | + * gelf_getrela.c (gelf_getrela): Likewise. | ||
| 19 | + * gelf_getsym.c (gelf_getsym): Likewise. | ||
| 20 | + * gelf_getsyminfo.c (gelf_getsyminfo): Likewise. | ||
| 21 | + * gelf_getsymshndx.c (gelf_getsymshndx): Likewise. | ||
| 22 | + * gelf_getversym.c (gelf_getversym): Likewise. | ||
| 23 | + * gelf_update_dyn.c (gelf_update_dyn): Likewise. | ||
| 24 | + * gelf_update_lib.c (gelf_update_lib): Likewise. | ||
| 25 | + * gelf_update_move.c (gelf_update_move): Likewise. | ||
| 26 | + * gelf_update_rel.c (gelf_update_rel): Likewise. | ||
| 27 | + * gelf_update_rela.c (gelf_update_rela): Likewise. | ||
| 28 | + * gelf_update_sym.c (gelf_update_sym): Likewise. | ||
| 29 | + * gelf_update_syminfo.c (gelf_update_syminfo): Likewise. | ||
| 30 | + * gelf_update_symshndx.c (gelf_update_symshndx): Likewise. | ||
| 31 | + * gelf_update_versym.c (gelf_update_versym): Likewise. | ||
| 32 | + * elf_newscn.c (elf_newscn): Check for overflow. | ||
| 33 | + * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. | ||
| 34 | + (__elfw2(LIBELFBITS,updatefile)): Likewise. | ||
| 35 | + * elf_begin.c (file_read_elf): Likewise. | ||
| 36 | + * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. | ||
| 37 | + * elf_getarsym.c (elf_getarsym): Likewise. | ||
| 38 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise. | ||
| 39 | 2005-05-11 Ulrich Drepper <drepper@redhat.com> | ||
| 40 | |||
| 41 | * elf.h: Update again. | ||
| 42 | |||
| 43 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
| 44 | + | ||
| 45 | + * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header | ||
| 46 | + table fits into object's bounds. | ||
| 47 | + * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to | ||
| 48 | + elf->map_address. Check if first section header fits into object's | ||
| 49 | + bounds. | ||
| 50 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): | ||
| 51 | + Check if section header table fits into object's bounds. | ||
| 52 | + * elf_begin.c (get_shnum): Ensure section headers fits into | ||
| 53 | + object's bounds. | ||
| 54 | + (file_read_elf): Make sure scncnt is small enough to allocate both | ||
| 55 | + ElfXX_Shdr and Elf_Scn array. Make sure section and program header | ||
| 56 | + tables fit into object's bounds. Avoid memory leak on failure. | ||
| 57 | + | ||
| 58 | 2005-05-09 Ulrich Drepper <drepper@redhat.com> | ||
| 59 | |||
| 60 | * elf.h: Update from glibc. | ||
| 61 | Index: elfutils-0.148/libelf/elf32_getphdr.c | ||
| 62 | =================================================================== | ||
| 63 | --- elfutils-0.148.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000 | ||
| 64 | +++ elfutils-0.148/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 65 | @@ -114,6 +114,16 @@ | ||
| 66 | |||
| 67 | if (elf->map_address != NULL) | ||
| 68 | { | ||
| 69 | + /* First see whether the information in the ELF header is | ||
| 70 | + valid and it does not ask for too much. */ | ||
| 71 | + if (unlikely (ehdr->e_phoff >= elf->maximum_size) | ||
| 72 | + || unlikely (elf->maximum_size - ehdr->e_phoff < size)) | ||
| 73 | + { | ||
| 74 | + /* Something is wrong. */ | ||
| 75 | + __libelf_seterrno (ELF_E_INVALID_PHDR); | ||
| 76 | + goto out; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | /* All the data is already mapped. Use it. */ | ||
| 80 | void *file_phdr = ((char *) elf->map_address | ||
| 81 | + elf->start_offset + ehdr->e_phoff); | ||
| 82 | Index: elfutils-0.148/libelf/elf32_getshdr.c | ||
| 83 | =================================================================== | ||
| 84 | --- elfutils-0.148.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000 | ||
| 85 | +++ elfutils-0.148/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 86 | @@ -1,5 +1,5 @@ | ||
| 87 | /* Return section header. | ||
| 88 | - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc. | ||
| 89 | + Copyright (C) 1998-2009 Red Hat, Inc. | ||
| 90 | This file is part of Red Hat elfutils. | ||
| 91 | Written by Ulrich Drepper <drepper@redhat.com>, 1998. | ||
| 92 | |||
| 93 | @@ -81,7 +81,8 @@ | ||
| 94 | goto out; | ||
| 95 | |||
| 96 | size_t shnum; | ||
| 97 | - if (__elf_getshdrnum_rdlock (elf, &shnum) != 0) | ||
| 98 | + if (__elf_getshdrnum_rdlock (elf, &shnum) != 0 | ||
| 99 | + || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr))) | ||
| 100 | goto out; | ||
| 101 | size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr)); | ||
| 102 | |||
| 103 | @@ -98,6 +99,16 @@ | ||
| 104 | |||
| 105 | if (elf->map_address != NULL) | ||
| 106 | { | ||
| 107 | + /* First see whether the information in the ELF header is | ||
| 108 | + valid and it does not ask for too much. */ | ||
| 109 | + if (unlikely (ehdr->e_shoff >= elf->maximum_size) | ||
| 110 | + || unlikely (elf->maximum_size - ehdr->e_shoff < size)) | ||
| 111 | + { | ||
| 112 | + /* Something is wrong. */ | ||
| 113 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
| 114 | + goto free_and_out; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | ElfW2(LIBELFBITS,Shdr) *notcvt; | ||
| 118 | |||
| 119 | /* All the data is already mapped. If we could use it | ||
| 120 | Index: elfutils-0.148/libelf/elf32_newphdr.c | ||
| 121 | =================================================================== | ||
| 122 | --- elfutils-0.148.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000 | ||
| 123 | +++ elfutils-0.148/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 124 | @@ -135,6 +135,12 @@ | ||
| 125 | || count == PN_XNUM | ||
| 126 | || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL) | ||
| 127 | { | ||
| 128 | + if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr)))) | ||
| 129 | + { | ||
| 130 | + result = NULL; | ||
| 131 | + goto out; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | /* Allocate a new program header with the appropriate number of | ||
| 135 | elements. */ | ||
| 136 | result = (ElfW2(LIBELFBITS,Phdr) *) | ||
| 137 | Index: elfutils-0.148/libelf/elf32_updatefile.c | ||
| 138 | =================================================================== | ||
| 139 | --- elfutils-0.148.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000 | ||
| 140 | +++ elfutils-0.148/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 141 | @@ -223,6 +223,9 @@ | ||
| 142 | /* Write all the sections. Well, only those which are modified. */ | ||
| 143 | if (shnum > 0) | ||
| 144 | { | ||
| 145 | + if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *))) | ||
| 146 | + return 1; | ||
| 147 | + | ||
| 148 | Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns; | ||
| 149 | Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *)); | ||
| 150 | char *const shdr_start = ((char *) elf->map_address + elf->start_offset | ||
| 151 | @@ -645,6 +648,10 @@ | ||
| 152 | /* Write all the sections. Well, only those which are modified. */ | ||
| 153 | if (shnum > 0) | ||
| 154 | { | ||
| 155 | + if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *) | ||
| 156 | + + sizeof (ElfW2(LIBELFBITS,Shdr))))) | ||
| 157 | + return 1; | ||
| 158 | + | ||
| 159 | off_t shdr_offset = elf->start_offset + ehdr->e_shoff; | ||
| 160 | #if EV_NUM != 2 | ||
| 161 | xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR]; | ||
| 162 | Index: elfutils-0.148/libelf/elf_begin.c | ||
| 163 | =================================================================== | ||
| 164 | --- elfutils-0.148.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000 | ||
| 165 | +++ elfutils-0.148/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 166 | @@ -165,7 +165,8 @@ | ||
| 167 | |||
| 168 | if (unlikely (result == 0) && ehdr.e32->e_shoff != 0) | ||
| 169 | { | ||
| 170 | - if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize) | ||
| 171 | + if (unlikely (ehdr.e32->e_shoff >= maxsize) | ||
| 172 | + || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr))) | ||
| 173 | /* Cannot read the first section header. */ | ||
| 174 | return 0; | ||
| 175 | |||
| 176 | @@ -213,7 +214,8 @@ | ||
| 177 | |||
| 178 | if (unlikely (result == 0) && ehdr.e64->e_shoff != 0) | ||
| 179 | { | ||
| 180 | - if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize) | ||
| 181 | + if (unlikely (ehdr.e64->e_shoff >= maxsize) | ||
| 182 | + || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)) | ||
| 183 | /* Cannot read the first section header. */ | ||
| 184 | return 0; | ||
| 185 | |||
| 186 | @@ -285,6 +287,15 @@ | ||
| 187 | /* Could not determine the number of sections. */ | ||
| 188 | return NULL; | ||
| 189 | |||
| 190 | + /* Check for too many sections. */ | ||
| 191 | + if (e_ident[EI_CLASS] == ELFCLASS32) | ||
| 192 | + { | ||
| 193 | + if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr))) | ||
| 194 | + return NULL; | ||
| 195 | + } | ||
| 196 | + else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr))) | ||
| 197 | + return NULL; | ||
| 198 | + | ||
| 199 | /* We can now allocate the memory. Even if there are no section headers, | ||
| 200 | we allocate space for a zeroth section in case we need it later. */ | ||
| 201 | const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP) | ||
| 202 | @@ -324,6 +335,16 @@ | ||
| 203 | { | ||
| 204 | /* We can use the mmapped memory. */ | ||
| 205 | elf->state.elf32.ehdr = ehdr; | ||
| 206 | + | ||
| 207 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
| 208 | + || unlikely (maxsize - ehdr->e_shoff | ||
| 209 | + < scncnt * sizeof (Elf32_Shdr))) | ||
| 210 | + { | ||
| 211 | + free_and_out: | ||
| 212 | + free (elf); | ||
| 213 | + __libelf_seterrno (ELF_E_INVALID_FILE); | ||
| 214 | + return NULL; | ||
| 215 | + } | ||
| 216 | elf->state.elf32.shdr | ||
| 217 | = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
| 218 | |||
| 219 | @@ -410,6 +431,11 @@ | ||
| 220 | { | ||
| 221 | /* We can use the mmapped memory. */ | ||
| 222 | elf->state.elf64.ehdr = ehdr; | ||
| 223 | + | ||
| 224 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
| 225 | + || unlikely (ehdr->e_shoff | ||
| 226 | + + scncnt * sizeof (Elf32_Shdr) > maxsize)) | ||
| 227 | + goto free_and_out; | ||
| 228 | elf->state.elf64.shdr | ||
| 229 | = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
| 230 | |||
| 231 | Index: elfutils-0.148/libelf/elf_getarsym.c | ||
| 232 | =================================================================== | ||
| 233 | --- elfutils-0.148.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 234 | +++ elfutils-0.148/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 235 | @@ -179,6 +179,9 @@ | ||
| 236 | size_t index_size = atol (tmpbuf); | ||
| 237 | |||
| 238 | if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size | ||
| 239 | +#if SIZE_MAX <= 4294967295U | ||
| 240 | + || n >= SIZE_MAX / sizeof (Elf_Arsym) | ||
| 241 | +#endif | ||
| 242 | || n * sizeof (uint32_t) > index_size) | ||
| 243 | { | ||
| 244 | /* This index table cannot be right since it does not fit into | ||
| 245 | Index: elfutils-0.148/libelf/elf_getshdrstrndx.c | ||
| 246 | =================================================================== | ||
| 247 | --- elfutils-0.148.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000 | ||
| 248 | +++ elfutils-0.148/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 249 | @@ -125,10 +125,25 @@ | ||
| 250 | if (elf->map_address != NULL | ||
| 251 | && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
| 252 | && (ALLOW_UNALIGNED | ||
| 253 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
| 254 | + || (((size_t) ((char *) elf->map_address | ||
| 255 | + + elf->start_offset + offset)) | ||
| 256 | & (__alignof__ (Elf32_Shdr) - 1)) == 0)) | ||
| 257 | - /* We can directly access the memory. */ | ||
| 258 | - num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link; | ||
| 259 | + { | ||
| 260 | + /* First see whether the information in the ELF header is | ||
| 261 | + valid and it does not ask for too much. */ | ||
| 262 | + if (unlikely (elf->maximum_size - offset | ||
| 263 | + < sizeof (Elf32_Shdr))) | ||
| 264 | + { | ||
| 265 | + /* Something is wrong. */ | ||
| 266 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
| 267 | + result = -1; | ||
| 268 | + goto out; | ||
| 269 | + } | ||
| 270 | + | ||
| 271 | + /* We can directly access the memory. */ | ||
| 272 | + num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset | ||
| 273 | + + offset))->sh_link; | ||
| 274 | + } | ||
| 275 | else | ||
| 276 | { | ||
| 277 | /* We avoid reading in all the section headers. Just read | ||
| 278 | @@ -163,10 +178,25 @@ | ||
| 279 | if (elf->map_address != NULL | ||
| 280 | && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
| 281 | && (ALLOW_UNALIGNED | ||
| 282 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
| 283 | + || (((size_t) ((char *) elf->map_address | ||
| 284 | + + elf->start_offset + offset)) | ||
| 285 | & (__alignof__ (Elf64_Shdr) - 1)) == 0)) | ||
| 286 | - /* We can directly access the memory. */ | ||
| 287 | - num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link; | ||
| 288 | + { | ||
| 289 | + /* First see whether the information in the ELF header is | ||
| 290 | + valid and it does not ask for too much. */ | ||
| 291 | + if (unlikely (elf->maximum_size - offset | ||
| 292 | + < sizeof (Elf64_Shdr))) | ||
| 293 | + { | ||
| 294 | + /* Something is wrong. */ | ||
| 295 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
| 296 | + result = -1; | ||
| 297 | + goto out; | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + /* We can directly access the memory. */ | ||
| 301 | + num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset | ||
| 302 | + + offset))->sh_link; | ||
| 303 | + } | ||
| 304 | else | ||
| 305 | { | ||
| 306 | /* We avoid reading in all the section headers. Just read | ||
| 307 | Index: elfutils-0.148/libelf/elf_newscn.c | ||
| 308 | =================================================================== | ||
| 309 | --- elfutils-0.148.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 310 | +++ elfutils-0.148/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 311 | @@ -104,10 +104,18 @@ | ||
| 312 | else | ||
| 313 | { | ||
| 314 | /* We must allocate a new element. */ | ||
| 315 | - Elf_ScnList *newp; | ||
| 316 | + Elf_ScnList *newp = NULL; | ||
| 317 | |||
| 318 | assert (elf->state.elf.scnincr > 0); | ||
| 319 | |||
| 320 | + if ( | ||
| 321 | +#if SIZE_MAX <= 4294967295U | ||
| 322 | + likely (elf->state.elf.scnincr | ||
| 323 | + < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList)) | ||
| 324 | +#else | ||
| 325 | + 1 | ||
| 326 | +#endif | ||
| 327 | + ) | ||
| 328 | newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList) | ||
| 329 | + ((elf->state.elf.scnincr *= 2) | ||
| 330 | * sizeof (Elf_Scn)), 1); | ||
| 331 | Index: elfutils-0.148/libelf/gelf_getdyn.c | ||
| 332 | =================================================================== | ||
| 333 | --- elfutils-0.148.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 334 | +++ elfutils-0.148/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 335 | @@ -1,5 +1,5 @@ | ||
| 336 | /* Get information from dynamic table at the given index. | ||
| 337 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 338 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 339 | This file is part of Red Hat elfutils. | ||
| 340 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 341 | |||
| 342 | @@ -93,7 +93,7 @@ | ||
| 343 | table entries has to be adopted. The user better has provided | ||
| 344 | a buffer where we can store the information. While copying the | ||
| 345 | data we are converting the format. */ | ||
| 346 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
| 347 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
| 348 | { | ||
| 349 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 350 | goto out; | ||
| 351 | @@ -114,7 +114,7 @@ | ||
| 352 | |||
| 353 | /* The data is already in the correct form. Just make sure the | ||
| 354 | index is OK. */ | ||
| 355 | - if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size)) | ||
| 356 | + if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d)) | ||
| 357 | { | ||
| 358 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 359 | goto out; | ||
| 360 | Index: elfutils-0.148/libelf/gelf_getlib.c | ||
| 361 | =================================================================== | ||
| 362 | --- elfutils-0.148.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 363 | +++ elfutils-0.148/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 364 | @@ -1,5 +1,5 @@ | ||
| 365 | /* Get library from table at the given index. | ||
| 366 | - Copyright (C) 2004 Red Hat, Inc. | ||
| 367 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
| 368 | This file is part of Red Hat elfutils. | ||
| 369 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
| 370 | |||
| 371 | @@ -86,7 +86,7 @@ | ||
| 372 | /* The data is already in the correct form. Just make sure the | ||
| 373 | index is OK. */ | ||
| 374 | GElf_Lib *result = NULL; | ||
| 375 | - if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size)) | ||
| 376 | + if (INVALID_NDX (ndx, GElf_Lib, data)) | ||
| 377 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 378 | else | ||
| 379 | { | ||
| 380 | Index: elfutils-0.148/libelf/gelf_getmove.c | ||
| 381 | =================================================================== | ||
| 382 | --- elfutils-0.148.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 383 | +++ elfutils-0.148/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 384 | @@ -1,5 +1,5 @@ | ||
| 385 | /* Get move structure at the given index. | ||
| 386 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 387 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 388 | This file is part of Red Hat elfutils. | ||
| 389 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 390 | |||
| 391 | @@ -83,7 +83,7 @@ | ||
| 392 | |||
| 393 | /* The data is already in the correct form. Just make sure the | ||
| 394 | index is OK. */ | ||
| 395 | - if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size)) | ||
| 396 | + if (INVALID_NDX (ndx, GElf_Move, data)) | ||
| 397 | { | ||
| 398 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 399 | goto out; | ||
| 400 | Index: elfutils-0.148/libelf/gelf_getrela.c | ||
| 401 | =================================================================== | ||
| 402 | --- elfutils-0.148.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 403 | +++ elfutils-0.148/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 404 | @@ -1,5 +1,5 @@ | ||
| 405 | /* Get RELA relocation information at given index. | ||
| 406 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 407 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 408 | This file is part of Red Hat elfutils. | ||
| 409 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 410 | |||
| 411 | @@ -71,12 +71,6 @@ | ||
| 412 | if (data_scn == NULL) | ||
| 413 | return NULL; | ||
| 414 | |||
| 415 | - if (unlikely (ndx < 0)) | ||
| 416 | - { | ||
| 417 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 418 | - return NULL; | ||
| 419 | - } | ||
| 420 | - | ||
| 421 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
| 422 | { | ||
| 423 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
| 424 | @@ -93,7 +87,7 @@ | ||
| 425 | if (scn->elf->class == ELFCLASS32) | ||
| 426 | { | ||
| 427 | /* We have to convert the data. */ | ||
| 428 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
| 429 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
| 430 | { | ||
| 431 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 432 | result = NULL; | ||
| 433 | @@ -114,7 +108,7 @@ | ||
| 434 | { | ||
| 435 | /* Simply copy the data after we made sure we are actually getting | ||
| 436 | correct data. */ | ||
| 437 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
| 438 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
| 439 | { | ||
| 440 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 441 | result = NULL; | ||
| 442 | Index: elfutils-0.148/libelf/gelf_getrel.c | ||
| 443 | =================================================================== | ||
| 444 | --- elfutils-0.148.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 445 | +++ elfutils-0.148/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 446 | @@ -1,5 +1,5 @@ | ||
| 447 | /* Get REL relocation information at given index. | ||
| 448 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 449 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 450 | This file is part of Red Hat elfutils. | ||
| 451 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 452 | |||
| 453 | @@ -71,12 +71,6 @@ | ||
| 454 | if (data_scn == NULL) | ||
| 455 | return NULL; | ||
| 456 | |||
| 457 | - if (unlikely (ndx < 0)) | ||
| 458 | - { | ||
| 459 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 460 | - return NULL; | ||
| 461 | - } | ||
| 462 | - | ||
| 463 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
| 464 | { | ||
| 465 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
| 466 | @@ -93,7 +87,7 @@ | ||
| 467 | if (scn->elf->class == ELFCLASS32) | ||
| 468 | { | ||
| 469 | /* We have to convert the data. */ | ||
| 470 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
| 471 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
| 472 | { | ||
| 473 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 474 | result = NULL; | ||
| 475 | @@ -113,7 +107,7 @@ | ||
| 476 | { | ||
| 477 | /* Simply copy the data after we made sure we are actually getting | ||
| 478 | correct data. */ | ||
| 479 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
| 480 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
| 481 | { | ||
| 482 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 483 | result = NULL; | ||
| 484 | Index: elfutils-0.148/libelf/gelf_getsym.c | ||
| 485 | =================================================================== | ||
| 486 | --- elfutils-0.148.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 487 | +++ elfutils-0.148/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 488 | @@ -1,5 +1,5 @@ | ||
| 489 | /* Get symbol information from symbol table at the given index. | ||
| 490 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
| 491 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
| 492 | This file is part of Red Hat elfutils. | ||
| 493 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
| 494 | |||
| 495 | @@ -90,7 +90,7 @@ | ||
| 496 | table entries has to be adopted. The user better has provided | ||
| 497 | a buffer where we can store the information. While copying the | ||
| 498 | data we are converting the format. */ | ||
| 499 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size)) | ||
| 500 | + if (INVALID_NDX (ndx, Elf32_Sym, data)) | ||
| 501 | { | ||
| 502 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 503 | goto out; | ||
| 504 | @@ -119,7 +119,7 @@ | ||
| 505 | |||
| 506 | /* The data is already in the correct form. Just make sure the | ||
| 507 | index is OK. */ | ||
| 508 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size)) | ||
| 509 | + if (INVALID_NDX (ndx, GElf_Sym, data)) | ||
| 510 | { | ||
| 511 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 512 | goto out; | ||
| 513 | Index: elfutils-0.148/libelf/gelf_getsyminfo.c | ||
| 514 | =================================================================== | ||
| 515 | --- elfutils-0.148.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 516 | +++ elfutils-0.148/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 517 | @@ -1,5 +1,5 @@ | ||
| 518 | /* Get additional symbol information from symbol table at the given index. | ||
| 519 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 520 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 521 | This file is part of Red Hat elfutils. | ||
| 522 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 523 | |||
| 524 | @@ -84,7 +84,7 @@ | ||
| 525 | |||
| 526 | /* The data is already in the correct form. Just make sure the | ||
| 527 | index is OK. */ | ||
| 528 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size)) | ||
| 529 | + if (INVALID_NDX (ndx, GElf_Syminfo, data)) | ||
| 530 | { | ||
| 531 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 532 | goto out; | ||
| 533 | Index: elfutils-0.148/libelf/gelf_getsymshndx.c | ||
| 534 | =================================================================== | ||
| 535 | --- elfutils-0.148.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 536 | +++ elfutils-0.148/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 537 | @@ -1,6 +1,6 @@ | ||
| 538 | /* Get symbol information and separate section index from symbol table | ||
| 539 | at the given index. | ||
| 540 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 541 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 542 | This file is part of Red Hat elfutils. | ||
| 543 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 544 | |||
| 545 | @@ -90,7 +90,7 @@ | ||
| 546 | section index table. */ | ||
| 547 | if (likely (shndxdata_scn != NULL)) | ||
| 548 | { | ||
| 549 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size)) | ||
| 550 | + if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d)) | ||
| 551 | { | ||
| 552 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 553 | goto out; | ||
| 554 | @@ -110,7 +110,7 @@ | ||
| 555 | table entries has to be adopted. The user better has provided | ||
| 556 | a buffer where we can store the information. While copying the | ||
| 557 | data we are converting the format. */ | ||
| 558 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size)) | ||
| 559 | + if (INVALID_NDX (ndx, Elf32_Sym, symdata)) | ||
| 560 | { | ||
| 561 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 562 | goto out; | ||
| 563 | @@ -139,7 +139,7 @@ | ||
| 564 | |||
| 565 | /* The data is already in the correct form. Just make sure the | ||
| 566 | index is OK. */ | ||
| 567 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size)) | ||
| 568 | + if (INVALID_NDX (ndx, GElf_Sym, symdata)) | ||
| 569 | { | ||
| 570 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 571 | goto out; | ||
| 572 | Index: elfutils-0.148/libelf/gelf_getversym.c | ||
| 573 | =================================================================== | ||
| 574 | --- elfutils-0.148.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 575 | +++ elfutils-0.148/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 576 | @@ -1,5 +1,5 @@ | ||
| 577 | /* Get symbol version information at the given index. | ||
| 578 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
| 579 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
| 580 | This file is part of Red Hat elfutils. | ||
| 581 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
| 582 | |||
| 583 | @@ -92,7 +92,7 @@ | ||
| 584 | |||
| 585 | /* The data is already in the correct form. Just make sure the | ||
| 586 | index is OK. */ | ||
| 587 | - if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size)) | ||
| 588 | + if (INVALID_NDX (ndx, GElf_Versym, data)) | ||
| 589 | { | ||
| 590 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 591 | result = NULL; | ||
| 592 | Index: elfutils-0.148/libelf/gelf_update_dyn.c | ||
| 593 | =================================================================== | ||
| 594 | --- elfutils-0.148.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 595 | +++ elfutils-0.148/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 596 | @@ -1,5 +1,5 @@ | ||
| 597 | /* Update information in dynamic table at the given index. | ||
| 598 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 599 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 600 | This file is part of Red Hat elfutils. | ||
| 601 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 602 | |||
| 603 | @@ -71,12 +71,6 @@ | ||
| 604 | if (data == NULL) | ||
| 605 | return 0; | ||
| 606 | |||
| 607 | - if (unlikely (ndx < 0)) | ||
| 608 | - { | ||
| 609 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 610 | - return 0; | ||
| 611 | - } | ||
| 612 | - | ||
| 613 | if (unlikely (data_scn->d.d_type != ELF_T_DYN)) | ||
| 614 | { | ||
| 615 | /* The type of the data better should match. */ | ||
| 616 | @@ -102,7 +96,7 @@ | ||
| 617 | } | ||
| 618 | |||
| 619 | /* Check whether we have to resize the data buffer. */ | ||
| 620 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
| 621 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
| 622 | { | ||
| 623 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 624 | goto out; | ||
| 625 | @@ -116,7 +110,7 @@ | ||
| 626 | else | ||
| 627 | { | ||
| 628 | /* Check whether we have to resize the data buffer. */ | ||
| 629 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size)) | ||
| 630 | + if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d)) | ||
| 631 | { | ||
| 632 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 633 | goto out; | ||
| 634 | Index: elfutils-0.148/libelf/gelf_update_lib.c | ||
| 635 | =================================================================== | ||
| 636 | --- elfutils-0.148.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 637 | +++ elfutils-0.148/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 638 | @@ -1,5 +1,5 @@ | ||
| 639 | /* Update library in table at the given index. | ||
| 640 | - Copyright (C) 2004 Red Hat, Inc. | ||
| 641 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
| 642 | This file is part of Red Hat elfutils. | ||
| 643 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
| 644 | |||
| 645 | @@ -68,12 +68,6 @@ | ||
| 646 | if (data == NULL) | ||
| 647 | return 0; | ||
| 648 | |||
| 649 | - if (unlikely (ndx < 0)) | ||
| 650 | - { | ||
| 651 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 652 | - return 0; | ||
| 653 | - } | ||
| 654 | - | ||
| 655 | Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data; | ||
| 656 | if (unlikely (data_scn->d.d_type != ELF_T_LIB)) | ||
| 657 | { | ||
| 658 | @@ -87,7 +81,7 @@ | ||
| 659 | |||
| 660 | /* Check whether we have to resize the data buffer. */ | ||
| 661 | int result = 0; | ||
| 662 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size)) | ||
| 663 | + if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d)) | ||
| 664 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 665 | else | ||
| 666 | { | ||
| 667 | Index: elfutils-0.148/libelf/gelf_update_move.c | ||
| 668 | =================================================================== | ||
| 669 | --- elfutils-0.148.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 670 | +++ elfutils-0.148/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 671 | @@ -1,5 +1,5 @@ | ||
| 672 | /* Update move structure at the given index. | ||
| 673 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 674 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 675 | This file is part of Red Hat elfutils. | ||
| 676 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 677 | |||
| 678 | @@ -75,8 +75,7 @@ | ||
| 679 | assert (sizeof (GElf_Move) == sizeof (Elf64_Move)); | ||
| 680 | |||
| 681 | /* Check whether we have to resize the data buffer. */ | ||
| 682 | - if (unlikely (ndx < 0) | ||
| 683 | - || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size)) | ||
| 684 | + if (INVALID_NDX (ndx, GElf_Move, &data_scn->d)) | ||
| 685 | { | ||
| 686 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 687 | return 0; | ||
| 688 | Index: elfutils-0.148/libelf/gelf_update_rela.c | ||
| 689 | =================================================================== | ||
| 690 | --- elfutils-0.148.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 691 | +++ elfutils-0.148/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 692 | @@ -1,5 +1,5 @@ | ||
| 693 | /* Update RELA relocation information at given index. | ||
| 694 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 695 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 696 | This file is part of Red Hat elfutils. | ||
| 697 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 698 | |||
| 699 | @@ -68,12 +68,6 @@ | ||
| 700 | if (dst == NULL) | ||
| 701 | return 0; | ||
| 702 | |||
| 703 | - if (unlikely (ndx < 0)) | ||
| 704 | - { | ||
| 705 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 706 | - return 0; | ||
| 707 | - } | ||
| 708 | - | ||
| 709 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
| 710 | { | ||
| 711 | /* The type of the data better should match. */ | ||
| 712 | @@ -101,7 +95,7 @@ | ||
| 713 | } | ||
| 714 | |||
| 715 | /* Check whether we have to resize the data buffer. */ | ||
| 716 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
| 717 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
| 718 | { | ||
| 719 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 720 | goto out; | ||
| 721 | @@ -117,7 +111,7 @@ | ||
| 722 | else | ||
| 723 | { | ||
| 724 | /* Check whether we have to resize the data buffer. */ | ||
| 725 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
| 726 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
| 727 | { | ||
| 728 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 729 | goto out; | ||
| 730 | Index: elfutils-0.148/libelf/gelf_update_rel.c | ||
| 731 | =================================================================== | ||
| 732 | --- elfutils-0.148.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 733 | +++ elfutils-0.148/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 734 | @@ -1,5 +1,5 @@ | ||
| 735 | /* Update REL relocation information at given index. | ||
| 736 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 737 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 738 | This file is part of Red Hat elfutils. | ||
| 739 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 740 | |||
| 741 | @@ -68,12 +68,6 @@ | ||
| 742 | if (dst == NULL) | ||
| 743 | return 0; | ||
| 744 | |||
| 745 | - if (unlikely (ndx < 0)) | ||
| 746 | - { | ||
| 747 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 748 | - return 0; | ||
| 749 | - } | ||
| 750 | - | ||
| 751 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
| 752 | { | ||
| 753 | /* The type of the data better should match. */ | ||
| 754 | @@ -99,7 +93,7 @@ | ||
| 755 | } | ||
| 756 | |||
| 757 | /* Check whether we have to resize the data buffer. */ | ||
| 758 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
| 759 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
| 760 | { | ||
| 761 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 762 | goto out; | ||
| 763 | @@ -114,7 +108,7 @@ | ||
| 764 | else | ||
| 765 | { | ||
| 766 | /* Check whether we have to resize the data buffer. */ | ||
| 767 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
| 768 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
| 769 | { | ||
| 770 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 771 | goto out; | ||
| 772 | Index: elfutils-0.148/libelf/gelf_update_sym.c | ||
| 773 | =================================================================== | ||
| 774 | --- elfutils-0.148.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 775 | +++ elfutils-0.148/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 776 | @@ -1,5 +1,5 @@ | ||
| 777 | /* Update symbol information in symbol table at the given index. | ||
| 778 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 779 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 780 | This file is part of Red Hat elfutils. | ||
| 781 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 782 | |||
| 783 | @@ -72,12 +72,6 @@ | ||
| 784 | if (data == NULL) | ||
| 785 | return 0; | ||
| 786 | |||
| 787 | - if (unlikely (ndx < 0)) | ||
| 788 | - { | ||
| 789 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 790 | - return 0; | ||
| 791 | - } | ||
| 792 | - | ||
| 793 | if (unlikely (data_scn->d.d_type != ELF_T_SYM)) | ||
| 794 | { | ||
| 795 | /* The type of the data better should match. */ | ||
| 796 | @@ -102,7 +96,7 @@ | ||
| 797 | } | ||
| 798 | |||
| 799 | /* Check whether we have to resize the data buffer. */ | ||
| 800 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size)) | ||
| 801 | + if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d)) | ||
| 802 | { | ||
| 803 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 804 | goto out; | ||
| 805 | @@ -125,7 +119,7 @@ | ||
| 806 | else | ||
| 807 | { | ||
| 808 | /* Check whether we have to resize the data buffer. */ | ||
| 809 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size)) | ||
| 810 | + if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d)) | ||
| 811 | { | ||
| 812 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 813 | goto out; | ||
| 814 | Index: elfutils-0.148/libelf/gelf_update_syminfo.c | ||
| 815 | =================================================================== | ||
| 816 | --- elfutils-0.148.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 817 | +++ elfutils-0.148/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 818 | @@ -1,5 +1,5 @@ | ||
| 819 | /* Update additional symbol information in symbol table at the given index. | ||
| 820 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 821 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 822 | This file is part of Red Hat elfutils. | ||
| 823 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 824 | |||
| 825 | @@ -72,12 +72,6 @@ | ||
| 826 | if (data == NULL) | ||
| 827 | return 0; | ||
| 828 | |||
| 829 | - if (unlikely (ndx < 0)) | ||
| 830 | - { | ||
| 831 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 832 | - return 0; | ||
| 833 | - } | ||
| 834 | - | ||
| 835 | if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO)) | ||
| 836 | { | ||
| 837 | /* The type of the data better should match. */ | ||
| 838 | @@ -93,7 +87,7 @@ | ||
| 839 | rwlock_wrlock (scn->elf->lock); | ||
| 840 | |||
| 841 | /* Check whether we have to resize the data buffer. */ | ||
| 842 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size)) | ||
| 843 | + if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d)) | ||
| 844 | { | ||
| 845 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 846 | goto out; | ||
| 847 | Index: elfutils-0.148/libelf/gelf_update_symshndx.c | ||
| 848 | =================================================================== | ||
| 849 | --- elfutils-0.148.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 850 | +++ elfutils-0.148/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 851 | @@ -1,6 +1,6 @@ | ||
| 852 | /* Update symbol information and section index in symbol table at the | ||
| 853 | given index. | ||
| 854 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
| 855 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
| 856 | This file is part of Red Hat elfutils. | ||
| 857 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
| 858 | |||
| 859 | @@ -77,12 +77,6 @@ | ||
| 860 | if (symdata == NULL) | ||
| 861 | return 0; | ||
| 862 | |||
| 863 | - if (unlikely (ndx < 0)) | ||
| 864 | - { | ||
| 865 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 866 | - return 0; | ||
| 867 | - } | ||
| 868 | - | ||
| 869 | if (unlikely (symdata_scn->d.d_type != ELF_T_SYM)) | ||
| 870 | { | ||
| 871 | /* The type of the data better should match. */ | ||
| 872 | @@ -128,7 +122,7 @@ | ||
| 873 | } | ||
| 874 | |||
| 875 | /* Check whether we have to resize the data buffer. */ | ||
| 876 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size)) | ||
| 877 | + if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d)) | ||
| 878 | { | ||
| 879 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 880 | goto out; | ||
| 881 | @@ -151,7 +145,7 @@ | ||
| 882 | else | ||
| 883 | { | ||
| 884 | /* Check whether we have to resize the data buffer. */ | ||
| 885 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size)) | ||
| 886 | + if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d)) | ||
| 887 | { | ||
| 888 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 889 | goto out; | ||
| 890 | Index: elfutils-0.148/libelf/gelf_update_versym.c | ||
| 891 | =================================================================== | ||
| 892 | --- elfutils-0.148.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000 | ||
| 893 | +++ elfutils-0.148/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 894 | @@ -1,5 +1,5 @@ | ||
| 895 | /* Update symbol version information. | ||
| 896 | - Copyright (C) 2001, 2002 Red Hat, Inc. | ||
| 897 | + Copyright (C) 2001-2009 Red Hat, Inc. | ||
| 898 | This file is part of Red Hat elfutils. | ||
| 899 | Written by Ulrich Drepper <drepper@redhat.com>, 2001. | ||
| 900 | |||
| 901 | @@ -75,8 +75,7 @@ | ||
| 902 | assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym)); | ||
| 903 | |||
| 904 | /* Check whether we have to resize the data buffer. */ | ||
| 905 | - if (unlikely (ndx < 0) | ||
| 906 | - || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size)) | ||
| 907 | + if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d)) | ||
| 908 | { | ||
| 909 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
| 910 | return 0; | ||
| 911 | Index: elfutils-0.148/libelf/libelfP.h | ||
| 912 | =================================================================== | ||
| 913 | --- elfutils-0.148.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000 | ||
| 914 | +++ elfutils-0.148/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000 | ||
| 915 | @@ -608,4 +608,8 @@ | ||
| 916 | /* Align offset to 4 bytes as needed for note name and descriptor data. */ | ||
| 917 | #define NOTE_ALIGN(n) (((n) + 3) & -4U) | ||
| 918 | |||
| 919 | +/* Convenience macro. */ | ||
| 920 | +#define INVALID_NDX(ndx, type, data) \ | ||
| 921 | + unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx)) | ||
| 922 | + | ||
| 923 | #endif /* libelfP.h */ | ||
| 924 | Index: elfutils-0.148/src/ChangeLog | ||
| 925 | =================================================================== | ||
| 926 | --- elfutils-0.148.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000 | ||
| 927 | +++ elfutils-0.148/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000 | ||
| 928 | @@ -1640,6 +1640,16 @@ | ||
| 929 | object symbols or symbols with unknown type. | ||
| 930 | (check_rel): Likewise. | ||
| 931 | |||
| 932 | +2005-06-09 Roland McGrath <roland@redhat.com> | ||
| 933 | + | ||
| 934 | + * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link. | ||
| 935 | + (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise. | ||
| 936 | + (handle_scngrp): Check for bogus sh_info. | ||
| 937 | + | ||
| 938 | + * strip.c (handle_elf): Check for bogus values in sh_link, sh_info, | ||
| 939 | + st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data. | ||
| 940 | + Don't use assert on input values, instead bail with "illformed" error. | ||
| 941 | + | ||
| 942 | 2005-06-08 Roland McGrath <roland@redhat.com> | ||
| 943 | |||
| 944 | * readelf.c (print_ops): Add consts. | ||
| 945 | @@ -1690,6 +1700,19 @@ | ||
| 946 | |||
| 947 | * readelf.c (dwarf_tag_string): Add new tags. | ||
| 948 | |||
| 949 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
| 950 | + | ||
| 951 | + * elflint.c (check_hash): Don't check entries beyond end of section. | ||
| 952 | + (check_note): Don't crash if gelf_rawchunk fails. | ||
| 953 | + (section_name): Return <invalid> if gelf_getshdr returns NULL. | ||
| 954 | + | ||
| 955 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
| 956 | + | ||
| 957 | + * elflint.c (section_name): Return "<invalid>" instead of | ||
| 958 | + crashing on invalid section name. | ||
| 959 | + (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic, | ||
| 960 | + check_symtab_shndx, check_hash, check_versym): Robustify. | ||
| 961 | + | ||
| 962 | 2005-05-08 Roland McGrath <roland@redhat.com> | ||
| 963 | |||
| 964 | * strip.c (handle_elf): Don't translate hash and versym data formats, | ||
| 965 | Index: elfutils-0.148/src/elflint.c | ||
| 966 | =================================================================== | ||
| 967 | --- elfutils-0.148.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000 | ||
| 968 | +++ elfutils-0.148/src/elflint.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 969 | @@ -131,6 +131,10 @@ | ||
| 970 | /* Array to count references in section groups. */ | ||
| 971 | static int *scnref; | ||
| 972 | |||
| 973 | +/* Numbers of sections and program headers. */ | ||
| 974 | +static unsigned int shnum; | ||
| 975 | +static unsigned int phnum; | ||
| 976 | + | ||
| 977 | |||
| 978 | int | ||
| 979 | main (int argc, char *argv[]) | ||
| 980 | @@ -319,10 +323,19 @@ | ||
| 981 | { | ||
| 982 | GElf_Shdr shdr_mem; | ||
| 983 | GElf_Shdr *shdr; | ||
| 984 | + const char *ret; | ||
| 985 | + | ||
| 986 | + if ((unsigned int) idx > shnum) | ||
| 987 | + return "<invalid>"; | ||
| 988 | |||
| 989 | shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); | ||
| 990 | + if (shdr == NULL) | ||
| 991 | + return "<invalid>"; | ||
| 992 | |||
| 993 | - return elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
| 994 | + ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
| 995 | + if (ret == NULL) | ||
| 996 | + return "<invalid>"; | ||
| 997 | + return ret; | ||
| 998 | } | ||
| 999 | |||
| 1000 | |||
| 1001 | @@ -344,11 +357,6 @@ | ||
| 1002 | (sizeof (valid_e_machine) / sizeof (valid_e_machine[0])) | ||
| 1003 | |||
| 1004 | |||
| 1005 | -/* Numbers of sections and program headers. */ | ||
| 1006 | -static unsigned int shnum; | ||
| 1007 | -static unsigned int phnum; | ||
| 1008 | - | ||
| 1009 | - | ||
| 1010 | static void | ||
| 1011 | check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) | ||
| 1012 | { | ||
| 1013 | @@ -632,7 +640,8 @@ | ||
| 1014 | } | ||
| 1015 | } | ||
| 1016 | |||
| 1017 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)) | ||
| 1018 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT); | ||
| 1019 | + if (shdr->sh_entsize != sh_entsize) | ||
| 1020 | ERROR (gettext ("\ | ||
| 1021 | section [%2u] '%s': entry size is does not match ElfXX_Sym\n"), | ||
| 1022 | idx, section_name (ebl, idx)); | ||
| 1023 | @@ -670,7 +679,7 @@ | ||
| 1024 | xndxscnidx, section_name (ebl, xndxscnidx)); | ||
| 1025 | } | ||
| 1026 | |||
| 1027 | - for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1028 | + for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
| 1029 | { | ||
| 1030 | sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx); | ||
| 1031 | if (sym == NULL) | ||
| 1032 | @@ -690,7 +699,8 @@ | ||
| 1033 | else | ||
| 1034 | { | ||
| 1035 | name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name); | ||
| 1036 | - assert (name != NULL); | ||
| 1037 | + assert (name != NULL | ||
| 1038 | + || strshdr->sh_type != SHT_STRTAB); | ||
| 1039 | } | ||
| 1040 | |||
| 1041 | if (sym->st_shndx == SHN_XINDEX) | ||
| 1042 | @@ -1038,9 +1048,11 @@ | ||
| 1043 | { | ||
| 1044 | GElf_Shdr rcshdr_mem; | ||
| 1045 | const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem); | ||
| 1046 | - assert (rcshdr != NULL); | ||
| 1047 | |||
| 1048 | - if (rcshdr->sh_type == SHT_DYNAMIC) | ||
| 1049 | + if (rcshdr == NULL) | ||
| 1050 | + break; | ||
| 1051 | + | ||
| 1052 | + if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize) | ||
| 1053 | { | ||
| 1054 | /* Found the dynamic section. Look through it. */ | ||
| 1055 | Elf_Data *d = elf_getdata (scn, NULL); | ||
| 1056 | @@ -1050,7 +1062,9 @@ | ||
| 1057 | { | ||
| 1058 | GElf_Dyn dyn_mem; | ||
| 1059 | GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem); | ||
| 1060 | - assert (dyn != NULL); | ||
| 1061 | + | ||
| 1062 | + if (dyn == NULL) | ||
| 1063 | + break; | ||
| 1064 | |||
| 1065 | if (dyn->d_tag == DT_RELCOUNT) | ||
| 1066 | { | ||
| 1067 | @@ -1064,7 +1078,9 @@ | ||
| 1068 | /* Does the number specified number of relative | ||
| 1069 | relocations exceed the total number of | ||
| 1070 | relocations? */ | ||
| 1071 | - if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize) | ||
| 1072 | + if (shdr->sh_entsize != 0 | ||
| 1073 | + && dyn->d_un.d_val > (shdr->sh_size | ||
| 1074 | + / shdr->sh_entsize)) | ||
| 1075 | ERROR (gettext ("\ | ||
| 1076 | section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"), | ||
| 1077 | idx, section_name (ebl, idx), | ||
| 1078 | @@ -1224,7 +1240,8 @@ | ||
| 1079 | } | ||
| 1080 | } | ||
| 1081 | |||
| 1082 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT)) | ||
| 1083 | + size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT); | ||
| 1084 | + if (shdr->sh_entsize != sh_entsize) | ||
| 1085 | ERROR (gettext (reltype == ELF_T_RELA ? "\ | ||
| 1086 | section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\ | ||
| 1087 | section [%2d] '%s': section entry size does not match ElfXX_Rel\n"), | ||
| 1088 | @@ -1447,7 +1464,8 @@ | ||
| 1089 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
| 1090 | enum load_state state = state_undecided; | ||
| 1091 | |||
| 1092 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1093 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); | ||
| 1094 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
| 1095 | { | ||
| 1096 | GElf_Rela rela_mem; | ||
| 1097 | GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem); | ||
| 1098 | @@ -1497,7 +1515,8 @@ | ||
| 1099 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
| 1100 | enum load_state state = state_undecided; | ||
| 1101 | |||
| 1102 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1103 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); | ||
| 1104 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
| 1105 | { | ||
| 1106 | GElf_Rel rel_mem; | ||
| 1107 | GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem); | ||
| 1108 | @@ -1600,7 +1619,8 @@ | ||
| 1109 | shdr->sh_link, section_name (ebl, shdr->sh_link), | ||
| 1110 | idx, section_name (ebl, idx)); | ||
| 1111 | |||
| 1112 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT)) | ||
| 1113 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); | ||
| 1114 | + if (shdr->sh_entsize != sh_entsize) | ||
| 1115 | ERROR (gettext ("\ | ||
| 1116 | section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"), | ||
| 1117 | idx, section_name (ebl, idx)); | ||
| 1118 | @@ -1610,7 +1630,7 @@ | ||
| 1119 | idx, section_name (ebl, idx)); | ||
| 1120 | |||
| 1121 | bool non_null_warned = false; | ||
| 1122 | - for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1123 | + for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
| 1124 | { | ||
| 1125 | GElf_Dyn dyn_mem; | ||
| 1126 | GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem); | ||
| 1127 | @@ -1891,6 +1911,8 @@ | ||
| 1128 | idx, section_name (ebl, idx)); | ||
| 1129 | |||
| 1130 | if (symshdr != NULL | ||
| 1131 | + && shdr->sh_entsize | ||
| 1132 | + && symshdr->sh_entsize | ||
| 1133 | && (shdr->sh_size / shdr->sh_entsize | ||
| 1134 | < symshdr->sh_size / symshdr->sh_entsize)) | ||
| 1135 | ERROR (gettext ("\ | ||
| 1136 | @@ -1917,6 +1939,12 @@ | ||
| 1137 | } | ||
| 1138 | |||
| 1139 | Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL); | ||
| 1140 | + if (data == NULL) | ||
| 1141 | + { | ||
| 1142 | + ERROR (gettext ("section [%2d] '%s': cannot get section data\n"), | ||
| 1143 | + idx, section_name (ebl, idx)); | ||
| 1144 | + return; | ||
| 1145 | + } | ||
| 1146 | |||
| 1147 | if (*((Elf32_Word *) data->d_buf) != 0) | ||
| 1148 | ERROR (gettext ("symbol 0 should have zero extended section index\n")); | ||
| 1149 | @@ -1959,7 +1987,7 @@ | ||
| 1150 | |||
| 1151 | size_t maxidx = nchain; | ||
| 1152 | |||
| 1153 | - if (symshdr != NULL) | ||
| 1154 | + if (symshdr != NULL && symshdr->sh_entsize != 0) | ||
| 1155 | { | ||
| 1156 | size_t symsize = symshdr->sh_size / symshdr->sh_entsize; | ||
| 1157 | |||
| 1158 | @@ -1970,18 +1998,28 @@ | ||
| 1159 | maxidx = symsize; | ||
| 1160 | } | ||
| 1161 | |||
| 1162 | + Elf32_Word *buf = (Elf32_Word *) data->d_buf; | ||
| 1163 | + Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size); | ||
| 1164 | size_t cnt; | ||
| 1165 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
| 1166 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
| 1167 | + { | ||
| 1168 | + if (buf + cnt >= end) | ||
| 1169 | + break; | ||
| 1170 | + else if (buf[cnt] >= maxidx) | ||
| 1171 | ERROR (gettext ("\ | ||
| 1172 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
| 1173 | idx, section_name (ebl, idx), cnt - 2); | ||
| 1174 | + } | ||
| 1175 | |||
| 1176 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
| 1177 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
| 1178 | + { | ||
| 1179 | + if (buf + cnt >= end) | ||
| 1180 | + break; | ||
| 1181 | + else if (buf[cnt] >= maxidx) | ||
| 1182 | ERROR (gettext ("\ | ||
| 1183 | section [%2d] '%s': hash chain reference %zu out of bounds\n"), | ||
| 1184 | idx, section_name (ebl, idx), cnt - 2 - nbucket); | ||
| 1185 | + } | ||
| 1186 | } | ||
| 1187 | |||
| 1188 | |||
| 1189 | @@ -2011,18 +2049,28 @@ | ||
| 1190 | maxidx = symsize; | ||
| 1191 | } | ||
| 1192 | |||
| 1193 | + Elf64_Xword *buf = (Elf64_Xword *) data->d_buf; | ||
| 1194 | + Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size); | ||
| 1195 | size_t cnt; | ||
| 1196 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
| 1197 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
| 1198 | + { | ||
| 1199 | + if (buf + cnt >= end) | ||
| 1200 | + break; | ||
| 1201 | + else if (buf[cnt] >= maxidx) | ||
| 1202 | ERROR (gettext ("\ | ||
| 1203 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
| 1204 | idx, section_name (ebl, idx), cnt - 2); | ||
| 1205 | + } | ||
| 1206 | |||
| 1207 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
| 1208 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
| 1209 | + { | ||
| 1210 | + if (buf + cnt >= end) | ||
| 1211 | + break; | ||
| 1212 | + else if (buf[cnt] >= maxidx) | ||
| 1213 | ERROR (gettext ("\ | ||
| 1214 | section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"), | ||
| 1215 | - idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket)); | ||
| 1216 | + idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket); | ||
| 1217 | + } | ||
| 1218 | } | ||
| 1219 | |||
| 1220 | |||
| 1221 | @@ -2047,7 +2095,7 @@ | ||
| 1222 | if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)) | ||
| 1223 | { | ||
| 1224 | ERROR (gettext ("\ | ||
| 1225 | -section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"), | ||
| 1226 | +section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"), | ||
| 1227 | idx, section_name (ebl, idx), (long int) shdr->sh_size, | ||
| 1228 | (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))); | ||
| 1229 | return; | ||
| 1230 | @@ -2719,8 +2767,9 @@ | ||
| 1231 | |||
| 1232 | /* The number of elements in the version symbol table must be the | ||
| 1233 | same as the number of symbols. */ | ||
| 1234 | - if (shdr->sh_size / shdr->sh_entsize | ||
| 1235 | - != symshdr->sh_size / symshdr->sh_entsize) | ||
| 1236 | + if (shdr->sh_entsize && symshdr->sh_entsize | ||
| 1237 | + && (shdr->sh_size / shdr->sh_entsize | ||
| 1238 | + != symshdr->sh_size / symshdr->sh_entsize)) | ||
| 1239 | ERROR (gettext ("\ | ||
| 1240 | section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"), | ||
| 1241 | idx, section_name (ebl, idx), | ||
| 1242 | Index: elfutils-0.148/src/readelf.c | ||
| 1243 | =================================================================== | ||
| 1244 | --- elfutils-0.148.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000 | ||
| 1245 | +++ elfutils-0.148/src/readelf.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 1246 | @@ -1172,6 +1172,8 @@ | ||
| 1247 | Elf32_Word *grpref = (Elf32_Word *) data->d_buf; | ||
| 1248 | |||
| 1249 | GElf_Sym sym_mem; | ||
| 1250 | + GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem); | ||
| 1251 | + | ||
| 1252 | printf ((grpref[0] & GRP_COMDAT) | ||
| 1253 | ? ngettext ("\ | ||
| 1254 | \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n", | ||
| 1255 | @@ -1184,8 +1186,8 @@ | ||
| 1256 | data->d_size / sizeof (Elf32_Word) - 1), | ||
| 1257 | elf_ndxscn (scn), | ||
| 1258 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), | ||
| 1259 | - elf_strptr (ebl->elf, symshdr->sh_link, | ||
| 1260 | - gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name) | ||
| 1261 | + (sym == NULL ? NULL | ||
| 1262 | + : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name)) | ||
| 1263 | ?: gettext ("<INVALID SYMBOL>"), | ||
| 1264 | data->d_size / sizeof (Elf32_Word) - 1); | ||
| 1265 | |||
| 1266 | @@ -1336,7 +1338,8 @@ | ||
| 1267 | handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) | ||
| 1268 | { | ||
| 1269 | int class = gelf_getclass (ebl->elf); | ||
| 1270 | - GElf_Shdr glink; | ||
| 1271 | + GElf_Shdr glink_mem; | ||
| 1272 | + GElf_Shdr *glink; | ||
| 1273 | Elf_Data *data; | ||
| 1274 | size_t cnt; | ||
| 1275 | size_t shstrndx; | ||
| 1276 | @@ -1351,6 +1354,11 @@ | ||
| 1277 | error (EXIT_FAILURE, 0, | ||
| 1278 | gettext ("cannot get section header string table index")); | ||
| 1279 | |||
| 1280 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
| 1281 | + if (glink == NULL) | ||
| 1282 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1283 | + elf_ndxscn (scn)); | ||
| 1284 | + | ||
| 1285 | printf (ngettext ("\ | ||
| 1286 | \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
| 1287 | "\ | ||
| 1288 | @@ -1360,9 +1368,7 @@ | ||
| 1289 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
| 1290 | shdr->sh_offset, | ||
| 1291 | (int) shdr->sh_link, | ||
| 1292 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1293 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1294 | - &glink)->sh_name)); | ||
| 1295 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1296 | fputs_unlocked (gettext (" Type Value\n"), stdout); | ||
| 1297 | |||
| 1298 | for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1299 | @@ -1945,6 +1951,13 @@ | ||
| 1300 | error (EXIT_FAILURE, 0, | ||
| 1301 | gettext ("cannot get section header string table index")); | ||
| 1302 | |||
| 1303 | + GElf_Shdr glink_mem; | ||
| 1304 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1305 | + &glink_mem); | ||
| 1306 | + if (glink == NULL) | ||
| 1307 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1308 | + elf_ndxscn (scn)); | ||
| 1309 | + | ||
| 1310 | /* Now we can compute the number of entries in the section. */ | ||
| 1311 | unsigned int nsyms = data->d_size / (class == ELFCLASS32 | ||
| 1312 | ? sizeof (Elf32_Sym) | ||
| 1313 | @@ -1955,15 +1968,12 @@ | ||
| 1314 | nsyms), | ||
| 1315 | (unsigned int) elf_ndxscn (scn), | ||
| 1316 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms); | ||
| 1317 | - GElf_Shdr glink; | ||
| 1318 | printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n", | ||
| 1319 | " %lu local symbols String table: [%2u] '%s'\n", | ||
| 1320 | shdr->sh_info), | ||
| 1321 | (unsigned long int) shdr->sh_info, | ||
| 1322 | (unsigned int) shdr->sh_link, | ||
| 1323 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1324 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1325 | - &glink)->sh_name)); | ||
| 1326 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1327 | |||
| 1328 | fputs_unlocked (class == ELFCLASS32 | ||
| 1329 | ? gettext ("\ | ||
| 1330 | @@ -2199,7 +2209,13 @@ | ||
| 1331 | error (EXIT_FAILURE, 0, | ||
| 1332 | gettext ("cannot get section header string table index")); | ||
| 1333 | |||
| 1334 | - GElf_Shdr glink; | ||
| 1335 | + GElf_Shdr glink_mem; | ||
| 1336 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1337 | + &glink_mem); | ||
| 1338 | + if (glink == NULL) | ||
| 1339 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1340 | + elf_ndxscn (scn)); | ||
| 1341 | + | ||
| 1342 | printf (ngettext ("\ | ||
| 1343 | \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
| 1344 | "\ | ||
| 1345 | @@ -2210,9 +2226,7 @@ | ||
| 1346 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
| 1347 | shdr->sh_offset, | ||
| 1348 | (unsigned int) shdr->sh_link, | ||
| 1349 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1350 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1351 | - &glink)->sh_name)); | ||
| 1352 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1353 | |||
| 1354 | unsigned int offset = 0; | ||
| 1355 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
| 1356 | @@ -2265,8 +2279,14 @@ | ||
| 1357 | error (EXIT_FAILURE, 0, | ||
| 1358 | gettext ("cannot get section header string table index")); | ||
| 1359 | |||
| 1360 | + GElf_Shdr glink_mem; | ||
| 1361 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1362 | + &glink_mem); | ||
| 1363 | + if (glink == NULL) | ||
| 1364 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1365 | + elf_ndxscn (scn)); | ||
| 1366 | + | ||
| 1367 | int class = gelf_getclass (ebl->elf); | ||
| 1368 | - GElf_Shdr glink; | ||
| 1369 | printf (ngettext ("\ | ||
| 1370 | \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
| 1371 | "\ | ||
| 1372 | @@ -2278,9 +2298,7 @@ | ||
| 1373 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
| 1374 | shdr->sh_offset, | ||
| 1375 | (unsigned int) shdr->sh_link, | ||
| 1376 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1377 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1378 | - &glink)->sh_name)); | ||
| 1379 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1380 | |||
| 1381 | unsigned int offset = 0; | ||
| 1382 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
| 1383 | @@ -2542,8 +2560,14 @@ | ||
| 1384 | filename = NULL; | ||
| 1385 | } | ||
| 1386 | |||
| 1387 | + GElf_Shdr glink_mem; | ||
| 1388 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1389 | + &glink_mem); | ||
| 1390 | + if (glink == NULL) | ||
| 1391 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1392 | + elf_ndxscn (scn)); | ||
| 1393 | + | ||
| 1394 | /* Print the header. */ | ||
| 1395 | - GElf_Shdr glink; | ||
| 1396 | printf (ngettext ("\ | ||
| 1397 | \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", | ||
| 1398 | "\ | ||
| 1399 | @@ -2555,9 +2579,7 @@ | ||
| 1400 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
| 1401 | shdr->sh_offset, | ||
| 1402 | (unsigned int) shdr->sh_link, | ||
| 1403 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1404 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1405 | - &glink)->sh_name)); | ||
| 1406 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1407 | |||
| 1408 | /* Now we can finally look at the actual contents of this section. */ | ||
| 1409 | for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
| 1410 | @@ -2609,7 +2631,17 @@ | ||
| 1411 | for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt) | ||
| 1412 | ++counts[lengths[cnt]]; | ||
| 1413 | |||
| 1414 | - GElf_Shdr glink; | ||
| 1415 | + GElf_Shdr glink_mem; | ||
| 1416 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, | ||
| 1417 | + shdr->sh_link), | ||
| 1418 | + &glink_mem); | ||
| 1419 | + if (glink == NULL) | ||
| 1420 | + { | ||
| 1421 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1422 | + elf_ndxscn (scn)); | ||
| 1423 | + return; | ||
| 1424 | + } | ||
| 1425 | + | ||
| 1426 | printf (ngettext ("\ | ||
| 1427 | \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", | ||
| 1428 | "\ | ||
| 1429 | @@ -2622,9 +2654,7 @@ | ||
| 1430 | shdr->sh_addr, | ||
| 1431 | shdr->sh_offset, | ||
| 1432 | (unsigned int) shdr->sh_link, | ||
| 1433 | - elf_strptr (ebl->elf, shstrndx, | ||
| 1434 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
| 1435 | - &glink)->sh_name)); | ||
| 1436 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
| 1437 | |||
| 1438 | if (extrastr != NULL) | ||
| 1439 | fputs (extrastr, stdout); | ||
| 1440 | @@ -4312,6 +4342,16 @@ | ||
| 1441 | return; | ||
| 1442 | } | ||
| 1443 | |||
| 1444 | + GElf_Shdr glink_mem; | ||
| 1445 | + GElf_Shdr *glink; | ||
| 1446 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
| 1447 | + if (glink == NULL) | ||
| 1448 | + { | ||
| 1449 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
| 1450 | + elf_ndxscn (scn)); | ||
| 1451 | + return; | ||
| 1452 | + } | ||
| 1453 | + | ||
| 1454 | printf (ngettext ("\ | ||
| 1455 | \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n", | ||
| 1456 | "\ | ||
| 1457 | Index: elfutils-0.148/src/strip.c | ||
| 1458 | =================================================================== | ||
| 1459 | --- elfutils-0.148.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000 | ||
| 1460 | +++ elfutils-0.148/src/strip.c 2010-07-03 13:07:11.000000000 +0000 | ||
| 1461 | @@ -561,6 +561,11 @@ | ||
| 1462 | goto fail_close; | ||
| 1463 | } | ||
| 1464 | |||
| 1465 | + if (shstrndx >= shnum) | ||
| 1466 | + goto illformed; | ||
| 1467 | + | ||
| 1468 | +#define elf_assert(test) do { if (!(test)) goto illformed; } while (0) | ||
| 1469 | + | ||
| 1470 | /* Storage for section information. We leave room for two more | ||
| 1471 | entries since we unconditionally create a section header string | ||
| 1472 | table. Maybe some weird tool created an ELF file without one. | ||
| 1473 | @@ -582,7 +587,7 @@ | ||
| 1474 | { | ||
| 1475 | /* This should always be true (i.e., there should not be any | ||
| 1476 | holes in the numbering). */ | ||
| 1477 | - assert (elf_ndxscn (scn) == cnt); | ||
| 1478 | + elf_assert (elf_ndxscn (scn) == cnt); | ||
| 1479 | |||
| 1480 | shdr_info[cnt].scn = scn; | ||
| 1481 | |||
| 1482 | @@ -595,6 +600,7 @@ | ||
| 1483 | shdr_info[cnt].shdr.sh_name); | ||
| 1484 | if (shdr_info[cnt].name == NULL) | ||
| 1485 | { | ||
| 1486 | + illformed: | ||
| 1487 | error (0, 0, gettext ("illformed file '%s'"), fname); | ||
| 1488 | goto fail_close; | ||
| 1489 | } | ||
| 1490 | @@ -604,6 +610,8 @@ | ||
| 1491 | |||
| 1492 | /* Remember the shdr.sh_link value. */ | ||
| 1493 | shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; | ||
| 1494 | + if (shdr_info[cnt].old_sh_link >= shnum) | ||
| 1495 | + goto illformed; | ||
| 1496 | |||
| 1497 | /* Sections in files other than relocatable object files which | ||
| 1498 | are not loaded can be freely moved by us. In relocatable | ||
| 1499 | @@ -616,7 +624,7 @@ | ||
| 1500 | appropriate reference. */ | ||
| 1501 | if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) | ||
| 1502 | { | ||
| 1503 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
| 1504 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
| 1505 | shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; | ||
| 1506 | } | ||
| 1507 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) | ||
| 1508 | @@ -633,7 +641,12 @@ | ||
| 1509 | for (inner = 1; | ||
| 1510 | inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); | ||
| 1511 | ++inner) | ||
| 1512 | + { | ||
| 1513 | + if (grpref[inner] < shnum) | ||
| 1514 | shdr_info[grpref[inner]].group_idx = cnt; | ||
| 1515 | + else | ||
| 1516 | + goto illformed; | ||
| 1517 | + } | ||
| 1518 | |||
| 1519 | if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) | ||
| 1520 | /* If the section group contains only one element and this | ||
| 1521 | @@ -644,7 +657,7 @@ | ||
| 1522 | } | ||
| 1523 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) | ||
| 1524 | { | ||
| 1525 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
| 1526 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
| 1527 | shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; | ||
| 1528 | } | ||
| 1529 | |||
| 1530 | @@ -652,7 +665,7 @@ | ||
| 1531 | discarded right away. */ | ||
| 1532 | if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) | ||
| 1533 | { | ||
| 1534 | - assert (shdr_info[cnt].group_idx != 0); | ||
| 1535 | + elf_assert (shdr_info[cnt].group_idx != 0); | ||
| 1536 | |||
| 1537 | if (shdr_info[shdr_info[cnt].group_idx].idx == 0) | ||
| 1538 | { | ||
| 1539 | @@ -727,11 +740,15 @@ | ||
| 1540 | { | ||
| 1541 | /* If a relocation section is marked as being removed make | ||
| 1542 | sure the section it is relocating is removed, too. */ | ||
| 1543 | - if ((shdr_info[cnt].shdr.sh_type == SHT_REL | ||
| 1544 | + if (shdr_info[cnt].shdr.sh_type == SHT_REL | ||
| 1545 | || shdr_info[cnt].shdr.sh_type == SHT_RELA) | ||
| 1546 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
| 1547 | + { | ||
| 1548 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
| 1549 | + goto illformed; | ||
| 1550 | + else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
| 1551 | shdr_info[cnt].idx = 1; | ||
| 1552 | } | ||
| 1553 | + } | ||
| 1554 | |||
| 1555 | if (shdr_info[cnt].idx == 1) | ||
| 1556 | { | ||
| 1557 | @@ -758,7 +775,7 @@ | ||
| 1558 | if (shdr_info[cnt].symtab_idx != 0 | ||
| 1559 | && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) | ||
| 1560 | { | ||
| 1561 | - assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
| 1562 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
| 1563 | |||
| 1564 | shdr_info[shdr_info[cnt].symtab_idx].data | ||
| 1565 | = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
| 1566 | @@ -798,6 +815,9 @@ | ||
| 1567 | else if (scnidx == SHN_XINDEX) | ||
| 1568 | scnidx = xndx; | ||
| 1569 | |||
| 1570 | + if (scnidx >= shnum) | ||
| 1571 | + goto illformed; | ||
| 1572 | + | ||
| 1573 | if (shdr_info[scnidx].idx == 0) | ||
| 1574 | /* This symbol table has a real symbol in | ||
| 1575 | a discarded section. So preserve the | ||
| 1576 | @@ -828,12 +848,16 @@ | ||
| 1577 | } | ||
| 1578 | |||
| 1579 | /* Handle references through sh_info. */ | ||
| 1580 | - if (SH_INFO_LINK_P (&shdr_info[cnt].shdr) | ||
| 1581 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
| 1582 | + if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)) | ||
| 1583 | + { | ||
| 1584 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
| 1585 | + goto illformed; | ||
| 1586 | + else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
| 1587 | { | ||
| 1588 | shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1; | ||
| 1589 | changes |= shdr_info[cnt].shdr.sh_info < cnt; | ||
| 1590 | } | ||
| 1591 | + } | ||
| 1592 | |||
| 1593 | /* Mark the section as investigated. */ | ||
| 1594 | shdr_info[cnt].idx = 2; | ||
| 1595 | @@ -972,7 +996,7 @@ | ||
| 1596 | error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), | ||
| 1597 | elf_errmsg (-1)); | ||
| 1598 | |||
| 1599 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
| 1600 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
| 1601 | |||
| 1602 | /* Add this name to the section header string table. */ | ||
| 1603 | shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); | ||
| 1604 | @@ -1009,7 +1033,7 @@ | ||
| 1605 | error (EXIT_FAILURE, 0, | ||
| 1606 | gettext ("while create section header section: %s"), | ||
| 1607 | elf_errmsg (-1)); | ||
| 1608 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
| 1609 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
| 1610 | |||
| 1611 | shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); | ||
| 1612 | if (shdr_info[cnt].data == NULL) | ||
| 1613 | @@ -1065,7 +1089,7 @@ | ||
| 1614 | error (EXIT_FAILURE, 0, | ||
| 1615 | gettext ("while create section header section: %s"), | ||
| 1616 | elf_errmsg (-1)); | ||
| 1617 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
| 1618 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
| 1619 | |||
| 1620 | /* Finalize the string table and fill in the correct indices in the | ||
| 1621 | section headers. */ | ||
| 1622 | @@ -1155,20 +1179,20 @@ | ||
| 1623 | shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
| 1624 | NULL); | ||
| 1625 | |||
| 1626 | - assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
| 1627 | + elf_assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
| 1628 | >= shdr_info[cnt].data->d_size / elsize); | ||
| 1629 | } | ||
| 1630 | |||
| 1631 | if (shdr_info[cnt].version_idx != 0) | ||
| 1632 | { | ||
| 1633 | - assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
| 1634 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
| 1635 | /* This section has associated version | ||
| 1636 | information. We have to modify that | ||
| 1637 | information, too. */ | ||
| 1638 | versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn, | ||
| 1639 | NULL); | ||
| 1640 | |||
| 1641 | - assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
| 1642 | + elf_assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
| 1643 | >= shdr_info[cnt].data->d_size / elsize); | ||
| 1644 | } | ||
| 1645 | |||
| 1646 | @@ -1223,7 +1247,7 @@ | ||
| 1647 | sec = shdr_info[sym->st_shndx].idx; | ||
| 1648 | else | ||
| 1649 | { | ||
| 1650 | - assert (shndxdata != NULL); | ||
| 1651 | + elf_assert (shndxdata != NULL); | ||
| 1652 | |||
| 1653 | sec = shdr_info[xshndx].idx; | ||
| 1654 | } | ||
| 1655 | @@ -1244,7 +1268,7 @@ | ||
| 1656 | nxshndx = sec; | ||
| 1657 | } | ||
| 1658 | |||
| 1659 | - assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
| 1660 | + elf_assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
| 1661 | |||
| 1662 | if ((inner != destidx || nshndx != sym->st_shndx | ||
| 1663 | || (shndxdata != NULL && nxshndx != xshndx)) | ||
| 1664 | @@ -1268,7 +1292,7 @@ | ||
| 1665 | || shdr_info[cnt].debug_data == NULL) | ||
| 1666 | /* This is a section symbol for a section which has | ||
| 1667 | been removed. */ | ||
| 1668 | - assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION); | ||
| 1669 | + elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION); | ||
| 1670 | } | ||
| 1671 | |||
| 1672 | if (destidx != inner) | ||
| 1673 | @@ -1455,11 +1479,11 @@ | ||
| 1674 | { | ||
| 1675 | GElf_Sym sym_mem; | ||
| 1676 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
| 1677 | - assert (sym != NULL); | ||
| 1678 | + elf_assert (sym != NULL); | ||
| 1679 | |||
| 1680 | const char *name = elf_strptr (elf, strshndx, | ||
| 1681 | sym->st_name); | ||
| 1682 | - assert (name != NULL); | ||
| 1683 | + elf_assert (name != NULL); | ||
| 1684 | size_t hidx = elf_hash (name) % nbucket; | ||
| 1685 | |||
| 1686 | if (bucket[hidx] == 0) | ||
| 1687 | @@ -1478,7 +1502,7 @@ | ||
| 1688 | else | ||
| 1689 | { | ||
| 1690 | /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ | ||
| 1691 | - assert (shdr_info[cnt].shdr.sh_entsize | ||
| 1692 | + elf_assert (shdr_info[cnt].shdr.sh_entsize | ||
| 1693 | == sizeof (Elf64_Xword)); | ||
| 1694 | |||
| 1695 | Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; | ||
| 1696 | @@ -1509,11 +1533,11 @@ | ||
| 1697 | { | ||
| 1698 | GElf_Sym sym_mem; | ||
| 1699 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
| 1700 | - assert (sym != NULL); | ||
| 1701 | + elf_assert (sym != NULL); | ||
| 1702 | |||
| 1703 | const char *name = elf_strptr (elf, strshndx, | ||
| 1704 | sym->st_name); | ||
| 1705 | - assert (name != NULL); | ||
| 1706 | + elf_assert (name != NULL); | ||
| 1707 | size_t hidx = elf_hash (name) % nbucket; | ||
| 1708 | |||
| 1709 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Remove unused variables from the code to prevent -Werror causing a build | ||
| 4 | failure on hosts with GCC 4.6. | ||
| 5 | |||
| 6 | These changes are all upstream so should not be required once we've updated | ||
| 7 | to elfutils 0.152 or later. Therefore this patch consolidates several | ||
| 8 | changes from elfutils upstream by Roland McGrath into a single file so that | ||
| 9 | it's easier to remove later once we upgrade. | ||
| 10 | Links to upstream gitweb of the consolidated commits follow: | ||
| 11 | - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=7094d00a169afb27e0323f8580e817798ae7c240 | ||
| 12 | - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=fd992543185126eb0280c1ee0883e073020499b4 | ||
| 13 | - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=4db89f04bb59327abd7a3b60e88f2e7e73c65c79 | ||
| 14 | - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=8f6c1795ab9d41f03805eebd55767070ade55aac | ||
| 15 | - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=240784b48aa276822c5a61c9ad6a4355051ce259 | ||
| 16 | |||
| 17 | Joshua Lock <josh@linux.intel.com> - 06/04/11 | ||
| 18 | |||
| 19 | Index: elfutils-0.148/libasm/asm_newscn.c | ||
| 20 | =================================================================== | ||
| 21 | --- elfutils-0.148.orig/libasm/asm_newscn.c | ||
| 22 | +++ elfutils-0.148/libasm/asm_newscn.c | ||
| 23 | @@ -162,7 +162,6 @@ asm_newscn (ctx, scnname, type, flags) | ||
| 24 | GElf_Xword flags; | ||
| 25 | { | ||
| 26 | size_t scnname_len = strlen (scnname) + 1; | ||
| 27 | - unsigned long int hval; | ||
| 28 | AsmScn_t *result; | ||
| 29 | |||
| 30 | /* If no context is given there might be an earlier error. */ | ||
| 31 | @@ -180,8 +179,6 @@ asm_newscn (ctx, scnname, type, flags) | ||
| 32 | return NULL; | ||
| 33 | } | ||
| 34 | |||
| 35 | - hval = elf_hash (scnname); | ||
| 36 | - | ||
| 37 | rwlock_wrlock (ctx->lock); | ||
| 38 | |||
| 39 | /* This is a new section. */ | ||
| 40 | Index: elfutils-0.148/src/elflint.c | ||
| 41 | =================================================================== | ||
| 42 | --- elfutils-0.148.orig/src/elflint.c | ||
| 43 | +++ elfutils-0.148/src/elflint.c | ||
| 44 | @@ -707,9 +707,10 @@ section [%2d] '%s': symbol %zu: invalid | ||
| 45 | { | ||
| 46 | if (xndxdata == NULL) | ||
| 47 | { | ||
| 48 | - ERROR (gettext ("\ | ||
| 49 | + if (!no_xndx_warned) | ||
| 50 | + ERROR (gettext ("\ | ||
| 51 | section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n"), | ||
| 52 | - idx, section_name (ebl, idx), cnt); | ||
| 53 | + idx, section_name (ebl, idx), cnt); | ||
| 54 | no_xndx_warned = true; | ||
| 55 | } | ||
| 56 | else if (xndx < SHN_LORESERVE) | ||
| 57 | @@ -1592,10 +1593,6 @@ check_dynamic (Ebl *ebl, GElf_Ehdr *ehdr | ||
| 58 | [DT_STRSZ] = true, | ||
| 59 | [DT_SYMENT] = true | ||
| 60 | }; | ||
| 61 | - GElf_Addr reladdr = 0; | ||
| 62 | - GElf_Word relsz = 0; | ||
| 63 | - GElf_Addr pltreladdr = 0; | ||
| 64 | - GElf_Word pltrelsz = 0; | ||
| 65 | |||
| 66 | memset (has_dt, '\0', sizeof (has_dt)); | ||
| 67 | memset (has_val_dt, '\0', sizeof (has_val_dt)); | ||
| 68 | @@ -1694,15 +1691,6 @@ section [%2d] '%s': entry %zu: level 2 t | ||
| 69 | section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"), | ||
| 70 | idx, section_name (ebl, idx), cnt); | ||
| 71 | |||
| 72 | - if (dyn->d_tag == DT_REL) | ||
| 73 | - reladdr = dyn->d_un.d_ptr; | ||
| 74 | - if (dyn->d_tag == DT_RELSZ) | ||
| 75 | - relsz = dyn->d_un.d_val; | ||
| 76 | - if (dyn->d_tag == DT_JMPREL) | ||
| 77 | - pltreladdr = dyn->d_un.d_ptr; | ||
| 78 | - if (dyn->d_tag == DT_PLTRELSZ) | ||
| 79 | - pltrelsz = dyn->d_un.d_val; | ||
| 80 | - | ||
| 81 | /* Check that addresses for entries are in loaded segments. */ | ||
| 82 | switch (dyn->d_tag) | ||
| 83 | { | ||
| 84 | Index: elfutils-0.148/src/ldgeneric.c | ||
| 85 | =================================================================== | ||
| 86 | --- elfutils-0.148.orig/src/ldgeneric.c | ||
| 87 | +++ elfutils-0.148/src/ldgeneric.c | ||
| 88 | @@ -285,12 +285,10 @@ static int | ||
| 89 | check_for_duplicate2 (struct usedfiles *newp, struct usedfiles *list) | ||
| 90 | { | ||
| 91 | struct usedfiles *first; | ||
| 92 | - struct usedfiles *prevp; | ||
| 93 | |||
| 94 | if (list == NULL) | ||
| 95 | return 0; | ||
| 96 | |||
| 97 | - prevp = list; | ||
| 98 | list = first = list->next; | ||
| 99 | do | ||
| 100 | { | ||
| 101 | Index: elfutils-0.148/src/ldscript.y | ||
| 102 | =================================================================== | ||
| 103 | --- elfutils-0.148.orig/src/ldscript.y | ||
| 104 | +++ elfutils-0.148/src/ldscript.y | ||
| 105 | @@ -802,12 +802,9 @@ add_versions (struct version *versions) | ||
| 106 | |||
| 107 | do | ||
| 108 | { | ||
| 109 | - struct version *oldp; | ||
| 110 | - | ||
| 111 | add_id_list (versions->versionname, versions->local_names, true); | ||
| 112 | add_id_list (versions->versionname, versions->global_names, false); | ||
| 113 | |||
| 114 | - oldp = versions; | ||
| 115 | versions = versions->next; | ||
| 116 | } | ||
| 117 | while (versions != NULL); | ||
| 118 | Index: elfutils-0.148/src/unstrip.c | ||
| 119 | =================================================================== | ||
| 120 | --- elfutils-0.148.orig/src/unstrip.c | ||
| 121 | +++ elfutils-0.148/src/unstrip.c | ||
| 122 | @@ -1301,7 +1301,6 @@ more sections in stripped file than debu | ||
| 123 | /* Match each debuginfo section with its corresponding stripped section. */ | ||
| 124 | bool check_prelink = false; | ||
| 125 | Elf_Scn *unstripped_symtab = NULL; | ||
| 126 | - size_t unstripped_strtab_ndx = SHN_UNDEF; | ||
| 127 | size_t alloc_avail = 0; | ||
| 128 | scn = NULL; | ||
| 129 | while ((scn = elf_nextscn (unstripped, scn)) != NULL) | ||
| 130 | @@ -1313,7 +1312,6 @@ more sections in stripped file than debu | ||
| 131 | if (shdr->sh_type == SHT_SYMTAB) | ||
| 132 | { | ||
| 133 | unstripped_symtab = scn; | ||
| 134 | - unstripped_strtab_ndx = shdr->sh_link; | ||
| 135 | continue; | ||
| 136 | } | ||
| 137 | |||
| 138 | Index: elfutils-0.148/src/ldscript.c | ||
| 139 | =================================================================== | ||
| 140 | --- elfutils-0.148.orig/src/ldscript.c | ||
| 141 | +++ elfutils-0.148/src/ldscript.c | ||
| 142 | @@ -2728,12 +2728,9 @@ add_versions (struct version *versions) | ||
| 143 | |||
| 144 | do | ||
| 145 | { | ||
| 146 | - struct version *oldp; | ||
| 147 | - | ||
| 148 | add_id_list (versions->versionname, versions->local_names, true); | ||
| 149 | add_id_list (versions->versionname, versions->global_names, false); | ||
| 150 | |||
| 151 | - oldp = versions; | ||
| 152 | versions = versions->next; | ||
| 153 | } | ||
| 154 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | On many architectures this test fails because binaries/libs produced by | ||
| 4 | binutils don't pass elflint. However elfutils shouldn't FTBFS because of this. | ||
| 5 | |||
| 6 | So we run the tests on all archs to see what breaks, but if it breaks we ignore | ||
| 7 | the result (exitcode 77 means: this test was skipped). | ||
| 8 | |||
| 9 | Index: elfutils-0.128/tests/run-elflint-self.sh | ||
| 10 | =================================================================== | ||
| 11 | --- elfutils-0.128.orig/tests/run-elflint-self.sh 2007-07-08 21:46:16.000000000 +0000 | ||
| 12 | +++ elfutils-0.128/tests/run-elflint-self.sh 2007-07-08 21:46:49.000000000 +0000 | ||
| 13 | @@ -32,7 +32,7 @@ | ||
| 14 | # echo $1 | ||
| 15 | if [ -f $1 ]; then | ||
| 16 | testrun ../src/elflint --quiet --gnu-ld $1 || | ||
| 17 | - { echo "*** failure in $1"; status=1; } | ||
| 18 | + { echo "*** failure in $1"; status=77; } | ||
| 19 | fi | ||
| 20 | } | ||
| 21 | |||
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 @@ | |||
| 1 | on uclibc systems libintl and libuargp are separate from libc. | ||
| 2 | so they need to be specified on commandline when we use proxy-libintl | ||
| 3 | then libintl is a static archive so it should be listed last since | ||
| 4 | elfutils does not respect disable-nls we need to link in libintl | ||
| 5 | |||
| 6 | We add a new option --enable-uclibc which will be used to control | ||
| 7 | the uclibc specific configurations during build. | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem> | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [uclibc specific] | ||
| 12 | |||
| 13 | Index: elfutils-0.148/configure.ac | ||
| 14 | =================================================================== | ||
| 15 | --- elfutils-0.148.orig/configure.ac | ||
| 16 | +++ elfutils-0.148/configure.ac | ||
| 17 | @@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF | ||
| 18 | |||
| 19 | AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) | ||
| 20 | |||
| 21 | +AC_ARG_ENABLE([uclibc], | ||
| 22 | +AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]), | ||
| 23 | +use_uclibc=yes, use_uclibc=no) | ||
| 24 | +AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes) | ||
| 25 | +AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)]) | ||
| 26 | + | ||
| 27 | +AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.]) | ||
| 28 | + | ||
| 29 | dnl Add all the languages for which translations are available. | ||
| 30 | ALL_LINGUAS= | ||
| 31 | - | ||
| 32 | AC_PROG_CC | ||
| 33 | AC_PROG_RANLIB | ||
| 34 | AC_PROG_YACC | ||
| 35 | Index: elfutils-0.148/libelf/Makefile.am | ||
| 36 | =================================================================== | ||
| 37 | --- elfutils-0.148.orig/libelf/Makefile.am | ||
| 38 | +++ elfutils-0.148/libelf/Makefile.am | ||
| 39 | @@ -93,7 +93,12 @@ if !MUDFLAP | ||
| 40 | libelf_pic_a_SOURCES = | ||
| 41 | am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) | ||
| 42 | |||
| 43 | + | ||
| 44 | libelf_so_LDLIBS = | ||
| 45 | +if USE_UCLIBC | ||
| 46 | +libelf_so_LDLIBS += -lintl -luargp | ||
| 47 | +endif | ||
| 48 | + | ||
| 49 | if USE_LOCKS | ||
| 50 | libelf_so_LDLIBS += -lpthread | ||
| 51 | endif | ||
| 52 | Index: elfutils-0.148/libdw/Makefile.am | ||
| 53 | =================================================================== | ||
| 54 | --- elfutils-0.148.orig/libdw/Makefile.am | ||
| 55 | +++ elfutils-0.148/libdw/Makefile.am | ||
| 56 | @@ -98,6 +98,11 @@ if !MUDFLAP | ||
| 57 | libdw_pic_a_SOURCES = | ||
| 58 | am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) | ||
| 59 | |||
| 60 | +libdw_so_LDLIBS = | ||
| 61 | +if USE_UCLIBC | ||
| 62 | +libdw_so_LDLIBS += -lintl -luargp | ||
| 63 | +endif | ||
| 64 | + | ||
| 65 | libdw_so_SOURCES = | ||
| 66 | libdw.so: $(srcdir)/libdw.map libdw_pic.a \ | ||
| 67 | ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ | ||
| 68 | @@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic. | ||
| 69 | -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ | ||
| 70 | -Wl,--version-script,$<,--no-undefined \ | ||
| 71 | -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ | ||
| 72 | - -ldl $(zip_LIBS) | ||
| 73 | + -ldl $(zip_LIBS) $(libdw_so_LDLIBS) | ||
| 74 | if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi | ||
| 75 | ln -fs $@ $@.$(VERSION) | ||
| 76 | |||
| 77 | Index: elfutils-0.148/libcpu/Makefile.am | ||
| 78 | =================================================================== | ||
| 79 | --- elfutils-0.148.orig/libcpu/Makefile.am | ||
| 80 | +++ elfutils-0.148/libcpu/Makefile.am | ||
| 81 | @@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 | ||
| 82 | i386_lex.o: i386_parse.h | ||
| 83 | i386_gendis_LDADD = $(libeu) -lm $(libmudflap) | ||
| 84 | |||
| 85 | +if USE_UCLIBC | ||
| 86 | +i386_gendis_LDADD += -luargp -lintl | ||
| 87 | +endif | ||
| 88 | + | ||
| 89 | i386_parse.h: i386_parse.c ; | ||
| 90 | |||
| 91 | 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 @@ | |||
| 1 | #define MNEMONIC_BITS 10 | ||
| 2 | #define SUFFIX_BITS 3 | ||
| 3 | #define FCT1_BITS 7 | ||
| 4 | #define STR1_BITS 4 | ||
| 5 | #define OFF1_1_BITS 7 | ||
| 6 | #define OFF1_1_BIAS 3 | ||
| 7 | #define OFF1_2_BITS 7 | ||
| 8 | #define OFF1_2_BIAS 4 | ||
| 9 | #define OFF1_3_BITS 1 | ||
| 10 | #define OFF1_3_BIAS 7 | ||
| 11 | #define FCT2_BITS 6 | ||
| 12 | #define STR2_BITS 2 | ||
| 13 | #define OFF2_1_BITS 7 | ||
| 14 | #define OFF2_1_BIAS 5 | ||
| 15 | #define OFF2_2_BITS 7 | ||
| 16 | #define OFF2_2_BIAS 4 | ||
| 17 | #define OFF2_3_BITS 4 | ||
| 18 | #define OFF2_3_BIAS 7 | ||
| 19 | #define FCT3_BITS 4 | ||
| 20 | #define STR3_BITS 1 | ||
| 21 | #define OFF3_1_BITS 6 | ||
| 22 | #define OFF3_1_BIAS 10 | ||
| 23 | #define OFF3_2_BITS 1 | ||
| 24 | #define OFF3_2_BIAS 21 | ||
| 25 | |||
| 26 | #include <i386_data.h> | ||
| 27 | |||
| 28 | #define suffix_none 0 | ||
| 29 | #define suffix_w 1 | ||
| 30 | #define suffix_w0 2 | ||
| 31 | #define suffix_W 3 | ||
| 32 | #define suffix_tttn 4 | ||
| 33 | #define suffix_D 7 | ||
| 34 | #define suffix_w1 5 | ||
| 35 | #define suffix_W1 6 | ||
| 36 | |||
| 37 | static const opfct_t op1_fct[] = | ||
| 38 | { | ||
| 39 | NULL, | ||
| 40 | FCT_MOD$R_M, | ||
| 41 | FCT_Mod$R_m, | ||
| 42 | FCT_abs, | ||
| 43 | FCT_ax, | ||
| 44 | FCT_ax$w, | ||
| 45 | FCT_ccc, | ||
| 46 | FCT_ddd, | ||
| 47 | FCT_disp8, | ||
| 48 | FCT_ds_bx, | ||
| 49 | FCT_ds_si, | ||
| 50 | FCT_dx, | ||
| 51 | FCT_es_di, | ||
| 52 | FCT_freg, | ||
| 53 | FCT_imm$s, | ||
| 54 | FCT_imm$w, | ||
| 55 | FCT_imm16, | ||
| 56 | FCT_imm64$w, | ||
| 57 | FCT_imm8, | ||
| 58 | FCT_imms8, | ||
| 59 | FCT_mmxreg, | ||
| 60 | FCT_mod$16r_m, | ||
| 61 | FCT_mod$64r_m, | ||
| 62 | FCT_mod$8r_m, | ||
| 63 | FCT_mod$r_m, | ||
| 64 | FCT_mod$r_m$w, | ||
| 65 | FCT_reg, | ||
| 66 | FCT_reg$w, | ||
| 67 | FCT_reg64, | ||
| 68 | FCT_rel, | ||
| 69 | FCT_sel, | ||
| 70 | FCT_sreg2, | ||
| 71 | FCT_sreg3, | ||
| 72 | FCT_string, | ||
| 73 | FCT_xmmreg, | ||
| 74 | }; | ||
| 75 | static const char op1_str[] = | ||
| 76 | "%ax\0" | ||
| 77 | "%cl\0" | ||
| 78 | "%rax\0" | ||
| 79 | "%st\0" | ||
| 80 | "%xmm0\0" | ||
| 81 | "*"; | ||
| 82 | static const uint8_t op1_str_idx[] = { | ||
| 83 | 0, | ||
| 84 | 4, | ||
| 85 | 8, | ||
| 86 | 13, | ||
| 87 | 17, | ||
| 88 | 23, | ||
| 89 | }; | ||
| 90 | static const opfct_t op2_fct[] = | ||
| 91 | { | ||
| 92 | NULL, | ||
| 93 | FCT_MOD$R_M, | ||
| 94 | FCT_Mod$R_m, | ||
| 95 | FCT_abs, | ||
| 96 | FCT_absval, | ||
| 97 | FCT_ax$w, | ||
| 98 | FCT_ccc, | ||
| 99 | FCT_ddd, | ||
| 100 | FCT_ds_si, | ||
| 101 | FCT_dx, | ||
| 102 | FCT_es_di, | ||
| 103 | FCT_freg, | ||
| 104 | FCT_imm8, | ||
| 105 | FCT_mmxreg, | ||
| 106 | FCT_mod$64r_m, | ||
| 107 | FCT_mod$r_m, | ||
| 108 | FCT_mod$r_m$w, | ||
| 109 | FCT_oreg, | ||
| 110 | FCT_oreg$w, | ||
| 111 | FCT_reg, | ||
| 112 | FCT_reg$w, | ||
| 113 | FCT_reg64, | ||
| 114 | FCT_sreg3, | ||
| 115 | FCT_string, | ||
| 116 | FCT_xmmreg, | ||
| 117 | }; | ||
| 118 | static const char op2_str[] = | ||
| 119 | "%rcx\0" | ||
| 120 | "%st"; | ||
| 121 | static const uint8_t op2_str_idx[] = { | ||
| 122 | 0, | ||
| 123 | 5, | ||
| 124 | }; | ||
| 125 | static const opfct_t op3_fct[] = | ||
| 126 | { | ||
| 127 | NULL, | ||
| 128 | FCT_mmxreg, | ||
| 129 | FCT_mod$r_m, | ||
| 130 | FCT_reg, | ||
| 131 | FCT_string, | ||
| 132 | FCT_xmmreg, | ||
| 133 | }; | ||
| 134 | static const char op3_str[] = | ||
| 135 | "%rdx"; | ||
| 136 | static const uint8_t op3_str_idx[] = { | ||
| 137 | 0, | ||
| 138 | }; | ||
| 139 | static const struct instr_enc instrtab[] = | ||
| 140 | { | ||
| 141 | { .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, }, | ||
| 142 | { .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, }, | ||
| 143 | { .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, }, | ||
| 144 | { .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, }, | ||
| 145 | { .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, }, | ||
| 146 | { .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, }, | ||
| 147 | { .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, }, | ||
| 148 | { .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, }, | ||
| 149 | { .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, }, | ||
| 150 | { .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, }, | ||
| 151 | { .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, }, | ||
| 152 | { .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, }, | ||
| 153 | { .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, }, | ||
| 154 | { .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, }, | ||
| 155 | { .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, }, | ||
| 156 | { .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, }, | ||
| 157 | { .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, }, | ||
| 158 | { .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, }, | ||
| 159 | { .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, }, | ||
| 160 | { .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, }, | ||
| 161 | { .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, }, | ||
| 162 | { .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, }, | ||
| 163 | { .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, }, | ||
| 164 | { .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, }, | ||
| 165 | { .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, }, | ||
| 166 | { .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, }, | ||
| 167 | { .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, }, | ||
| 168 | { .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, }, | ||
| 169 | { .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, }, | ||
| 170 | { .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, }, | ||
| 171 | { .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, }, | ||
| 172 | { .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, }, | ||
| 173 | { .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, }, | ||
| 174 | { .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, }, | ||
| 175 | { .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, }, | ||
| 176 | { .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, }, | ||
| 177 | { .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, }, | ||
| 178 | { .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, }, | ||
| 179 | { .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, }, | ||
| 180 | { .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, }, | ||
| 181 | { .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, }, | ||
| 182 | { .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, }, | ||
| 183 | { .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, }, | ||
| 184 | { .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, }, | ||
| 185 | { .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, }, | ||
| 186 | { .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, }, | ||
| 187 | { .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, }, | ||
| 188 | { .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, }, | ||
| 189 | { .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, }, | ||
| 190 | { .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, }, | ||
| 191 | { .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, }, | ||
| 192 | { .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, }, | ||
| 193 | { .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, }, | ||
| 194 | { .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, }, | ||
| 195 | { .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, }, | ||
| 196 | { .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, }, | ||
| 197 | { .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, }, | ||
| 198 | { .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, }, | ||
| 199 | { .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, }, | ||
| 200 | { .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, }, | ||
| 201 | { .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, }, | ||
| 202 | { .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, }, | ||
| 203 | { .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, }, | ||
| 204 | { .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, }, | ||
| 205 | { .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, }, | ||
| 206 | { .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, }, | ||
| 207 | { .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, }, | ||
| 208 | { .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, }, | ||
| 209 | { .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, }, | ||
| 210 | { .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, }, | ||
| 211 | { .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, }, | ||
| 212 | { .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, }, | ||
| 213 | { .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, }, | ||
| 214 | { .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, }, | ||
| 215 | { .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, }, | ||
| 216 | { .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, }, | ||
| 217 | { .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, }, | ||
| 218 | { .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, }, | ||
| 219 | { .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, }, | ||
| 220 | { .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, }, | ||
| 221 | { .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, }, | ||
| 222 | { .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, }, | ||
| 223 | { .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, }, | ||
| 224 | { .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, }, | ||
| 225 | { .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, }, | ||
| 226 | { .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, }, | ||
| 227 | { .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, }, | ||
| 228 | { .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, }, | ||
| 229 | { .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, }, | ||
| 230 | { .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, }, | ||
| 231 | { .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, }, | ||
| 232 | { .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, }, | ||
| 233 | { .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, }, | ||
| 234 | { .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, }, | ||
| 235 | { .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, }, | ||
| 236 | { .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, }, | ||
| 237 | { .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, }, | ||
| 238 | { .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, }, | ||
| 239 | { .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, }, | ||
| 240 | { .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, }, | ||
| 241 | { .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, }, | ||
| 242 | { .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, }, | ||
| 243 | { .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, }, | ||
| 244 | { .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, }, | ||
| 245 | { .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, }, | ||
| 246 | { .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, }, | ||
| 247 | { .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, }, | ||
| 248 | { .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, }, | ||
| 249 | { .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, }, | ||
| 250 | { .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, }, | ||
| 251 | { .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, }, | ||
| 252 | { .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, }, | ||
| 253 | { .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, }, | ||
| 254 | { .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, }, | ||
| 255 | { .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, }, | ||
| 256 | { .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, }, | ||
| 257 | { .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, }, | ||
| 258 | { .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, }, | ||
| 259 | { .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, }, | ||
| 260 | { .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, }, | ||
| 261 | { .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, }, | ||
| 262 | { .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, }, | ||
| 263 | { .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, }, | ||
| 264 | { .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, }, | ||
| 265 | { .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, }, | ||
| 266 | { .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, }, | ||
| 267 | { .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, }, | ||
| 268 | { .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, }, | ||
| 269 | { .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, }, | ||
| 270 | { .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, }, | ||
| 271 | { .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, }, | ||
| 272 | { .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, }, | ||
| 273 | { .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, }, | ||
| 274 | { .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, }, | ||
| 275 | { .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, }, | ||
| 276 | { .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, }, | ||
| 277 | { .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, }, | ||
| 278 | { .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, }, | ||
| 279 | { .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, }, | ||
| 280 | { .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, }, | ||
| 281 | { .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, }, | ||
| 282 | { .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, }, | ||
| 283 | { .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, }, | ||
| 284 | { .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, }, | ||
| 285 | { .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, }, | ||
| 286 | { .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, }, | ||
| 287 | { .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, }, | ||
| 288 | { .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, }, | ||
| 289 | { .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, }, | ||
| 290 | { .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, }, | ||
| 291 | { .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, }, | ||
| 292 | { .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, }, | ||
| 293 | { .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, }, | ||
| 294 | { .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, }, | ||
| 295 | { .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, }, | ||
| 296 | { .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, }, | ||
| 297 | { .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, }, | ||
| 298 | { .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, }, | ||
| 299 | { .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, }, | ||
| 300 | { .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, }, | ||
| 301 | { .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, }, | ||
| 302 | { .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, }, | ||
| 303 | { .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, }, | ||
| 304 | { .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, }, | ||
| 305 | { .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, }, | ||
| 306 | { .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, }, | ||
| 307 | { .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, }, | ||
| 308 | { .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, }, | ||
| 309 | { .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, }, | ||
| 310 | { .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, }, | ||
| 311 | { .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, }, | ||
| 312 | { .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, }, | ||
| 313 | { .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, }, | ||
| 314 | { .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, }, | ||
| 315 | { .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, }, | ||
| 316 | { .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, }, | ||
| 317 | { .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, }, | ||
| 318 | { .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, }, | ||
| 319 | { .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, }, | ||
| 320 | { .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, }, | ||
| 321 | { .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, }, | ||
| 322 | { .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, }, | ||
| 323 | { .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, }, | ||
| 324 | { .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, }, | ||
| 325 | { .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, }, | ||
| 326 | { .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, }, | ||
| 327 | { .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, }, | ||
| 328 | { .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, }, | ||
| 329 | { .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, }, | ||
| 330 | { .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, }, | ||
| 331 | { .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, }, | ||
| 332 | { .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, }, | ||
| 333 | { .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, }, | ||
| 334 | { .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, }, | ||
| 335 | { .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, }, | ||
| 336 | { .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, }, | ||
| 337 | { .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, }, | ||
| 338 | { .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, }, | ||
| 339 | { .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, }, | ||
| 340 | { .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, }, | ||
| 341 | { .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, }, | ||
| 342 | { .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, }, | ||
| 343 | { .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, }, | ||
| 344 | { .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, }, | ||
| 345 | { .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, }, | ||
| 346 | { .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, }, | ||
| 347 | { .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, }, | ||
| 348 | { .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, }, | ||
| 349 | { .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, }, | ||
| 350 | { .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, }, | ||
| 351 | { .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, }, | ||
| 352 | { .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, }, | ||
| 353 | { .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, }, | ||
| 354 | { .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, }, | ||
| 355 | { .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, }, | ||
| 356 | { .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, }, | ||
| 357 | { .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, }, | ||
| 358 | { .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, }, | ||
| 359 | { .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, }, | ||
| 360 | { .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, }, | ||
| 361 | { .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, }, | ||
| 362 | { .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, }, | ||
| 363 | { .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, }, | ||
| 364 | { .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, }, | ||
| 365 | { .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, }, | ||
| 366 | { .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, }, | ||
| 367 | { .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, }, | ||
| 368 | { .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, }, | ||
| 369 | { .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, }, | ||
| 370 | { .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, }, | ||
| 371 | { .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, }, | ||
| 372 | { .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, }, | ||
| 373 | { .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, }, | ||
| 374 | { .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, }, | ||
| 375 | { .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, }, | ||
| 376 | { .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, }, | ||
| 377 | { .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, }, | ||
| 378 | { .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, }, | ||
| 379 | { .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, }, | ||
| 380 | { .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, }, | ||
| 381 | { .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, }, | ||
| 382 | { .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, }, | ||
| 383 | { .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, }, | ||
| 384 | { .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, }, | ||
| 385 | { .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, }, | ||
| 386 | { .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, }, | ||
| 387 | { .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, }, | ||
| 388 | { .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, }, | ||
| 389 | { .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, }, | ||
| 390 | { .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, }, | ||
| 391 | { .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, }, | ||
| 392 | { .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, }, | ||
| 393 | { .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, }, | ||
| 394 | { .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, }, | ||
| 395 | { .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, }, | ||
| 396 | { .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, }, | ||
| 397 | { .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, }, | ||
| 398 | { .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, }, | ||
| 399 | { .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, }, | ||
| 400 | { .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, }, | ||
| 401 | { .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, }, | ||
| 402 | { .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, }, | ||
| 403 | { .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, }, | ||
| 404 | { .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, }, | ||
| 405 | { .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, }, | ||
| 406 | { .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, }, | ||
| 407 | { .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, }, | ||
| 408 | { .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, }, | ||
| 409 | { .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, }, | ||
| 410 | { .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, }, | ||
| 411 | { .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, }, | ||
| 412 | { .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, }, | ||
| 413 | { .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, }, | ||
| 414 | { .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, }, | ||
| 415 | { .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, }, | ||
| 416 | { .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, }, | ||
| 417 | { .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, }, | ||
| 418 | { .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, }, | ||
| 419 | { .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, }, | ||
| 420 | { .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, }, | ||
| 421 | { .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, }, | ||
| 422 | { .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, }, | ||
| 423 | { .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, }, | ||
| 424 | { .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, }, | ||
| 425 | { .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, }, | ||
| 426 | { .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, }, | ||
| 427 | { .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, }, | ||
| 428 | { .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, }, | ||
| 429 | { .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, }, | ||
| 430 | { .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, }, | ||
| 431 | { .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, }, | ||
| 432 | { .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, }, | ||
| 433 | { .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, }, | ||
| 434 | { .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, }, | ||
| 435 | { .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, }, | ||
| 436 | { .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, }, | ||
| 437 | { .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, }, | ||
| 438 | { .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, }, | ||
| 439 | { .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, }, | ||
| 440 | { .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, }, | ||
| 441 | { .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, }, | ||
| 442 | { .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, }, | ||
| 443 | { .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, }, | ||
| 444 | { .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, }, | ||
| 445 | { .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, }, | ||
| 446 | { .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, }, | ||
| 447 | { .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, }, | ||
| 448 | { .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, }, | ||
| 449 | { .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, }, | ||
| 450 | { .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, }, | ||
| 451 | { .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, }, | ||
| 452 | { .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, }, | ||
| 453 | { .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, }, | ||
| 454 | { .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, }, | ||
| 455 | { .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, }, | ||
| 456 | { .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, }, | ||
| 457 | { .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, }, | ||
| 458 | { .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, }, | ||
| 459 | { .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, }, | ||
| 460 | { .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, }, | ||
| 461 | { .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, }, | ||
| 462 | { .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, }, | ||
| 463 | { .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, }, | ||
| 464 | { .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, }, | ||
| 465 | { .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, }, | ||
| 466 | { .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, }, | ||
| 467 | { .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, }, | ||
| 468 | { .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, }, | ||
| 469 | { .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, }, | ||
| 470 | { .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, }, | ||
| 471 | { .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, }, | ||
| 472 | { .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, }, | ||
| 473 | { .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, }, | ||
| 474 | { .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, }, | ||
| 475 | { .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, }, | ||
| 476 | { .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, }, | ||
| 477 | { .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, }, | ||
| 478 | { .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, }, | ||
| 479 | { .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, }, | ||
| 480 | { .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, }, | ||
| 481 | { .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, }, | ||
| 482 | { .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, }, | ||
| 483 | { .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, }, | ||
| 484 | { .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, }, | ||
| 485 | { .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, }, | ||
| 486 | { .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, }, | ||
| 487 | { .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, }, | ||
| 488 | { .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, }, | ||
| 489 | { .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, }, | ||
| 490 | { .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, }, | ||
| 491 | { .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, }, | ||
| 492 | { .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, }, | ||
| 493 | { .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, }, | ||
| 494 | { .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, }, | ||
| 495 | { .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, }, | ||
| 496 | { .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, }, | ||
| 497 | { .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, }, | ||
| 498 | { .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, }, | ||
| 499 | { .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, }, | ||
| 500 | { .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, }, | ||
| 501 | { .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, }, | ||
| 502 | { .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, }, | ||
| 503 | { .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, }, | ||
| 504 | { .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, }, | ||
| 505 | { .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, }, | ||
| 506 | { .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, }, | ||
| 507 | { .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, }, | ||
| 508 | { .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, }, | ||
| 509 | { .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, }, | ||
| 510 | { .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, }, | ||
| 511 | { .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, }, | ||
| 512 | { .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, }, | ||
| 513 | { .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, }, | ||
| 514 | { .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, }, | ||
| 515 | { .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, }, | ||
| 516 | { .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, }, | ||
| 517 | { .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, }, | ||
| 518 | { .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, }, | ||
| 519 | { .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, }, | ||
| 520 | { .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, }, | ||
| 521 | { .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, }, | ||
| 522 | { .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, }, | ||
| 523 | { .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, }, | ||
| 524 | { .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, }, | ||
| 525 | { .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, }, | ||
| 526 | { .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, }, | ||
| 527 | { .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, }, | ||
| 528 | { .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, }, | ||
| 529 | { .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, }, | ||
| 530 | { .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, }, | ||
| 531 | { .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, }, | ||
| 532 | { .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, }, | ||
| 533 | { .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, }, | ||
| 534 | { .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, }, | ||
| 535 | { .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, }, | ||
| 536 | { .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, }, | ||
| 537 | { .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, }, | ||
| 538 | { .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, }, | ||
| 539 | { .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, }, | ||
| 540 | { .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, }, | ||
| 541 | { .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, }, | ||
| 542 | { .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, }, | ||
| 543 | { .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, }, | ||
| 544 | { .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, }, | ||
| 545 | { .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, }, | ||
| 546 | { .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, }, | ||
| 547 | { .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, }, | ||
| 548 | { .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, }, | ||
| 549 | { .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, }, | ||
| 550 | { .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, }, | ||
| 551 | { .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, }, | ||
| 552 | { .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, }, | ||
| 553 | { .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, }, | ||
| 554 | { .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, }, | ||
| 555 | { .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, }, | ||
| 556 | { .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, }, | ||
| 557 | { .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, }, | ||
| 558 | { .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, }, | ||
| 559 | { .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, }, | ||
| 560 | { .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, }, | ||
| 561 | { .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, }, | ||
| 562 | { .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, }, | ||
| 563 | { .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, }, | ||
| 564 | { .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, }, | ||
| 565 | { .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, }, | ||
| 566 | { .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, }, | ||
| 567 | { .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, }, | ||
| 568 | { .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, }, | ||
| 569 | { .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, }, | ||
| 570 | { .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, }, | ||
| 571 | { .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, }, | ||
| 572 | { .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, }, | ||
| 573 | { .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, }, | ||
| 574 | { .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, }, | ||
| 575 | { .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, }, | ||
| 576 | { .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, }, | ||
| 577 | { .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, }, | ||
| 578 | { .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, }, | ||
| 579 | { .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, }, | ||
| 580 | { .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, }, | ||
| 581 | { .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, }, | ||
| 582 | { .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, }, | ||
| 583 | { .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, }, | ||
| 584 | { .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, }, | ||
| 585 | { .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, }, | ||
| 586 | { .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, }, | ||
| 587 | { .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, }, | ||
| 588 | { .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, }, | ||
| 589 | { .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, }, | ||
| 590 | { .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, }, | ||
| 591 | { .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, }, | ||
| 592 | { .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, }, | ||
| 593 | { .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, }, | ||
| 594 | { .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, }, | ||
| 595 | { .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, }, | ||
| 596 | { .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, }, | ||
| 597 | { .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, }, | ||
| 598 | { .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, }, | ||
| 599 | { .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, }, | ||
| 600 | { .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, }, | ||
| 601 | { .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, }, | ||
| 602 | { .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, }, | ||
| 603 | { .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, }, | ||
| 604 | { .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, }, | ||
| 605 | { .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, }, | ||
| 606 | { .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, }, | ||
| 607 | { .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, }, | ||
| 608 | { .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, }, | ||
| 609 | { .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, }, | ||
| 610 | { .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, }, | ||
| 611 | { .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, }, | ||
| 612 | { .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, }, | ||
| 613 | { .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, }, | ||
| 614 | { .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, }, | ||
| 615 | { .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, }, | ||
| 616 | { .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, }, | ||
| 617 | { .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, }, | ||
| 618 | { .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, }, | ||
| 619 | { .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, }, | ||
| 620 | { .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, }, | ||
| 621 | { .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, }, | ||
| 622 | { .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, }, | ||
| 623 | { .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, }, | ||
| 624 | { .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, }, | ||
| 625 | { .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, }, | ||
| 626 | { .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, }, | ||
| 627 | { .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, }, | ||
| 628 | { .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, }, | ||
| 629 | { .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, }, | ||
| 630 | { .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, }, | ||
| 631 | { .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, }, | ||
| 632 | { .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, }, | ||
| 633 | { .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, }, | ||
| 634 | { .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, }, | ||
| 635 | { .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, }, | ||
| 636 | { .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, }, | ||
| 637 | { .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, }, | ||
| 638 | { .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, }, | ||
| 639 | { .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, }, | ||
| 640 | { .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, }, | ||
| 641 | { .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, }, | ||
| 642 | { .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, }, | ||
| 643 | { .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, }, | ||
| 644 | { .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, }, | ||
| 645 | { .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, }, | ||
| 646 | { .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, }, | ||
| 647 | { .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, }, | ||
| 648 | { .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, }, | ||
| 649 | { .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, }, | ||
| 650 | { .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, }, | ||
| 651 | { .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, }, | ||
| 652 | { .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, }, | ||
| 653 | { .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, }, | ||
| 654 | { .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, }, | ||
| 655 | { .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, }, | ||
| 656 | { .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, }, | ||
| 657 | { .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, }, | ||
| 658 | { .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, }, | ||
| 659 | { .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, }, | ||
| 660 | { .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, }, | ||
| 661 | { .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, }, | ||
| 662 | { .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, }, | ||
| 663 | { .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, }, | ||
| 664 | { .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, }, | ||
| 665 | { .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, }, | ||
| 666 | { .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, }, | ||
| 667 | { .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, }, | ||
| 668 | { .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, }, | ||
| 669 | { .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, }, | ||
| 670 | { .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, }, | ||
| 671 | { .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, }, | ||
| 672 | { .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, }, | ||
| 673 | { .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, }, | ||
| 674 | { .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, }, | ||
| 675 | { .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, }, | ||
| 676 | { .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, }, | ||
| 677 | { .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, }, | ||
| 678 | { .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, }, | ||
| 679 | { .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, }, | ||
| 680 | { .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, }, | ||
| 681 | { .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, }, | ||
| 682 | { .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, }, | ||
| 683 | { .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, }, | ||
| 684 | { .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, }, | ||
| 685 | { .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, }, | ||
| 686 | { .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, }, | ||
| 687 | { .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, }, | ||
| 688 | { .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, }, | ||
| 689 | { .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, }, | ||
| 690 | { .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, }, | ||
| 691 | { .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, }, | ||
| 692 | { .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, }, | ||
| 693 | { .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, }, | ||
| 694 | { .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, }, | ||
| 695 | { .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, }, | ||
| 696 | { .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, }, | ||
| 697 | { .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, }, | ||
| 698 | { .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, }, | ||
| 699 | { .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, }, | ||
| 700 | { .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, }, | ||
| 701 | { .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, }, | ||
| 702 | { .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, }, | ||
| 703 | { .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, }, | ||
| 704 | { .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, }, | ||
| 705 | { .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, }, | ||
| 706 | { .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, }, | ||
| 707 | { .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, }, | ||
| 708 | { .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, }, | ||
| 709 | { .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, }, | ||
| 710 | { .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, }, | ||
| 711 | { .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, }, | ||
| 712 | { .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, }, | ||
| 713 | { .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, }, | ||
| 714 | { .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, }, | ||
| 715 | { .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, }, | ||
| 716 | { .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, }, | ||
| 717 | { .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, }, | ||
| 718 | { .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, }, | ||
| 719 | { .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, }, | ||
| 720 | { .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, }, | ||
| 721 | { .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, }, | ||
| 722 | { .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, }, | ||
| 723 | { .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, }, | ||
| 724 | { .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, }, | ||
| 725 | { .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, }, | ||
| 726 | { .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, }, | ||
| 727 | { .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, }, | ||
| 728 | { .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, }, | ||
| 729 | { .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, }, | ||
| 730 | { .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, }, | ||
| 731 | { .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, }, | ||
| 732 | { .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, }, | ||
| 733 | { .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, }, | ||
| 734 | { .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, }, | ||
| 735 | { .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, }, | ||
| 736 | { .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, }, | ||
| 737 | { .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, }, | ||
| 738 | { .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, }, | ||
| 739 | { .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, }, | ||
| 740 | { .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, }, | ||
| 741 | { .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, }, | ||
| 742 | { .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, }, | ||
| 743 | { .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, }, | ||
| 744 | { .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, }, | ||
| 745 | { .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, }, | ||
| 746 | { .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, }, | ||
| 747 | { .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, }, | ||
| 748 | { .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, }, | ||
| 749 | { .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, }, | ||
| 750 | { .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, }, | ||
| 751 | { .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, }, | ||
| 752 | { .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, }, | ||
| 753 | { .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, }, | ||
| 754 | { .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, }, | ||
| 755 | { .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, }, | ||
| 756 | { .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, }, | ||
| 757 | { .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, }, | ||
| 758 | { .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, }, | ||
| 759 | { .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, }, | ||
| 760 | { .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, }, | ||
| 761 | { .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, }, | ||
| 762 | { .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, }, | ||
| 763 | { .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, }, | ||
| 764 | { .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, }, | ||
| 765 | { .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, }, | ||
| 766 | { .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, }, | ||
| 767 | { .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, }, | ||
| 768 | { .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, }, | ||
| 769 | { .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, }, | ||
| 770 | { .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, }, | ||
| 771 | { .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, }, | ||
| 772 | { .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, }, | ||
| 773 | { .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, }, | ||
| 774 | { .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, }, | ||
| 775 | { .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, }, | ||
| 776 | { .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, }, | ||
| 777 | { .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, }, | ||
| 778 | { .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, }, | ||
| 779 | { .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, }, | ||
| 780 | { .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, }, | ||
| 781 | { .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, }, | ||
| 782 | { .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, }, | ||
| 783 | { .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, }, | ||
| 784 | { .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, }, | ||
| 785 | { .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, }, | ||
| 786 | { .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, }, | ||
| 787 | { .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, }, | ||
| 788 | { .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, }, | ||
| 789 | { .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, }, | ||
| 790 | { .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, }, | ||
| 791 | { .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, }, | ||
| 792 | { .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, }, | ||
| 793 | { .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, }, | ||
| 794 | { .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, }, | ||
| 795 | { .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, }, | ||
| 796 | { .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, }, | ||
| 797 | { .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, }, | ||
| 798 | { .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, }, | ||
| 799 | { .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, }, | ||
| 800 | { .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, }, | ||
| 801 | { .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, }, | ||
| 802 | { .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, }, | ||
| 803 | { .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, }, | ||
| 804 | { .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, }, | ||
| 805 | { .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, }, | ||
| 806 | { .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, }, | ||
| 807 | { .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, }, | ||
| 808 | { .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, }, | ||
| 809 | { .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, }, | ||
| 810 | { .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, }, | ||
| 811 | { .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, }, | ||
| 812 | { .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, }, | ||
| 813 | { .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, }, | ||
| 814 | { .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, }, | ||
| 815 | { .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, }, | ||
| 816 | { .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, }, | ||
| 817 | { .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, }, | ||
| 818 | { .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, }, | ||
| 819 | { .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, }, | ||
| 820 | { .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, }, | ||
| 821 | { .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, }, | ||
| 822 | { .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, }, | ||
| 823 | { .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, }, | ||
| 824 | { .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, }, | ||
| 825 | { .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, }, | ||
| 826 | { .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, }, | ||
| 827 | { .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, }, | ||
| 828 | { .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, }, | ||
| 829 | { .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, }, | ||
| 830 | { .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, }, | ||
| 831 | { .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, }, | ||
| 832 | { .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, }, | ||
| 833 | { .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, }, | ||
| 834 | { .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, }, | ||
| 835 | { .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, }, | ||
| 836 | { .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, }, | ||
| 837 | { .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, }, | ||
| 838 | { .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, }, | ||
| 839 | { .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, }, | ||
| 840 | { .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, }, | ||
| 841 | { .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, }, | ||
| 842 | { .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, }, | ||
| 843 | { .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, }, | ||
| 844 | { .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, }, | ||
| 845 | { .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, }, | ||
| 846 | { .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, }, | ||
| 847 | { .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, }, | ||
| 848 | { .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, }, | ||
| 849 | { .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, }, | ||
| 850 | { .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, }, | ||
| 851 | { .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, }, | ||
| 852 | { .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, }, | ||
| 853 | { .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, }, | ||
| 854 | { .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, }, | ||
| 855 | { .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, }, | ||
| 856 | { .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, }, | ||
| 857 | { .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, }, | ||
| 858 | { .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, }, | ||
| 859 | { .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, }, | ||
| 860 | { .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, }, | ||
| 861 | { .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, }, | ||
| 862 | { .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, }, | ||
| 863 | { .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, }, | ||
| 864 | { .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, }, | ||
| 865 | { .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, }, | ||
| 866 | { .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, }, | ||
| 867 | { .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, }, | ||
| 868 | { .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, }, | ||
| 869 | { .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, }, | ||
| 870 | { .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, }, | ||
| 871 | { .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, }, | ||
| 872 | { .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, }, | ||
| 873 | { .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, }, | ||
| 874 | { .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, }, | ||
| 875 | { .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, }, | ||
| 876 | { .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, }, | ||
| 877 | { .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, }, | ||
| 878 | { .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, }, | ||
| 879 | { .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, }, | ||
| 880 | { .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, }, | ||
| 881 | { .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, }, | ||
| 882 | { .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, }, | ||
| 883 | { .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, }, | ||
| 884 | { .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, }, | ||
| 885 | }; | ||
| 886 | static const uint8_t match_data[] = | ||
| 887 | { | ||
| 888 | 0x1, 0xfe, 0x14, | ||
| 889 | 0x2, 0xfe, 0x80, 0x38, 0x10, | ||
| 890 | 0x2, 0xfe, 0x82, 0x38, 0x10, | ||
| 891 | 0x2, 0xfe, 0x10, 0, 0, | ||
| 892 | 0x2, 0xfe, 0x12, 0, 0, | ||
| 893 | 0x1, 0xfe, 0x4, | ||
| 894 | 0x2, 0xfe, 0x80, 0x38, 0, | ||
| 895 | 0x12, 0x83, 0x38, 0, | ||
| 896 | 0x2, 0xfe, 0, 0, 0, | ||
| 897 | 0x2, 0xfe, 0x2, 0, 0, | ||
| 898 | 0x34, 0x66, 0xf, 0xd0, 0, 0, | ||
| 899 | 0x34, 0xf2, 0xf, 0xd0, 0, 0, | ||
| 900 | 0x1, 0xfe, 0x24, | ||
| 901 | 0x2, 0xfe, 0x80, 0x38, 0x20, | ||
| 902 | 0x2, 0xfe, 0x82, 0x38, 0x20, | ||
| 903 | 0x2, 0xfe, 0x20, 0, 0, | ||
| 904 | 0x2, 0xfe, 0x22, 0, 0, | ||
| 905 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
| 906 | 0x23, 0xf, 0x54, 0, 0, | ||
| 907 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
| 908 | 0x23, 0xf, 0x55, 0, 0, | ||
| 909 | 0x12, 0x63, 0, 0, | ||
| 910 | 0x23, 0xf, 0xbc, 0, 0, | ||
| 911 | 0x23, 0xf, 0xbd, 0, 0, | ||
| 912 | 0x12, 0xf, 0xf8, 0xc8, | ||
| 913 | 0x23, 0xf, 0xa3, 0, 0, | ||
| 914 | 0x23, 0xf, 0xba, 0x38, 0x20, | ||
| 915 | 0x23, 0xf, 0xbb, 0, 0, | ||
| 916 | 0x23, 0xf, 0xba, 0x38, 0x38, | ||
| 917 | 0x23, 0xf, 0xb3, 0, 0, | ||
| 918 | 0x23, 0xf, 0xba, 0x38, 0x30, | ||
| 919 | 0x23, 0xf, 0xab, 0, 0, | ||
| 920 | 0x23, 0xf, 0xba, 0x38, 0x28, | ||
| 921 | 0x11, 0xe8, | ||
| 922 | 0x12, 0xff, 0x38, 0x10, | ||
| 923 | 0x12, 0xff, 0x38, 0x18, | ||
| 924 | 0x11, 0x98, | ||
| 925 | 0x11, 0x99, | ||
| 926 | 0x11, 0xf8, | ||
| 927 | 0x11, 0xfc, | ||
| 928 | 0x11, 0xfa, | ||
| 929 | 0x22, 0xf, 0x5, | ||
| 930 | 0x22, 0xf, 0x6, | ||
| 931 | 0x22, 0xf, 0x7, | ||
| 932 | 0x22, 0xf, 0x34, | ||
| 933 | 0x22, 0xf, 0x35, | ||
| 934 | 0x11, 0xf5, | ||
| 935 | 0x13, 0xf, 0xf0, 0x40, 0, 0, | ||
| 936 | 0x1, 0xfe, 0x3c, | ||
| 937 | 0x2, 0xfe, 0x80, 0x38, 0x38, | ||
| 938 | 0x12, 0x83, 0x38, 0x38, | ||
| 939 | 0x2, 0xfe, 0x38, 0, 0, | ||
| 940 | 0x2, 0xfe, 0x3a, 0, 0, | ||
| 941 | 0x34, 0xf2, 0xf, 0xc2, 0, 0, | ||
| 942 | 0x34, 0xf3, 0xf, 0xc2, 0, 0, | ||
| 943 | 0x34, 0x66, 0xf, 0xc2, 0, 0, | ||
| 944 | 0x23, 0xf, 0xc2, 0, 0, | ||
| 945 | 0x1, 0xfe, 0xa6, | ||
| 946 | 0x13, 0xf, 0xfe, 0xb0, 0, 0, | ||
| 947 | 0x23, 0xf, 0xc7, 0x38, 0x8, | ||
| 948 | 0x22, 0xf, 0xa2, | ||
| 949 | 0x34, 0xf3, 0xf, 0xe6, 0, 0, | ||
| 950 | 0x34, 0xf2, 0xf, 0xe6, 0, 0, | ||
| 951 | 0x34, 0x66, 0xf, 0xe6, 0, 0, | ||
| 952 | 0x2, 0xfe, 0xfe, 0x38, 0x8, | ||
| 953 | 0x2, 0xfe, 0xf6, 0x38, 0x30, | ||
| 954 | 0x22, 0xf, 0x77, | ||
| 955 | 0x11, 0xc8, | ||
| 956 | 0x22, 0xd9, 0xd0, | ||
| 957 | 0x22, 0xd9, 0xe0, | ||
| 958 | 0x22, 0xd9, 0xe1, | ||
| 959 | 0x22, 0xd9, 0xe4, | ||
| 960 | 0x22, 0xd9, 0xe5, | ||
| 961 | 0x22, 0xd9, 0xe8, | ||
| 962 | 0x22, 0xd9, 0xe9, | ||
| 963 | 0x22, 0xd9, 0xea, | ||
| 964 | 0x22, 0xd9, 0xeb, | ||
| 965 | 0x22, 0xd9, 0xec, | ||
| 966 | 0x22, 0xd9, 0xed, | ||
| 967 | 0x22, 0xd9, 0xee, | ||
| 968 | 0x22, 0xd9, 0xf0, | ||
| 969 | 0x22, 0xd9, 0xf1, | ||
| 970 | 0x22, 0xd9, 0xf2, | ||
| 971 | 0x22, 0xd9, 0xf3, | ||
| 972 | 0x22, 0xd9, 0xf4, | ||
| 973 | 0x22, 0xd9, 0xf5, | ||
| 974 | 0x22, 0xd9, 0xf6, | ||
| 975 | 0x22, 0xd9, 0xf7, | ||
| 976 | 0x22, 0xd9, 0xf8, | ||
| 977 | 0x22, 0xd9, 0xf9, | ||
| 978 | 0x22, 0xd9, 0xfa, | ||
| 979 | 0x22, 0xd9, 0xfb, | ||
| 980 | 0x22, 0xd9, 0xfc, | ||
| 981 | 0x22, 0xd9, 0xfd, | ||
| 982 | 0x22, 0xd9, 0xfe, | ||
| 983 | 0x22, 0xd9, 0xff, | ||
| 984 | 0x12, 0xd8, 0xf8, 0xc0, | ||
| 985 | 0x12, 0xdc, 0xf8, 0xc0, | ||
| 986 | 0x2, 0xfb, 0xd8, 0x38, 0, | ||
| 987 | 0x12, 0xd8, 0xf8, 0xc8, | ||
| 988 | 0x12, 0xdc, 0xf8, 0xc8, | ||
| 989 | 0x2, 0xfb, 0xd8, 0x38, 0x8, | ||
| 990 | 0x12, 0xd8, 0xf8, 0xe0, | ||
| 991 | 0x12, 0xdc, 0xf8, 0xe0, | ||
| 992 | 0x2, 0xfb, 0xd8, 0x38, 0x20, | ||
| 993 | 0x12, 0xd8, 0xf8, 0xe8, | ||
| 994 | 0x12, 0xdc, 0xf8, 0xe8, | ||
| 995 | 0x2, 0xfb, 0xd8, 0x38, 0x28, | ||
| 996 | 0x12, 0xdd, 0xf8, 0xd0, | ||
| 997 | 0x2, 0xfb, 0xd9, 0x38, 0x10, | ||
| 998 | 0x12, 0xdd, 0xf8, 0xd8, | ||
| 999 | 0x2, 0xfb, 0xd9, 0x38, 0x18, | ||
| 1000 | 0x12, 0xd9, 0x38, 0x20, | ||
| 1001 | 0x12, 0xd9, 0x38, 0x28, | ||
| 1002 | 0x12, 0xd9, 0x38, 0x30, | ||
| 1003 | 0x12, 0xd9, 0x38, 0x38, | ||
| 1004 | 0x12, 0xd9, 0xf8, 0xc8, | ||
| 1005 | 0x12, 0xde, 0xf8, 0xc0, | ||
| 1006 | 0x12, 0xda, 0xf8, 0xc0, | ||
| 1007 | 0x2, 0xfb, 0xda, 0x38, 0, | ||
| 1008 | 0x12, 0xda, 0xf8, 0xc8, | ||
| 1009 | 0x12, 0xde, 0xf8, 0xc8, | ||
| 1010 | 0x2, 0xfb, 0xda, 0x38, 0x8, | ||
| 1011 | 0x12, 0xde, 0xf8, 0xe0, | ||
| 1012 | 0x2, 0xfb, 0xda, 0x38, 0x20, | ||
| 1013 | 0x12, 0xde, 0xf8, 0xe8, | ||
| 1014 | 0x2, 0xfb, 0xda, 0x38, 0x28, | ||
| 1015 | 0x22, 0xdf, 0xe0, | ||
| 1016 | 0x12, 0xdf, 0x38, 0x20, | ||
| 1017 | 0x12, 0xdf, 0xf8, 0xf0, | ||
| 1018 | 0x12, 0xdf, 0x38, 0x30, | ||
| 1019 | 0x22, 0xd9, 0xe0, | ||
| 1020 | 0x33, 0x9b, 0xdb, 0xe2, | ||
| 1021 | 0x33, 0x9b, 0xdb, 0xe3, | ||
| 1022 | 0x11, 0x9b, | ||
| 1023 | 0x22, 0xdb, 0xe2, | ||
| 1024 | 0x12, 0xda, 0xf8, 0xc0, | ||
| 1025 | 0x12, 0xda, 0xf8, 0xc8, | ||
| 1026 | 0x12, 0xda, 0xf8, 0xd0, | ||
| 1027 | 0x12, 0xda, 0xf8, 0xd8, | ||
| 1028 | 0x12, 0xdb, 0xf8, 0xc0, | ||
| 1029 | 0x12, 0xdb, 0xf8, 0xc8, | ||
| 1030 | 0x12, 0xdb, 0xf8, 0xd0, | ||
| 1031 | 0x12, 0xdb, 0xf8, 0xd8, | ||
| 1032 | 0x12, 0xd8, 0xf8, 0xd0, | ||
| 1033 | 0x2, 0xfb, 0xd8, 0x38, 0x10, | ||
| 1034 | 0x12, 0xd8, 0xf8, 0xd8, | ||
| 1035 | 0x2, 0xfb, 0xd8, 0x38, 0x18, | ||
| 1036 | 0x22, 0xde, 0xd9, | ||
| 1037 | 0x12, 0xdb, 0xf8, 0xf0, | ||
| 1038 | 0x12, 0xdf, 0xf8, 0xf0, | ||
| 1039 | 0x12, 0xdb, 0xf8, 0xe8, | ||
| 1040 | 0x12, 0xdf, 0xf8, 0xe8, | ||
| 1041 | 0x22, 0xd9, 0xff, | ||
| 1042 | 0x22, 0xd9, 0xf6, | ||
| 1043 | 0x12, 0xd8, 0xf8, 0xf0, | ||
| 1044 | 0x12, 0xdc, 0xf8, 0xf0, | ||
| 1045 | 0x2, 0xfb, 0xd8, 0x38, 0x30, | ||
| 1046 | 0x12, 0xda, 0x38, 0x30, | ||
| 1047 | 0x12, 0xde, 0xf8, 0xf0, | ||
| 1048 | 0x12, 0xde, 0x38, 0x30, | ||
| 1049 | 0x12, 0xde, 0xf8, 0xf8, | ||
| 1050 | 0x12, 0xd8, 0xf8, 0xf8, | ||
| 1051 | 0x12, 0xdc, 0xf8, 0xf8, | ||
| 1052 | 0x2, 0xfb, 0xd8, 0x38, 0x38, | ||
| 1053 | 0x12, 0xda, 0x38, 0x38, | ||
| 1054 | 0x12, 0xde, 0x38, 0x38, | ||
| 1055 | 0x12, 0xde, 0xf8, 0xf0, | ||
| 1056 | 0x12, 0xdd, 0xf8, 0xc0, | ||
| 1057 | 0x12, 0xda, 0xf8, 0xd0, | ||
| 1058 | 0x2, 0xfb, 0xda, 0x38, 0x10, | ||
| 1059 | 0x12, 0xda, 0xf8, 0xd8, | ||
| 1060 | 0x2, 0xfb, 0xda, 0x38, 0x18, | ||
| 1061 | 0x12, 0xdf, 0x38, 0, | ||
| 1062 | 0x12, 0xdb, 0x38, 0, | ||
| 1063 | 0x12, 0xdf, 0x38, 0x28, | ||
| 1064 | 0x22, 0xd9, 0xf7, | ||
| 1065 | 0x22, 0xdb, 0xe3, | ||
| 1066 | 0x2, 0xfb, 0xdb, 0x38, 0x10, | ||
| 1067 | 0x2, 0xfb, 0xdb, 0x38, 0x18, | ||
| 1068 | 0x12, 0xdf, 0x38, 0x38, | ||
| 1069 | 0x2, 0xfb, 0xdb, 0x38, 0x8, | ||
| 1070 | 0x12, 0xdd, 0x38, 0x8, | ||
| 1071 | 0x12, 0xdb, 0x38, 0x28, | ||
| 1072 | 0x12, 0xdb, 0x38, 0x38, | ||
| 1073 | 0x12, 0xd9, 0xf8, 0xc0, | ||
| 1074 | 0x2, 0xfb, 0xd9, 0x38, 0, | ||
| 1075 | 0x12, 0xdd, 0xf8, 0xe0, | ||
| 1076 | 0x12, 0xdd, 0x38, 0x20, | ||
| 1077 | 0x12, 0xdd, 0xf8, 0xe8, | ||
| 1078 | 0x12, 0xdd, 0x38, 0x30, | ||
| 1079 | 0x12, 0xdd, 0x38, 0x38, | ||
| 1080 | 0x11, 0xf4, | ||
| 1081 | 0x2, 0xfe, 0xf6, 0x38, 0x38, | ||
| 1082 | 0x2, 0xfe, 0xf6, 0x38, 0x28, | ||
| 1083 | 0x23, 0xf, 0xaf, 0, 0, | ||
| 1084 | 0x2, 0xfd, 0x69, 0, 0, | ||
| 1085 | 0x1, 0xfe, 0xe4, | ||
| 1086 | 0x1, 0xfe, 0xec, | ||
| 1087 | 0x2, 0xfe, 0xfe, 0x38, 0, | ||
| 1088 | 0x1, 0xfe, 0x6c, | ||
| 1089 | 0x11, 0xcd, | ||
| 1090 | 0x11, 0xcc, | ||
| 1091 | 0x22, 0xf, 0x8, | ||
| 1092 | 0x33, 0xf, 0x1, 0xf8, | ||
| 1093 | 0x23, 0xf, 0x1, 0x38, 0x38, | ||
| 1094 | 0x11, 0xcf, | ||
| 1095 | 0x1, 0xf0, 0x70, | ||
| 1096 | 0x12, 0xf, 0xf0, 0x80, | ||
| 1097 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
| 1098 | 0x11, 0xe3, | ||
| 1099 | 0x11, 0xeb, | ||
| 1100 | 0x11, 0xe9, | ||
| 1101 | 0x12, 0xff, 0x38, 0x20, | ||
| 1102 | 0x11, 0xea, | ||
| 1103 | 0x12, 0xff, 0x38, 0x28, | ||
| 1104 | 0x11, 0x9f, | ||
| 1105 | 0x23, 0xf, 0x2, 0, 0, | ||
| 1106 | 0x12, 0x8d, 0, 0, | ||
| 1107 | 0x11, 0xc9, | ||
| 1108 | 0x23, 0xf, 0xb4, 0, 0, | ||
| 1109 | 0x23, 0xf, 0xb5, 0, 0, | ||
| 1110 | 0x23, 0xf, 0x1, 0x38, 0x10, | ||
| 1111 | 0x23, 0xf, 0x1, 0x38, 0x18, | ||
| 1112 | 0x23, 0xf, 0, 0x38, 0x10, | ||
| 1113 | 0x23, 0xf, 0x1, 0x38, 0x30, | ||
| 1114 | 0x11, 0xf0, | ||
| 1115 | 0x1, 0xfe, 0xac, | ||
| 1116 | 0x11, 0xe2, | ||
| 1117 | 0x11, 0xe1, | ||
| 1118 | 0x11, 0xe0, | ||
| 1119 | 0x23, 0xf, 0x3, 0, 0, | ||
| 1120 | 0x23, 0xf, 0xb2, 0, 0, | ||
| 1121 | 0x23, 0xf, 0, 0x38, 0x18, | ||
| 1122 | 0x2, 0xfe, 0x88, 0, 0, | ||
| 1123 | 0x2, 0xfe, 0x8a, 0, 0, | ||
| 1124 | 0x2, 0xfe, 0xc6, 0x38, 0, | ||
| 1125 | 0x1, 0xf0, 0xb0, | ||
| 1126 | 0x1, 0xfe, 0xa0, | ||
| 1127 | 0x1, 0xfe, 0xa2, | ||
| 1128 | 0x23, 0xf, 0x20, 0xc0, 0xc0, | ||
| 1129 | 0x23, 0xf, 0x22, 0xc0, 0xc0, | ||
| 1130 | 0x23, 0xf, 0x21, 0xc0, 0xc0, | ||
| 1131 | 0x23, 0xf, 0x23, 0xc0, 0xc0, | ||
| 1132 | 0x12, 0x8c, 0, 0, | ||
| 1133 | 0x12, 0x8e, 0, 0, | ||
| 1134 | 0x1, 0xfe, 0xa4, | ||
| 1135 | 0x23, 0xf, 0xbe, 0, 0, | ||
| 1136 | 0x23, 0xf, 0xbf, 0, 0, | ||
| 1137 | 0x23, 0xf, 0xb6, 0, 0, | ||
| 1138 | 0x23, 0xf, 0xb7, 0, 0, | ||
| 1139 | 0x2, 0xfe, 0xf6, 0x38, 0x20, | ||
| 1140 | 0x2, 0xfe, 0xf6, 0x38, 0x18, | ||
| 1141 | 0x22, 0xf3, 0x90, | ||
| 1142 | 0x11, 0x90, | ||
| 1143 | 0x34, 0xf3, 0xf, 0xb8, 0, 0, | ||
| 1144 | 0x2, 0xfe, 0xf6, 0x38, 0x10, | ||
| 1145 | 0x2, 0xfe, 0x8, 0, 0, | ||
| 1146 | 0x2, 0xfe, 0xa, 0, 0, | ||
| 1147 | 0x2, 0xfe, 0x80, 0x38, 0x8, | ||
| 1148 | 0x2, 0xfe, 0x82, 0x38, 0x8, | ||
| 1149 | 0x1, 0xfe, 0xc, | ||
| 1150 | 0x1, 0xfe, 0xe6, | ||
| 1151 | 0x1, 0xfe, 0xee, | ||
| 1152 | 0x1, 0xfe, 0x6e, | ||
| 1153 | 0x12, 0x8f, 0xf8, 0xc0, | ||
| 1154 | 0x12, 0x8f, 0x38, 0, | ||
| 1155 | 0x12, 0xf, 0xc7, 0x81, | ||
| 1156 | 0x11, 0x9d, | ||
| 1157 | 0x12, 0xff, 0xf8, 0xf0, | ||
| 1158 | 0x12, 0xff, 0x38, 0x30, | ||
| 1159 | 0x1, 0xf8, 0x50, | ||
| 1160 | 0x1, 0xf8, 0x58, | ||
| 1161 | 0x1, 0xfd, 0x68, | ||
| 1162 | 0x1, 0xe7, 0x6, | ||
| 1163 | 0x12, 0xf, 0xc7, 0x80, | ||
| 1164 | 0x11, 0x9c, | ||
| 1165 | 0x2, 0xfe, 0xd0, 0x38, 0x10, | ||
| 1166 | 0x2, 0xfe, 0xd2, 0x38, 0x10, | ||
| 1167 | 0x2, 0xfe, 0xc0, 0x38, 0x10, | ||
| 1168 | 0x2, 0xfe, 0xd0, 0x38, 0x18, | ||
| 1169 | 0x2, 0xfe, 0xd2, 0x38, 0x18, | ||
| 1170 | 0x2, 0xfe, 0xc0, 0x38, 0x18, | ||
| 1171 | 0x22, 0xf, 0x32, | ||
| 1172 | 0x22, 0xf, 0x33, | ||
| 1173 | 0x22, 0xf, 0x31, | ||
| 1174 | 0x11, 0xc3, | ||
| 1175 | 0x11, 0xc2, | ||
| 1176 | 0x11, 0xcb, | ||
| 1177 | 0x11, 0xca, | ||
| 1178 | 0x2, 0xfe, 0xd0, 0x38, 0, | ||
| 1179 | 0x2, 0xfe, 0xd2, 0x38, 0, | ||
| 1180 | 0x2, 0xfe, 0xc0, 0x38, 0, | ||
| 1181 | 0x2, 0xfe, 0xd0, 0x38, 0x8, | ||
| 1182 | 0x2, 0xfe, 0xd2, 0x38, 0x8, | ||
| 1183 | 0x2, 0xfe, 0xc0, 0x38, 0x8, | ||
| 1184 | 0x22, 0xf, 0xaa, | ||
| 1185 | 0x11, 0x9e, | ||
| 1186 | 0x2, 0xfe, 0xd0, 0x38, 0x38, | ||
| 1187 | 0x2, 0xfe, 0xd2, 0x38, 0x38, | ||
| 1188 | 0x2, 0xfe, 0xc0, 0x38, 0x38, | ||
| 1189 | 0x2, 0xfe, 0x18, 0, 0, | ||
| 1190 | 0x2, 0xfe, 0x1a, 0, 0, | ||
| 1191 | 0x1, 0xfe, 0x1c, | ||
| 1192 | 0x2, 0xfe, 0x80, 0x38, 0x18, | ||
| 1193 | 0x2, 0xfe, 0x82, 0x38, 0x18, | ||
| 1194 | 0x1, 0xfe, 0xae, | ||
| 1195 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
| 1196 | 0x2, 0xfe, 0xd0, 0x38, 0x20, | ||
| 1197 | 0x2, 0xfe, 0xd2, 0x38, 0x20, | ||
| 1198 | 0x2, 0xfe, 0xc0, 0x38, 0x20, | ||
| 1199 | 0x2, 0xfe, 0xd0, 0x38, 0x28, | ||
| 1200 | 0x23, 0xf, 0xa4, 0, 0, | ||
| 1201 | 0x23, 0xf, 0xa5, 0, 0, | ||
| 1202 | 0x2, 0xfe, 0xd2, 0x38, 0x28, | ||
| 1203 | 0x2, 0xfe, 0xc0, 0x38, 0x28, | ||
| 1204 | 0x23, 0xf, 0xac, 0, 0, | ||
| 1205 | 0x23, 0xf, 0xad, 0, 0, | ||
| 1206 | 0x33, 0xf, 0x1, 0xc1, | ||
| 1207 | 0x33, 0xf, 0x1, 0xc2, | ||
| 1208 | 0x33, 0xf, 0x1, 0xc3, | ||
| 1209 | 0x33, 0xf, 0x1, 0xc4, | ||
| 1210 | 0x23, 0xf, 0x78, 0, 0, | ||
| 1211 | 0x23, 0xf, 0x79, 0, 0, | ||
| 1212 | 0x23, 0xf, 0x1, 0x38, 0, | ||
| 1213 | 0x33, 0xf, 0x1, 0xc8, | ||
| 1214 | 0x33, 0xf, 0x1, 0xc9, | ||
| 1215 | 0x23, 0xf, 0x1, 0x38, 0x8, | ||
| 1216 | 0x23, 0xf, 0, 0x38, 0, | ||
| 1217 | 0x23, 0xf, 0x1, 0x38, 0x20, | ||
| 1218 | 0x11, 0xf9, | ||
| 1219 | 0x11, 0xfd, | ||
| 1220 | 0x11, 0xfb, | ||
| 1221 | 0x1, 0xfe, 0xaa, | ||
| 1222 | 0x23, 0xf, 0, 0x38, 0x8, | ||
| 1223 | 0x2, 0xfe, 0x28, 0, 0, | ||
| 1224 | 0x2, 0xfe, 0x2a, 0, 0, | ||
| 1225 | 0x1, 0xfe, 0x2c, | ||
| 1226 | 0x2, 0xfe, 0x80, 0x38, 0x28, | ||
| 1227 | 0x2, 0xfe, 0x82, 0x38, 0x28, | ||
| 1228 | 0x2, 0xfe, 0x84, 0, 0, | ||
| 1229 | 0x1, 0xfe, 0xa8, | ||
| 1230 | 0x2, 0xfe, 0xf6, 0x38, 0, | ||
| 1231 | 0x22, 0xf, 0xb, | ||
| 1232 | 0x23, 0xf, 0, 0x38, 0x20, | ||
| 1233 | 0x23, 0xf, 0, 0x38, 0x28, | ||
| 1234 | 0x22, 0xf, 0x9, | ||
| 1235 | 0x23, 0xf, 0xd, 0x38, 0, | ||
| 1236 | 0x23, 0xf, 0xd, 0x38, 0x8, | ||
| 1237 | 0x23, 0xf, 0x18, 0x38, 0, | ||
| 1238 | 0x23, 0xf, 0x18, 0x38, 0x8, | ||
| 1239 | 0x23, 0xf, 0x18, 0x38, 0x10, | ||
| 1240 | 0x23, 0xf, 0x18, 0x38, 0x18, | ||
| 1241 | 0x23, 0xf, 0x1f, 0, 0, | ||
| 1242 | 0x22, 0xf, 0x30, | ||
| 1243 | 0x13, 0xf, 0xfe, 0xc0, 0, 0, | ||
| 1244 | 0x2, 0xfe, 0x86, 0, 0, | ||
| 1245 | 0x1, 0xf8, 0x90, | ||
| 1246 | 0x11, 0xd7, | ||
| 1247 | 0x2, 0xfe, 0x30, 0, 0, | ||
| 1248 | 0x2, 0xfe, 0x32, 0, 0, | ||
| 1249 | 0x1, 0xfe, 0x34, | ||
| 1250 | 0x2, 0xfe, 0x80, 0x38, 0x30, | ||
| 1251 | 0x2, 0xfe, 0x82, 0x38, 0x30, | ||
| 1252 | 0x22, 0xf, 0x77, | ||
| 1253 | 0x34, 0x66, 0xf, 0xdb, 0, 0, | ||
| 1254 | 0x23, 0xf, 0xdb, 0, 0, | ||
| 1255 | 0x34, 0x66, 0xf, 0xdf, 0, 0, | ||
| 1256 | 0x23, 0xf, 0xdf, 0, 0, | ||
| 1257 | 0x34, 0x66, 0xf, 0xf5, 0, 0, | ||
| 1258 | 0x23, 0xf, 0xf5, 0, 0, | ||
| 1259 | 0x34, 0x66, 0xf, 0xeb, 0, 0, | ||
| 1260 | 0x23, 0xf, 0xeb, 0, 0, | ||
| 1261 | 0x34, 0x66, 0xf, 0xef, 0, 0, | ||
| 1262 | 0x23, 0xf, 0xef, 0, 0, | ||
| 1263 | 0x23, 0xf, 0x55, 0, 0, | ||
| 1264 | 0x23, 0xf, 0x54, 0, 0, | ||
| 1265 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
| 1266 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
| 1267 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
| 1268 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
| 1269 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
| 1270 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
| 1271 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
| 1272 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
| 1273 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
| 1274 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
| 1275 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
| 1276 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
| 1277 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
| 1278 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
| 1279 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
| 1280 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
| 1281 | 0x23, 0xf, 0xae, 0x38, 0x8, | ||
| 1282 | 0x23, 0xf, 0xae, 0x38, 0, | ||
| 1283 | 0x23, 0xf, 0xae, 0x38, 0x10, | ||
| 1284 | 0x23, 0xf, 0xae, 0x38, 0x18, | ||
| 1285 | 0x34, 0xf2, 0xf, 0x10, 0, 0, | ||
| 1286 | 0x34, 0xf3, 0xf, 0x10, 0, 0, | ||
| 1287 | 0x34, 0x66, 0xf, 0x10, 0, 0, | ||
| 1288 | 0x23, 0xf, 0x10, 0, 0, | ||
| 1289 | 0x34, 0xf2, 0xf, 0x11, 0, 0, | ||
| 1290 | 0x34, 0xf3, 0xf, 0x11, 0, 0, | ||
| 1291 | 0x34, 0x66, 0xf, 0x11, 0, 0, | ||
| 1292 | 0x23, 0xf, 0x11, 0, 0, | ||
| 1293 | 0x34, 0xf2, 0xf, 0x12, 0, 0, | ||
| 1294 | 0x34, 0xf3, 0xf, 0x12, 0, 0, | ||
| 1295 | 0x34, 0x66, 0xf, 0x12, 0, 0, | ||
| 1296 | 0x23, 0xf, 0x12, 0xc0, 0xc0, | ||
| 1297 | 0x23, 0xf, 0x12, 0, 0, | ||
| 1298 | 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0, | ||
| 1299 | 0x23, 0xf, 0x13, 0xc0, 0xc0, | ||
| 1300 | 0x34, 0x66, 0xf, 0x13, 0, 0, | ||
| 1301 | 0x23, 0xf, 0x13, 0, 0, | ||
| 1302 | 0x34, 0x66, 0xf, 0x14, 0, 0, | ||
| 1303 | 0x23, 0xf, 0x14, 0, 0, | ||
| 1304 | 0x34, 0x66, 0xf, 0x15, 0, 0, | ||
| 1305 | 0x23, 0xf, 0x15, 0, 0, | ||
| 1306 | 0x34, 0xf3, 0xf, 0x16, 0, 0, | ||
| 1307 | 0x34, 0x66, 0xf, 0x16, 0, 0, | ||
| 1308 | 0x23, 0xf, 0x16, 0xc0, 0xc0, | ||
| 1309 | 0x23, 0xf, 0x16, 0, 0, | ||
| 1310 | 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0, | ||
| 1311 | 0x23, 0xf, 0x17, 0xc0, 0xc0, | ||
| 1312 | 0x34, 0x66, 0xf, 0x17, 0, 0, | ||
| 1313 | 0x23, 0xf, 0x17, 0, 0, | ||
| 1314 | 0x34, 0x66, 0xf, 0x28, 0, 0, | ||
| 1315 | 0x23, 0xf, 0x28, 0, 0, | ||
| 1316 | 0x34, 0x66, 0xf, 0x29, 0, 0, | ||
| 1317 | 0x23, 0xf, 0x29, 0, 0, | ||
| 1318 | 0x34, 0xf2, 0xf, 0x2a, 0, 0, | ||
| 1319 | 0x34, 0xf3, 0xf, 0x2a, 0, 0, | ||
| 1320 | 0x34, 0x66, 0xf, 0x2a, 0, 0, | ||
| 1321 | 0x23, 0xf, 0x2a, 0, 0, | ||
| 1322 | 0x34, 0x66, 0xf, 0x2b, 0, 0, | ||
| 1323 | 0x23, 0xf, 0x2b, 0, 0, | ||
| 1324 | 0x34, 0xf2, 0xf, 0x2c, 0, 0, | ||
| 1325 | 0x34, 0xf3, 0xf, 0x2c, 0, 0, | ||
| 1326 | 0x34, 0x66, 0xf, 0x2c, 0, 0, | ||
| 1327 | 0x23, 0xf, 0x2c, 0, 0, | ||
| 1328 | 0x34, 0x66, 0xf, 0x2d, 0, 0, | ||
| 1329 | 0x34, 0xf2, 0xf, 0x2d, 0, 0, | ||
| 1330 | 0x34, 0xf3, 0xf, 0x2d, 0, 0, | ||
| 1331 | 0x23, 0xf, 0x2d, 0, 0, | ||
| 1332 | 0x34, 0x66, 0xf, 0x2e, 0, 0, | ||
| 1333 | 0x23, 0xf, 0x2e, 0, 0, | ||
| 1334 | 0x34, 0x66, 0xf, 0x2f, 0, 0, | ||
| 1335 | 0x23, 0xf, 0x2f, 0, 0, | ||
| 1336 | 0x22, 0xf, 0x37, | ||
| 1337 | 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0, | ||
| 1338 | 0x23, 0xf, 0x50, 0xc0, 0xc0, | ||
| 1339 | 0x34, 0x66, 0xf, 0x51, 0, 0, | ||
| 1340 | 0x34, 0xf2, 0xf, 0x51, 0, 0, | ||
| 1341 | 0x34, 0xf3, 0xf, 0x51, 0, 0, | ||
| 1342 | 0x23, 0xf, 0x51, 0, 0, | ||
| 1343 | 0x34, 0xf3, 0xf, 0x52, 0, 0, | ||
| 1344 | 0x23, 0xf, 0x52, 0, 0, | ||
| 1345 | 0x34, 0xf3, 0xf, 0x53, 0, 0, | ||
| 1346 | 0x23, 0xf, 0x53, 0, 0, | ||
| 1347 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
| 1348 | 0x23, 0xf, 0x54, 0, 0, | ||
| 1349 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
| 1350 | 0x23, 0xf, 0x55, 0, 0, | ||
| 1351 | 0x34, 0x66, 0xf, 0x56, 0, 0, | ||
| 1352 | 0x23, 0xf, 0x56, 0, 0, | ||
| 1353 | 0x34, 0x66, 0xf, 0x57, 0, 0, | ||
| 1354 | 0x23, 0xf, 0x57, 0, 0, | ||
| 1355 | 0x34, 0xf2, 0xf, 0x58, 0, 0, | ||
| 1356 | 0x34, 0xf3, 0xf, 0x58, 0, 0, | ||
| 1357 | 0x34, 0x66, 0xf, 0x58, 0, 0, | ||
| 1358 | 0x23, 0xf, 0x58, 0, 0, | ||
| 1359 | 0x34, 0xf2, 0xf, 0x59, 0, 0, | ||
| 1360 | 0x34, 0xf3, 0xf, 0x59, 0, 0, | ||
| 1361 | 0x34, 0x66, 0xf, 0x59, 0, 0, | ||
| 1362 | 0x23, 0xf, 0x59, 0, 0, | ||
| 1363 | 0x34, 0xf2, 0xf, 0x5a, 0, 0, | ||
| 1364 | 0x34, 0xf3, 0xf, 0x5a, 0, 0, | ||
| 1365 | 0x34, 0x66, 0xf, 0x5a, 0, 0, | ||
| 1366 | 0x23, 0xf, 0x5a, 0, 0, | ||
| 1367 | 0x34, 0x66, 0xf, 0x5b, 0, 0, | ||
| 1368 | 0x34, 0xf3, 0xf, 0x5b, 0, 0, | ||
| 1369 | 0x23, 0xf, 0x5b, 0, 0, | ||
| 1370 | 0x34, 0xf2, 0xf, 0x5c, 0, 0, | ||
| 1371 | 0x34, 0xf3, 0xf, 0x5c, 0, 0, | ||
| 1372 | 0x34, 0x66, 0xf, 0x5c, 0, 0, | ||
| 1373 | 0x23, 0xf, 0x5c, 0, 0, | ||
| 1374 | 0x34, 0xf2, 0xf, 0x5d, 0, 0, | ||
| 1375 | 0x34, 0xf3, 0xf, 0x5d, 0, 0, | ||
| 1376 | 0x34, 0x66, 0xf, 0x5d, 0, 0, | ||
| 1377 | 0x23, 0xf, 0x5d, 0, 0, | ||
| 1378 | 0x34, 0xf2, 0xf, 0x5e, 0, 0, | ||
| 1379 | 0x34, 0xf3, 0xf, 0x5e, 0, 0, | ||
| 1380 | 0x34, 0x66, 0xf, 0x5e, 0, 0, | ||
| 1381 | 0x23, 0xf, 0x5e, 0, 0, | ||
| 1382 | 0x34, 0xf2, 0xf, 0x5f, 0, 0, | ||
| 1383 | 0x34, 0xf3, 0xf, 0x5f, 0, 0, | ||
| 1384 | 0x34, 0x66, 0xf, 0x5f, 0, 0, | ||
| 1385 | 0x23, 0xf, 0x5f, 0, 0, | ||
| 1386 | 0x34, 0x66, 0xf, 0x60, 0, 0, | ||
| 1387 | 0x23, 0xf, 0x60, 0, 0, | ||
| 1388 | 0x34, 0x66, 0xf, 0x61, 0, 0, | ||
| 1389 | 0x23, 0xf, 0x61, 0, 0, | ||
| 1390 | 0x34, 0x66, 0xf, 0x62, 0, 0, | ||
| 1391 | 0x23, 0xf, 0x62, 0, 0, | ||
| 1392 | 0x34, 0x66, 0xf, 0x63, 0, 0, | ||
| 1393 | 0x23, 0xf, 0x63, 0, 0, | ||
| 1394 | 0x34, 0x66, 0xf, 0x64, 0, 0, | ||
| 1395 | 0x23, 0xf, 0x64, 0, 0, | ||
| 1396 | 0x34, 0x66, 0xf, 0x65, 0, 0, | ||
| 1397 | 0x23, 0xf, 0x65, 0, 0, | ||
| 1398 | 0x34, 0x66, 0xf, 0x66, 0, 0, | ||
| 1399 | 0x23, 0xf, 0x66, 0, 0, | ||
| 1400 | 0x34, 0x66, 0xf, 0x67, 0, 0, | ||
| 1401 | 0x23, 0xf, 0x67, 0, 0, | ||
| 1402 | 0x34, 0x66, 0xf, 0x68, 0, 0, | ||
| 1403 | 0x23, 0xf, 0x68, 0, 0, | ||
| 1404 | 0x34, 0x66, 0xf, 0x69, 0, 0, | ||
| 1405 | 0x23, 0xf, 0x69, 0, 0, | ||
| 1406 | 0x34, 0x66, 0xf, 0x6a, 0, 0, | ||
| 1407 | 0x23, 0xf, 0x6a, 0, 0, | ||
| 1408 | 0x34, 0x66, 0xf, 0x6b, 0, 0, | ||
| 1409 | 0x23, 0xf, 0x6b, 0, 0, | ||
| 1410 | 0x34, 0x66, 0xf, 0x6c, 0, 0, | ||
| 1411 | 0x34, 0x66, 0xf, 0x6d, 0, 0, | ||
| 1412 | 0x34, 0x66, 0xf, 0x6e, 0, 0, | ||
| 1413 | 0x23, 0xf, 0x6e, 0, 0, | ||
| 1414 | 0x34, 0x66, 0xf, 0x6f, 0, 0, | ||
| 1415 | 0x34, 0xf3, 0xf, 0x6f, 0, 0, | ||
| 1416 | 0x23, 0xf, 0x6f, 0, 0, | ||
| 1417 | 0x34, 0x66, 0xf, 0x70, 0, 0, | ||
| 1418 | 0x34, 0xf2, 0xf, 0x70, 0, 0, | ||
| 1419 | 0x34, 0xf3, 0xf, 0x70, 0, 0, | ||
| 1420 | 0x23, 0xf, 0x70, 0, 0, | ||
| 1421 | 0x34, 0x66, 0xf, 0x74, 0, 0, | ||
| 1422 | 0x23, 0xf, 0x74, 0, 0, | ||
| 1423 | 0x34, 0x66, 0xf, 0x75, 0, 0, | ||
| 1424 | 0x23, 0xf, 0x75, 0, 0, | ||
| 1425 | 0x34, 0x66, 0xf, 0x76, 0, 0, | ||
| 1426 | 0x23, 0xf, 0x76, 0, 0, | ||
| 1427 | 0x34, 0x66, 0xf, 0x7c, 0, 0, | ||
| 1428 | 0x34, 0xf2, 0xf, 0x7c, 0, 0, | ||
| 1429 | 0x34, 0x66, 0xf, 0x7d, 0, 0, | ||
| 1430 | 0x34, 0xf2, 0xf, 0x7d, 0, 0, | ||
| 1431 | 0x34, 0x66, 0xf, 0x7e, 0, 0, | ||
| 1432 | 0x34, 0xf3, 0xf, 0x7e, 0, 0, | ||
| 1433 | 0x23, 0xf, 0x7e, 0, 0, | ||
| 1434 | 0x34, 0x66, 0xf, 0x7f, 0, 0, | ||
| 1435 | 0x34, 0xf3, 0xf, 0x7f, 0, 0, | ||
| 1436 | 0x23, 0xf, 0x7f, 0, 0, | ||
| 1437 | 0x23, 0xf, 0xc3, 0, 0, | ||
| 1438 | 0x34, 0x66, 0xf, 0xc4, 0, 0, | ||
| 1439 | 0x23, 0xf, 0xc4, 0, 0, | ||
| 1440 | 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0, | ||
| 1441 | 0x23, 0xf, 0xc5, 0xc0, 0xc0, | ||
| 1442 | 0x34, 0x66, 0xf, 0xc6, 0, 0, | ||
| 1443 | 0x23, 0xf, 0xc6, 0, 0, | ||
| 1444 | 0x34, 0x66, 0xf, 0xd1, 0, 0, | ||
| 1445 | 0x23, 0xf, 0xd1, 0, 0, | ||
| 1446 | 0x34, 0x66, 0xf, 0xd2, 0, 0, | ||
| 1447 | 0x23, 0xf, 0xd2, 0, 0, | ||
| 1448 | 0x34, 0x66, 0xf, 0xd3, 0, 0, | ||
| 1449 | 0x23, 0xf, 0xd3, 0, 0, | ||
| 1450 | 0x34, 0x66, 0xf, 0xd4, 0, 0, | ||
| 1451 | 0x23, 0xf, 0xd4, 0, 0, | ||
| 1452 | 0x34, 0x66, 0xf, 0xd5, 0, 0, | ||
| 1453 | 0x23, 0xf, 0xd5, 0, 0, | ||
| 1454 | 0x34, 0x66, 0xf, 0xd6, 0, 0, | ||
| 1455 | 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0, | ||
| 1456 | 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0, | ||
| 1457 | 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0, | ||
| 1458 | 0x23, 0xf, 0xd7, 0xc0, 0xc0, | ||
| 1459 | 0x34, 0x66, 0xf, 0xd8, 0, 0, | ||
| 1460 | 0x23, 0xf, 0xd8, 0, 0, | ||
| 1461 | 0x34, 0x66, 0xf, 0xd9, 0, 0, | ||
| 1462 | 0x23, 0xf, 0xd9, 0, 0, | ||
| 1463 | 0x34, 0x66, 0xf, 0xda, 0, 0, | ||
| 1464 | 0x23, 0xf, 0xda, 0, 0, | ||
| 1465 | 0x34, 0x66, 0xf, 0xdc, 0, 0, | ||
| 1466 | 0x23, 0xf, 0xdc, 0, 0, | ||
| 1467 | 0x34, 0x66, 0xf, 0xdd, 0, 0, | ||
| 1468 | 0x23, 0xf, 0xdd, 0, 0, | ||
| 1469 | 0x34, 0x66, 0xf, 0xde, 0, 0, | ||
| 1470 | 0x23, 0xf, 0xde, 0, 0, | ||
| 1471 | 0x34, 0x66, 0xf, 0xe0, 0, 0, | ||
| 1472 | 0x23, 0xf, 0xe0, 0, 0, | ||
| 1473 | 0x34, 0x66, 0xf, 0xe1, 0, 0, | ||
| 1474 | 0x23, 0xf, 0xe1, 0, 0, | ||
| 1475 | 0x34, 0x66, 0xf, 0xe2, 0, 0, | ||
| 1476 | 0x23, 0xf, 0xe2, 0, 0, | ||
| 1477 | 0x34, 0x66, 0xf, 0xe3, 0, 0, | ||
| 1478 | 0x23, 0xf, 0xe3, 0, 0, | ||
| 1479 | 0x34, 0x66, 0xf, 0xe4, 0, 0, | ||
| 1480 | 0x23, 0xf, 0xe4, 0, 0, | ||
| 1481 | 0x34, 0x66, 0xf, 0xe5, 0, 0, | ||
| 1482 | 0x23, 0xf, 0xe5, 0, 0, | ||
| 1483 | 0x34, 0x66, 0xf, 0xe7, 0, 0, | ||
| 1484 | 0x23, 0xf, 0xe7, 0, 0, | ||
| 1485 | 0x34, 0x66, 0xf, 0xe8, 0, 0, | ||
| 1486 | 0x23, 0xf, 0xe8, 0, 0, | ||
| 1487 | 0x34, 0x66, 0xf, 0xe9, 0, 0, | ||
| 1488 | 0x23, 0xf, 0xe9, 0, 0, | ||
| 1489 | 0x34, 0x66, 0xf, 0xea, 0, 0, | ||
| 1490 | 0x23, 0xf, 0xea, 0, 0, | ||
| 1491 | 0x34, 0x66, 0xf, 0xec, 0, 0, | ||
| 1492 | 0x23, 0xf, 0xec, 0, 0, | ||
| 1493 | 0x34, 0x66, 0xf, 0xed, 0, 0, | ||
| 1494 | 0x23, 0xf, 0xed, 0, 0, | ||
| 1495 | 0x34, 0x66, 0xf, 0xee, 0, 0, | ||
| 1496 | 0x23, 0xf, 0xee, 0, 0, | ||
| 1497 | 0x34, 0xf2, 0xf, 0xf0, 0, 0, | ||
| 1498 | 0x34, 0x66, 0xf, 0xf1, 0, 0, | ||
| 1499 | 0x23, 0xf, 0xf1, 0, 0, | ||
| 1500 | 0x34, 0x66, 0xf, 0xf2, 0, 0, | ||
| 1501 | 0x23, 0xf, 0xf2, 0, 0, | ||
| 1502 | 0x34, 0x66, 0xf, 0xf3, 0, 0, | ||
| 1503 | 0x23, 0xf, 0xf3, 0, 0, | ||
| 1504 | 0x34, 0x66, 0xf, 0xf4, 0, 0, | ||
| 1505 | 0x23, 0xf, 0xf4, 0, 0, | ||
| 1506 | 0x34, 0x66, 0xf, 0xf6, 0, 0, | ||
| 1507 | 0x23, 0xf, 0xf6, 0, 0, | ||
| 1508 | 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0, | ||
| 1509 | 0x23, 0xf, 0xf7, 0xc0, 0xc0, | ||
| 1510 | 0x34, 0x66, 0xf, 0xf8, 0, 0, | ||
| 1511 | 0x23, 0xf, 0xf8, 0, 0, | ||
| 1512 | 0x34, 0x66, 0xf, 0xf9, 0, 0, | ||
| 1513 | 0x23, 0xf, 0xf9, 0, 0, | ||
| 1514 | 0x34, 0x66, 0xf, 0xfa, 0, 0, | ||
| 1515 | 0x23, 0xf, 0xfa, 0, 0, | ||
| 1516 | 0x34, 0x66, 0xf, 0xfb, 0, 0, | ||
| 1517 | 0x23, 0xf, 0xfb, 0, 0, | ||
| 1518 | 0x34, 0x66, 0xf, 0xfc, 0, 0, | ||
| 1519 | 0x23, 0xf, 0xfc, 0, 0, | ||
| 1520 | 0x34, 0x66, 0xf, 0xfd, 0, 0, | ||
| 1521 | 0x23, 0xf, 0xfd, 0, 0, | ||
| 1522 | 0x34, 0x66, 0xf, 0xfe, 0, 0, | ||
| 1523 | 0x23, 0xf, 0xfe, 0, 0, | ||
| 1524 | 0x45, 0x66, 0xf, 0x38, 0, 0, 0, | ||
| 1525 | 0x34, 0xf, 0x38, 0, 0, 0, | ||
| 1526 | 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0, | ||
| 1527 | 0x34, 0xf, 0x38, 0x1, 0, 0, | ||
| 1528 | 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0, | ||
| 1529 | 0x34, 0xf, 0x38, 0x2, 0, 0, | ||
| 1530 | 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0, | ||
| 1531 | 0x34, 0xf, 0x38, 0x3, 0, 0, | ||
| 1532 | 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0, | ||
| 1533 | 0x34, 0xf, 0x38, 0x4, 0, 0, | ||
| 1534 | 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0, | ||
| 1535 | 0x34, 0xf, 0x38, 0x5, 0, 0, | ||
| 1536 | 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0, | ||
| 1537 | 0x34, 0xf, 0x38, 0x6, 0, 0, | ||
| 1538 | 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0, | ||
| 1539 | 0x34, 0xf, 0x38, 0x7, 0, 0, | ||
| 1540 | 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0, | ||
| 1541 | 0x34, 0xf, 0x38, 0x8, 0, 0, | ||
| 1542 | 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0, | ||
| 1543 | 0x34, 0xf, 0x38, 0x9, 0, 0, | ||
| 1544 | 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0, | ||
| 1545 | 0x34, 0xf, 0x38, 0xa, 0, 0, | ||
| 1546 | 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0, | ||
| 1547 | 0x34, 0xf, 0x38, 0xb, 0, 0, | ||
| 1548 | 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0, | ||
| 1549 | 0x34, 0xf, 0x38, 0x1c, 0, 0, | ||
| 1550 | 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0, | ||
| 1551 | 0x34, 0xf, 0x38, 0x1d, 0, 0, | ||
| 1552 | 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0, | ||
| 1553 | 0x34, 0xf, 0x38, 0x1e, 0, 0, | ||
| 1554 | 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0, | ||
| 1555 | 0x34, 0xf, 0x3a, 0xf, 0, 0, | ||
| 1556 | 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30, | ||
| 1557 | 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30, | ||
| 1558 | 0x23, 0xf, 0xc7, 0x38, 0x30, | ||
| 1559 | 0x23, 0xf, 0xc7, 0x38, 0x38, | ||
| 1560 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0, | ||
| 1561 | 0x23, 0xf, 0x71, 0xf8, 0xd0, | ||
| 1562 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0, | ||
| 1563 | 0x23, 0xf, 0x71, 0xf8, 0xe0, | ||
| 1564 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0, | ||
| 1565 | 0x23, 0xf, 0x71, 0xf8, 0xf0, | ||
| 1566 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0, | ||
| 1567 | 0x23, 0xf, 0x72, 0xf8, 0xd0, | ||
| 1568 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0, | ||
| 1569 | 0x23, 0xf, 0x72, 0xf8, 0xe0, | ||
| 1570 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0, | ||
| 1571 | 0x23, 0xf, 0x72, 0xf8, 0xf0, | ||
| 1572 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0, | ||
| 1573 | 0x23, 0xf, 0x73, 0xf8, 0xd0, | ||
| 1574 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8, | ||
| 1575 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0, | ||
| 1576 | 0x23, 0xf, 0x73, 0xf8, 0xf0, | ||
| 1577 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8, | ||
| 1578 | 0x33, 0xf, 0xae, 0xe8, | ||
| 1579 | 0x33, 0xf, 0xae, 0xf0, | ||
| 1580 | 0x33, 0xf, 0xae, 0xf8, | ||
| 1581 | 0x23, 0xf, 0xae, 0x38, 0x38, | ||
| 1582 | 0x23, 0xf, 0xf, 0, 0, | ||
| 1583 | 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0, | ||
| 1584 | 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0, | ||
| 1585 | 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0, | ||
| 1586 | 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0, | ||
| 1587 | 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0, | ||
| 1588 | 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0, | ||
| 1589 | 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0, | ||
| 1590 | 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0, | ||
| 1591 | 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0, | ||
| 1592 | 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0, | ||
| 1593 | 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0, | ||
| 1594 | 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0, | ||
| 1595 | 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0, | ||
| 1596 | 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0, | ||
| 1597 | 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0, | ||
| 1598 | 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0, | ||
| 1599 | 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0, | ||
| 1600 | 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0, | ||
| 1601 | 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0, | ||
| 1602 | 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0, | ||
| 1603 | 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0, | ||
| 1604 | 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0, | ||
| 1605 | 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0, | ||
| 1606 | 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0, | ||
| 1607 | 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0, | ||
| 1608 | 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0, | ||
| 1609 | 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0, | ||
| 1610 | 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0, | ||
| 1611 | 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0, | ||
| 1612 | 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0, | ||
| 1613 | 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0, | ||
| 1614 | 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0, | ||
| 1615 | 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0, | ||
| 1616 | 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0, | ||
| 1617 | 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0, | ||
| 1618 | 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0, | ||
| 1619 | 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0, | ||
| 1620 | 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0, | ||
| 1621 | 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0, | ||
| 1622 | 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0, | ||
| 1623 | 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0, | ||
| 1624 | 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0, | ||
| 1625 | 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0, | ||
| 1626 | 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0, | ||
| 1627 | 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0, | ||
| 1628 | 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0, | ||
| 1629 | 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0, | ||
| 1630 | 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0, | ||
| 1631 | 0x1, 0xe7, 0x7, | ||
| 1632 | }; | ||
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 @@ | |||
| 1 | SUMMARY = "Utilities and libraries for handling compiled object files" | ||
| 2 | HOMEPAGE = "https://fedorahosted.org/elfutils" | ||
| 3 | SECTION = "base" | ||
| 4 | LICENSE = "(GPL-2+ & Elfutils-Exception)" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\ | ||
| 6 | file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" | ||
| 7 | DEPENDS = "libtool bzip2 zlib virtual/libintl" | ||
| 8 | |||
| 9 | PR = "r11" | ||
| 10 | |||
| 11 | SRC_URI = "https://fedorahosted.org/releases/e/l/${BPN}/${BP}.tar.bz2" | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "a0bed1130135f17ad27533b0034dba8d" | ||
| 14 | SRC_URI[sha256sum] = "8aebfa4a745db21cf5429c9541fe482729b62efc7e53e9110151b4169fe887da" | ||
| 15 | |||
| 16 | # pick the patch from debian | ||
| 17 | # http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.148-1.debian.tar.gz | ||
| 18 | |||
| 19 | SRC_URI += "\ | ||
| 20 | file://redhat-portability.diff \ | ||
| 21 | file://redhat-robustify.diff \ | ||
| 22 | file://hppa_backend.diff \ | ||
| 23 | file://arm_backend.diff \ | ||
| 24 | file://mips_backend.diff \ | ||
| 25 | file://m68k_backend.diff \ | ||
| 26 | file://testsuite-ignore-elflint.diff \ | ||
| 27 | file://elf_additions.diff \ | ||
| 28 | file://elfutils-fsize.patch \ | ||
| 29 | file://remove-unused.patch \ | ||
| 30 | file://fix_for_gcc-4.7.patch \ | ||
| 31 | file://dso-link-change.patch \ | ||
| 32 | file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \ | ||
| 33 | file://elfutils-ar-c-fix-num-passed-to-memset.patch \ | ||
| 34 | file://Fix_elf_cvt_gunhash.patch \ | ||
| 35 | file://elf_begin.c-CVE-2014-9447-fix.patch \ | ||
| 36 | file://fix-build-gcc-4.8.patch \ | ||
| 37 | file://gcc6.patch \ | ||
| 38 | " | ||
| 39 | # Only apply when building uclibc based target recipe | ||
| 40 | SRC_URI_append_libc-uclibc = " file://uclibc-support-for-elfutils-0.148.patch" | ||
| 41 | |||
| 42 | # The buildsystem wants to generate 2 .h files from source using a binary it just built, | ||
| 43 | # which can not pass the cross compiling, so let's work around it by adding 2 .h files | ||
| 44 | # along with the do_configure_prepend() | ||
| 45 | |||
| 46 | SRC_URI += "\ | ||
| 47 | file://i386_dis.h \ | ||
| 48 | file://x86_64_dis.h \ | ||
| 49 | " | ||
| 50 | inherit autotools gettext | ||
| 51 | |||
| 52 | EXTRA_OECONF = "--program-prefix=eu- --without-lzma" | ||
| 53 | EXTRA_OECONF_append_class-native = " --without-bzlib" | ||
| 54 | EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc" | ||
| 55 | |||
| 56 | do_configure_prepend() { | ||
| 57 | sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am | ||
| 58 | |||
| 59 | cp ${WORKDIR}/*dis.h ${S}/libcpu | ||
| 60 | } | ||
| 61 | |||
| 62 | # we can not build complete elfutils when using uclibc | ||
| 63 | # but some recipes e.g. gcc 4.5 depends on libelf so we | ||
| 64 | # build only libelf for uclibc case | ||
| 65 | |||
| 66 | EXTRA_OEMAKE_libc-uclibc = "-C libelf" | ||
| 67 | EXTRA_OEMAKE_class-native = "" | ||
| 68 | EXTRA_OEMAKE_class-nativesdk = "" | ||
| 69 | |||
| 70 | BBCLASSEXTEND = "native nativesdk" | ||
| 71 | |||
| 72 | # Package utilities separately | ||
| 73 | PACKAGES =+ "${PN}-binutils libelf libasm libdw" | ||
| 74 | FILES_${PN}-binutils = "\ | ||
| 75 | ${bindir}/eu-addr2line \ | ||
| 76 | ${bindir}/eu-ld \ | ||
| 77 | ${bindir}/eu-nm \ | ||
| 78 | ${bindir}/eu-readelf \ | ||
| 79 | ${bindir}/eu-size \ | ||
| 80 | ${bindir}/eu-strip" | ||
| 81 | |||
| 82 | FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" | ||
| 83 | FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" | ||
| 84 | FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" | ||
| 85 | # Some packages have the version preceeding the .so instead properly | ||
| 86 | # versioned .so.<version>, so we need to reorder and repackage. | ||
| 87 | #FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" | ||
| 88 | #FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" | ||
| 89 | |||
| 90 | # The package contains symlinks that trip up insane | ||
| 91 | 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 @@ | |||
| 1 | require m4.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2" | ||
| 4 | |||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe\ | ||
| 6 | file://examples/COPYING;md5=1d49bd61dc590f014cae7173b43e3e5c" | ||
| 7 | |||
| 8 | PR = "r2" | ||
| 9 | SRC_URI += "file://fix_for_circular_dependency.patch" | ||
| 10 | |||
| 11 | SRC_URI[md5sum] = "1ba8e147aff5e79bd2bfb983d86b53d5" | ||
| 12 | SRC_URI[sha256sum] = "815ce53853fbf6493617f467389b799208b1ec98296b95be44a683f8bcfd7c47" | ||
| 13 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | The older GPLv2 m4 does not work well with newer autoconf. It causes the | ||
| 4 | circular dependency as seen bellow. | ||
| 5 | Removing this m4 file which was needed only forl older autoconf | ||
| 6 | |||
| 7 | | configure.ac:34: error: AC_REQUIRE: circular dependency of AC_GNU_SOURCE | ||
| 8 | | /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... | ||
| 9 | | ../../lib/autoconf/specific.m4:310: AC_GNU_SOURCE is expanded from... | ||
| 10 | | /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... | ||
| 11 | | configure.ac:34: the top level | ||
| 12 | | autom4te: /build_disk/poky_build/build1/tmp/sysroots/x86_64-linux/usr/bin/m4 failed with exit status: 1 | ||
| 13 | | aclocal: /build_disk/poky_build/build1/tmp/sysroots/x86_64-linux/usr/bin/autom4te failed with exit status: 1 | ||
| 14 | | autoreconf: aclocal failed with exit status: 1 | ||
| 15 | |||
| 16 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 17 | 2011/03/16 | ||
| 18 | |||
| 19 | Index: m4-1.4.9/m4/extensions.m4 | ||
| 20 | =================================================================== | ||
| 21 | --- m4-1.4.9.orig/m4/extensions.m4 | ||
| 22 | +++ m4-1.4.9/m4/extensions.m4 | ||
| 23 | @@ -6,53 +6,10 @@ | ||
| 24 | # gives unlimited permission to copy and/or distribute it, | ||
| 25 | # with or without modifications, as long as this notice is preserved. | ||
| 26 | |||
| 27 | -# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS | ||
| 28 | -# Autoconf. Perhaps we can remove this once we can assume Autoconf | ||
| 29 | -# 2.61 or later everywhere, but since CVS Autoconf mutates rapidly | ||
| 30 | -# enough in this area it's likely we'll need to redefine | ||
| 31 | -# AC_USE_SYSTEM_EXTENSIONS for quite some time. | ||
| 32 | - | ||
| 33 | -# AC_USE_SYSTEM_EXTENSIONS | ||
| 34 | -# ------------------------ | ||
| 35 | -# Enable extensions on systems that normally disable them, | ||
| 36 | -# typically due to standards-conformance issues. | ||
| 37 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 38 | -[ | ||
| 39 | - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 40 | - AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 41 | - | ||
| 42 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 43 | - AC_REQUIRE([AC_AIX]) | ||
| 44 | - AC_REQUIRE([AC_MINIX]) | ||
| 45 | - | ||
| 46 | - AH_VERBATIM([__EXTENSIONS__], | ||
| 47 | -[/* Enable extensions on Solaris. */ | ||
| 48 | -#ifndef __EXTENSIONS__ | ||
| 49 | -# undef __EXTENSIONS__ | ||
| 50 | -#endif | ||
| 51 | -#ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 52 | -# undef _POSIX_PTHREAD_SEMANTICS | ||
| 53 | -#endif | ||
| 54 | -#ifndef _TANDEM_SOURCE | ||
| 55 | -# undef _TANDEM_SOURCE | ||
| 56 | -#endif]) | ||
| 57 | - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 58 | - [ac_cv_safe_to_define___extensions__], | ||
| 59 | - [AC_COMPILE_IFELSE( | ||
| 60 | - [AC_LANG_PROGRAM([ | ||
| 61 | -# define __EXTENSIONS__ 1 | ||
| 62 | - AC_INCLUDES_DEFAULT])], | ||
| 63 | - [ac_cv_safe_to_define___extensions__=yes], | ||
| 64 | - [ac_cv_safe_to_define___extensions__=no])]) | ||
| 65 | - test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 66 | - AC_DEFINE([__EXTENSIONS__]) | ||
| 67 | - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 68 | - AC_DEFINE([_TANDEM_SOURCE]) | ||
| 69 | -]) | ||
| 70 | |||
| 71 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 72 | # ------------------------ | ||
| 73 | # Enable extensions on systems that normally disable them, | ||
| 74 | # typically due to standards-conformance issues. | ||
| 75 | AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], | ||
| 76 | - [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) | ||
| 77 | + []) | ||
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 @@ | |||
| 1 | require m4-${PV}.inc | ||
| 2 | |||
| 3 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.in:48: error: automatic de-ANSI-fication support has been removed | ||
| 8 | ... | ||
| 9 | | Makefile.am:19: error: automatic de-ANSI-fication support has been removed | ||
| 10 | | autoreconf: automake failed with exit status: 1 | ||
| 11 | | ERROR: autoreconf execution failed. | ||
| 12 | |||
| 13 | |||
| 14 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 15 | 2012/05/04 | ||
| 16 | |||
| 17 | Index: make-3.81/configure.in | ||
| 18 | =================================================================== | ||
| 19 | --- make-3.81.orig/configure.in | ||
| 20 | +++ make-3.81/configure.in | ||
| 21 | @@ -44,9 +44,6 @@ AC_AIX | ||
| 22 | AC_ISC_POSIX | ||
| 23 | AC_MINIX | ||
| 24 | |||
| 25 | -# Needed for ansi2knr | ||
| 26 | -AM_C_PROTOTYPES | ||
| 27 | - | ||
| 28 | # Enable gettext, in "external" mode. | ||
| 29 | |||
| 30 | AM_GNU_GETTEXT_VERSION(0.14.1) | ||
| 31 | Index: make-3.81/Makefile.am | ||
| 32 | =================================================================== | ||
| 33 | --- make-3.81.orig/Makefile.am | ||
| 34 | +++ make-3.81/Makefile.am | ||
| 35 | @@ -16,7 +16,7 @@ | ||
| 36 | # GNU Make; see the file COPYING. If not, write to the Free Software | ||
| 37 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | ||
| 38 | |||
| 39 | -AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr | ||
| 40 | +AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news | ||
| 41 | ACLOCAL_AMFLAGS = -I config | ||
| 42 | |||
| 43 | 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 @@ | |||
| 1 | Allow docs to build with makeinfo 5.X, fixing the error: | ||
| 2 | |||
| 3 | doc/make.texi:8165: @itemx must follow @item | ||
| 4 | |||
| 5 | Upstream-Status: Backport | ||
| 6 | |||
| 7 | RP | ||
| 8 | 2014/03/29 | ||
| 9 | |||
| 10 | Index: make-3.81/doc/make.texi | ||
| 11 | =================================================================== | ||
| 12 | --- make-3.81.orig/doc/make.texi 2006-04-01 06:36:40.000000000 +0000 | ||
| 13 | +++ make-3.81/doc/make.texi 2014-03-29 09:39:51.007727012 +0000 | ||
| 14 | @@ -8162,7 +8162,7 @@ | ||
| 15 | rarely need to specify this option since @samp{make} does it for you; | ||
| 16 | see @ref{-w Option, ,The @samp{--print-directory} Option}.) | ||
| 17 | |||
| 18 | -@itemx --no-print-directory | ||
| 19 | +@item --no-print-directory | ||
| 20 | @cindex @code{--no-print-directory} | ||
| 21 | Disable printing of the working directory under @code{-w}. | ||
| 22 | 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 @@ | |||
| 1 | PR = "r1" | ||
| 2 | |||
| 3 | LICENSE = "GPLv2 & LGPLv2" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \ | ||
| 5 | file://tests/COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ | ||
| 6 | file://glob/COPYING.LIB;md5=4a770b67e6be0f60da244beb2de0fce4" | ||
| 7 | |||
| 8 | require make.inc | ||
| 9 | |||
| 10 | SRC_URI += "file://make_fix_for_automake-1.12.patch" | ||
| 11 | SRC_URI += "file://makeinfo.patch" | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "354853e0b2da90c527e35aabb8d6f1e6" | ||
| 14 | SRC_URI[sha256sum] = "f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8" | ||
| 15 | |||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> | ||
| 4 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 5 | --- | ||
| 6 | Makefile.in | 1 + | ||
| 7 | 1 file changed, 1 insertion(+) | ||
| 8 | |||
| 9 | diff --git a/Makefile.in b/Makefile.in | ||
| 10 | index 8f9305a..694e837 100644 | ||
| 11 | --- a/Makefile.in | ||
| 12 | +++ b/Makefile.in | ||
| 13 | @@ -251,6 +251,7 @@ install-scripts: ${DESTDIR}$(bindir)/mtools | ||
| 14 | @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 15 | @for j in $(SCRIPTS) ; do \ | ||
| 16 | $(INSTALL_SCRIPT) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ | ||
| 17 | + $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ | ||
| 18 | echo ${DESTDIR}$(bindir)/$$j ; \ | ||
| 19 | done | ||
| 20 | rm -f ${DESTDIR}$(bindir)/lz | ||
| 21 | -- | ||
| 22 | 2.0.0 | ||
| 23 | |||
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 @@ | |||
| 1 | $NetBSD: patch-aa,v 1.10 2007/08/17 20:55:34 joerg Exp $ | ||
| 2 | |||
| 3 | --- | ||
| 4 | Makefile.in | 74 ++++++++++++++++++++++++++---------------------------------- | ||
| 5 | 1 file changed, 33 insertions(+), 41 deletions(-) | ||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [licensing] | ||
| 8 | |||
| 9 | Index: mtools-3.9.9/Makefile.in | ||
| 10 | =================================================================== | ||
| 11 | --- mtools-3.9.9.orig/Makefile.in 2007-10-12 11:18:46.000000000 +0100 | ||
| 12 | +++ mtools-3.9.9/Makefile.in 2007-10-12 11:28:14.000000000 +0100 | ||
| 13 | @@ -195,30 +195,22 @@ html: mtools.html mtools_toc.html | ||
| 14 | |||
| 15 | # Don't cd, to avoid breaking install-sh references. | ||
| 16 | install-info: info | ||
| 17 | - $(top_srcdir)/mkinstalldirs $(infodir) | ||
| 18 | + $(top_srcdir)/mkinstalldirs ${DESTDIR}$(infodir) | ||
| 19 | if test -f mtools.info; then \ | ||
| 20 | for i in mtools.info*; do \ | ||
| 21 | - $(INSTALL_DATA) $$i $(infodir)/$$i; \ | ||
| 22 | + $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/$$i; \ | ||
| 23 | done; \ | ||
| 24 | else \ | ||
| 25 | for i in $(srcdir)/mtools.info*; do \ | ||
| 26 | - $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ | ||
| 27 | + $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ | ||
| 28 | done; \ | ||
| 29 | fi; \ | ||
| 30 | - if [ -n "$(INSTALL_INFO)" ] ; then \ | ||
| 31 | - if [ -f $(infodir)/dir.info ] ; then \ | ||
| 32 | - $(INSTALL_INFO) $(infodir)/mtools.info $(infodir)/dir.info; \ | ||
| 33 | - fi; \ | ||
| 34 | - if [ -f $(infodir)/dir ] ; then \ | ||
| 35 | - $(INSTALL_INFO) $(infodir)/mtools.info $(infodir)/dir; \ | ||
| 36 | - fi; \ | ||
| 37 | - fi | ||
| 38 | |||
| 39 | uninstall-info: | ||
| 40 | cd $(infodir) && rm -f mtools.info* | ||
| 41 | |||
| 42 | -install: $(bindir)/mtools @BINFLOPPYD@ install-man install-links \ | ||
| 43 | - $(bindir)/mkmanifest install-scripts install-info | ||
| 44 | +install: ${DESTDIR}$(bindir)/mtools ${DESTDIR}$(bindir)/floppyd install-man install-links \ | ||
| 45 | + ${DESTDIR}$(bindir)/mkmanifest install-scripts install-info | ||
| 46 | |||
| 47 | uninstall: uninstall-bin uninstall-man uninstall-links \ | ||
| 48 | uninstall-scripts | ||
| 49 | @@ -228,52 +220,52 @@ distclean: clean texclean | ||
| 50 | maintainer-clean: distclean | ||
| 51 | |||
| 52 | |||
| 53 | -$(bindir)/floppyd: floppyd | ||
| 54 | - $(top_srcdir)/mkinstalldirs $(bindir) | ||
| 55 | - $(INSTALL_PROGRAM) floppyd $(bindir)/floppyd | ||
| 56 | +${DESTDIR}$(bindir)/floppyd: floppyd | ||
| 57 | + $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 58 | + $(INSTALL_PROGRAM) floppyd ${DESTDIR}$(bindir)/floppyd | ||
| 59 | |||
| 60 | -$(bindir)/floppyd_installtest: floppyd_installtest | ||
| 61 | - $(top_srcdir)/mkinstalldirs $(bindir) | ||
| 62 | - $(INSTALL_PROGRAM) floppyd_installtest $(bindir)/floppyd_installtest | ||
| 63 | +${DESTDIR}$(bindir)/floppyd_installtest: floppyd_installtest | ||
| 64 | + $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 65 | + $(INSTALL_PROGRAM) floppyd_installtest ${DESTDIR}$(bindir)/floppyd_installtest | ||
| 66 | |||
| 67 | -$(bindir)/mtools: mtools | ||
| 68 | - $(top_srcdir)/mkinstalldirs $(bindir) | ||
| 69 | - $(INSTALL_PROGRAM) mtools $(bindir)/mtools | ||
| 70 | +${DESTDIR}$(bindir)/mtools: mtools | ||
| 71 | + $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 72 | + $(INSTALL_PROGRAM) mtools ${DESTDIR}$(bindir)/mtools | ||
| 73 | |||
| 74 | -$(bindir)/mkmanifest: mkmanifest | ||
| 75 | - $(top_srcdir)/mkinstalldirs $(bindir) | ||
| 76 | - $(INSTALL_PROGRAM) mkmanifest $(bindir)/mkmanifest | ||
| 77 | +${DESTDIR}$(bindir)/mkmanifest: mkmanifest | ||
| 78 | + $(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 79 | + $(INSTALL_PROGRAM) mkmanifest ${DESTDIR}$(bindir)/mkmanifest | ||
| 80 | |||
| 81 | #$(ETCDIR)/mtools: mtools.etc | ||
| 82 | # cp mtools.etc $(ETCDIR)/mtools | ||
| 83 | |||
| 84 | -install-links: $(bindir)/mtools | ||
| 85 | +install-links: ${DESTDIR}$(bindir)/mtools | ||
| 86 | @for j in $(LINKS); do \ | ||
| 87 | - rm -f $(bindir)/$$j ; \ | ||
| 88 | - $(LN_S) mtools $(bindir)/$$j ; \ | ||
| 89 | - echo $(bindir)/$$j ; \ | ||
| 90 | + rm -f ${DESTDIR}$(bindir)/$$j ; \ | ||
| 91 | + $(LN_S) mtools ${DESTDIR}$(bindir)/$$j ; \ | ||
| 92 | + echo ${DESTDIR}$(bindir)/$$j ; \ | ||
| 93 | done | ||
| 94 | |||
| 95 | ## "z" is the older version of "gz"; the name is just *too* short | ||
| 96 | -install-scripts: $(bindir)/mtools | ||
| 97 | - @$(top_srcdir)/mkinstalldirs $(bindir) | ||
| 98 | +install-scripts: ${DESTDIR}$(bindir)/mtools | ||
| 99 | + @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(bindir) | ||
| 100 | @for j in $(SCRIPTS) ; do \ | ||
| 101 | - $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j $(bindir)/$$j ; \ | ||
| 102 | - echo $(bindir)/$$j ; \ | ||
| 103 | + $(INSTALL_SCRIPT) $(srcdir)/scripts/$$j ${DESTDIR}$(bindir)/$$j ; \ | ||
| 104 | + echo ${DESTDIR}$(bindir)/$$j ; \ | ||
| 105 | done | ||
| 106 | - rm -f $(bindir)/lz | ||
| 107 | - $(LN_S) uz $(bindir)/lz | ||
| 108 | + rm -f ${DESTDIR}$(bindir)/lz | ||
| 109 | + $(LN_S) uz ${DESTDIR}$(bindir)/lz | ||
| 110 | |||
| 111 | install-man: | ||
| 112 | - @$(top_srcdir)/mkinstalldirs $(MAN1DIR) | ||
| 113 | + @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(MAN1DIR) | ||
| 114 | @for j in $(MAN1); do \ | ||
| 115 | - $(INSTALL_DATA) $(srcdir)/$$j $(MAN1DIR)/$$j ; \ | ||
| 116 | - echo $(MAN1DIR)/$$j ; \ | ||
| 117 | + $(INSTALL_DATA) $(srcdir)/$$j ${DESTDIR}$(MAN1DIR)/$$j ; \ | ||
| 118 | + echo ${DESTDIR}$(MAN1DIR)/$$j ; \ | ||
| 119 | done | ||
| 120 | - @$(top_srcdir)/mkinstalldirs $(MAN5DIR) | ||
| 121 | + @$(top_srcdir)/mkinstalldirs ${DESTDIR}$(MAN5DIR) | ||
| 122 | @for j in $(MAN5); do \ | ||
| 123 | - $(INSTALL_DATA) $(srcdir)/$$j $(MAN5DIR)/$$j ; \ | ||
| 124 | - echo $(MAN5DIR)/$$j ; \ | ||
| 125 | + $(INSTALL_DATA) $(srcdir)/$$j ${DESTDIR}$(MAN5DIR)/$$j ; \ | ||
| 126 | + echo ${DESTDIR}$(MAN5DIR)/$$j ; \ | ||
| 127 | done | ||
| 128 | |||
| 129 | 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 @@ | |||
| 1 | --- | ||
| 2 | Makefile.in | 2 +- | ||
| 3 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [licensing] | ||
| 6 | |||
| 7 | --- mtools-3.9.9.orig/Makefile.in | ||
| 8 | +++ mtools-3.9.9/Makefile.in | ||
| 9 | @@ -128,11 +128,11 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ | ||
| 10 | X_PRE_LIBS = @X_PRE_LIBS@ | ||
| 11 | CFLAGS = $(CPPFLAGS) $(DEFS) $(MYCFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS) | ||
| 12 | CXXFLAGS = $(CPPFLAGS) $(DEFS) $(MYCXXFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS) | ||
| 13 | LINK = $(CC) $(LDFLAGS) $(USERLDFLAGS) @extralibdir@ | ||
| 14 | ALLLIBS = $(USERLDLIBS) $(MACHDEPLIBS) $(SHLIB) $(LIBS) | ||
| 15 | -X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lXau -lX11 $(LIBS) | ||
| 16 | +X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(LIBS) | ||
| 17 | X_CCFLAGS = $(X_CFLAGS) $(CFLAGS) | ||
| 18 | |||
| 19 | all: mtools $(LINKS) mkmanifest @FLOPPYD@ | ||
| 20 | |||
| 21 | %.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 @@ | |||
| 1 | SUMMARY = "Utilities to access MS-DOS disks without mounting them" | ||
| 2 | DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." | ||
| 3 | HOMEPAGE = "http://www.gnu.org/software/mtools/" | ||
| 4 | SECTION = "optional" | ||
| 5 | LICENSE = "GPLv2+" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=92b58ec77696788ce278b044d2a8e9d3" | ||
| 7 | PR = "r6" | ||
| 8 | |||
| 9 | DEPENDS += "virtual/libiconv" | ||
| 10 | |||
| 11 | RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850" | ||
| 12 | RRECOMMENDS_${PN}_libc-glibc = "\ | ||
| 13 | glibc-gconv-ibm437 \ | ||
| 14 | glibc-gconv-ibm737 \ | ||
| 15 | glibc-gconv-ibm775 \ | ||
| 16 | glibc-gconv-ibm851 \ | ||
| 17 | glibc-gconv-ibm852 \ | ||
| 18 | glibc-gconv-ibm855 \ | ||
| 19 | glibc-gconv-ibm857 \ | ||
| 20 | glibc-gconv-ibm860 \ | ||
| 21 | glibc-gconv-ibm861 \ | ||
| 22 | glibc-gconv-ibm862 \ | ||
| 23 | glibc-gconv-ibm863 \ | ||
| 24 | glibc-gconv-ibm865 \ | ||
| 25 | glibc-gconv-ibm866 \ | ||
| 26 | glibc-gconv-ibm869 \ | ||
| 27 | " | ||
| 28 | SRC_URI[md5sum] = "3e68b857b4e1f3a6521d1dfefbd30a36" | ||
| 29 | SRC_URI[sha256sum] = "af083a73425d664d4607ef6c6564fd9319a0e47ee7c105259a45356cb834690e" | ||
| 30 | |||
| 31 | #http://mtools.linux.lu/mtools-${PV}.tar.gz | ||
| 32 | SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/mtools-${PV}.tar.gz \ | ||
| 33 | file://mtools-makeinfo.patch \ | ||
| 34 | file://mtools.patch \ | ||
| 35 | file://no-x11.patch \ | ||
| 36 | file://fix-broken-lz.patch \ | ||
| 37 | file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \ | ||
| 38 | " | ||
| 39 | |||
| 40 | inherit autotools texinfo | ||
| 41 | |||
| 42 | EXTRA_OECONF = "--without-x" | ||
| 43 | |||
| 44 | LDFLAGS_append_libc-uclibc = " -liconv " | ||
| 45 | |||
| 46 | BBCLASSEXTEND = "native nativesdk" | ||
| 47 | |||
| 48 | PACKAGECONFIG ??= "" | ||
| 49 | PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" | ||
| 50 | |||
| 51 | do_install_prepend () { | ||
| 52 | # Create bindir to fix parallel installation issues | ||
| 53 | mkdir -p ${D}/${bindir} | ||
| 54 | mkdir -p ${D}/${datadir} | ||
| 55 | } | ||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [debian patch] | ||
| 2 | |||
| 3 | --- patch-2.5.9.orig/m4/hash.m4 | ||
| 4 | +++ patch-2.5.9/m4/hash.m4 | ||
| 5 | @@ -0,0 +1,15 @@ | ||
| 6 | +# hash.m4 serial 1 | ||
| 7 | +dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 8 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 9 | +dnl General Public License. As a special exception to the GNU General | ||
| 10 | +dnl Public License, this file may be distributed as part of a program | ||
| 11 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 12 | +dnl the same distribution terms as the rest of that program. | ||
| 13 | + | ||
| 14 | +AC_DEFUN([gl_HASH], | ||
| 15 | +[ | ||
| 16 | + dnl Prerequisites of lib/hash.c. | ||
| 17 | + AC_CHECK_HEADERS_ONCE(stdlib.h) | ||
| 18 | + AC_HEADER_STDBOOL | ||
| 19 | + AC_CHECK_DECLS_ONCE(free malloc) | ||
| 20 | +]) | ||
| 21 | --- patch-2.5.9.orig/m4/nanosecond_stat.m4 | ||
| 22 | +++ patch-2.5.9/m4/nanosecond_stat.m4 | ||
| 23 | @@ -0,0 +1,35 @@ | ||
| 24 | +AC_DEFUN([ag_CHECK_NANOSECOND_STAT], | ||
| 25 | + [AC_CACHE_CHECK([for nanosecond timestamps in struct stat], | ||
| 26 | + [ac_cv_stat_nsec], | ||
| 27 | + [AC_TRY_COMPILE( | ||
| 28 | + [ | ||
| 29 | + #include <sys/types.h> | ||
| 30 | + #include <sys/stat.h> | ||
| 31 | + #include <unistd.h> | ||
| 32 | + struct stat st; | ||
| 33 | + ], | ||
| 34 | + [ return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; ], | ||
| 35 | + [ac_cv_stat_nsec=yes], | ||
| 36 | + [ac_cv_stat_nsec=no]) | ||
| 37 | + ]) | ||
| 38 | + if test $ac_cv_stat_nsec = yes; then | ||
| 39 | + AC_DEFINE(HAVE_STAT_NSEC, 1, [Define to 1 if struct stat has nanosecond timestamps.]) | ||
| 40 | + fi | ||
| 41 | + | ||
| 42 | + AC_CACHE_CHECK([for nanosecond timestamps in struct stat], | ||
| 43 | + [ac_cv_stat_timeval], | ||
| 44 | + [AC_TRY_COMPILE( | ||
| 45 | + [ | ||
| 46 | + #include <time.h> | ||
| 47 | + #include <sys/types.h> | ||
| 48 | + #include <sys/stat.h> | ||
| 49 | + #include <unistd.h> | ||
| 50 | + struct stat st; | ||
| 51 | + ], | ||
| 52 | + [ return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; ], | ||
| 53 | + [ac_cv_stat_timeval=yes], | ||
| 54 | + [ac_cv_stat_timeval=no]) | ||
| 55 | + ]) | ||
| 56 | + if test $ac_cv_stat_timeval = yes; then | ||
| 57 | + AC_DEFINE(HAVE_STAT_TIMEVAL, 1, [Define to 1 if struct stat comtains struct timeval's.]) | ||
| 58 | + fi]) | ||
| 59 | --- patch-2.5.9.orig/Makefile.in | ||
| 60 | +++ patch-2.5.9/Makefile.in | ||
| 61 | @@ -62,7 +62,7 @@ | ||
| 62 | SHELL = /bin/sh | ||
| 63 | |||
| 64 | LIBSRCS = error.c malloc.c memchr.c mkdir.c \ | ||
| 65 | - realloc.c rmdir.c strcasecmp.c strncasecmp.c | ||
| 66 | + realloc.c rmdir.c strcasecmp.c strncasecmp.c hash.c | ||
| 67 | SRCS = $(LIBSRCS) \ | ||
| 68 | addext.c argmatch.c backupfile.c \ | ||
| 69 | basename.c dirname.c \ | ||
| 70 | @@ -78,12 +78,12 @@ | ||
| 71 | maketime.$(OBJEXT) partime.$(OBJEXT) \ | ||
| 72 | patch.$(OBJEXT) pch.$(OBJEXT) \ | ||
| 73 | quote.$(OBJEXT) quotearg.$(OBJEXT) quotesys.$(OBJEXT) \ | ||
| 74 | - util.$(OBJEXT) version.$(OBJEXT) xmalloc.$(OBJEXT) | ||
| 75 | + util.$(OBJEXT) version.$(OBJEXT) xmalloc.$(OBJEXT) hash.$(OBJEXT) | ||
| 76 | HDRS = argmatch.h backupfile.h common.h dirname.h \ | ||
| 77 | error.h getopt.h gettext.h \ | ||
| 78 | inp.h maketime.h partime.h pch.h \ | ||
| 79 | quote.h quotearg.h quotesys.h \ | ||
| 80 | - unlocked-io.h util.h version.h xalloc.h | ||
| 81 | + unlocked-io.h util.h version.h xalloc.h hash.h | ||
| 82 | MISC = AUTHORS COPYING ChangeLog INSTALL Makefile.in NEWS README \ | ||
| 83 | aclocal.m4 \ | ||
| 84 | config.hin configure configure.ac \ | ||
| 85 | --- patch-2.5.9.orig/aclocal.m4 | ||
| 86 | +++ patch-2.5.9/aclocal.m4 | ||
| 87 | @@ -1,3 +1,1058 @@ | ||
| 88 | +dnl aclocal.m4 generated automatically by aclocal 1.4-p6 | ||
| 89 | + | ||
| 90 | +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. | ||
| 91 | +dnl This file is free software; the Free Software Foundation | ||
| 92 | +dnl gives unlimited permission to copy and/or distribute it, | ||
| 93 | +dnl with or without modifications, as long as this notice is preserved. | ||
| 94 | + | ||
| 95 | +dnl This program is distributed in the hope that it will be useful, | ||
| 96 | +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||
| 97 | +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
| 98 | +dnl PARTICULAR PURPOSE. | ||
| 99 | + | ||
| 100 | +# lib-prefix.m4 serial 3 (gettext-0.13) | ||
| 101 | +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. | ||
| 102 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 103 | +dnl General Public License. As a special exception to the GNU General | ||
| 104 | +dnl Public License, this file may be distributed as part of a program | ||
| 105 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 106 | +dnl the same distribution terms as the rest of that program. | ||
| 107 | + | ||
| 108 | +dnl From Bruno Haible. | ||
| 109 | + | ||
| 110 | +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and | ||
| 111 | +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't | ||
| 112 | +dnl require excessive bracketing. | ||
| 113 | +ifdef([AC_HELP_STRING], | ||
| 114 | +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], | ||
| 115 | +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) | ||
| 116 | + | ||
| 117 | +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed | ||
| 118 | +dnl to access previously installed libraries. The basic assumption is that | ||
| 119 | +dnl a user will want packages to use other packages he previously installed | ||
| 120 | +dnl with the same --prefix option. | ||
| 121 | +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate | ||
| 122 | +dnl libraries, but is otherwise very convenient. | ||
| 123 | +AC_DEFUN([AC_LIB_PREFIX], | ||
| 124 | +[ | ||
| 125 | + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) | ||
| 126 | + AC_REQUIRE([AC_PROG_CC]) | ||
| 127 | + AC_REQUIRE([AC_CANONICAL_HOST]) | ||
| 128 | + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
| 129 | + dnl By default, look in $includedir and $libdir. | ||
| 130 | + use_additional=yes | ||
| 131 | + AC_LIB_WITH_FINAL_PREFIX([ | ||
| 132 | + eval additional_includedir=\"$includedir\" | ||
| 133 | + eval additional_libdir=\"$libdir\" | ||
| 134 | + ]) | ||
| 135 | + AC_LIB_ARG_WITH([lib-prefix], | ||
| 136 | +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib | ||
| 137 | + --without-lib-prefix don't search for libraries in includedir and libdir], | ||
| 138 | +[ | ||
| 139 | + if test "X$withval" = "Xno"; then | ||
| 140 | + use_additional=no | ||
| 141 | + else | ||
| 142 | + if test "X$withval" = "X"; then | ||
| 143 | + AC_LIB_WITH_FINAL_PREFIX([ | ||
| 144 | + eval additional_includedir=\"$includedir\" | ||
| 145 | + eval additional_libdir=\"$libdir\" | ||
| 146 | + ]) | ||
| 147 | + else | ||
| 148 | + additional_includedir="$withval/include" | ||
| 149 | + additional_libdir="$withval/lib" | ||
| 150 | + fi | ||
| 151 | + fi | ||
| 152 | +]) | ||
| 153 | + if test $use_additional = yes; then | ||
| 154 | + dnl Potentially add $additional_includedir to $CPPFLAGS. | ||
| 155 | + dnl But don't add it | ||
| 156 | + dnl 1. if it's the standard /usr/include, | ||
| 157 | + dnl 2. if it's already present in $CPPFLAGS, | ||
| 158 | + dnl 3. if it's /usr/local/include and we are using GCC on Linux, | ||
| 159 | + dnl 4. if it doesn't exist as a directory. | ||
| 160 | + if test "X$additional_includedir" != "X/usr/include"; then | ||
| 161 | + haveit= | ||
| 162 | + for x in $CPPFLAGS; do | ||
| 163 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 164 | + if test "X$x" = "X-I$additional_includedir"; then | ||
| 165 | + haveit=yes | ||
| 166 | + break | ||
| 167 | + fi | ||
| 168 | + done | ||
| 169 | + if test -z "$haveit"; then | ||
| 170 | + if test "X$additional_includedir" = "X/usr/local/include"; then | ||
| 171 | + if test -n "$GCC"; then | ||
| 172 | + case $host_os in | ||
| 173 | + linux*) haveit=yes;; | ||
| 174 | + esac | ||
| 175 | + fi | ||
| 176 | + fi | ||
| 177 | + if test -z "$haveit"; then | ||
| 178 | + if test -d "$additional_includedir"; then | ||
| 179 | + dnl Really add $additional_includedir to $CPPFLAGS. | ||
| 180 | + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" | ||
| 181 | + fi | ||
| 182 | + fi | ||
| 183 | + fi | ||
| 184 | + fi | ||
| 185 | + dnl Potentially add $additional_libdir to $LDFLAGS. | ||
| 186 | + dnl But don't add it | ||
| 187 | + dnl 1. if it's the standard /usr/lib, | ||
| 188 | + dnl 2. if it's already present in $LDFLAGS, | ||
| 189 | + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, | ||
| 190 | + dnl 4. if it doesn't exist as a directory. | ||
| 191 | + if test "X$additional_libdir" != "X/usr/lib"; then | ||
| 192 | + haveit= | ||
| 193 | + for x in $LDFLAGS; do | ||
| 194 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 195 | + if test "X$x" = "X-L$additional_libdir"; then | ||
| 196 | + haveit=yes | ||
| 197 | + break | ||
| 198 | + fi | ||
| 199 | + done | ||
| 200 | + if test -z "$haveit"; then | ||
| 201 | + if test "X$additional_libdir" = "X/usr/local/lib"; then | ||
| 202 | + if test -n "$GCC"; then | ||
| 203 | + case $host_os in | ||
| 204 | + linux*) haveit=yes;; | ||
| 205 | + esac | ||
| 206 | + fi | ||
| 207 | + fi | ||
| 208 | + if test -z "$haveit"; then | ||
| 209 | + if test -d "$additional_libdir"; then | ||
| 210 | + dnl Really add $additional_libdir to $LDFLAGS. | ||
| 211 | + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" | ||
| 212 | + fi | ||
| 213 | + fi | ||
| 214 | + fi | ||
| 215 | + fi | ||
| 216 | + fi | ||
| 217 | +]) | ||
| 218 | + | ||
| 219 | +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, | ||
| 220 | +dnl acl_final_exec_prefix, containing the values to which $prefix and | ||
| 221 | +dnl $exec_prefix will expand at the end of the configure script. | ||
| 222 | +AC_DEFUN([AC_LIB_PREPARE_PREFIX], | ||
| 223 | +[ | ||
| 224 | + dnl Unfortunately, prefix and exec_prefix get only finally determined | ||
| 225 | + dnl at the end of configure. | ||
| 226 | + if test "X$prefix" = "XNONE"; then | ||
| 227 | + acl_final_prefix="$ac_default_prefix" | ||
| 228 | + else | ||
| 229 | + acl_final_prefix="$prefix" | ||
| 230 | + fi | ||
| 231 | + if test "X$exec_prefix" = "XNONE"; then | ||
| 232 | + acl_final_exec_prefix='${prefix}' | ||
| 233 | + else | ||
| 234 | + acl_final_exec_prefix="$exec_prefix" | ||
| 235 | + fi | ||
| 236 | + acl_save_prefix="$prefix" | ||
| 237 | + prefix="$acl_final_prefix" | ||
| 238 | + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" | ||
| 239 | + prefix="$acl_save_prefix" | ||
| 240 | +]) | ||
| 241 | + | ||
| 242 | +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the | ||
| 243 | +dnl variables prefix and exec_prefix bound to the values they will have | ||
| 244 | +dnl at the end of the configure script. | ||
| 245 | +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | ||
| 246 | +[ | ||
| 247 | + acl_save_prefix="$prefix" | ||
| 248 | + prefix="$acl_final_prefix" | ||
| 249 | + acl_save_exec_prefix="$exec_prefix" | ||
| 250 | + exec_prefix="$acl_final_exec_prefix" | ||
| 251 | + $1 | ||
| 252 | + exec_prefix="$acl_save_exec_prefix" | ||
| 253 | + prefix="$acl_save_prefix" | ||
| 254 | +]) | ||
| 255 | + | ||
| 256 | +# lib-link.m4 serial 4 (gettext-0.12) | ||
| 257 | +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. | ||
| 258 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 259 | +dnl General Public License. As a special exception to the GNU General | ||
| 260 | +dnl Public License, this file may be distributed as part of a program | ||
| 261 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 262 | +dnl the same distribution terms as the rest of that program. | ||
| 263 | + | ||
| 264 | +dnl From Bruno Haible. | ||
| 265 | + | ||
| 266 | +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | ||
| 267 | +dnl the libraries corresponding to explicit and implicit dependencies. | ||
| 268 | +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and | ||
| 269 | +dnl augments the CPPFLAGS variable. | ||
| 270 | +AC_DEFUN([AC_LIB_LINKFLAGS], | ||
| 271 | +[ | ||
| 272 | + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
| 273 | + AC_REQUIRE([AC_LIB_RPATH]) | ||
| 274 | + define([Name],[translit([$1],[./-], [___])]) | ||
| 275 | + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
| 276 | + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
| 277 | + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | ||
| 278 | + AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
| 279 | + ac_cv_lib[]Name[]_libs="$LIB[]NAME" | ||
| 280 | + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" | ||
| 281 | + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" | ||
| 282 | + ]) | ||
| 283 | + LIB[]NAME="$ac_cv_lib[]Name[]_libs" | ||
| 284 | + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" | ||
| 285 | + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" | ||
| 286 | + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
| 287 | + AC_SUBST([LIB]NAME) | ||
| 288 | + AC_SUBST([LTLIB]NAME) | ||
| 289 | + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the | ||
| 290 | + dnl results of this search when this library appears as a dependency. | ||
| 291 | + HAVE_LIB[]NAME=yes | ||
| 292 | + undefine([Name]) | ||
| 293 | + undefine([NAME]) | ||
| 294 | +]) | ||
| 295 | + | ||
| 296 | +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) | ||
| 297 | +dnl searches for libname and the libraries corresponding to explicit and | ||
| 298 | +dnl implicit dependencies, together with the specified include files and | ||
| 299 | +dnl the ability to compile and link the specified testcode. If found, it | ||
| 300 | +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and | ||
| 301 | +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and | ||
| 302 | +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs | ||
| 303 | +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. | ||
| 304 | +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | ||
| 305 | +[ | ||
| 306 | + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
| 307 | + AC_REQUIRE([AC_LIB_RPATH]) | ||
| 308 | + define([Name],[translit([$1],[./-], [___])]) | ||
| 309 | + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
| 310 | + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
| 311 | + | ||
| 312 | + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | ||
| 313 | + dnl accordingly. | ||
| 314 | + AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
| 315 | + | ||
| 316 | + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, | ||
| 317 | + dnl because if the user has installed lib[]Name and not disabled its use | ||
| 318 | + dnl via --without-lib[]Name-prefix, he wants to use it. | ||
| 319 | + ac_save_CPPFLAGS="$CPPFLAGS" | ||
| 320 | + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
| 321 | + | ||
| 322 | + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ | ||
| 323 | + ac_save_LIBS="$LIBS" | ||
| 324 | + LIBS="$LIBS $LIB[]NAME" | ||
| 325 | + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) | ||
| 326 | + LIBS="$ac_save_LIBS" | ||
| 327 | + ]) | ||
| 328 | + if test "$ac_cv_lib[]Name" = yes; then | ||
| 329 | + HAVE_LIB[]NAME=yes | ||
| 330 | + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) | ||
| 331 | + AC_MSG_CHECKING([how to link with lib[]$1]) | ||
| 332 | + AC_MSG_RESULT([$LIB[]NAME]) | ||
| 333 | + else | ||
| 334 | + HAVE_LIB[]NAME=no | ||
| 335 | + dnl If $LIB[]NAME didn't lead to a usable library, we don't need | ||
| 336 | + dnl $INC[]NAME either. | ||
| 337 | + CPPFLAGS="$ac_save_CPPFLAGS" | ||
| 338 | + LIB[]NAME= | ||
| 339 | + LTLIB[]NAME= | ||
| 340 | + fi | ||
| 341 | + AC_SUBST([HAVE_LIB]NAME) | ||
| 342 | + AC_SUBST([LIB]NAME) | ||
| 343 | + AC_SUBST([LTLIB]NAME) | ||
| 344 | + undefine([Name]) | ||
| 345 | + undefine([NAME]) | ||
| 346 | +]) | ||
| 347 | + | ||
| 348 | +dnl Determine the platform dependent parameters needed to use rpath: | ||
| 349 | +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, | ||
| 350 | +dnl hardcode_direct, hardcode_minus_L. | ||
| 351 | +AC_DEFUN([AC_LIB_RPATH], | ||
| 352 | +[ | ||
| 353 | + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS | ||
| 354 | + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld | ||
| 355 | + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host | ||
| 356 | + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir | ||
| 357 | + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ | ||
| 358 | + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ | ||
| 359 | + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh | ||
| 360 | + . ./conftest.sh | ||
| 361 | + rm -f ./conftest.sh | ||
| 362 | + acl_cv_rpath=done | ||
| 363 | + ]) | ||
| 364 | + wl="$acl_cv_wl" | ||
| 365 | + libext="$acl_cv_libext" | ||
| 366 | + shlibext="$acl_cv_shlibext" | ||
| 367 | + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" | ||
| 368 | + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" | ||
| 369 | + hardcode_direct="$acl_cv_hardcode_direct" | ||
| 370 | + hardcode_minus_L="$acl_cv_hardcode_minus_L" | ||
| 371 | + dnl Determine whether the user wants rpath handling at all. | ||
| 372 | + AC_ARG_ENABLE(rpath, | ||
| 373 | + [ --disable-rpath do not hardcode runtime library paths], | ||
| 374 | + :, enable_rpath=yes) | ||
| 375 | +]) | ||
| 376 | + | ||
| 377 | +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and | ||
| 378 | +dnl the libraries corresponding to explicit and implicit dependencies. | ||
| 379 | +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. | ||
| 380 | +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | ||
| 381 | +[ | ||
| 382 | + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
| 383 | + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
| 384 | + dnl By default, look in $includedir and $libdir. | ||
| 385 | + use_additional=yes | ||
| 386 | + AC_LIB_WITH_FINAL_PREFIX([ | ||
| 387 | + eval additional_includedir=\"$includedir\" | ||
| 388 | + eval additional_libdir=\"$libdir\" | ||
| 389 | + ]) | ||
| 390 | + AC_LIB_ARG_WITH([lib$1-prefix], | ||
| 391 | +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib | ||
| 392 | + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], | ||
| 393 | +[ | ||
| 394 | + if test "X$withval" = "Xno"; then | ||
| 395 | + use_additional=no | ||
| 396 | + else | ||
| 397 | + if test "X$withval" = "X"; then | ||
| 398 | + AC_LIB_WITH_FINAL_PREFIX([ | ||
| 399 | + eval additional_includedir=\"$includedir\" | ||
| 400 | + eval additional_libdir=\"$libdir\" | ||
| 401 | + ]) | ||
| 402 | + else | ||
| 403 | + additional_includedir="$withval/include" | ||
| 404 | + additional_libdir="$withval/lib" | ||
| 405 | + fi | ||
| 406 | + fi | ||
| 407 | +]) | ||
| 408 | + dnl Search the library and its dependencies in $additional_libdir and | ||
| 409 | + dnl $LDFLAGS. Using breadth-first-seach. | ||
| 410 | + LIB[]NAME= | ||
| 411 | + LTLIB[]NAME= | ||
| 412 | + INC[]NAME= | ||
| 413 | + rpathdirs= | ||
| 414 | + ltrpathdirs= | ||
| 415 | + names_already_handled= | ||
| 416 | + names_next_round='$1 $2' | ||
| 417 | + while test -n "$names_next_round"; do | ||
| 418 | + names_this_round="$names_next_round" | ||
| 419 | + names_next_round= | ||
| 420 | + for name in $names_this_round; do | ||
| 421 | + already_handled= | ||
| 422 | + for n in $names_already_handled; do | ||
| 423 | + if test "$n" = "$name"; then | ||
| 424 | + already_handled=yes | ||
| 425 | + break | ||
| 426 | + fi | ||
| 427 | + done | ||
| 428 | + if test -z "$already_handled"; then | ||
| 429 | + names_already_handled="$names_already_handled $name" | ||
| 430 | + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS | ||
| 431 | + dnl or AC_LIB_HAVE_LINKFLAGS call. | ||
| 432 | + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` | ||
| 433 | + eval value=\"\$HAVE_LIB$uppername\" | ||
| 434 | + if test -n "$value"; then | ||
| 435 | + if test "$value" = yes; then | ||
| 436 | + eval value=\"\$LIB$uppername\" | ||
| 437 | + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" | ||
| 438 | + eval value=\"\$LTLIB$uppername\" | ||
| 439 | + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" | ||
| 440 | + else | ||
| 441 | + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined | ||
| 442 | + dnl that this library doesn't exist. So just drop it. | ||
| 443 | + : | ||
| 444 | + fi | ||
| 445 | + else | ||
| 446 | + dnl Search the library lib$name in $additional_libdir and $LDFLAGS | ||
| 447 | + dnl and the already constructed $LIBNAME/$LTLIBNAME. | ||
| 448 | + found_dir= | ||
| 449 | + found_la= | ||
| 450 | + found_so= | ||
| 451 | + found_a= | ||
| 452 | + if test $use_additional = yes; then | ||
| 453 | + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then | ||
| 454 | + found_dir="$additional_libdir" | ||
| 455 | + found_so="$additional_libdir/lib$name.$shlibext" | ||
| 456 | + if test -f "$additional_libdir/lib$name.la"; then | ||
| 457 | + found_la="$additional_libdir/lib$name.la" | ||
| 458 | + fi | ||
| 459 | + else | ||
| 460 | + if test -f "$additional_libdir/lib$name.$libext"; then | ||
| 461 | + found_dir="$additional_libdir" | ||
| 462 | + found_a="$additional_libdir/lib$name.$libext" | ||
| 463 | + if test -f "$additional_libdir/lib$name.la"; then | ||
| 464 | + found_la="$additional_libdir/lib$name.la" | ||
| 465 | + fi | ||
| 466 | + fi | ||
| 467 | + fi | ||
| 468 | + fi | ||
| 469 | + if test "X$found_dir" = "X"; then | ||
| 470 | + for x in $LDFLAGS $LTLIB[]NAME; do | ||
| 471 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 472 | + case "$x" in | ||
| 473 | + -L*) | ||
| 474 | + dir=`echo "X$x" | sed -e 's/^X-L//'` | ||
| 475 | + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then | ||
| 476 | + found_dir="$dir" | ||
| 477 | + found_so="$dir/lib$name.$shlibext" | ||
| 478 | + if test -f "$dir/lib$name.la"; then | ||
| 479 | + found_la="$dir/lib$name.la" | ||
| 480 | + fi | ||
| 481 | + else | ||
| 482 | + if test -f "$dir/lib$name.$libext"; then | ||
| 483 | + found_dir="$dir" | ||
| 484 | + found_a="$dir/lib$name.$libext" | ||
| 485 | + if test -f "$dir/lib$name.la"; then | ||
| 486 | + found_la="$dir/lib$name.la" | ||
| 487 | + fi | ||
| 488 | + fi | ||
| 489 | + fi | ||
| 490 | + ;; | ||
| 491 | + esac | ||
| 492 | + if test "X$found_dir" != "X"; then | ||
| 493 | + break | ||
| 494 | + fi | ||
| 495 | + done | ||
| 496 | + fi | ||
| 497 | + if test "X$found_dir" != "X"; then | ||
| 498 | + dnl Found the library. | ||
| 499 | + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" | ||
| 500 | + if test "X$found_so" != "X"; then | ||
| 501 | + dnl Linking with a shared library. We attempt to hardcode its | ||
| 502 | + dnl directory into the executable's runpath, unless it's the | ||
| 503 | + dnl standard /usr/lib. | ||
| 504 | + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then | ||
| 505 | + dnl No hardcoding is needed. | ||
| 506 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 507 | + else | ||
| 508 | + dnl Use an explicit option to hardcode DIR into the resulting | ||
| 509 | + dnl binary. | ||
| 510 | + dnl Potentially add DIR to ltrpathdirs. | ||
| 511 | + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
| 512 | + haveit= | ||
| 513 | + for x in $ltrpathdirs; do | ||
| 514 | + if test "X$x" = "X$found_dir"; then | ||
| 515 | + haveit=yes | ||
| 516 | + break | ||
| 517 | + fi | ||
| 518 | + done | ||
| 519 | + if test -z "$haveit"; then | ||
| 520 | + ltrpathdirs="$ltrpathdirs $found_dir" | ||
| 521 | + fi | ||
| 522 | + dnl The hardcoding into $LIBNAME is system dependent. | ||
| 523 | + if test "$hardcode_direct" = yes; then | ||
| 524 | + dnl Using DIR/libNAME.so during linking hardcodes DIR into the | ||
| 525 | + dnl resulting binary. | ||
| 526 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 527 | + else | ||
| 528 | + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then | ||
| 529 | + dnl Use an explicit option to hardcode DIR into the resulting | ||
| 530 | + dnl binary. | ||
| 531 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 532 | + dnl Potentially add DIR to rpathdirs. | ||
| 533 | + dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
| 534 | + haveit= | ||
| 535 | + for x in $rpathdirs; do | ||
| 536 | + if test "X$x" = "X$found_dir"; then | ||
| 537 | + haveit=yes | ||
| 538 | + break | ||
| 539 | + fi | ||
| 540 | + done | ||
| 541 | + if test -z "$haveit"; then | ||
| 542 | + rpathdirs="$rpathdirs $found_dir" | ||
| 543 | + fi | ||
| 544 | + else | ||
| 545 | + dnl Rely on "-L$found_dir". | ||
| 546 | + dnl But don't add it if it's already contained in the LDFLAGS | ||
| 547 | + dnl or the already constructed $LIBNAME | ||
| 548 | + haveit= | ||
| 549 | + for x in $LDFLAGS $LIB[]NAME; do | ||
| 550 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 551 | + if test "X$x" = "X-L$found_dir"; then | ||
| 552 | + haveit=yes | ||
| 553 | + break | ||
| 554 | + fi | ||
| 555 | + done | ||
| 556 | + if test -z "$haveit"; then | ||
| 557 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" | ||
| 558 | + fi | ||
| 559 | + if test "$hardcode_minus_L" != no; then | ||
| 560 | + dnl FIXME: Not sure whether we should use | ||
| 561 | + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
| 562 | + dnl here. | ||
| 563 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
| 564 | + else | ||
| 565 | + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH | ||
| 566 | + dnl here, because this doesn't fit in flags passed to the | ||
| 567 | + dnl compiler. So give up. No hardcoding. This affects only | ||
| 568 | + dnl very old systems. | ||
| 569 | + dnl FIXME: Not sure whether we should use | ||
| 570 | + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
| 571 | + dnl here. | ||
| 572 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
| 573 | + fi | ||
| 574 | + fi | ||
| 575 | + fi | ||
| 576 | + fi | ||
| 577 | + else | ||
| 578 | + if test "X$found_a" != "X"; then | ||
| 579 | + dnl Linking with a static library. | ||
| 580 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" | ||
| 581 | + else | ||
| 582 | + dnl We shouldn't come here, but anyway it's good to have a | ||
| 583 | + dnl fallback. | ||
| 584 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" | ||
| 585 | + fi | ||
| 586 | + fi | ||
| 587 | + dnl Assume the include files are nearby. | ||
| 588 | + additional_includedir= | ||
| 589 | + case "$found_dir" in | ||
| 590 | + */lib | */lib/) | ||
| 591 | + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` | ||
| 592 | + additional_includedir="$basedir/include" | ||
| 593 | + ;; | ||
| 594 | + esac | ||
| 595 | + if test "X$additional_includedir" != "X"; then | ||
| 596 | + dnl Potentially add $additional_includedir to $INCNAME. | ||
| 597 | + dnl But don't add it | ||
| 598 | + dnl 1. if it's the standard /usr/include, | ||
| 599 | + dnl 2. if it's /usr/local/include and we are using GCC on Linux, | ||
| 600 | + dnl 3. if it's already present in $CPPFLAGS or the already | ||
| 601 | + dnl constructed $INCNAME, | ||
| 602 | + dnl 4. if it doesn't exist as a directory. | ||
| 603 | + if test "X$additional_includedir" != "X/usr/include"; then | ||
| 604 | + haveit= | ||
| 605 | + if test "X$additional_includedir" = "X/usr/local/include"; then | ||
| 606 | + if test -n "$GCC"; then | ||
| 607 | + case $host_os in | ||
| 608 | + linux*) haveit=yes;; | ||
| 609 | + esac | ||
| 610 | + fi | ||
| 611 | + fi | ||
| 612 | + if test -z "$haveit"; then | ||
| 613 | + for x in $CPPFLAGS $INC[]NAME; do | ||
| 614 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 615 | + if test "X$x" = "X-I$additional_includedir"; then | ||
| 616 | + haveit=yes | ||
| 617 | + break | ||
| 618 | + fi | ||
| 619 | + done | ||
| 620 | + if test -z "$haveit"; then | ||
| 621 | + if test -d "$additional_includedir"; then | ||
| 622 | + dnl Really add $additional_includedir to $INCNAME. | ||
| 623 | + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" | ||
| 624 | + fi | ||
| 625 | + fi | ||
| 626 | + fi | ||
| 627 | + fi | ||
| 628 | + fi | ||
| 629 | + dnl Look for dependencies. | ||
| 630 | + if test -n "$found_la"; then | ||
| 631 | + dnl Read the .la file. It defines the variables | ||
| 632 | + dnl dlname, library_names, old_library, dependency_libs, current, | ||
| 633 | + dnl age, revision, installed, dlopen, dlpreopen, libdir. | ||
| 634 | + save_libdir="$libdir" | ||
| 635 | + case "$found_la" in | ||
| 636 | + */* | *\\*) . "$found_la" ;; | ||
| 637 | + *) . "./$found_la" ;; | ||
| 638 | + esac | ||
| 639 | + libdir="$save_libdir" | ||
| 640 | + dnl We use only dependency_libs. | ||
| 641 | + for dep in $dependency_libs; do | ||
| 642 | + case "$dep" in | ||
| 643 | + -L*) | ||
| 644 | + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` | ||
| 645 | + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. | ||
| 646 | + dnl But don't add it | ||
| 647 | + dnl 1. if it's the standard /usr/lib, | ||
| 648 | + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, | ||
| 649 | + dnl 3. if it's already present in $LDFLAGS or the already | ||
| 650 | + dnl constructed $LIBNAME, | ||
| 651 | + dnl 4. if it doesn't exist as a directory. | ||
| 652 | + if test "X$additional_libdir" != "X/usr/lib"; then | ||
| 653 | + haveit= | ||
| 654 | + if test "X$additional_libdir" = "X/usr/local/lib"; then | ||
| 655 | + if test -n "$GCC"; then | ||
| 656 | + case $host_os in | ||
| 657 | + linux*) haveit=yes;; | ||
| 658 | + esac | ||
| 659 | + fi | ||
| 660 | + fi | ||
| 661 | + if test -z "$haveit"; then | ||
| 662 | + haveit= | ||
| 663 | + for x in $LDFLAGS $LIB[]NAME; do | ||
| 664 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 665 | + if test "X$x" = "X-L$additional_libdir"; then | ||
| 666 | + haveit=yes | ||
| 667 | + break | ||
| 668 | + fi | ||
| 669 | + done | ||
| 670 | + if test -z "$haveit"; then | ||
| 671 | + if test -d "$additional_libdir"; then | ||
| 672 | + dnl Really add $additional_libdir to $LIBNAME. | ||
| 673 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" | ||
| 674 | + fi | ||
| 675 | + fi | ||
| 676 | + haveit= | ||
| 677 | + for x in $LDFLAGS $LTLIB[]NAME; do | ||
| 678 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 679 | + if test "X$x" = "X-L$additional_libdir"; then | ||
| 680 | + haveit=yes | ||
| 681 | + break | ||
| 682 | + fi | ||
| 683 | + done | ||
| 684 | + if test -z "$haveit"; then | ||
| 685 | + if test -d "$additional_libdir"; then | ||
| 686 | + dnl Really add $additional_libdir to $LTLIBNAME. | ||
| 687 | + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" | ||
| 688 | + fi | ||
| 689 | + fi | ||
| 690 | + fi | ||
| 691 | + fi | ||
| 692 | + ;; | ||
| 693 | + -R*) | ||
| 694 | + dir=`echo "X$dep" | sed -e 's/^X-R//'` | ||
| 695 | + if test "$enable_rpath" != no; then | ||
| 696 | + dnl Potentially add DIR to rpathdirs. | ||
| 697 | + dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
| 698 | + haveit= | ||
| 699 | + for x in $rpathdirs; do | ||
| 700 | + if test "X$x" = "X$dir"; then | ||
| 701 | + haveit=yes | ||
| 702 | + break | ||
| 703 | + fi | ||
| 704 | + done | ||
| 705 | + if test -z "$haveit"; then | ||
| 706 | + rpathdirs="$rpathdirs $dir" | ||
| 707 | + fi | ||
| 708 | + dnl Potentially add DIR to ltrpathdirs. | ||
| 709 | + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
| 710 | + haveit= | ||
| 711 | + for x in $ltrpathdirs; do | ||
| 712 | + if test "X$x" = "X$dir"; then | ||
| 713 | + haveit=yes | ||
| 714 | + break | ||
| 715 | + fi | ||
| 716 | + done | ||
| 717 | + if test -z "$haveit"; then | ||
| 718 | + ltrpathdirs="$ltrpathdirs $dir" | ||
| 719 | + fi | ||
| 720 | + fi | ||
| 721 | + ;; | ||
| 722 | + -l*) | ||
| 723 | + dnl Handle this in the next round. | ||
| 724 | + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` | ||
| 725 | + ;; | ||
| 726 | + *.la) | ||
| 727 | + dnl Handle this in the next round. Throw away the .la's | ||
| 728 | + dnl directory; it is already contained in a preceding -L | ||
| 729 | + dnl option. | ||
| 730 | + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` | ||
| 731 | + ;; | ||
| 732 | + *) | ||
| 733 | + dnl Most likely an immediate library name. | ||
| 734 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" | ||
| 735 | + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" | ||
| 736 | + ;; | ||
| 737 | + esac | ||
| 738 | + done | ||
| 739 | + fi | ||
| 740 | + else | ||
| 741 | + dnl Didn't find the library; assume it is in the system directories | ||
| 742 | + dnl known to the linker and runtime loader. (All the system | ||
| 743 | + dnl directories known to the linker should also be known to the | ||
| 744 | + dnl runtime loader, otherwise the system is severely misconfigured.) | ||
| 745 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
| 746 | + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" | ||
| 747 | + fi | ||
| 748 | + fi | ||
| 749 | + fi | ||
| 750 | + done | ||
| 751 | + done | ||
| 752 | + if test "X$rpathdirs" != "X"; then | ||
| 753 | + if test -n "$hardcode_libdir_separator"; then | ||
| 754 | + dnl Weird platform: only the last -rpath option counts, the user must | ||
| 755 | + dnl pass all path elements in one option. We can arrange that for a | ||
| 756 | + dnl single library, but not when more than one $LIBNAMEs are used. | ||
| 757 | + alldirs= | ||
| 758 | + for found_dir in $rpathdirs; do | ||
| 759 | + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" | ||
| 760 | + done | ||
| 761 | + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. | ||
| 762 | + acl_save_libdir="$libdir" | ||
| 763 | + libdir="$alldirs" | ||
| 764 | + eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 765 | + libdir="$acl_save_libdir" | ||
| 766 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
| 767 | + else | ||
| 768 | + dnl The -rpath options are cumulative. | ||
| 769 | + for found_dir in $rpathdirs; do | ||
| 770 | + acl_save_libdir="$libdir" | ||
| 771 | + libdir="$found_dir" | ||
| 772 | + eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 773 | + libdir="$acl_save_libdir" | ||
| 774 | + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
| 775 | + done | ||
| 776 | + fi | ||
| 777 | + fi | ||
| 778 | + if test "X$ltrpathdirs" != "X"; then | ||
| 779 | + dnl When using libtool, the option that works for both libraries and | ||
| 780 | + dnl executables is -R. The -R options are cumulative. | ||
| 781 | + for found_dir in $ltrpathdirs; do | ||
| 782 | + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | ||
| 783 | + done | ||
| 784 | + fi | ||
| 785 | +]) | ||
| 786 | + | ||
| 787 | +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, | ||
| 788 | +dnl unless already present in VAR. | ||
| 789 | +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes | ||
| 790 | +dnl contains two or three consecutive elements that belong together. | ||
| 791 | +AC_DEFUN([AC_LIB_APPENDTOVAR], | ||
| 792 | +[ | ||
| 793 | + for element in [$2]; do | ||
| 794 | + haveit= | ||
| 795 | + for x in $[$1]; do | ||
| 796 | + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
| 797 | + if test "X$x" = "X$element"; then | ||
| 798 | + haveit=yes | ||
| 799 | + break | ||
| 800 | + fi | ||
| 801 | + done | ||
| 802 | + if test -z "$haveit"; then | ||
| 803 | + [$1]="${[$1]}${[$1]:+ }$element" | ||
| 804 | + fi | ||
| 805 | + done | ||
| 806 | +]) | ||
| 807 | + | ||
| 808 | +# lib-ld.m4 serial 3 (gettext-0.13) | ||
| 809 | +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. | ||
| 810 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 811 | +dnl General Public License. As a special exception to the GNU General | ||
| 812 | +dnl Public License, this file may be distributed as part of a program | ||
| 813 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 814 | +dnl the same distribution terms as the rest of that program. | ||
| 815 | + | ||
| 816 | +dnl Subroutines of libtool.m4, | ||
| 817 | +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision | ||
| 818 | +dnl with libtool.m4. | ||
| 819 | + | ||
| 820 | +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. | ||
| 821 | +AC_DEFUN([AC_LIB_PROG_LD_GNU], | ||
| 822 | +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, | ||
| 823 | +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. | ||
| 824 | +case `$LD -v 2>&1 </dev/null` in | ||
| 825 | +*GNU* | *'with BFD'*) | ||
| 826 | + acl_cv_prog_gnu_ld=yes ;; | ||
| 827 | +*) | ||
| 828 | + acl_cv_prog_gnu_ld=no ;; | ||
| 829 | +esac]) | ||
| 830 | +with_gnu_ld=$acl_cv_prog_gnu_ld | ||
| 831 | +]) | ||
| 832 | + | ||
| 833 | +dnl From libtool-1.4. Sets the variable LD. | ||
| 834 | +AC_DEFUN([AC_LIB_PROG_LD], | ||
| 835 | +[AC_ARG_WITH(gnu-ld, | ||
| 836 | +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], | ||
| 837 | +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | ||
| 838 | +AC_REQUIRE([AC_PROG_CC])dnl | ||
| 839 | +AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
| 840 | +# Prepare PATH_SEPARATOR. | ||
| 841 | +# The user is always right. | ||
| 842 | +if test "${PATH_SEPARATOR+set}" != set; then | ||
| 843 | + echo "#! /bin/sh" >conf$$.sh | ||
| 844 | + echo "exit 0" >>conf$$.sh | ||
| 845 | + chmod +x conf$$.sh | ||
| 846 | + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | ||
| 847 | + PATH_SEPARATOR=';' | ||
| 848 | + else | ||
| 849 | + PATH_SEPARATOR=: | ||
| 850 | + fi | ||
| 851 | + rm -f conf$$.sh | ||
| 852 | +fi | ||
| 853 | +ac_prog=ld | ||
| 854 | +if test "$GCC" = yes; then | ||
| 855 | + # Check if gcc -print-prog-name=ld gives a path. | ||
| 856 | + AC_MSG_CHECKING([for ld used by GCC]) | ||
| 857 | + case $host in | ||
| 858 | + *-*-mingw*) | ||
| 859 | + # gcc leaves a trailing carriage return which upsets mingw | ||
| 860 | + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
| 861 | + *) | ||
| 862 | + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
| 863 | + esac | ||
| 864 | + case $ac_prog in | ||
| 865 | + # Accept absolute paths. | ||
| 866 | + [[\\/]* | [A-Za-z]:[\\/]*)] | ||
| 867 | + [re_direlt='/[^/][^/]*/\.\./'] | ||
| 868 | + # Canonicalize the path of ld | ||
| 869 | + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | ||
| 870 | + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | ||
| 871 | + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | ||
| 872 | + done | ||
| 873 | + test -z "$LD" && LD="$ac_prog" | ||
| 874 | + ;; | ||
| 875 | + "") | ||
| 876 | + # If it fails, then pretend we aren't using GCC. | ||
| 877 | + ac_prog=ld | ||
| 878 | + ;; | ||
| 879 | + *) | ||
| 880 | + # If it is relative, then search for the first ld in PATH. | ||
| 881 | + with_gnu_ld=unknown | ||
| 882 | + ;; | ||
| 883 | + esac | ||
| 884 | +elif test "$with_gnu_ld" = yes; then | ||
| 885 | + AC_MSG_CHECKING([for GNU ld]) | ||
| 886 | +else | ||
| 887 | + AC_MSG_CHECKING([for non-GNU ld]) | ||
| 888 | +fi | ||
| 889 | +AC_CACHE_VAL(acl_cv_path_LD, | ||
| 890 | +[if test -z "$LD"; then | ||
| 891 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | ||
| 892 | + for ac_dir in $PATH; do | ||
| 893 | + test -z "$ac_dir" && ac_dir=. | ||
| 894 | + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
| 895 | + acl_cv_path_LD="$ac_dir/$ac_prog" | ||
| 896 | + # Check to see if the program is GNU ld. I'd rather use --version, | ||
| 897 | + # but apparently some GNU ld's only accept -v. | ||
| 898 | + # Break only if it was the GNU/non-GNU ld that we prefer. | ||
| 899 | + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in | ||
| 900 | + *GNU* | *'with BFD'*) | ||
| 901 | + test "$with_gnu_ld" != no && break ;; | ||
| 902 | + *) | ||
| 903 | + test "$with_gnu_ld" != yes && break ;; | ||
| 904 | + esac | ||
| 905 | + fi | ||
| 906 | + done | ||
| 907 | + IFS="$ac_save_ifs" | ||
| 908 | +else | ||
| 909 | + acl_cv_path_LD="$LD" # Let the user override the test with a path. | ||
| 910 | +fi]) | ||
| 911 | +LD="$acl_cv_path_LD" | ||
| 912 | +if test -n "$LD"; then | ||
| 913 | + AC_MSG_RESULT($LD) | ||
| 914 | +else | ||
| 915 | + AC_MSG_RESULT(no) | ||
| 916 | +fi | ||
| 917 | +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
| 918 | +AC_LIB_PROG_LD_GNU | ||
| 919 | +]) | ||
| 920 | + | ||
| 921 | +# isc-posix.m4 serial 2 (gettext-0.11.2) | ||
| 922 | +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. | ||
| 923 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 924 | +dnl General Public License. As a special exception to the GNU General | ||
| 925 | +dnl Public License, this file may be distributed as part of a program | ||
| 926 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 927 | +dnl the same distribution terms as the rest of that program. | ||
| 928 | + | ||
| 929 | +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. | ||
| 930 | + | ||
| 931 | +# This test replaces the one in autoconf. | ||
| 932 | +# Currently this macro should have the same name as the autoconf macro | ||
| 933 | +# because gettext's gettext.m4 (distributed in the automake package) | ||
| 934 | +# still uses it. Otherwise, the use in gettext.m4 makes autoheader | ||
| 935 | +# give these diagnostics: | ||
| 936 | +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX | ||
| 937 | +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX | ||
| 938 | + | ||
| 939 | +undefine([AC_ISC_POSIX]) | ||
| 940 | + | ||
| 941 | +AC_DEFUN([AC_ISC_POSIX], | ||
| 942 | + [ | ||
| 943 | + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. | ||
| 944 | + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) | ||
| 945 | + ] | ||
| 946 | +) | ||
| 947 | + | ||
| 948 | +# Check for stdbool.h that conforms to C99. | ||
| 949 | + | ||
| 950 | +# Copyright (C) 2002-2003 Free Software Foundation, Inc. | ||
| 951 | + | ||
| 952 | +# This program is free software; you can redistribute it and/or modify | ||
| 953 | +# it under the terms of the GNU General Public License as published by | ||
| 954 | +# the Free Software Foundation; either version 2, or (at your option) | ||
| 955 | +# any later version. | ||
| 956 | + | ||
| 957 | +# This program is distributed in the hope that it will be useful, | ||
| 958 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 959 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 960 | +# GNU General Public License for more details. | ||
| 961 | + | ||
| 962 | +# You should have received a copy of the GNU General Public License | ||
| 963 | +# along with this program; if not, write to the Free Software | ||
| 964 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
| 965 | +# 02111-1307, USA. | ||
| 966 | + | ||
| 967 | +# Prepare for substituting <stdbool.h> if it is not supported. | ||
| 968 | + | ||
| 969 | +AC_DEFUN([AM_STDBOOL_H], | ||
| 970 | +[ | ||
| 971 | + AC_REQUIRE([AC_HEADER_STDBOOL]) | ||
| 972 | + | ||
| 973 | + # Define two additional variables used in the Makefile substitution. | ||
| 974 | + | ||
| 975 | + if test "$ac_cv_header_stdbool_h" = yes; then | ||
| 976 | + STDBOOL_H='' | ||
| 977 | + else | ||
| 978 | + STDBOOL_H='stdbool.h' | ||
| 979 | + fi | ||
| 980 | + AC_SUBST([STDBOOL_H]) | ||
| 981 | + | ||
| 982 | + if test "$ac_cv_type__Bool" = yes; then | ||
| 983 | + HAVE__BOOL=1 | ||
| 984 | + else | ||
| 985 | + HAVE__BOOL=0 | ||
| 986 | + fi | ||
| 987 | + AC_SUBST([HAVE__BOOL]) | ||
| 988 | +]) | ||
| 989 | + | ||
| 990 | +# This macro is only needed in autoconf <= 2.54. Newer versions of autoconf | ||
| 991 | +# have this macro built-in. | ||
| 992 | + | ||
| 993 | +AC_DEFUN([AC_HEADER_STDBOOL], | ||
| 994 | + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], | ||
| 995 | + [ac_cv_header_stdbool_h], | ||
| 996 | + [AC_TRY_COMPILE( | ||
| 997 | + [ | ||
| 998 | + #include <stdbool.h> | ||
| 999 | + #ifndef bool | ||
| 1000 | + "error: bool is not defined" | ||
| 1001 | + #endif | ||
| 1002 | + #ifndef false | ||
| 1003 | + "error: false is not defined" | ||
| 1004 | + #endif | ||
| 1005 | + #if false | ||
| 1006 | + "error: false is not 0" | ||
| 1007 | + #endif | ||
| 1008 | + #ifndef true | ||
| 1009 | + "error: false is not defined" | ||
| 1010 | + #endif | ||
| 1011 | + #if true != 1 | ||
| 1012 | + "error: true is not 1" | ||
| 1013 | + #endif | ||
| 1014 | + #ifndef __bool_true_false_are_defined | ||
| 1015 | + "error: __bool_true_false_are_defined is not defined" | ||
| 1016 | + #endif | ||
| 1017 | + | ||
| 1018 | + struct s { _Bool s: 1; _Bool t; } s; | ||
| 1019 | + | ||
| 1020 | + char a[true == 1 ? 1 : -1]; | ||
| 1021 | + char b[false == 0 ? 1 : -1]; | ||
| 1022 | + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | ||
| 1023 | + char d[(bool) -0.5 == true ? 1 : -1]; | ||
| 1024 | + bool e = &s; | ||
| 1025 | + char f[(_Bool) -0.0 == false ? 1 : -1]; | ||
| 1026 | + char g[true]; | ||
| 1027 | + char h[sizeof (_Bool)]; | ||
| 1028 | + char i[sizeof s.t]; | ||
| 1029 | + ], | ||
| 1030 | + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], | ||
| 1031 | + [ac_cv_header_stdbool_h=yes], | ||
| 1032 | + [ac_cv_header_stdbool_h=no])]) | ||
| 1033 | + AC_CHECK_TYPES([_Bool]) | ||
| 1034 | + if test $ac_cv_header_stdbool_h = yes; then | ||
| 1035 | + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) | ||
| 1036 | + fi]) | ||
| 1037 | + | ||
| 1038 | +#serial 5 | ||
| 1039 | + | ||
| 1040 | +dnl From Jim Meyering | ||
| 1041 | + | ||
| 1042 | +dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- | ||
| 1043 | +dnl usually in <utime.h>. | ||
| 1044 | +dnl Some systems have utime.h but don't declare the struct anywhere. | ||
| 1045 | + | ||
| 1046 | +AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF], | ||
| 1047 | +[ | ||
| 1048 | + AC_CHECK_HEADERS_ONCE(sys/time.h utime.h) | ||
| 1049 | + AC_REQUIRE([AC_HEADER_TIME]) | ||
| 1050 | + AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf, | ||
| 1051 | + [AC_TRY_COMPILE( | ||
| 1052 | + [ | ||
| 1053 | +#ifdef TIME_WITH_SYS_TIME | ||
| 1054 | +# include <sys/time.h> | ||
| 1055 | +# include <time.h> | ||
| 1056 | +#else | ||
| 1057 | +# ifdef HAVE_SYS_TIME_H | ||
| 1058 | +# include <sys/time.h> | ||
| 1059 | +# else | ||
| 1060 | +# include <time.h> | ||
| 1061 | +# endif | ||
| 1062 | +#endif | ||
| 1063 | +#ifdef HAVE_UTIME_H | ||
| 1064 | +# include <utime.h> | ||
| 1065 | +#endif | ||
| 1066 | + ], | ||
| 1067 | + [static struct utimbuf x; x.actime = x.modtime;], | ||
| 1068 | + fu_cv_sys_struct_utimbuf=yes, | ||
| 1069 | + fu_cv_sys_struct_utimbuf=no) | ||
| 1070 | + ]) | ||
| 1071 | + | ||
| 1072 | + if test $fu_cv_sys_struct_utimbuf = yes; then | ||
| 1073 | + AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, | ||
| 1074 | + [Define if struct utimbuf is declared -- usually in <utime.h>. | ||
| 1075 | + Some systems have utime.h but don't declare the struct anywhere. ]) | ||
| 1076 | + fi | ||
| 1077 | +]) | ||
| 1078 | + | ||
| 1079 | +# onceonly.m4 serial 3 | ||
| 1080 | +dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
| 1081 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1082 | +dnl General Public License. As a special exception to the GNU General | ||
| 1083 | +dnl Public License, this file may be distributed as part of a program | ||
| 1084 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1085 | +dnl the same distribution terms as the rest of that program. | ||
| 1086 | + | ||
| 1087 | +dnl This file defines some "once only" variants of standard autoconf macros. | ||
| 1088 | +dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS | ||
| 1089 | +dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS | ||
| 1090 | +dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS | ||
| 1091 | +dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC | ||
| 1092 | +dnl The advantage is that the check for each of the headers/functions/decls | ||
| 1093 | +dnl will be put only once into the 'configure' file. It keeps the size of | ||
| 1094 | +dnl the 'configure' file down, and avoids redundant output when 'configure' | ||
| 1095 | +dnl is run. | ||
| 1096 | +dnl The drawback is that the checks cannot be conditionalized. If you write | ||
| 1097 | +dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi | ||
| 1098 | +dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to | ||
| 1099 | +dnl empty, and the check will be inserted before the body of the AC_DEFUNed | ||
| 1100 | +dnl function. | ||
| 1101 | + | ||
| 1102 | +dnl Autoconf version 2.57 or newer is recommended. | ||
| 1103 | +AC_PREREQ(2.54) | ||
| 1104 | + | ||
| 1105 | +# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of | ||
| 1106 | +# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). | ||
| 1107 | +AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ | ||
| 1108 | + : | ||
| 1109 | + AC_FOREACH([gl_HEADER_NAME], [$1], [ | ||
| 1110 | + AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), | ||
| 1111 | + [-./], [___])), [ | ||
| 1112 | + AC_CHECK_HEADERS(gl_HEADER_NAME) | ||
| 1113 | + ]) | ||
| 1114 | + AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, | ||
| 1115 | + [-./], [___]))) | ||
| 1116 | + ]) | ||
| 1117 | +]) | ||
| 1118 | + | ||
| 1119 | +# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of | ||
| 1120 | +# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). | ||
| 1121 | +AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ | ||
| 1122 | + : | ||
| 1123 | + AC_FOREACH([gl_FUNC_NAME], [$1], [ | ||
| 1124 | + AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ | ||
| 1125 | + AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) | ||
| 1126 | + ]) | ||
| 1127 | + AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) | ||
| 1128 | + ]) | ||
| 1129 | +]) | ||
| 1130 | + | ||
| 1131 | +# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of | ||
| 1132 | +# AC_CHECK_DECLS(DECL1, DECL2, ...). | ||
| 1133 | +AC_DEFUN([AC_CHECK_DECLS_ONCE], [ | ||
| 1134 | + : | ||
| 1135 | + AC_FOREACH([gl_DECL_NAME], [$1], [ | ||
| 1136 | + AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ | ||
| 1137 | + AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) | ||
| 1138 | + ]) | ||
| 1139 | + AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) | ||
| 1140 | + ]) | ||
| 1141 | +]) | ||
| 1142 | + | ||
| 1143 | # backupfile.m4 serial 1 | ||
| 1144 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1145 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1146 | @@ -21,6 +1076,7 @@ | ||
| 1147 | AC_CHECK_HEADERS_ONCE(limits.h string.h unistd.h) | ||
| 1148 | AC_CHECK_FUNCS(pathconf) | ||
| 1149 | ]) | ||
| 1150 | + | ||
| 1151 | #serial 5 | ||
| 1152 | |||
| 1153 | dnl From Jim Meyering. | ||
| 1154 | @@ -63,31 +1119,7 @@ | ||
| 1155 | fi | ||
| 1156 | ] | ||
| 1157 | ) | ||
| 1158 | -# dirname.m4 serial 1 | ||
| 1159 | -dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1160 | -dnl This file is free software, distributed under the terms of the GNU | ||
| 1161 | -dnl General Public License. As a special exception to the GNU General | ||
| 1162 | -dnl Public License, this file may be distributed as part of a program | ||
| 1163 | -dnl that contains a configuration script generated by Autoconf, under | ||
| 1164 | -dnl the same distribution terms as the rest of that program. | ||
| 1165 | |||
| 1166 | -AC_DEFUN([gl_DIRNAME], | ||
| 1167 | -[ | ||
| 1168 | - dnl Prerequisites of lib/dirname.h. | ||
| 1169 | - AC_REQUIRE([jm_AC_DOS]) | ||
| 1170 | - | ||
| 1171 | - dnl Prerequisites of lib/dirname.c. | ||
| 1172 | - AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1173 | - AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1174 | - | ||
| 1175 | - dnl Prerequisites of lib/basename.c. | ||
| 1176 | - AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1177 | - AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1178 | - | ||
| 1179 | - dnl Prerequisites of lib/stripslash.c. | ||
| 1180 | - AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1181 | - AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1182 | -]) | ||
| 1183 | #serial 5 | ||
| 1184 | |||
| 1185 | # Define some macros required for proper operation of code in lib/*.c | ||
| 1186 | @@ -141,6 +1173,33 @@ | ||
| 1187 | [Define if the backslash character may also serve as a file name | ||
| 1188 | component separator.]) | ||
| 1189 | ]) | ||
| 1190 | + | ||
| 1191 | +# dirname.m4 serial 1 | ||
| 1192 | +dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1193 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1194 | +dnl General Public License. As a special exception to the GNU General | ||
| 1195 | +dnl Public License, this file may be distributed as part of a program | ||
| 1196 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1197 | +dnl the same distribution terms as the rest of that program. | ||
| 1198 | + | ||
| 1199 | +AC_DEFUN([gl_DIRNAME], | ||
| 1200 | +[ | ||
| 1201 | + dnl Prerequisites of lib/dirname.h. | ||
| 1202 | + AC_REQUIRE([jm_AC_DOS]) | ||
| 1203 | + | ||
| 1204 | + dnl Prerequisites of lib/dirname.c. | ||
| 1205 | + AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1206 | + AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1207 | + | ||
| 1208 | + dnl Prerequisites of lib/basename.c. | ||
| 1209 | + AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1210 | + AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1211 | + | ||
| 1212 | + dnl Prerequisites of lib/stripslash.c. | ||
| 1213 | + AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1214 | + AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1215 | +]) | ||
| 1216 | + | ||
| 1217 | #serial 7 | ||
| 1218 | |||
| 1219 | AC_DEFUN([gl_ERROR], | ||
| 1220 | @@ -159,7 +1218,67 @@ | ||
| 1221 | AC_CHECK_DECLS([strerror]) | ||
| 1222 | AC_FUNC_STRERROR_R | ||
| 1223 | ]) | ||
| 1224 | -# getopt.m4 serial 1 | ||
| 1225 | + | ||
| 1226 | +# memchr.m4 serial 1 | ||
| 1227 | +dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1228 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1229 | +dnl General Public License. As a special exception to the GNU General | ||
| 1230 | +dnl Public License, this file may be distributed as part of a program | ||
| 1231 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1232 | +dnl the same distribution terms as the rest of that program. | ||
| 1233 | + | ||
| 1234 | +AC_DEFUN([gl_FUNC_MEMCHR], | ||
| 1235 | +[ | ||
| 1236 | + AC_REPLACE_FUNCS(memchr) | ||
| 1237 | + if test $ac_cv_func_memchr = no; then | ||
| 1238 | + jm_PREREQ_MEMCHR | ||
| 1239 | + fi | ||
| 1240 | +]) | ||
| 1241 | + | ||
| 1242 | +# Prerequisites of lib/memchr.c. | ||
| 1243 | +AC_DEFUN([jm_PREREQ_MEMCHR], [ | ||
| 1244 | + AC_CHECK_HEADERS_ONCE(limits.h stdlib.h) | ||
| 1245 | + AC_CHECK_HEADERS(bp-sym.h) | ||
| 1246 | +]) | ||
| 1247 | + | ||
| 1248 | +# rmdir.m4 serial 1 | ||
| 1249 | +dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1250 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1251 | +dnl General Public License. As a special exception to the GNU General | ||
| 1252 | +dnl Public License, this file may be distributed as part of a program | ||
| 1253 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1254 | +dnl the same distribution terms as the rest of that program. | ||
| 1255 | + | ||
| 1256 | +AC_DEFUN([gl_FUNC_RMDIR], | ||
| 1257 | +[ | ||
| 1258 | + AC_REPLACE_FUNCS(rmdir) | ||
| 1259 | + if test $ac_cv_func_rmdir = no; then | ||
| 1260 | + gl_PREREQ_RMDIR | ||
| 1261 | + fi | ||
| 1262 | +]) | ||
| 1263 | + | ||
| 1264 | +# Prerequisites of lib/rmdir.c. | ||
| 1265 | +AC_DEFUN([gl_PREREQ_RMDIR], [ | ||
| 1266 | + AC_REQUIRE([AC_HEADER_STAT]) | ||
| 1267 | + : | ||
| 1268 | +]) | ||
| 1269 | + | ||
| 1270 | + | ||
| 1271 | +# getopt.m4 serial 1 | ||
| 1272 | +dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1273 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1274 | +dnl General Public License. As a special exception to the GNU General | ||
| 1275 | +dnl Public License, this file may be distributed as part of a program | ||
| 1276 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1277 | +dnl the same distribution terms as the rest of that program. | ||
| 1278 | + | ||
| 1279 | +AC_DEFUN([gl_GETOPT], | ||
| 1280 | +[ | ||
| 1281 | + dnl Prerequisites of lib/getopt.c. | ||
| 1282 | + AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1283 | +]) | ||
| 1284 | + | ||
| 1285 | +# xalloc.m4 serial 1 | ||
| 1286 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1287 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1288 | dnl General Public License. As a special exception to the GNU General | ||
| 1289 | @@ -167,11 +1286,25 @@ | ||
| 1290 | dnl that contains a configuration script generated by Autoconf, under | ||
| 1291 | dnl the same distribution terms as the rest of that program. | ||
| 1292 | |||
| 1293 | -AC_DEFUN([gl_GETOPT], | ||
| 1294 | +AC_DEFUN([gl_XALLOC], | ||
| 1295 | [ | ||
| 1296 | - dnl Prerequisites of lib/getopt.c. | ||
| 1297 | + gl_PREREQ_XMALLOC | ||
| 1298 | + gl_PREREQ_XSTRDUP | ||
| 1299 | +]) | ||
| 1300 | + | ||
| 1301 | +# Prerequisites of lib/xmalloc.c. | ||
| 1302 | +AC_DEFUN([gl_PREREQ_XMALLOC], [ | ||
| 1303 | + AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1304 | + AC_REQUIRE([jm_FUNC_MALLOC]) | ||
| 1305 | + AC_REQUIRE([jm_FUNC_REALLOC]) | ||
| 1306 | +]) | ||
| 1307 | + | ||
| 1308 | +# Prerequisites of lib/xstrdup.c. | ||
| 1309 | +AC_DEFUN([gl_PREREQ_XSTRDUP], [ | ||
| 1310 | + AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1311 | AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1312 | ]) | ||
| 1313 | + | ||
| 1314 | # malloc.m4 serial 7 | ||
| 1315 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1316 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1317 | @@ -197,66 +1330,8 @@ | ||
| 1318 | AC_DEFUN([gl_PREREQ_MALLOC], [ | ||
| 1319 | : | ||
| 1320 | ]) | ||
| 1321 | -# mbrtowc.m4 serial 5 | ||
| 1322 | -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. | ||
| 1323 | -dnl This file is free software, distributed under the terms of the GNU | ||
| 1324 | -dnl General Public License. As a special exception to the GNU General | ||
| 1325 | -dnl Public License, this file may be distributed as part of a program | ||
| 1326 | -dnl that contains a configuration script generated by Autoconf, under | ||
| 1327 | -dnl the same distribution terms as the rest of that program. | ||
| 1328 | - | ||
| 1329 | -dnl From Paul Eggert | ||
| 1330 | - | ||
| 1331 | -dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with | ||
| 1332 | -dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere. | ||
| 1333 | - | ||
| 1334 | -AC_DEFUN([jm_FUNC_MBRTOWC], | ||
| 1335 | -[ | ||
| 1336 | - AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], | ||
| 1337 | - jm_cv_func_mbrtowc, | ||
| 1338 | - [AC_TRY_LINK( | ||
| 1339 | - [#include <wchar.h>], | ||
| 1340 | - [mbstate_t state; return ! (sizeof state && mbrtowc);], | ||
| 1341 | - jm_cv_func_mbrtowc=yes, | ||
| 1342 | - jm_cv_func_mbrtowc=no)]) | ||
| 1343 | - if test $jm_cv_func_mbrtowc = yes; then | ||
| 1344 | - AC_DEFINE(HAVE_MBRTOWC, 1, | ||
| 1345 | - [Define to 1 if mbrtowc and mbstate_t are properly declared.]) | ||
| 1346 | - fi | ||
| 1347 | -]) | ||
| 1348 | -# mbstate_t.m4 serial 9 | ||
| 1349 | -dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. | ||
| 1350 | -dnl This file is free software, distributed under the terms of the GNU | ||
| 1351 | -dnl General Public License. As a special exception to the GNU General | ||
| 1352 | -dnl Public License, this file may be distributed as part of a program | ||
| 1353 | -dnl that contains a configuration script generated by Autoconf, under | ||
| 1354 | -dnl the same distribution terms as the rest of that program. | ||
| 1355 | - | ||
| 1356 | -# From Paul Eggert. | ||
| 1357 | - | ||
| 1358 | -# BeOS 5 has <wchar.h> but does not define mbstate_t, | ||
| 1359 | -# so you can't declare an object of that type. | ||
| 1360 | -# Check for this incompatibility with Standard C. | ||
| 1361 | |||
| 1362 | -# AC_TYPE_MBSTATE_T | ||
| 1363 | -# ----------------- | ||
| 1364 | -AC_DEFUN([AC_TYPE_MBSTATE_T], | ||
| 1365 | - [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, | ||
| 1366 | - [AC_COMPILE_IFELSE( | ||
| 1367 | - [AC_LANG_PROGRAM( | ||
| 1368 | - [AC_INCLUDES_DEFAULT | ||
| 1369 | -# include <wchar.h>], | ||
| 1370 | - [mbstate_t x; return sizeof x;])], | ||
| 1371 | - [ac_cv_type_mbstate_t=yes], | ||
| 1372 | - [ac_cv_type_mbstate_t=no])]) | ||
| 1373 | - if test $ac_cv_type_mbstate_t = yes; then | ||
| 1374 | - AC_DEFINE([HAVE_MBSTATE_T], 1, | ||
| 1375 | - [Define to 1 if <wchar.h> declares mbstate_t.]) | ||
| 1376 | - else | ||
| 1377 | - AC_DEFINE([mbstate_t], int, | ||
| 1378 | - [Define to a type if <wchar.h> does not define.]) | ||
| 1379 | - fi]) | ||
| 1380 | -# memchr.m4 serial 1 | ||
| 1381 | +# realloc.m4 serial 7 | ||
| 1382 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1383 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1384 | dnl General Public License. As a special exception to the GNU General | ||
| 1385 | @@ -264,116 +1339,24 @@ | ||
| 1386 | dnl that contains a configuration script generated by Autoconf, under | ||
| 1387 | dnl the same distribution terms as the rest of that program. | ||
| 1388 | |||
| 1389 | -AC_DEFUN([gl_FUNC_MEMCHR], | ||
| 1390 | +dnl From Jim Meyering. | ||
| 1391 | +dnl Determine whether realloc works when both arguments are 0. | ||
| 1392 | +dnl If it doesn't, arrange to use the replacement function. | ||
| 1393 | + | ||
| 1394 | +AC_DEFUN([jm_FUNC_REALLOC], | ||
| 1395 | [ | ||
| 1396 | - AC_REPLACE_FUNCS(memchr) | ||
| 1397 | - if test $ac_cv_func_memchr = no; then | ||
| 1398 | - jm_PREREQ_MEMCHR | ||
| 1399 | + AC_REQUIRE([AC_FUNC_REALLOC]) | ||
| 1400 | + dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. | ||
| 1401 | + if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then | ||
| 1402 | + gl_PREREQ_REALLOC | ||
| 1403 | fi | ||
| 1404 | ]) | ||
| 1405 | |||
| 1406 | -# Prerequisites of lib/memchr.c. | ||
| 1407 | -AC_DEFUN([jm_PREREQ_MEMCHR], [ | ||
| 1408 | - AC_CHECK_HEADERS_ONCE(limits.h stdlib.h) | ||
| 1409 | - AC_CHECK_HEADERS(bp-sym.h) | ||
| 1410 | -]) | ||
| 1411 | -#serial 1 | ||
| 1412 | - | ||
| 1413 | -dnl From Mumit Khan and Paul Eggert | ||
| 1414 | -dnl Determine whether mkdir accepts only one argument instead of the usual two. | ||
| 1415 | - | ||
| 1416 | -AC_DEFUN([PATCH_FUNC_MKDIR_TAKES_ONE_ARG], | ||
| 1417 | - [AC_CHECK_FUNCS(mkdir) | ||
| 1418 | - AC_CACHE_CHECK([whether mkdir takes only one argument], | ||
| 1419 | - patch_cv_mkdir_takes_one_arg, | ||
| 1420 | - [patch_cv_mkdir_takes_one_arg=no | ||
| 1421 | - if test $ac_cv_func_mkdir = yes; then | ||
| 1422 | - AC_TRY_COMPILE([ | ||
| 1423 | -#include <sys/types.h> | ||
| 1424 | -#include <sys/stat.h> | ||
| 1425 | - ], | ||
| 1426 | - [mkdir (".", 0);], | ||
| 1427 | - , | ||
| 1428 | - [AC_TRY_COMPILE([ | ||
| 1429 | -#include <sys/types.h> | ||
| 1430 | -#include <sys/stat.h> | ||
| 1431 | - ], | ||
| 1432 | - [mkdir (".");], | ||
| 1433 | - patch_cv_mkdir_takes_one_arg=yes | ||
| 1434 | - )] | ||
| 1435 | - ) | ||
| 1436 | - fi | ||
| 1437 | - ] | ||
| 1438 | - ) | ||
| 1439 | - if test $patch_cv_mkdir_takes_one_arg = yes; then | ||
| 1440 | - AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, | ||
| 1441 | - [Define if mkdir takes only one argument.]) | ||
| 1442 | - fi | ||
| 1443 | - ] | ||
| 1444 | -) | ||
| 1445 | -# onceonly.m4 serial 3 | ||
| 1446 | -dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
| 1447 | -dnl This file is free software, distributed under the terms of the GNU | ||
| 1448 | -dnl General Public License. As a special exception to the GNU General | ||
| 1449 | -dnl Public License, this file may be distributed as part of a program | ||
| 1450 | -dnl that contains a configuration script generated by Autoconf, under | ||
| 1451 | -dnl the same distribution terms as the rest of that program. | ||
| 1452 | - | ||
| 1453 | -dnl This file defines some "once only" variants of standard autoconf macros. | ||
| 1454 | -dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS | ||
| 1455 | -dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS | ||
| 1456 | -dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS | ||
| 1457 | -dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC | ||
| 1458 | -dnl The advantage is that the check for each of the headers/functions/decls | ||
| 1459 | -dnl will be put only once into the 'configure' file. It keeps the size of | ||
| 1460 | -dnl the 'configure' file down, and avoids redundant output when 'configure' | ||
| 1461 | -dnl is run. | ||
| 1462 | -dnl The drawback is that the checks cannot be conditionalized. If you write | ||
| 1463 | -dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi | ||
| 1464 | -dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to | ||
| 1465 | -dnl empty, and the check will be inserted before the body of the AC_DEFUNed | ||
| 1466 | -dnl function. | ||
| 1467 | - | ||
| 1468 | -dnl Autoconf version 2.57 or newer is recommended. | ||
| 1469 | -AC_PREREQ(2.54) | ||
| 1470 | - | ||
| 1471 | -# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of | ||
| 1472 | -# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). | ||
| 1473 | -AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ | ||
| 1474 | - : | ||
| 1475 | - AC_FOREACH([gl_HEADER_NAME], [$1], [ | ||
| 1476 | - AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), | ||
| 1477 | - [-./], [___])), [ | ||
| 1478 | - AC_CHECK_HEADERS(gl_HEADER_NAME) | ||
| 1479 | - ]) | ||
| 1480 | - AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, | ||
| 1481 | - [-./], [___]))) | ||
| 1482 | - ]) | ||
| 1483 | -]) | ||
| 1484 | - | ||
| 1485 | -# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of | ||
| 1486 | -# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). | ||
| 1487 | -AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ | ||
| 1488 | +# Prerequisites of lib/realloc.c. | ||
| 1489 | +AC_DEFUN([gl_PREREQ_REALLOC], [ | ||
| 1490 | : | ||
| 1491 | - AC_FOREACH([gl_FUNC_NAME], [$1], [ | ||
| 1492 | - AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ | ||
| 1493 | - AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) | ||
| 1494 | - ]) | ||
| 1495 | - AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) | ||
| 1496 | - ]) | ||
| 1497 | ]) | ||
| 1498 | |||
| 1499 | -# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of | ||
| 1500 | -# AC_CHECK_DECLS(DECL1, DECL2, ...). | ||
| 1501 | -AC_DEFUN([AC_CHECK_DECLS_ONCE], [ | ||
| 1502 | - : | ||
| 1503 | - AC_FOREACH([gl_DECL_NAME], [$1], [ | ||
| 1504 | - AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ | ||
| 1505 | - AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) | ||
| 1506 | - ]) | ||
| 1507 | - AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) | ||
| 1508 | - ]) | ||
| 1509 | -]) | ||
| 1510 | # quote.m4 serial 1 | ||
| 1511 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1512 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1513 | @@ -387,6 +1370,7 @@ | ||
| 1514 | dnl Prerequisites of lib/quote.c. | ||
| 1515 | AC_CHECK_HEADERS_ONCE(stddef.h) | ||
| 1516 | ]) | ||
| 1517 | + | ||
| 1518 | # quotearg.m4 serial 1 | ||
| 1519 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1520 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1521 | @@ -403,32 +1387,69 @@ | ||
| 1522 | AC_TYPE_MBSTATE_T | ||
| 1523 | jm_FUNC_MBRTOWC | ||
| 1524 | ]) | ||
| 1525 | -# realloc.m4 serial 7 | ||
| 1526 | -dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1527 | + | ||
| 1528 | +# mbstate_t.m4 serial 9 | ||
| 1529 | +dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. | ||
| 1530 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1531 | dnl General Public License. As a special exception to the GNU General | ||
| 1532 | dnl Public License, this file may be distributed as part of a program | ||
| 1533 | dnl that contains a configuration script generated by Autoconf, under | ||
| 1534 | dnl the same distribution terms as the rest of that program. | ||
| 1535 | |||
| 1536 | -dnl From Jim Meyering. | ||
| 1537 | -dnl Determine whether realloc works when both arguments are 0. | ||
| 1538 | -dnl If it doesn't, arrange to use the replacement function. | ||
| 1539 | +# From Paul Eggert. | ||
| 1540 | |||
| 1541 | -AC_DEFUN([jm_FUNC_REALLOC], | ||
| 1542 | +# BeOS 5 has <wchar.h> but does not define mbstate_t, | ||
| 1543 | +# so you can't declare an object of that type. | ||
| 1544 | +# Check for this incompatibility with Standard C. | ||
| 1545 | + | ||
| 1546 | +# AC_TYPE_MBSTATE_T | ||
| 1547 | +# ----------------- | ||
| 1548 | +AC_DEFUN([AC_TYPE_MBSTATE_T], | ||
| 1549 | + [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, | ||
| 1550 | + [AC_COMPILE_IFELSE( | ||
| 1551 | + [AC_LANG_PROGRAM( | ||
| 1552 | + [AC_INCLUDES_DEFAULT | ||
| 1553 | +# include <wchar.h>], | ||
| 1554 | + [mbstate_t x; return sizeof x;])], | ||
| 1555 | + [ac_cv_type_mbstate_t=yes], | ||
| 1556 | + [ac_cv_type_mbstate_t=no])]) | ||
| 1557 | + if test $ac_cv_type_mbstate_t = yes; then | ||
| 1558 | + AC_DEFINE([HAVE_MBSTATE_T], 1, | ||
| 1559 | + [Define to 1 if <wchar.h> declares mbstate_t.]) | ||
| 1560 | + else | ||
| 1561 | + AC_DEFINE([mbstate_t], int, | ||
| 1562 | + [Define to a type if <wchar.h> does not define.]) | ||
| 1563 | + fi]) | ||
| 1564 | + | ||
| 1565 | +# mbrtowc.m4 serial 5 | ||
| 1566 | +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. | ||
| 1567 | +dnl This file is free software, distributed under the terms of the GNU | ||
| 1568 | +dnl General Public License. As a special exception to the GNU General | ||
| 1569 | +dnl Public License, this file may be distributed as part of a program | ||
| 1570 | +dnl that contains a configuration script generated by Autoconf, under | ||
| 1571 | +dnl the same distribution terms as the rest of that program. | ||
| 1572 | + | ||
| 1573 | +dnl From Paul Eggert | ||
| 1574 | + | ||
| 1575 | +dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with | ||
| 1576 | +dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere. | ||
| 1577 | + | ||
| 1578 | +AC_DEFUN([jm_FUNC_MBRTOWC], | ||
| 1579 | [ | ||
| 1580 | - AC_REQUIRE([AC_FUNC_REALLOC]) | ||
| 1581 | - dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. | ||
| 1582 | - if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then | ||
| 1583 | - gl_PREREQ_REALLOC | ||
| 1584 | + AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], | ||
| 1585 | + jm_cv_func_mbrtowc, | ||
| 1586 | + [AC_TRY_LINK( | ||
| 1587 | + [#include <wchar.h>], | ||
| 1588 | + [mbstate_t state; return ! (sizeof state && mbrtowc);], | ||
| 1589 | + jm_cv_func_mbrtowc=yes, | ||
| 1590 | + jm_cv_func_mbrtowc=no)]) | ||
| 1591 | + if test $jm_cv_func_mbrtowc = yes; then | ||
| 1592 | + AC_DEFINE(HAVE_MBRTOWC, 1, | ||
| 1593 | + [Define to 1 if mbrtowc and mbstate_t are properly declared.]) | ||
| 1594 | fi | ||
| 1595 | ]) | ||
| 1596 | |||
| 1597 | -# Prerequisites of lib/realloc.c. | ||
| 1598 | -AC_DEFUN([gl_PREREQ_REALLOC], [ | ||
| 1599 | - : | ||
| 1600 | -]) | ||
| 1601 | -# rmdir.m4 serial 1 | ||
| 1602 | +# hash.m4 serial 1 | ||
| 1603 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1604 | dnl This file is free software, distributed under the terms of the GNU | ||
| 1605 | dnl General Public License. As a special exception to the GNU General | ||
| 1606 | @@ -436,18 +1457,71 @@ | ||
| 1607 | dnl that contains a configuration script generated by Autoconf, under | ||
| 1608 | dnl the same distribution terms as the rest of that program. | ||
| 1609 | |||
| 1610 | -AC_DEFUN([gl_FUNC_RMDIR], | ||
| 1611 | +AC_DEFUN([gl_HASH], | ||
| 1612 | [ | ||
| 1613 | - AC_REPLACE_FUNCS(rmdir) | ||
| 1614 | - if test $ac_cv_func_rmdir = no; then | ||
| 1615 | - gl_PREREQ_RMDIR | ||
| 1616 | - fi | ||
| 1617 | + dnl Prerequisites of lib/hash.c. | ||
| 1618 | + AC_CHECK_HEADERS_ONCE(stdlib.h) | ||
| 1619 | + AC_HEADER_STDBOOL | ||
| 1620 | + AC_CHECK_DECLS_ONCE(free malloc) | ||
| 1621 | ]) | ||
| 1622 | |||
| 1623 | -# Prerequisites of lib/rmdir.c. | ||
| 1624 | -AC_DEFUN([gl_PREREQ_RMDIR], [ | ||
| 1625 | - AC_REQUIRE([AC_HEADER_STAT]) | ||
| 1626 | - : | ||
| 1627 | +AC_DEFUN([ag_CHECK_NANOSECOND_STAT], | ||
| 1628 | + [AC_CACHE_CHECK([for nanosecond timestamps in struct stat], | ||
| 1629 | + [ac_cv_stat_nsec], | ||
| 1630 | + [AC_TRY_COMPILE( | ||
| 1631 | + [ | ||
| 1632 | + #include <sys/types.h> | ||
| 1633 | + #include <sys/stat.h> | ||
| 1634 | + #include <unistd.h> | ||
| 1635 | + struct stat st; | ||
| 1636 | + ], | ||
| 1637 | + [ return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; ], | ||
| 1638 | + [ac_cv_stat_nsec=yes], | ||
| 1639 | + [ac_cv_stat_nsec=no]) | ||
| 1640 | + ]) | ||
| 1641 | + if test $ac_cv_stat_nsec = yes; then | ||
| 1642 | + AC_DEFINE(HAVE_STAT_NSEC, 1, [Define to 1 if struct stat has nanosecond timestamps.]) | ||
| 1643 | + fi | ||
| 1644 | + | ||
| 1645 | + AC_CACHE_CHECK([for nanosecond timestamps in struct stat], | ||
| 1646 | + [ac_cv_stat_timeval], | ||
| 1647 | + [AC_TRY_COMPILE( | ||
| 1648 | + [ | ||
| 1649 | + #include <time.h> | ||
| 1650 | + #include <sys/types.h> | ||
| 1651 | + #include <sys/stat.h> | ||
| 1652 | + #include <unistd.h> | ||
| 1653 | + struct stat st; | ||
| 1654 | + ], | ||
| 1655 | + [ return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; ], | ||
| 1656 | + [ac_cv_stat_timeval=yes], | ||
| 1657 | + [ac_cv_stat_timeval=no]) | ||
| 1658 | + ]) | ||
| 1659 | + if test $ac_cv_stat_timeval = yes; then | ||
| 1660 | + AC_DEFINE(HAVE_STAT_TIMEVAL, 1, [Define to 1 if struct stat comtains struct timeval's.]) | ||
| 1661 | + fi]) | ||
| 1662 | + | ||
| 1663 | +#serial 7 -*- autoconf -*- | ||
| 1664 | + | ||
| 1665 | +dnl From Jim Meyering. | ||
| 1666 | +dnl | ||
| 1667 | +dnl See if the glibc *_unlocked I/O macros or functions are available. | ||
| 1668 | +dnl Use only those *_unlocked macros or functions that are declared | ||
| 1669 | +dnl (because some of them were declared in Solaris 2.5.1 but were removed | ||
| 1670 | +dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run | ||
| 1671 | +dnl on Solaris 2.6). | ||
| 1672 | + | ||
| 1673 | +AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], | ||
| 1674 | +[ | ||
| 1675 | + dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked() | ||
| 1676 | + dnl etc. | ||
| 1677 | + AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 1678 | + | ||
| 1679 | + AC_CHECK_DECLS_ONCE( | ||
| 1680 | + [clearerr_unlocked feof_unlocked ferror_unlocked | ||
| 1681 | + fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked | ||
| 1682 | + fread_unlocked fwrite_unlocked getc_unlocked | ||
| 1683 | + getchar_unlocked putc_unlocked putchar_unlocked]) | ||
| 1684 | ]) | ||
| 1685 | |||
| 1686 | # Check for setmode, DOS style. | ||
| 1687 | @@ -488,180 +1562,39 @@ | ||
| 1688 | AC_DEFINE(HAVE_SETMODE_DOS, 1, | ||
| 1689 | [Define to 1 if you have the DOS-style `setmode' function.]) | ||
| 1690 | fi]) | ||
| 1691 | -# Check for stdbool.h that conforms to C99. | ||
| 1692 | - | ||
| 1693 | -# Copyright (C) 2002-2003 Free Software Foundation, Inc. | ||
| 1694 | - | ||
| 1695 | -# This program is free software; you can redistribute it and/or modify | ||
| 1696 | -# it under the terms of the GNU General Public License as published by | ||
| 1697 | -# the Free Software Foundation; either version 2, or (at your option) | ||
| 1698 | -# any later version. | ||
| 1699 | - | ||
| 1700 | -# This program is distributed in the hope that it will be useful, | ||
| 1701 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1702 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1703 | -# GNU General Public License for more details. | ||
| 1704 | - | ||
| 1705 | -# You should have received a copy of the GNU General Public License | ||
| 1706 | -# along with this program; if not, write to the Free Software | ||
| 1707 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
| 1708 | -# 02111-1307, USA. | ||
| 1709 | - | ||
| 1710 | -# Prepare for substituting <stdbool.h> if it is not supported. | ||
| 1711 | - | ||
| 1712 | -AC_DEFUN([AM_STDBOOL_H], | ||
| 1713 | -[ | ||
| 1714 | - AC_REQUIRE([AC_HEADER_STDBOOL]) | ||
| 1715 | - | ||
| 1716 | - # Define two additional variables used in the Makefile substitution. | ||
| 1717 | - | ||
| 1718 | - if test "$ac_cv_header_stdbool_h" = yes; then | ||
| 1719 | - STDBOOL_H='' | ||
| 1720 | - else | ||
| 1721 | - STDBOOL_H='stdbool.h' | ||
| 1722 | - fi | ||
| 1723 | - AC_SUBST([STDBOOL_H]) | ||
| 1724 | - | ||
| 1725 | - if test "$ac_cv_type__Bool" = yes; then | ||
| 1726 | - HAVE__BOOL=1 | ||
| 1727 | - else | ||
| 1728 | - HAVE__BOOL=0 | ||
| 1729 | - fi | ||
| 1730 | - AC_SUBST([HAVE__BOOL]) | ||
| 1731 | -]) | ||
| 1732 | - | ||
| 1733 | -# This macro is only needed in autoconf <= 2.54. Newer versions of autoconf | ||
| 1734 | -# have this macro built-in. | ||
| 1735 | - | ||
| 1736 | -AC_DEFUN([AC_HEADER_STDBOOL], | ||
| 1737 | - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], | ||
| 1738 | - [ac_cv_header_stdbool_h], | ||
| 1739 | - [AC_TRY_COMPILE( | ||
| 1740 | - [ | ||
| 1741 | - #include <stdbool.h> | ||
| 1742 | - #ifndef bool | ||
| 1743 | - "error: bool is not defined" | ||
| 1744 | - #endif | ||
| 1745 | - #ifndef false | ||
| 1746 | - "error: false is not defined" | ||
| 1747 | - #endif | ||
| 1748 | - #if false | ||
| 1749 | - "error: false is not 0" | ||
| 1750 | - #endif | ||
| 1751 | - #ifndef true | ||
| 1752 | - "error: false is not defined" | ||
| 1753 | - #endif | ||
| 1754 | - #if true != 1 | ||
| 1755 | - "error: true is not 1" | ||
| 1756 | - #endif | ||
| 1757 | - #ifndef __bool_true_false_are_defined | ||
| 1758 | - "error: __bool_true_false_are_defined is not defined" | ||
| 1759 | - #endif | ||
| 1760 | - | ||
| 1761 | - struct s { _Bool s: 1; _Bool t; } s; | ||
| 1762 | - | ||
| 1763 | - char a[true == 1 ? 1 : -1]; | ||
| 1764 | - char b[false == 0 ? 1 : -1]; | ||
| 1765 | - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | ||
| 1766 | - char d[(bool) -0.5 == true ? 1 : -1]; | ||
| 1767 | - bool e = &s; | ||
| 1768 | - char f[(_Bool) -0.0 == false ? 1 : -1]; | ||
| 1769 | - char g[true]; | ||
| 1770 | - char h[sizeof (_Bool)]; | ||
| 1771 | - char i[sizeof s.t]; | ||
| 1772 | - ], | ||
| 1773 | - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], | ||
| 1774 | - [ac_cv_header_stdbool_h=yes], | ||
| 1775 | - [ac_cv_header_stdbool_h=no])]) | ||
| 1776 | - AC_CHECK_TYPES([_Bool]) | ||
| 1777 | - if test $ac_cv_header_stdbool_h = yes; then | ||
| 1778 | - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) | ||
| 1779 | - fi]) | ||
| 1780 | -#serial 7 -*- autoconf -*- | ||
| 1781 | - | ||
| 1782 | -dnl From Jim Meyering. | ||
| 1783 | -dnl | ||
| 1784 | -dnl See if the glibc *_unlocked I/O macros or functions are available. | ||
| 1785 | -dnl Use only those *_unlocked macros or functions that are declared | ||
| 1786 | -dnl (because some of them were declared in Solaris 2.5.1 but were removed | ||
| 1787 | -dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run | ||
| 1788 | -dnl on Solaris 2.6). | ||
| 1789 | - | ||
| 1790 | -AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], | ||
| 1791 | -[ | ||
| 1792 | - dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked() | ||
| 1793 | - dnl etc. | ||
| 1794 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 1795 | - | ||
| 1796 | - AC_CHECK_DECLS_ONCE( | ||
| 1797 | - [clearerr_unlocked feof_unlocked ferror_unlocked | ||
| 1798 | - fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked | ||
| 1799 | - fread_unlocked fwrite_unlocked getc_unlocked | ||
| 1800 | - getchar_unlocked putc_unlocked putchar_unlocked]) | ||
| 1801 | -]) | ||
| 1802 | -#serial 5 | ||
| 1803 | - | ||
| 1804 | -dnl From Jim Meyering | ||
| 1805 | - | ||
| 1806 | -dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- | ||
| 1807 | -dnl usually in <utime.h>. | ||
| 1808 | -dnl Some systems have utime.h but don't declare the struct anywhere. | ||
| 1809 | - | ||
| 1810 | -AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF], | ||
| 1811 | -[ | ||
| 1812 | - AC_CHECK_HEADERS_ONCE(sys/time.h utime.h) | ||
| 1813 | - AC_REQUIRE([AC_HEADER_TIME]) | ||
| 1814 | - AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf, | ||
| 1815 | - [AC_TRY_COMPILE( | ||
| 1816 | - [ | ||
| 1817 | -#ifdef TIME_WITH_SYS_TIME | ||
| 1818 | -# include <sys/time.h> | ||
| 1819 | -# include <time.h> | ||
| 1820 | -#else | ||
| 1821 | -# ifdef HAVE_SYS_TIME_H | ||
| 1822 | -# include <sys/time.h> | ||
| 1823 | -# else | ||
| 1824 | -# include <time.h> | ||
| 1825 | -# endif | ||
| 1826 | -#endif | ||
| 1827 | -#ifdef HAVE_UTIME_H | ||
| 1828 | -# include <utime.h> | ||
| 1829 | -#endif | ||
| 1830 | - ], | ||
| 1831 | - [static struct utimbuf x; x.actime = x.modtime;], | ||
| 1832 | - fu_cv_sys_struct_utimbuf=yes, | ||
| 1833 | - fu_cv_sys_struct_utimbuf=no) | ||
| 1834 | - ]) | ||
| 1835 | |||
| 1836 | - if test $fu_cv_sys_struct_utimbuf = yes; then | ||
| 1837 | - AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, | ||
| 1838 | - [Define if struct utimbuf is declared -- usually in <utime.h>. | ||
| 1839 | - Some systems have utime.h but don't declare the struct anywhere. ]) | ||
| 1840 | - fi | ||
| 1841 | -]) | ||
| 1842 | -# xalloc.m4 serial 1 | ||
| 1843 | -dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
| 1844 | -dnl This file is free software, distributed under the terms of the GNU | ||
| 1845 | -dnl General Public License. As a special exception to the GNU General | ||
| 1846 | -dnl Public License, this file may be distributed as part of a program | ||
| 1847 | -dnl that contains a configuration script generated by Autoconf, under | ||
| 1848 | -dnl the same distribution terms as the rest of that program. | ||
| 1849 | +#serial 1 | ||
| 1850 | |||
| 1851 | -AC_DEFUN([gl_XALLOC], | ||
| 1852 | -[ | ||
| 1853 | - gl_PREREQ_XMALLOC | ||
| 1854 | - gl_PREREQ_XSTRDUP | ||
| 1855 | -]) | ||
| 1856 | +dnl From Mumit Khan and Paul Eggert | ||
| 1857 | +dnl Determine whether mkdir accepts only one argument instead of the usual two. | ||
| 1858 | |||
| 1859 | -# Prerequisites of lib/xmalloc.c. | ||
| 1860 | -AC_DEFUN([gl_PREREQ_XMALLOC], [ | ||
| 1861 | - AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1862 | - AC_REQUIRE([jm_FUNC_MALLOC]) | ||
| 1863 | - AC_REQUIRE([jm_FUNC_REALLOC]) | ||
| 1864 | -]) | ||
| 1865 | +AC_DEFUN([PATCH_FUNC_MKDIR_TAKES_ONE_ARG], | ||
| 1866 | + [AC_CHECK_FUNCS(mkdir) | ||
| 1867 | + AC_CACHE_CHECK([whether mkdir takes only one argument], | ||
| 1868 | + patch_cv_mkdir_takes_one_arg, | ||
| 1869 | + [patch_cv_mkdir_takes_one_arg=no | ||
| 1870 | + if test $ac_cv_func_mkdir = yes; then | ||
| 1871 | + AC_TRY_COMPILE([ | ||
| 1872 | +#include <sys/types.h> | ||
| 1873 | +#include <sys/stat.h> | ||
| 1874 | + ], | ||
| 1875 | + [mkdir (".", 0);], | ||
| 1876 | + , | ||
| 1877 | + [AC_TRY_COMPILE([ | ||
| 1878 | +#include <sys/types.h> | ||
| 1879 | +#include <sys/stat.h> | ||
| 1880 | + ], | ||
| 1881 | + [mkdir (".");], | ||
| 1882 | + patch_cv_mkdir_takes_one_arg=yes | ||
| 1883 | + )] | ||
| 1884 | + ) | ||
| 1885 | + fi | ||
| 1886 | + ] | ||
| 1887 | + ) | ||
| 1888 | + if test $patch_cv_mkdir_takes_one_arg = yes; then | ||
| 1889 | + AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, | ||
| 1890 | + [Define if mkdir takes only one argument.]) | ||
| 1891 | + fi | ||
| 1892 | + ] | ||
| 1893 | +) | ||
| 1894 | |||
| 1895 | -# Prerequisites of lib/xstrdup.c. | ||
| 1896 | -AC_DEFUN([gl_PREREQ_XSTRDUP], [ | ||
| 1897 | - AC_REQUIRE([AC_HEADER_STDC]) | ||
| 1898 | - AC_CHECK_HEADERS_ONCE(string.h) | ||
| 1899 | -]) | ||
| 1900 | --- patch-2.5.9.orig/configure | ||
| 1901 | +++ patch-2.5.9/configure | ||
| 1902 | @@ -1,11 +1,10 @@ | ||
| 1903 | #! /bin/sh | ||
| 1904 | # Guess values for system-dependent variables and create Makefiles. | ||
| 1905 | -# Generated by GNU Autoconf 2.57 for patch 2.5.9. | ||
| 1906 | +# Generated by GNU Autoconf 2.59 for patch 2.5.9. | ||
| 1907 | # | ||
| 1908 | # Report bugs to <bug-patch@gnu.org>. | ||
| 1909 | # | ||
| 1910 | -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 | ||
| 1911 | -# Free Software Foundation, Inc. | ||
| 1912 | +# Copyright (C) 2003 Free Software Foundation, Inc. | ||
| 1913 | # This configure script is free software; the Free Software Foundation | ||
| 1914 | # gives unlimited permission to copy, distribute and modify it. | ||
| 1915 | ## --------------------- ## | ||
| 1916 | @@ -22,9 +21,10 @@ | ||
| 1917 | elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then | ||
| 1918 | set -o posix | ||
| 1919 | fi | ||
| 1920 | +DUALCASE=1; export DUALCASE # for MKS sh | ||
| 1921 | |||
| 1922 | # Support unset when possible. | ||
| 1923 | -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then | ||
| 1924 | +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
| 1925 | as_unset=unset | ||
| 1926 | else | ||
| 1927 | as_unset=false | ||
| 1928 | @@ -43,7 +43,7 @@ | ||
| 1929 | LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | ||
| 1930 | LC_TELEPHONE LC_TIME | ||
| 1931 | do | ||
| 1932 | - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
| 1933 | + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
| 1934 | eval $as_var=C; export $as_var | ||
| 1935 | else | ||
| 1936 | $as_unset $as_var | ||
| 1937 | @@ -220,16 +220,17 @@ | ||
| 1938 | if mkdir -p . 2>/dev/null; then | ||
| 1939 | as_mkdir_p=: | ||
| 1940 | else | ||
| 1941 | + test -d ./-p && rmdir ./-p | ||
| 1942 | as_mkdir_p=false | ||
| 1943 | fi | ||
| 1944 | |||
| 1945 | as_executable_p="test -f" | ||
| 1946 | |||
| 1947 | # Sed expression to map a string onto a valid CPP name. | ||
| 1948 | -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" | ||
| 1949 | +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | ||
| 1950 | |||
| 1951 | # Sed expression to map a string onto a valid variable name. | ||
| 1952 | -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" | ||
| 1953 | +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | ||
| 1954 | |||
| 1955 | |||
| 1956 | # IFS | ||
| 1957 | @@ -669,7 +670,7 @@ | ||
| 1958 | |||
| 1959 | # Be sure to have absolute paths. | ||
| 1960 | for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ | ||
| 1961 | - localstatedir libdir includedir oldincludedir infodir mandir | ||
| 1962 | + localstatedir libdir includedir oldincludedir infodir mandir | ||
| 1963 | do | ||
| 1964 | eval ac_val=$`echo $ac_var` | ||
| 1965 | case $ac_val in | ||
| 1966 | @@ -709,10 +710,10 @@ | ||
| 1967 | # Try the directory containing this script, then its parent. | ||
| 1968 | ac_confdir=`(dirname "$0") 2>/dev/null || | ||
| 1969 | $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
| 1970 | - X"$0" : 'X\(//\)[^/]' \| \ | ||
| 1971 | - X"$0" : 'X\(//\)$' \| \ | ||
| 1972 | - X"$0" : 'X\(/\)' \| \ | ||
| 1973 | - . : '\(.\)' 2>/dev/null || | ||
| 1974 | + X"$0" : 'X\(//\)[^/]' \| \ | ||
| 1975 | + X"$0" : 'X\(//\)$' \| \ | ||
| 1976 | + X"$0" : 'X\(/\)' \| \ | ||
| 1977 | + . : '\(.\)' 2>/dev/null || | ||
| 1978 | echo X"$0" | | ||
| 1979 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
| 1980 | /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
| 1981 | @@ -804,9 +805,9 @@ | ||
| 1982 | cat <<_ACEOF | ||
| 1983 | Installation directories: | ||
| 1984 | --prefix=PREFIX install architecture-independent files in PREFIX | ||
| 1985 | - [$ac_default_prefix] | ||
| 1986 | + [$ac_default_prefix] | ||
| 1987 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX | ||
| 1988 | - [PREFIX] | ||
| 1989 | + [PREFIX] | ||
| 1990 | |||
| 1991 | By default, \`make install' will install all the files in | ||
| 1992 | \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify | ||
| 1993 | @@ -896,12 +897,45 @@ | ||
| 1994 | ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix | ||
| 1995 | ac_top_srcdir=$ac_top_builddir$srcdir ;; | ||
| 1996 | esac | ||
| 1997 | -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be | ||
| 1998 | -# absolute. | ||
| 1999 | -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` | ||
| 2000 | -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` | ||
| 2001 | -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` | ||
| 2002 | -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` | ||
| 2003 | + | ||
| 2004 | +# Do not use `cd foo && pwd` to compute absolute paths, because | ||
| 2005 | +# the directories may not exist. | ||
| 2006 | +case `pwd` in | ||
| 2007 | +.) ac_abs_builddir="$ac_dir";; | ||
| 2008 | +*) | ||
| 2009 | + case "$ac_dir" in | ||
| 2010 | + .) ac_abs_builddir=`pwd`;; | ||
| 2011 | + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; | ||
| 2012 | + *) ac_abs_builddir=`pwd`/"$ac_dir";; | ||
| 2013 | + esac;; | ||
| 2014 | +esac | ||
| 2015 | +case $ac_abs_builddir in | ||
| 2016 | +.) ac_abs_top_builddir=${ac_top_builddir}.;; | ||
| 2017 | +*) | ||
| 2018 | + case ${ac_top_builddir}. in | ||
| 2019 | + .) ac_abs_top_builddir=$ac_abs_builddir;; | ||
| 2020 | + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; | ||
| 2021 | + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; | ||
| 2022 | + esac;; | ||
| 2023 | +esac | ||
| 2024 | +case $ac_abs_builddir in | ||
| 2025 | +.) ac_abs_srcdir=$ac_srcdir;; | ||
| 2026 | +*) | ||
| 2027 | + case $ac_srcdir in | ||
| 2028 | + .) ac_abs_srcdir=$ac_abs_builddir;; | ||
| 2029 | + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; | ||
| 2030 | + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; | ||
| 2031 | + esac;; | ||
| 2032 | +esac | ||
| 2033 | +case $ac_abs_builddir in | ||
| 2034 | +.) ac_abs_top_srcdir=$ac_top_srcdir;; | ||
| 2035 | +*) | ||
| 2036 | + case $ac_top_srcdir in | ||
| 2037 | + .) ac_abs_top_srcdir=$ac_abs_builddir;; | ||
| 2038 | + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; | ||
| 2039 | + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; | ||
| 2040 | + esac;; | ||
| 2041 | +esac | ||
| 2042 | |||
| 2043 | cd $ac_dir | ||
| 2044 | # Check for guested configure; otherwise get Cygnus style configure. | ||
| 2045 | @@ -912,13 +946,13 @@ | ||
| 2046 | echo | ||
| 2047 | $SHELL $ac_srcdir/configure --help=recursive | ||
| 2048 | elif test -f $ac_srcdir/configure.ac || | ||
| 2049 | - test -f $ac_srcdir/configure.in; then | ||
| 2050 | + test -f $ac_srcdir/configure.in; then | ||
| 2051 | echo | ||
| 2052 | $ac_configure --help | ||
| 2053 | else | ||
| 2054 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | ||
| 2055 | fi | ||
| 2056 | - cd $ac_popdir | ||
| 2057 | + cd "$ac_popdir" | ||
| 2058 | done | ||
| 2059 | fi | ||
| 2060 | |||
| 2061 | @@ -926,10 +960,9 @@ | ||
| 2062 | if $ac_init_version; then | ||
| 2063 | cat <<\_ACEOF | ||
| 2064 | patch configure 2.5.9 | ||
| 2065 | -generated by GNU Autoconf 2.57 | ||
| 2066 | +generated by GNU Autoconf 2.59 | ||
| 2067 | |||
| 2068 | -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 | ||
| 2069 | -Free Software Foundation, Inc. | ||
| 2070 | +Copyright (C) 2003 Free Software Foundation, Inc. | ||
| 2071 | This configure script is free software; the Free Software Foundation | ||
| 2072 | gives unlimited permission to copy, distribute and modify it. | ||
| 2073 | _ACEOF | ||
| 2074 | @@ -941,7 +974,7 @@ | ||
| 2075 | running configure, to aid debugging if configure makes a mistake. | ||
| 2076 | |||
| 2077 | It was created by patch $as_me 2.5.9, which was | ||
| 2078 | -generated by GNU Autoconf 2.57. Invocation command line was | ||
| 2079 | +generated by GNU Autoconf 2.59. Invocation command line was | ||
| 2080 | |||
| 2081 | $ $0 $@ | ||
| 2082 | |||
| 2083 | @@ -1018,19 +1051,19 @@ | ||
| 2084 | 2) | ||
| 2085 | ac_configure_args1="$ac_configure_args1 '$ac_arg'" | ||
| 2086 | if test $ac_must_keep_next = true; then | ||
| 2087 | - ac_must_keep_next=false # Got value, back to normal. | ||
| 2088 | + ac_must_keep_next=false # Got value, back to normal. | ||
| 2089 | else | ||
| 2090 | - case $ac_arg in | ||
| 2091 | - *=* | --config-cache | -C | -disable-* | --disable-* \ | ||
| 2092 | - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | ||
| 2093 | - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | ||
| 2094 | - | -with-* | --with-* | -without-* | --without-* | --x) | ||
| 2095 | - case "$ac_configure_args0 " in | ||
| 2096 | - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; | ||
| 2097 | - esac | ||
| 2098 | - ;; | ||
| 2099 | - -* ) ac_must_keep_next=true ;; | ||
| 2100 | - esac | ||
| 2101 | + case $ac_arg in | ||
| 2102 | + *=* | --config-cache | -C | -disable-* | --disable-* \ | ||
| 2103 | + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | ||
| 2104 | + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | ||
| 2105 | + | -with-* | --with-* | -without-* | --without-* | --x) | ||
| 2106 | + case "$ac_configure_args0 " in | ||
| 2107 | + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; | ||
| 2108 | + esac | ||
| 2109 | + ;; | ||
| 2110 | + -* ) ac_must_keep_next=true ;; | ||
| 2111 | + esac | ||
| 2112 | fi | ||
| 2113 | ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" | ||
| 2114 | # Get rid of the leading space. | ||
| 2115 | @@ -1064,12 +1097,12 @@ | ||
| 2116 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in | ||
| 2117 | *ac_space=\ *) | ||
| 2118 | sed -n \ | ||
| 2119 | - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; | ||
| 2120 | - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" | ||
| 2121 | + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; | ||
| 2122 | + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" | ||
| 2123 | ;; | ||
| 2124 | *) | ||
| 2125 | sed -n \ | ||
| 2126 | - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
| 2127 | + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
| 2128 | ;; | ||
| 2129 | esac; | ||
| 2130 | } | ||
| 2131 | @@ -1098,7 +1131,7 @@ | ||
| 2132 | for ac_var in $ac_subst_files | ||
| 2133 | do | ||
| 2134 | eval ac_val=$`echo $ac_var` | ||
| 2135 | - echo "$ac_var='"'"'$ac_val'"'"'" | ||
| 2136 | + echo "$ac_var='"'"'$ac_val'"'"'" | ||
| 2137 | done | sort | ||
| 2138 | echo | ||
| 2139 | fi | ||
| 2140 | @@ -1117,7 +1150,7 @@ | ||
| 2141 | echo "$as_me: caught signal $ac_signal" | ||
| 2142 | echo "$as_me: exit $exit_status" | ||
| 2143 | } >&5 | ||
| 2144 | - rm -f core core.* *.core && | ||
| 2145 | + rm -f core *.core && | ||
| 2146 | rm -rf conftest* confdefs* conf$$* $ac_clean_files && | ||
| 2147 | exit $exit_status | ||
| 2148 | ' 0 | ||
| 2149 | @@ -1197,7 +1230,7 @@ | ||
| 2150 | # value. | ||
| 2151 | ac_cache_corrupted=false | ||
| 2152 | for ac_var in `(set) 2>&1 | | ||
| 2153 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do | ||
| 2154 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do | ||
| 2155 | eval ac_old_set=\$ac_cv_env_${ac_var}_set | ||
| 2156 | eval ac_new_set=\$ac_env_${ac_var}_set | ||
| 2157 | eval ac_old_val="\$ac_cv_env_${ac_var}_value" | ||
| 2158 | @@ -1214,13 +1247,13 @@ | ||
| 2159 | ,);; | ||
| 2160 | *) | ||
| 2161 | if test "x$ac_old_val" != "x$ac_new_val"; then | ||
| 2162 | - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 | ||
| 2163 | + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 | ||
| 2164 | echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} | ||
| 2165 | - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 | ||
| 2166 | + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 | ||
| 2167 | echo "$as_me: former value: $ac_old_val" >&2;} | ||
| 2168 | - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 | ||
| 2169 | + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 | ||
| 2170 | echo "$as_me: current value: $ac_new_val" >&2;} | ||
| 2171 | - ac_cache_corrupted=: | ||
| 2172 | + ac_cache_corrupted=: | ||
| 2173 | fi;; | ||
| 2174 | esac | ||
| 2175 | # Pass precious variables to config.status. | ||
| 2176 | @@ -1629,7 +1662,6 @@ | ||
| 2177 | (exit $ac_status); } | ||
| 2178 | |||
| 2179 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2180 | -#line $LINENO "configure" | ||
| 2181 | /* confdefs.h. */ | ||
| 2182 | _ACEOF | ||
| 2183 | cat confdefs.h >>conftest.$ac_ext | ||
| 2184 | @@ -1649,8 +1681,8 @@ | ||
| 2185 | # Try to create an executable without -o first, disregard a.out. | ||
| 2186 | # It will help us diagnose broken compilers, and finding out an intuition | ||
| 2187 | # of exeext. | ||
| 2188 | -echo "$as_me:$LINENO: checking for C compiler default output" >&5 | ||
| 2189 | -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 | ||
| 2190 | +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 | ||
| 2191 | +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 | ||
| 2192 | ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` | ||
| 2193 | if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 | ||
| 2194 | (eval $ac_link_default) 2>&5 | ||
| 2195 | @@ -1670,23 +1702,23 @@ | ||
| 2196 | test -f "$ac_file" || continue | ||
| 2197 | case $ac_file in | ||
| 2198 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) | ||
| 2199 | - ;; | ||
| 2200 | + ;; | ||
| 2201 | conftest.$ac_ext ) | ||
| 2202 | - # This is the source file. | ||
| 2203 | - ;; | ||
| 2204 | + # This is the source file. | ||
| 2205 | + ;; | ||
| 2206 | [ab].out ) | ||
| 2207 | - # We found the default executable, but exeext='' is most | ||
| 2208 | - # certainly right. | ||
| 2209 | - break;; | ||
| 2210 | + # We found the default executable, but exeext='' is most | ||
| 2211 | + # certainly right. | ||
| 2212 | + break;; | ||
| 2213 | *.* ) | ||
| 2214 | - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
| 2215 | - # FIXME: I believe we export ac_cv_exeext for Libtool, | ||
| 2216 | - # but it would be cool to find out if it's true. Does anybody | ||
| 2217 | - # maintain Libtool? --akim. | ||
| 2218 | - export ac_cv_exeext | ||
| 2219 | - break;; | ||
| 2220 | + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
| 2221 | + # FIXME: I believe we export ac_cv_exeext for Libtool, | ||
| 2222 | + # but it would be cool to find out if it's true. Does anybody | ||
| 2223 | + # maintain Libtool? --akim. | ||
| 2224 | + export ac_cv_exeext | ||
| 2225 | + break;; | ||
| 2226 | * ) | ||
| 2227 | - break;; | ||
| 2228 | + break;; | ||
| 2229 | esac | ||
| 2230 | done | ||
| 2231 | else | ||
| 2232 | @@ -1760,8 +1792,8 @@ | ||
| 2233 | case $ac_file in | ||
| 2234 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; | ||
| 2235 | *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
| 2236 | - export ac_cv_exeext | ||
| 2237 | - break;; | ||
| 2238 | + export ac_cv_exeext | ||
| 2239 | + break;; | ||
| 2240 | * ) break;; | ||
| 2241 | esac | ||
| 2242 | done | ||
| 2243 | @@ -1786,7 +1818,6 @@ | ||
| 2244 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2245 | else | ||
| 2246 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2247 | -#line $LINENO "configure" | ||
| 2248 | /* confdefs.h. */ | ||
| 2249 | _ACEOF | ||
| 2250 | cat confdefs.h >>conftest.$ac_ext | ||
| 2251 | @@ -1837,7 +1868,6 @@ | ||
| 2252 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2253 | else | ||
| 2254 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2255 | -#line $LINENO "configure" | ||
| 2256 | /* confdefs.h. */ | ||
| 2257 | _ACEOF | ||
| 2258 | cat confdefs.h >>conftest.$ac_ext | ||
| 2259 | @@ -1857,11 +1887,20 @@ | ||
| 2260 | _ACEOF | ||
| 2261 | rm -f conftest.$ac_objext | ||
| 2262 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2263 | - (eval $ac_compile) 2>&5 | ||
| 2264 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2265 | ac_status=$? | ||
| 2266 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2267 | + rm -f conftest.er1 | ||
| 2268 | + cat conftest.err >&5 | ||
| 2269 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2270 | (exit $ac_status); } && | ||
| 2271 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2272 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2273 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2274 | + (eval $ac_try) 2>&5 | ||
| 2275 | + ac_status=$? | ||
| 2276 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2277 | + (exit $ac_status); }; } && | ||
| 2278 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2279 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2280 | (eval $ac_try) 2>&5 | ||
| 2281 | ac_status=$? | ||
| 2282 | @@ -1874,7 +1913,7 @@ | ||
| 2283 | |||
| 2284 | ac_compiler_gnu=no | ||
| 2285 | fi | ||
| 2286 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2287 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2288 | ac_cv_c_compiler_gnu=$ac_compiler_gnu | ||
| 2289 | |||
| 2290 | fi | ||
| 2291 | @@ -1890,7 +1929,6 @@ | ||
| 2292 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2293 | else | ||
| 2294 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2295 | -#line $LINENO "configure" | ||
| 2296 | /* confdefs.h. */ | ||
| 2297 | _ACEOF | ||
| 2298 | cat confdefs.h >>conftest.$ac_ext | ||
| 2299 | @@ -1907,11 +1945,20 @@ | ||
| 2300 | _ACEOF | ||
| 2301 | rm -f conftest.$ac_objext | ||
| 2302 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2303 | - (eval $ac_compile) 2>&5 | ||
| 2304 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2305 | ac_status=$? | ||
| 2306 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2307 | + rm -f conftest.er1 | ||
| 2308 | + cat conftest.err >&5 | ||
| 2309 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2310 | (exit $ac_status); } && | ||
| 2311 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2312 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2313 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2314 | + (eval $ac_try) 2>&5 | ||
| 2315 | + ac_status=$? | ||
| 2316 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2317 | + (exit $ac_status); }; } && | ||
| 2318 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2319 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2320 | (eval $ac_try) 2>&5 | ||
| 2321 | ac_status=$? | ||
| 2322 | @@ -1924,7 +1971,7 @@ | ||
| 2323 | |||
| 2324 | ac_cv_prog_cc_g=no | ||
| 2325 | fi | ||
| 2326 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2327 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2328 | fi | ||
| 2329 | echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 | ||
| 2330 | echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 | ||
| 2331 | @@ -1951,7 +1998,6 @@ | ||
| 2332 | ac_cv_prog_cc_stdc=no | ||
| 2333 | ac_save_CC=$CC | ||
| 2334 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2335 | -#line $LINENO "configure" | ||
| 2336 | /* confdefs.h. */ | ||
| 2337 | _ACEOF | ||
| 2338 | cat confdefs.h >>conftest.$ac_ext | ||
| 2339 | @@ -1979,6 +2025,16 @@ | ||
| 2340 | va_end (v); | ||
| 2341 | return s; | ||
| 2342 | } | ||
| 2343 | + | ||
| 2344 | +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | ||
| 2345 | + function prototypes and stuff, but not '\xHH' hex character constants. | ||
| 2346 | + These don't provoke an error unfortunately, instead are silently treated | ||
| 2347 | + as 'x'. The following induces an error, until -std1 is added to get | ||
| 2348 | + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | ||
| 2349 | + array size at least. It's necessary to write '\x00'==0 to get something | ||
| 2350 | + that's true only with -std1. */ | ||
| 2351 | +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | ||
| 2352 | + | ||
| 2353 | int test (int i, double x); | ||
| 2354 | struct s1 {int (*f) (int a);}; | ||
| 2355 | struct s2 {int (*f) (double a);}; | ||
| 2356 | @@ -2005,11 +2061,20 @@ | ||
| 2357 | CC="$ac_save_CC $ac_arg" | ||
| 2358 | rm -f conftest.$ac_objext | ||
| 2359 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2360 | - (eval $ac_compile) 2>&5 | ||
| 2361 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2362 | ac_status=$? | ||
| 2363 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2364 | + rm -f conftest.er1 | ||
| 2365 | + cat conftest.err >&5 | ||
| 2366 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2367 | (exit $ac_status); } && | ||
| 2368 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2369 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2370 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2371 | + (eval $ac_try) 2>&5 | ||
| 2372 | + ac_status=$? | ||
| 2373 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2374 | + (exit $ac_status); }; } && | ||
| 2375 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2376 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2377 | (eval $ac_try) 2>&5 | ||
| 2378 | ac_status=$? | ||
| 2379 | @@ -2022,7 +2087,7 @@ | ||
| 2380 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 2381 | |||
| 2382 | fi | ||
| 2383 | -rm -f conftest.$ac_objext | ||
| 2384 | +rm -f conftest.err conftest.$ac_objext | ||
| 2385 | done | ||
| 2386 | rm -f conftest.$ac_ext conftest.$ac_objext | ||
| 2387 | CC=$ac_save_CC | ||
| 2388 | @@ -2050,19 +2115,27 @@ | ||
| 2389 | _ACEOF | ||
| 2390 | rm -f conftest.$ac_objext | ||
| 2391 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2392 | - (eval $ac_compile) 2>&5 | ||
| 2393 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2394 | ac_status=$? | ||
| 2395 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2396 | + rm -f conftest.er1 | ||
| 2397 | + cat conftest.err >&5 | ||
| 2398 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2399 | (exit $ac_status); } && | ||
| 2400 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2401 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2402 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2403 | + (eval $ac_try) 2>&5 | ||
| 2404 | + ac_status=$? | ||
| 2405 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2406 | + (exit $ac_status); }; } && | ||
| 2407 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2408 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2409 | (eval $ac_try) 2>&5 | ||
| 2410 | ac_status=$? | ||
| 2411 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2412 | (exit $ac_status); }; }; then | ||
| 2413 | for ac_declaration in \ | ||
| 2414 | - ''\ | ||
| 2415 | - '#include <stdlib.h>' \ | ||
| 2416 | + '' \ | ||
| 2417 | 'extern "C" void std::exit (int) throw (); using std::exit;' \ | ||
| 2418 | 'extern "C" void std::exit (int); using std::exit;' \ | ||
| 2419 | 'extern "C" void exit (int) throw ();' \ | ||
| 2420 | @@ -2070,14 +2143,13 @@ | ||
| 2421 | 'void exit (int);' | ||
| 2422 | do | ||
| 2423 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2424 | -#line $LINENO "configure" | ||
| 2425 | /* confdefs.h. */ | ||
| 2426 | _ACEOF | ||
| 2427 | cat confdefs.h >>conftest.$ac_ext | ||
| 2428 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 2429 | /* end confdefs.h. */ | ||
| 2430 | -#include <stdlib.h> | ||
| 2431 | $ac_declaration | ||
| 2432 | +#include <stdlib.h> | ||
| 2433 | int | ||
| 2434 | main () | ||
| 2435 | { | ||
| 2436 | @@ -2088,11 +2160,20 @@ | ||
| 2437 | _ACEOF | ||
| 2438 | rm -f conftest.$ac_objext | ||
| 2439 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2440 | - (eval $ac_compile) 2>&5 | ||
| 2441 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2442 | ac_status=$? | ||
| 2443 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2444 | + rm -f conftest.er1 | ||
| 2445 | + cat conftest.err >&5 | ||
| 2446 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2447 | (exit $ac_status); } && | ||
| 2448 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2449 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2450 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2451 | + (eval $ac_try) 2>&5 | ||
| 2452 | + ac_status=$? | ||
| 2453 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2454 | + (exit $ac_status); }; } && | ||
| 2455 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2456 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2457 | (eval $ac_try) 2>&5 | ||
| 2458 | ac_status=$? | ||
| 2459 | @@ -2105,9 +2186,8 @@ | ||
| 2460 | |||
| 2461 | continue | ||
| 2462 | fi | ||
| 2463 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2464 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2465 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2466 | -#line $LINENO "configure" | ||
| 2467 | /* confdefs.h. */ | ||
| 2468 | _ACEOF | ||
| 2469 | cat confdefs.h >>conftest.$ac_ext | ||
| 2470 | @@ -2124,11 +2204,20 @@ | ||
| 2471 | _ACEOF | ||
| 2472 | rm -f conftest.$ac_objext | ||
| 2473 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2474 | - (eval $ac_compile) 2>&5 | ||
| 2475 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2476 | ac_status=$? | ||
| 2477 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2478 | + rm -f conftest.er1 | ||
| 2479 | + cat conftest.err >&5 | ||
| 2480 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2481 | (exit $ac_status); } && | ||
| 2482 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2483 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2484 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2485 | + (eval $ac_try) 2>&5 | ||
| 2486 | + ac_status=$? | ||
| 2487 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2488 | + (exit $ac_status); }; } && | ||
| 2489 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2490 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2491 | (eval $ac_try) 2>&5 | ||
| 2492 | ac_status=$? | ||
| 2493 | @@ -2140,7 +2229,7 @@ | ||
| 2494 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 2495 | |||
| 2496 | fi | ||
| 2497 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2498 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2499 | done | ||
| 2500 | rm -f conftest* | ||
| 2501 | if test -n "$ac_declaration"; then | ||
| 2502 | @@ -2154,7 +2243,7 @@ | ||
| 2503 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 2504 | |||
| 2505 | fi | ||
| 2506 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2507 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2508 | ac_ext=c | ||
| 2509 | ac_cpp='$CPP $CPPFLAGS' | ||
| 2510 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
| 2511 | @@ -2189,7 +2278,6 @@ | ||
| 2512 | # On the NeXT, cc -E runs the code through the compiler's parser, | ||
| 2513 | # not just through cpp. "Syntax error" is here to catch this case. | ||
| 2514 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2515 | -#line $LINENO "configure" | ||
| 2516 | /* confdefs.h. */ | ||
| 2517 | _ACEOF | ||
| 2518 | cat confdefs.h >>conftest.$ac_ext | ||
| 2519 | @@ -2200,7 +2288,7 @@ | ||
| 2520 | #else | ||
| 2521 | # include <assert.h> | ||
| 2522 | #endif | ||
| 2523 | - Syntax error | ||
| 2524 | + Syntax error | ||
| 2525 | _ACEOF | ||
| 2526 | if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
| 2527 | (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
| 2528 | @@ -2212,6 +2300,7 @@ | ||
| 2529 | (exit $ac_status); } >/dev/null; then | ||
| 2530 | if test -s conftest.err; then | ||
| 2531 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 2532 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 2533 | else | ||
| 2534 | ac_cpp_err= | ||
| 2535 | fi | ||
| 2536 | @@ -2232,7 +2321,6 @@ | ||
| 2537 | # OK, works on sane cases. Now check whether non-existent headers | ||
| 2538 | # can be detected and how. | ||
| 2539 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2540 | -#line $LINENO "configure" | ||
| 2541 | /* confdefs.h. */ | ||
| 2542 | _ACEOF | ||
| 2543 | cat confdefs.h >>conftest.$ac_ext | ||
| 2544 | @@ -2250,6 +2338,7 @@ | ||
| 2545 | (exit $ac_status); } >/dev/null; then | ||
| 2546 | if test -s conftest.err; then | ||
| 2547 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 2548 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 2549 | else | ||
| 2550 | ac_cpp_err= | ||
| 2551 | fi | ||
| 2552 | @@ -2296,7 +2385,6 @@ | ||
| 2553 | # On the NeXT, cc -E runs the code through the compiler's parser, | ||
| 2554 | # not just through cpp. "Syntax error" is here to catch this case. | ||
| 2555 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2556 | -#line $LINENO "configure" | ||
| 2557 | /* confdefs.h. */ | ||
| 2558 | _ACEOF | ||
| 2559 | cat confdefs.h >>conftest.$ac_ext | ||
| 2560 | @@ -2307,7 +2395,7 @@ | ||
| 2561 | #else | ||
| 2562 | # include <assert.h> | ||
| 2563 | #endif | ||
| 2564 | - Syntax error | ||
| 2565 | + Syntax error | ||
| 2566 | _ACEOF | ||
| 2567 | if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
| 2568 | (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
| 2569 | @@ -2319,6 +2407,7 @@ | ||
| 2570 | (exit $ac_status); } >/dev/null; then | ||
| 2571 | if test -s conftest.err; then | ||
| 2572 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 2573 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 2574 | else | ||
| 2575 | ac_cpp_err= | ||
| 2576 | fi | ||
| 2577 | @@ -2339,7 +2428,6 @@ | ||
| 2578 | # OK, works on sane cases. Now check whether non-existent headers | ||
| 2579 | # can be detected and how. | ||
| 2580 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2581 | -#line $LINENO "configure" | ||
| 2582 | /* confdefs.h. */ | ||
| 2583 | _ACEOF | ||
| 2584 | cat confdefs.h >>conftest.$ac_ext | ||
| 2585 | @@ -2357,6 +2445,7 @@ | ||
| 2586 | (exit $ac_status); } >/dev/null; then | ||
| 2587 | if test -s conftest.err; then | ||
| 2588 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 2589 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 2590 | else | ||
| 2591 | ac_cpp_err= | ||
| 2592 | fi | ||
| 2593 | @@ -2431,6 +2520,7 @@ | ||
| 2594 | # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag | ||
| 2595 | # AFS /usr/afsws/bin/install, which mishandles nonexistent args | ||
| 2596 | # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" | ||
| 2597 | +# OS/2's system install, which has a completely different semantic | ||
| 2598 | # ./install, which can be erroneously created by make from ./install.sh. | ||
| 2599 | echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 | ||
| 2600 | echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 | ||
| 2601 | @@ -2447,6 +2537,7 @@ | ||
| 2602 | case $as_dir/ in | ||
| 2603 | ./ | .// | /cC/* | \ | ||
| 2604 | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ | ||
| 2605 | + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ | ||
| 2606 | /usr/ucb/* ) ;; | ||
| 2607 | *) | ||
| 2608 | # OSF1 and SCO ODT 3.0 have their own names for install. | ||
| 2609 | @@ -2454,20 +2545,20 @@ | ||
| 2610 | # by default. | ||
| 2611 | for ac_prog in ginstall scoinst install; do | ||
| 2612 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
| 2613 | - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | ||
| 2614 | - if test $ac_prog = install && | ||
| 2615 | - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
| 2616 | - # AIX install. It has an incompatible calling convention. | ||
| 2617 | - : | ||
| 2618 | - elif test $ac_prog = install && | ||
| 2619 | - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
| 2620 | - # program-specific install script used by HP pwplus--don't use. | ||
| 2621 | - : | ||
| 2622 | - else | ||
| 2623 | - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | ||
| 2624 | - break 3 | ||
| 2625 | - fi | ||
| 2626 | - fi | ||
| 2627 | + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | ||
| 2628 | + if test $ac_prog = install && | ||
| 2629 | + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
| 2630 | + # AIX install. It has an incompatible calling convention. | ||
| 2631 | + : | ||
| 2632 | + elif test $ac_prog = install && | ||
| 2633 | + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
| 2634 | + # program-specific install script used by HP pwplus--don't use. | ||
| 2635 | + : | ||
| 2636 | + else | ||
| 2637 | + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | ||
| 2638 | + break 3 | ||
| 2639 | + fi | ||
| 2640 | + fi | ||
| 2641 | done | ||
| 2642 | done | ||
| 2643 | ;; | ||
| 2644 | @@ -2499,7 +2590,7 @@ | ||
| 2645 | |||
| 2646 | echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 | ||
| 2647 | echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 | ||
| 2648 | -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` | ||
| 2649 | +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` | ||
| 2650 | if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then | ||
| 2651 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2652 | else | ||
| 2653 | @@ -2596,7 +2687,6 @@ | ||
| 2654 | echo "$as_me:$LINENO: checking for AIX" >&5 | ||
| 2655 | echo $ECHO_N "checking for AIX... $ECHO_C" >&6 | ||
| 2656 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2657 | -#line $LINENO "configure" | ||
| 2658 | /* confdefs.h. */ | ||
| 2659 | _ACEOF | ||
| 2660 | cat confdefs.h >>conftest.$ac_ext | ||
| 2661 | @@ -2628,7 +2718,6 @@ | ||
| 2662 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2663 | else | ||
| 2664 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2665 | -#line $LINENO "configure" | ||
| 2666 | /* confdefs.h. */ | ||
| 2667 | _ACEOF | ||
| 2668 | cat confdefs.h >>conftest.$ac_ext | ||
| 2669 | @@ -2649,11 +2738,20 @@ | ||
| 2670 | _ACEOF | ||
| 2671 | rm -f conftest.$ac_objext | ||
| 2672 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2673 | - (eval $ac_compile) 2>&5 | ||
| 2674 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2675 | ac_status=$? | ||
| 2676 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2677 | + rm -f conftest.er1 | ||
| 2678 | + cat conftest.err >&5 | ||
| 2679 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2680 | (exit $ac_status); } && | ||
| 2681 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2682 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2683 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2684 | + (eval $ac_try) 2>&5 | ||
| 2685 | + ac_status=$? | ||
| 2686 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2687 | + (exit $ac_status); }; } && | ||
| 2688 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2689 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2690 | (eval $ac_try) 2>&5 | ||
| 2691 | ac_status=$? | ||
| 2692 | @@ -2666,12 +2764,11 @@ | ||
| 2693 | |||
| 2694 | ac_cv_header_stdc=no | ||
| 2695 | fi | ||
| 2696 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2697 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2698 | |||
| 2699 | if test $ac_cv_header_stdc = yes; then | ||
| 2700 | # SunOS 4.x string.h does not declare mem*, contrary to ANSI. | ||
| 2701 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2702 | -#line $LINENO "configure" | ||
| 2703 | /* confdefs.h. */ | ||
| 2704 | _ACEOF | ||
| 2705 | cat confdefs.h >>conftest.$ac_ext | ||
| 2706 | @@ -2693,7 +2790,6 @@ | ||
| 2707 | if test $ac_cv_header_stdc = yes; then | ||
| 2708 | # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. | ||
| 2709 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2710 | -#line $LINENO "configure" | ||
| 2711 | /* confdefs.h. */ | ||
| 2712 | _ACEOF | ||
| 2713 | cat confdefs.h >>conftest.$ac_ext | ||
| 2714 | @@ -2718,7 +2814,6 @@ | ||
| 2715 | : | ||
| 2716 | else | ||
| 2717 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2718 | -#line $LINENO "configure" | ||
| 2719 | /* confdefs.h. */ | ||
| 2720 | _ACEOF | ||
| 2721 | cat confdefs.h >>conftest.$ac_ext | ||
| 2722 | @@ -2730,9 +2825,9 @@ | ||
| 2723 | # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) | ||
| 2724 | #else | ||
| 2725 | # define ISLOWER(c) \ | ||
| 2726 | - (('a' <= (c) && (c) <= 'i') \ | ||
| 2727 | - || ('j' <= (c) && (c) <= 'r') \ | ||
| 2728 | - || ('s' <= (c) && (c) <= 'z')) | ||
| 2729 | + (('a' <= (c) && (c) <= 'i') \ | ||
| 2730 | + || ('j' <= (c) && (c) <= 'r') \ | ||
| 2731 | + || ('s' <= (c) && (c) <= 'z')) | ||
| 2732 | # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) | ||
| 2733 | #endif | ||
| 2734 | |||
| 2735 | @@ -2743,7 +2838,7 @@ | ||
| 2736 | int i; | ||
| 2737 | for (i = 0; i < 256; i++) | ||
| 2738 | if (XOR (islower (i), ISLOWER (i)) | ||
| 2739 | - || toupper (i) != TOUPPER (i)) | ||
| 2740 | + || toupper (i) != TOUPPER (i)) | ||
| 2741 | exit(2); | ||
| 2742 | exit (0); | ||
| 2743 | } | ||
| 2744 | @@ -2768,7 +2863,7 @@ | ||
| 2745 | ( exit $ac_status ) | ||
| 2746 | ac_cv_header_stdc=no | ||
| 2747 | fi | ||
| 2748 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 2749 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 2750 | fi | ||
| 2751 | fi | ||
| 2752 | fi | ||
| 2753 | @@ -2793,7 +2888,7 @@ | ||
| 2754 | |||
| 2755 | |||
| 2756 | for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ | ||
| 2757 | - inttypes.h stdint.h unistd.h | ||
| 2758 | + inttypes.h stdint.h unistd.h | ||
| 2759 | do | ||
| 2760 | as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
| 2761 | echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
| 2762 | @@ -2802,7 +2897,6 @@ | ||
| 2763 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2764 | else | ||
| 2765 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2766 | -#line $LINENO "configure" | ||
| 2767 | /* confdefs.h. */ | ||
| 2768 | _ACEOF | ||
| 2769 | cat confdefs.h >>conftest.$ac_ext | ||
| 2770 | @@ -2814,11 +2908,20 @@ | ||
| 2771 | _ACEOF | ||
| 2772 | rm -f conftest.$ac_objext | ||
| 2773 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2774 | - (eval $ac_compile) 2>&5 | ||
| 2775 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2776 | ac_status=$? | ||
| 2777 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2778 | + rm -f conftest.er1 | ||
| 2779 | + cat conftest.err >&5 | ||
| 2780 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2781 | (exit $ac_status); } && | ||
| 2782 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2783 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2784 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2785 | + (eval $ac_try) 2>&5 | ||
| 2786 | + ac_status=$? | ||
| 2787 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2788 | + (exit $ac_status); }; } && | ||
| 2789 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2790 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2791 | (eval $ac_try) 2>&5 | ||
| 2792 | ac_status=$? | ||
| 2793 | @@ -2831,7 +2934,7 @@ | ||
| 2794 | |||
| 2795 | eval "$as_ac_Header=no" | ||
| 2796 | fi | ||
| 2797 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2798 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2799 | fi | ||
| 2800 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 2801 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 2802 | @@ -2858,7 +2961,6 @@ | ||
| 2803 | echo "$as_me:$LINENO: checking minix/config.h usability" >&5 | ||
| 2804 | echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6 | ||
| 2805 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2806 | -#line $LINENO "configure" | ||
| 2807 | /* confdefs.h. */ | ||
| 2808 | _ACEOF | ||
| 2809 | cat confdefs.h >>conftest.$ac_ext | ||
| 2810 | @@ -2869,11 +2971,20 @@ | ||
| 2811 | _ACEOF | ||
| 2812 | rm -f conftest.$ac_objext | ||
| 2813 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 2814 | - (eval $ac_compile) 2>&5 | ||
| 2815 | + (eval $ac_compile) 2>conftest.er1 | ||
| 2816 | ac_status=$? | ||
| 2817 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2818 | + rm -f conftest.er1 | ||
| 2819 | + cat conftest.err >&5 | ||
| 2820 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2821 | (exit $ac_status); } && | ||
| 2822 | - { ac_try='test -s conftest.$ac_objext' | ||
| 2823 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2824 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2825 | + (eval $ac_try) 2>&5 | ||
| 2826 | + ac_status=$? | ||
| 2827 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2828 | + (exit $ac_status); }; } && | ||
| 2829 | + { ac_try='test -s conftest.$ac_objext' | ||
| 2830 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2831 | (eval $ac_try) 2>&5 | ||
| 2832 | ac_status=$? | ||
| 2833 | @@ -2886,7 +2997,7 @@ | ||
| 2834 | |||
| 2835 | ac_header_compiler=no | ||
| 2836 | fi | ||
| 2837 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 2838 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 2839 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 2840 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 2841 | |||
| 2842 | @@ -2894,7 +3005,6 @@ | ||
| 2843 | echo "$as_me:$LINENO: checking minix/config.h presence" >&5 | ||
| 2844 | echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6 | ||
| 2845 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2846 | -#line $LINENO "configure" | ||
| 2847 | /* confdefs.h. */ | ||
| 2848 | _ACEOF | ||
| 2849 | cat confdefs.h >>conftest.$ac_ext | ||
| 2850 | @@ -2912,6 +3022,7 @@ | ||
| 2851 | (exit $ac_status); } >/dev/null; then | ||
| 2852 | if test -s conftest.err; then | ||
| 2853 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 2854 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 2855 | else | ||
| 2856 | ac_cpp_err= | ||
| 2857 | fi | ||
| 2858 | @@ -2931,33 +3042,32 @@ | ||
| 2859 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 2860 | |||
| 2861 | # So? What about this header? | ||
| 2862 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 2863 | - yes:no ) | ||
| 2864 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 2865 | + yes:no: ) | ||
| 2866 | { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 2867 | echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 2868 | - { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 | ||
| 2869 | -echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} | ||
| 2870 | - ( | ||
| 2871 | - cat <<\_ASBOX | ||
| 2872 | -## ------------------------------------ ## | ||
| 2873 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 2874 | -## ------------------------------------ ## | ||
| 2875 | -_ASBOX | ||
| 2876 | - ) | | ||
| 2877 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 2878 | + { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 | ||
| 2879 | +echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} | ||
| 2880 | + ac_header_preproc=yes | ||
| 2881 | ;; | ||
| 2882 | - no:yes ) | ||
| 2883 | + no:yes:* ) | ||
| 2884 | { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 | ||
| 2885 | echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} | ||
| 2886 | - { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 | ||
| 2887 | -echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} | ||
| 2888 | + { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 | ||
| 2889 | +echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} | ||
| 2890 | + { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 | ||
| 2891 | +echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} | ||
| 2892 | + { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 2893 | +echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 2894 | { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 | ||
| 2895 | echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} | ||
| 2896 | + { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 | ||
| 2897 | +echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} | ||
| 2898 | ( | ||
| 2899 | cat <<\_ASBOX | ||
| 2900 | -## ------------------------------------ ## | ||
| 2901 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 2902 | -## ------------------------------------ ## | ||
| 2903 | +## -------------------------------- ## | ||
| 2904 | +## Report this to bug-patch@gnu.org ## | ||
| 2905 | +## -------------------------------- ## | ||
| 2906 | _ASBOX | ||
| 2907 | ) | | ||
| 2908 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 2909 | @@ -3000,15 +3110,15 @@ | ||
| 2910 | fi | ||
| 2911 | |||
| 2912 | |||
| 2913 | -echo "$as_me:$LINENO: checking for library containing strerror" >&5 | ||
| 2914 | -echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 | ||
| 2915 | -if test "${ac_cv_search_strerror+set}" = set; then | ||
| 2916 | + | ||
| 2917 | + echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 | ||
| 2918 | +echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 | ||
| 2919 | +if test "${ac_cv_lib_cposix_strerror+set}" = set; then | ||
| 2920 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 2921 | else | ||
| 2922 | - ac_func_search_save_LIBS=$LIBS | ||
| 2923 | -ac_cv_search_strerror=no | ||
| 2924 | + ac_check_lib_save_LIBS=$LIBS | ||
| 2925 | +LIBS="-lcposix $LIBS" | ||
| 2926 | cat >conftest.$ac_ext <<_ACEOF | ||
| 2927 | -#line $LINENO "configure" | ||
| 2928 | /* confdefs.h. */ | ||
| 2929 | _ACEOF | ||
| 2930 | cat confdefs.h >>conftest.$ac_ext | ||
| 2931 | @@ -3032,79 +3142,43 @@ | ||
| 2932 | _ACEOF | ||
| 2933 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 2934 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 2935 | - (eval $ac_link) 2>&5 | ||
| 2936 | + (eval $ac_link) 2>conftest.er1 | ||
| 2937 | ac_status=$? | ||
| 2938 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 2939 | + rm -f conftest.er1 | ||
| 2940 | + cat conftest.err >&5 | ||
| 2941 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2942 | (exit $ac_status); } && | ||
| 2943 | - { ac_try='test -s conftest$ac_exeext' | ||
| 2944 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 2945 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2946 | (eval $ac_try) 2>&5 | ||
| 2947 | ac_status=$? | ||
| 2948 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2949 | - (exit $ac_status); }; }; then | ||
| 2950 | - ac_cv_search_strerror="none required" | ||
| 2951 | -else | ||
| 2952 | - echo "$as_me: failed program was:" >&5 | ||
| 2953 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 2954 | - | ||
| 2955 | -fi | ||
| 2956 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 2957 | -if test "$ac_cv_search_strerror" = no; then | ||
| 2958 | - for ac_lib in cposix; do | ||
| 2959 | - LIBS="-l$ac_lib $ac_func_search_save_LIBS" | ||
| 2960 | - cat >conftest.$ac_ext <<_ACEOF | ||
| 2961 | -#line $LINENO "configure" | ||
| 2962 | -/* confdefs.h. */ | ||
| 2963 | -_ACEOF | ||
| 2964 | -cat confdefs.h >>conftest.$ac_ext | ||
| 2965 | -cat >>conftest.$ac_ext <<_ACEOF | ||
| 2966 | -/* end confdefs.h. */ | ||
| 2967 | - | ||
| 2968 | -/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 2969 | -#ifdef __cplusplus | ||
| 2970 | -extern "C" | ||
| 2971 | -#endif | ||
| 2972 | -/* We use char because int might match the return type of a gcc2 | ||
| 2973 | - builtin and then its argument prototype would still apply. */ | ||
| 2974 | -char strerror (); | ||
| 2975 | -int | ||
| 2976 | -main () | ||
| 2977 | -{ | ||
| 2978 | -strerror (); | ||
| 2979 | - ; | ||
| 2980 | - return 0; | ||
| 2981 | -} | ||
| 2982 | -_ACEOF | ||
| 2983 | -rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 2984 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 2985 | - (eval $ac_link) 2>&5 | ||
| 2986 | - ac_status=$? | ||
| 2987 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2988 | - (exit $ac_status); } && | ||
| 2989 | - { ac_try='test -s conftest$ac_exeext' | ||
| 2990 | + (exit $ac_status); }; } && | ||
| 2991 | + { ac_try='test -s conftest$ac_exeext' | ||
| 2992 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 2993 | (eval $ac_try) 2>&5 | ||
| 2994 | ac_status=$? | ||
| 2995 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 2996 | (exit $ac_status); }; }; then | ||
| 2997 | - ac_cv_search_strerror="-l$ac_lib" | ||
| 2998 | -break | ||
| 2999 | + ac_cv_lib_cposix_strerror=yes | ||
| 3000 | else | ||
| 3001 | echo "$as_me: failed program was:" >&5 | ||
| 3002 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3003 | |||
| 3004 | +ac_cv_lib_cposix_strerror=no | ||
| 3005 | fi | ||
| 3006 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 3007 | - done | ||
| 3008 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 3009 | + conftest$ac_exeext conftest.$ac_ext | ||
| 3010 | +LIBS=$ac_check_lib_save_LIBS | ||
| 3011 | fi | ||
| 3012 | -LIBS=$ac_func_search_save_LIBS | ||
| 3013 | +echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 | ||
| 3014 | +echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 | ||
| 3015 | +if test $ac_cv_lib_cposix_strerror = yes; then | ||
| 3016 | + LIBS="$LIBS -lcposix" | ||
| 3017 | fi | ||
| 3018 | -echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 | ||
| 3019 | -echo "${ECHO_T}$ac_cv_search_strerror" >&6 | ||
| 3020 | -if test "$ac_cv_search_strerror" != no; then | ||
| 3021 | - test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" | ||
| 3022 | |||
| 3023 | -fi | ||
| 3024 | + | ||
| 3025 | |||
| 3026 | # Check whether --enable-largefile or --disable-largefile was given. | ||
| 3027 | if test "${enable_largefile+set}" = set; then | ||
| 3028 | @@ -3124,8 +3198,7 @@ | ||
| 3029 | while :; do | ||
| 3030 | # IRIX 6.2 and later do not support large files by default, | ||
| 3031 | # so use the C compiler's -n32 option if that helps. | ||
| 3032 | - cat >conftest.$ac_ext <<_ACEOF | ||
| 3033 | -#line $LINENO "configure" | ||
| 3034 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 3035 | /* confdefs.h. */ | ||
| 3036 | _ACEOF | ||
| 3037 | cat confdefs.h >>conftest.$ac_ext | ||
| 3038 | @@ -3150,11 +3223,20 @@ | ||
| 3039 | _ACEOF | ||
| 3040 | rm -f conftest.$ac_objext | ||
| 3041 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3042 | - (eval $ac_compile) 2>&5 | ||
| 3043 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3044 | ac_status=$? | ||
| 3045 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3046 | + rm -f conftest.er1 | ||
| 3047 | + cat conftest.err >&5 | ||
| 3048 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3049 | (exit $ac_status); } && | ||
| 3050 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3051 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3052 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3053 | + (eval $ac_try) 2>&5 | ||
| 3054 | + ac_status=$? | ||
| 3055 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3056 | + (exit $ac_status); }; } && | ||
| 3057 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3058 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3059 | (eval $ac_try) 2>&5 | ||
| 3060 | ac_status=$? | ||
| 3061 | @@ -3166,15 +3248,24 @@ | ||
| 3062 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3063 | |||
| 3064 | fi | ||
| 3065 | -rm -f conftest.$ac_objext | ||
| 3066 | +rm -f conftest.err conftest.$ac_objext | ||
| 3067 | CC="$CC -n32" | ||
| 3068 | rm -f conftest.$ac_objext | ||
| 3069 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3070 | - (eval $ac_compile) 2>&5 | ||
| 3071 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3072 | ac_status=$? | ||
| 3073 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3074 | + rm -f conftest.er1 | ||
| 3075 | + cat conftest.err >&5 | ||
| 3076 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3077 | (exit $ac_status); } && | ||
| 3078 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3079 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3080 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3081 | + (eval $ac_try) 2>&5 | ||
| 3082 | + ac_status=$? | ||
| 3083 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3084 | + (exit $ac_status); }; } && | ||
| 3085 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3086 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3087 | (eval $ac_try) 2>&5 | ||
| 3088 | ac_status=$? | ||
| 3089 | @@ -3186,8 +3277,8 @@ | ||
| 3090 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3091 | |||
| 3092 | fi | ||
| 3093 | -rm -f conftest.$ac_objext | ||
| 3094 | - break | ||
| 3095 | +rm -f conftest.err conftest.$ac_objext | ||
| 3096 | + break | ||
| 3097 | done | ||
| 3098 | CC=$ac_save_CC | ||
| 3099 | rm -f conftest.$ac_ext | ||
| 3100 | @@ -3207,7 +3298,6 @@ | ||
| 3101 | while :; do | ||
| 3102 | ac_cv_sys_file_offset_bits=no | ||
| 3103 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3104 | -#line $LINENO "configure" | ||
| 3105 | /* confdefs.h. */ | ||
| 3106 | _ACEOF | ||
| 3107 | cat confdefs.h >>conftest.$ac_ext | ||
| 3108 | @@ -3232,11 +3322,20 @@ | ||
| 3109 | _ACEOF | ||
| 3110 | rm -f conftest.$ac_objext | ||
| 3111 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3112 | - (eval $ac_compile) 2>&5 | ||
| 3113 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3114 | ac_status=$? | ||
| 3115 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3116 | + rm -f conftest.er1 | ||
| 3117 | + cat conftest.err >&5 | ||
| 3118 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3119 | (exit $ac_status); } && | ||
| 3120 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3121 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3122 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3123 | + (eval $ac_try) 2>&5 | ||
| 3124 | + ac_status=$? | ||
| 3125 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3126 | + (exit $ac_status); }; } && | ||
| 3127 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3128 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3129 | (eval $ac_try) 2>&5 | ||
| 3130 | ac_status=$? | ||
| 3131 | @@ -3248,9 +3347,8 @@ | ||
| 3132 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3133 | |||
| 3134 | fi | ||
| 3135 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3136 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3137 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3138 | -#line $LINENO "configure" | ||
| 3139 | /* confdefs.h. */ | ||
| 3140 | _ACEOF | ||
| 3141 | cat confdefs.h >>conftest.$ac_ext | ||
| 3142 | @@ -3276,11 +3374,20 @@ | ||
| 3143 | _ACEOF | ||
| 3144 | rm -f conftest.$ac_objext | ||
| 3145 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3146 | - (eval $ac_compile) 2>&5 | ||
| 3147 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3148 | ac_status=$? | ||
| 3149 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3150 | + rm -f conftest.er1 | ||
| 3151 | + cat conftest.err >&5 | ||
| 3152 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3153 | (exit $ac_status); } && | ||
| 3154 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3155 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3156 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3157 | + (eval $ac_try) 2>&5 | ||
| 3158 | + ac_status=$? | ||
| 3159 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3160 | + (exit $ac_status); }; } && | ||
| 3161 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3162 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3163 | (eval $ac_try) 2>&5 | ||
| 3164 | ac_status=$? | ||
| 3165 | @@ -3292,7 +3399,7 @@ | ||
| 3166 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3167 | |||
| 3168 | fi | ||
| 3169 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3170 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3171 | break | ||
| 3172 | done | ||
| 3173 | fi | ||
| 3174 | @@ -3314,7 +3421,6 @@ | ||
| 3175 | while :; do | ||
| 3176 | ac_cv_sys_large_files=no | ||
| 3177 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3178 | -#line $LINENO "configure" | ||
| 3179 | /* confdefs.h. */ | ||
| 3180 | _ACEOF | ||
| 3181 | cat confdefs.h >>conftest.$ac_ext | ||
| 3182 | @@ -3339,11 +3445,20 @@ | ||
| 3183 | _ACEOF | ||
| 3184 | rm -f conftest.$ac_objext | ||
| 3185 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3186 | - (eval $ac_compile) 2>&5 | ||
| 3187 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3188 | ac_status=$? | ||
| 3189 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3190 | + rm -f conftest.er1 | ||
| 3191 | + cat conftest.err >&5 | ||
| 3192 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3193 | (exit $ac_status); } && | ||
| 3194 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3195 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3196 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3197 | + (eval $ac_try) 2>&5 | ||
| 3198 | + ac_status=$? | ||
| 3199 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3200 | + (exit $ac_status); }; } && | ||
| 3201 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3202 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3203 | (eval $ac_try) 2>&5 | ||
| 3204 | ac_status=$? | ||
| 3205 | @@ -3355,9 +3470,8 @@ | ||
| 3206 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3207 | |||
| 3208 | fi | ||
| 3209 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3210 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3211 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3212 | -#line $LINENO "configure" | ||
| 3213 | /* confdefs.h. */ | ||
| 3214 | _ACEOF | ||
| 3215 | cat confdefs.h >>conftest.$ac_ext | ||
| 3216 | @@ -3383,11 +3497,20 @@ | ||
| 3217 | _ACEOF | ||
| 3218 | rm -f conftest.$ac_objext | ||
| 3219 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3220 | - (eval $ac_compile) 2>&5 | ||
| 3221 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3222 | ac_status=$? | ||
| 3223 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3224 | + rm -f conftest.er1 | ||
| 3225 | + cat conftest.err >&5 | ||
| 3226 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3227 | (exit $ac_status); } && | ||
| 3228 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3229 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3230 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3231 | + (eval $ac_try) 2>&5 | ||
| 3232 | + ac_status=$? | ||
| 3233 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3234 | + (exit $ac_status); }; } && | ||
| 3235 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3236 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3237 | (eval $ac_try) 2>&5 | ||
| 3238 | ac_status=$? | ||
| 3239 | @@ -3399,7 +3522,7 @@ | ||
| 3240 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3241 | |||
| 3242 | fi | ||
| 3243 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3244 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3245 | break | ||
| 3246 | done | ||
| 3247 | fi | ||
| 3248 | @@ -3443,7 +3566,6 @@ | ||
| 3249 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3250 | else | ||
| 3251 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3252 | -#line $LINENO "configure" | ||
| 3253 | /* confdefs.h. */ | ||
| 3254 | _ACEOF | ||
| 3255 | cat confdefs.h >>conftest.$ac_ext | ||
| 3256 | @@ -3506,11 +3628,20 @@ | ||
| 3257 | _ACEOF | ||
| 3258 | rm -f conftest.$ac_objext | ||
| 3259 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3260 | - (eval $ac_compile) 2>&5 | ||
| 3261 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3262 | ac_status=$? | ||
| 3263 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3264 | + rm -f conftest.er1 | ||
| 3265 | + cat conftest.err >&5 | ||
| 3266 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3267 | (exit $ac_status); } && | ||
| 3268 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3269 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3270 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3271 | + (eval $ac_try) 2>&5 | ||
| 3272 | + ac_status=$? | ||
| 3273 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3274 | + (exit $ac_status); }; } && | ||
| 3275 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3276 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3277 | (eval $ac_try) 2>&5 | ||
| 3278 | ac_status=$? | ||
| 3279 | @@ -3523,7 +3654,7 @@ | ||
| 3280 | |||
| 3281 | ac_cv_c_const=no | ||
| 3282 | fi | ||
| 3283 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3284 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3285 | fi | ||
| 3286 | echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 | ||
| 3287 | echo "${ECHO_T}$ac_cv_c_const" >&6 | ||
| 3288 | @@ -3550,7 +3681,6 @@ | ||
| 3289 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3290 | else | ||
| 3291 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3292 | -#line $LINENO "configure" | ||
| 3293 | /* confdefs.h. */ | ||
| 3294 | _ACEOF | ||
| 3295 | cat confdefs.h >>conftest.$ac_ext | ||
| 3296 | @@ -3570,11 +3700,20 @@ | ||
| 3297 | _ACEOF | ||
| 3298 | rm -f conftest.$ac_objext | ||
| 3299 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3300 | - (eval $ac_compile) 2>&5 | ||
| 3301 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3302 | ac_status=$? | ||
| 3303 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3304 | + rm -f conftest.er1 | ||
| 3305 | + cat conftest.err >&5 | ||
| 3306 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3307 | (exit $ac_status); } && | ||
| 3308 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3309 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3310 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3311 | + (eval $ac_try) 2>&5 | ||
| 3312 | + ac_status=$? | ||
| 3313 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3314 | + (exit $ac_status); }; } && | ||
| 3315 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3316 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3317 | (eval $ac_try) 2>&5 | ||
| 3318 | ac_status=$? | ||
| 3319 | @@ -3587,7 +3726,7 @@ | ||
| 3320 | |||
| 3321 | eval "$as_ac_Header=no" | ||
| 3322 | fi | ||
| 3323 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3324 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3325 | fi | ||
| 3326 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 3327 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 3328 | @@ -3610,7 +3749,6 @@ | ||
| 3329 | ac_func_search_save_LIBS=$LIBS | ||
| 3330 | ac_cv_search_opendir=no | ||
| 3331 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3332 | -#line $LINENO "configure" | ||
| 3333 | /* confdefs.h. */ | ||
| 3334 | _ACEOF | ||
| 3335 | cat confdefs.h >>conftest.$ac_ext | ||
| 3336 | @@ -3634,11 +3772,20 @@ | ||
| 3337 | _ACEOF | ||
| 3338 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 3339 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 3340 | - (eval $ac_link) 2>&5 | ||
| 3341 | + (eval $ac_link) 2>conftest.er1 | ||
| 3342 | ac_status=$? | ||
| 3343 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3344 | + rm -f conftest.er1 | ||
| 3345 | + cat conftest.err >&5 | ||
| 3346 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3347 | (exit $ac_status); } && | ||
| 3348 | - { ac_try='test -s conftest$ac_exeext' | ||
| 3349 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3350 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3351 | + (eval $ac_try) 2>&5 | ||
| 3352 | + ac_status=$? | ||
| 3353 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3354 | + (exit $ac_status); }; } && | ||
| 3355 | + { ac_try='test -s conftest$ac_exeext' | ||
| 3356 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3357 | (eval $ac_try) 2>&5 | ||
| 3358 | ac_status=$? | ||
| 3359 | @@ -3650,12 +3797,12 @@ | ||
| 3360 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3361 | |||
| 3362 | fi | ||
| 3363 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 3364 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 3365 | + conftest$ac_exeext conftest.$ac_ext | ||
| 3366 | if test "$ac_cv_search_opendir" = no; then | ||
| 3367 | for ac_lib in dir; do | ||
| 3368 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | ||
| 3369 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3370 | -#line $LINENO "configure" | ||
| 3371 | /* confdefs.h. */ | ||
| 3372 | _ACEOF | ||
| 3373 | cat confdefs.h >>conftest.$ac_ext | ||
| 3374 | @@ -3679,11 +3826,20 @@ | ||
| 3375 | _ACEOF | ||
| 3376 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 3377 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 3378 | - (eval $ac_link) 2>&5 | ||
| 3379 | + (eval $ac_link) 2>conftest.er1 | ||
| 3380 | ac_status=$? | ||
| 3381 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3382 | + rm -f conftest.er1 | ||
| 3383 | + cat conftest.err >&5 | ||
| 3384 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3385 | (exit $ac_status); } && | ||
| 3386 | - { ac_try='test -s conftest$ac_exeext' | ||
| 3387 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3388 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3389 | + (eval $ac_try) 2>&5 | ||
| 3390 | + ac_status=$? | ||
| 3391 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3392 | + (exit $ac_status); }; } && | ||
| 3393 | + { ac_try='test -s conftest$ac_exeext' | ||
| 3394 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3395 | (eval $ac_try) 2>&5 | ||
| 3396 | ac_status=$? | ||
| 3397 | @@ -3696,7 +3852,8 @@ | ||
| 3398 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3399 | |||
| 3400 | fi | ||
| 3401 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 3402 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 3403 | + conftest$ac_exeext conftest.$ac_ext | ||
| 3404 | done | ||
| 3405 | fi | ||
| 3406 | LIBS=$ac_func_search_save_LIBS | ||
| 3407 | @@ -3717,7 +3874,6 @@ | ||
| 3408 | ac_func_search_save_LIBS=$LIBS | ||
| 3409 | ac_cv_search_opendir=no | ||
| 3410 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3411 | -#line $LINENO "configure" | ||
| 3412 | /* confdefs.h. */ | ||
| 3413 | _ACEOF | ||
| 3414 | cat confdefs.h >>conftest.$ac_ext | ||
| 3415 | @@ -3741,11 +3897,20 @@ | ||
| 3416 | _ACEOF | ||
| 3417 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 3418 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 3419 | - (eval $ac_link) 2>&5 | ||
| 3420 | + (eval $ac_link) 2>conftest.er1 | ||
| 3421 | ac_status=$? | ||
| 3422 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3423 | + rm -f conftest.er1 | ||
| 3424 | + cat conftest.err >&5 | ||
| 3425 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3426 | (exit $ac_status); } && | ||
| 3427 | - { ac_try='test -s conftest$ac_exeext' | ||
| 3428 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3429 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3430 | + (eval $ac_try) 2>&5 | ||
| 3431 | + ac_status=$? | ||
| 3432 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3433 | + (exit $ac_status); }; } && | ||
| 3434 | + { ac_try='test -s conftest$ac_exeext' | ||
| 3435 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3436 | (eval $ac_try) 2>&5 | ||
| 3437 | ac_status=$? | ||
| 3438 | @@ -3757,12 +3922,12 @@ | ||
| 3439 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3440 | |||
| 3441 | fi | ||
| 3442 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 3443 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 3444 | + conftest$ac_exeext conftest.$ac_ext | ||
| 3445 | if test "$ac_cv_search_opendir" = no; then | ||
| 3446 | for ac_lib in x; do | ||
| 3447 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | ||
| 3448 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3449 | -#line $LINENO "configure" | ||
| 3450 | /* confdefs.h. */ | ||
| 3451 | _ACEOF | ||
| 3452 | cat confdefs.h >>conftest.$ac_ext | ||
| 3453 | @@ -3786,11 +3951,20 @@ | ||
| 3454 | _ACEOF | ||
| 3455 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 3456 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 3457 | - (eval $ac_link) 2>&5 | ||
| 3458 | + (eval $ac_link) 2>conftest.er1 | ||
| 3459 | ac_status=$? | ||
| 3460 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3461 | + rm -f conftest.er1 | ||
| 3462 | + cat conftest.err >&5 | ||
| 3463 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3464 | (exit $ac_status); } && | ||
| 3465 | - { ac_try='test -s conftest$ac_exeext' | ||
| 3466 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3467 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3468 | + (eval $ac_try) 2>&5 | ||
| 3469 | + ac_status=$? | ||
| 3470 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3471 | + (exit $ac_status); }; } && | ||
| 3472 | + { ac_try='test -s conftest$ac_exeext' | ||
| 3473 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3474 | (eval $ac_try) 2>&5 | ||
| 3475 | ac_status=$? | ||
| 3476 | @@ -3803,7 +3977,8 @@ | ||
| 3477 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 3478 | |||
| 3479 | fi | ||
| 3480 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 3481 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 3482 | + conftest$ac_exeext conftest.$ac_ext | ||
| 3483 | done | ||
| 3484 | fi | ||
| 3485 | LIBS=$ac_func_search_save_LIBS | ||
| 3486 | @@ -3823,7 +3998,6 @@ | ||
| 3487 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3488 | else | ||
| 3489 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3490 | -#line $LINENO "configure" | ||
| 3491 | /* confdefs.h. */ | ||
| 3492 | _ACEOF | ||
| 3493 | cat confdefs.h >>conftest.$ac_ext | ||
| 3494 | @@ -3844,11 +4018,20 @@ | ||
| 3495 | _ACEOF | ||
| 3496 | rm -f conftest.$ac_objext | ||
| 3497 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3498 | - (eval $ac_compile) 2>&5 | ||
| 3499 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3500 | ac_status=$? | ||
| 3501 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3502 | + rm -f conftest.er1 | ||
| 3503 | + cat conftest.err >&5 | ||
| 3504 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3505 | (exit $ac_status); } && | ||
| 3506 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3507 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3508 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3509 | + (eval $ac_try) 2>&5 | ||
| 3510 | + ac_status=$? | ||
| 3511 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3512 | + (exit $ac_status); }; } && | ||
| 3513 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3514 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3515 | (eval $ac_try) 2>&5 | ||
| 3516 | ac_status=$? | ||
| 3517 | @@ -3861,12 +4044,11 @@ | ||
| 3518 | |||
| 3519 | ac_cv_header_stdc=no | ||
| 3520 | fi | ||
| 3521 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3522 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3523 | |||
| 3524 | if test $ac_cv_header_stdc = yes; then | ||
| 3525 | # SunOS 4.x string.h does not declare mem*, contrary to ANSI. | ||
| 3526 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3527 | -#line $LINENO "configure" | ||
| 3528 | /* confdefs.h. */ | ||
| 3529 | _ACEOF | ||
| 3530 | cat confdefs.h >>conftest.$ac_ext | ||
| 3531 | @@ -3888,7 +4070,6 @@ | ||
| 3532 | if test $ac_cv_header_stdc = yes; then | ||
| 3533 | # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. | ||
| 3534 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3535 | -#line $LINENO "configure" | ||
| 3536 | /* confdefs.h. */ | ||
| 3537 | _ACEOF | ||
| 3538 | cat confdefs.h >>conftest.$ac_ext | ||
| 3539 | @@ -3913,7 +4094,6 @@ | ||
| 3540 | : | ||
| 3541 | else | ||
| 3542 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3543 | -#line $LINENO "configure" | ||
| 3544 | /* confdefs.h. */ | ||
| 3545 | _ACEOF | ||
| 3546 | cat confdefs.h >>conftest.$ac_ext | ||
| 3547 | @@ -3925,9 +4105,9 @@ | ||
| 3548 | # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) | ||
| 3549 | #else | ||
| 3550 | # define ISLOWER(c) \ | ||
| 3551 | - (('a' <= (c) && (c) <= 'i') \ | ||
| 3552 | - || ('j' <= (c) && (c) <= 'r') \ | ||
| 3553 | - || ('s' <= (c) && (c) <= 'z')) | ||
| 3554 | + (('a' <= (c) && (c) <= 'i') \ | ||
| 3555 | + || ('j' <= (c) && (c) <= 'r') \ | ||
| 3556 | + || ('s' <= (c) && (c) <= 'z')) | ||
| 3557 | # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) | ||
| 3558 | #endif | ||
| 3559 | |||
| 3560 | @@ -3938,7 +4118,7 @@ | ||
| 3561 | int i; | ||
| 3562 | for (i = 0; i < 256; i++) | ||
| 3563 | if (XOR (islower (i), ISLOWER (i)) | ||
| 3564 | - || toupper (i) != TOUPPER (i)) | ||
| 3565 | + || toupper (i) != TOUPPER (i)) | ||
| 3566 | exit(2); | ||
| 3567 | exit (0); | ||
| 3568 | } | ||
| 3569 | @@ -3963,7 +4143,7 @@ | ||
| 3570 | ( exit $ac_status ) | ||
| 3571 | ac_cv_header_stdc=no | ||
| 3572 | fi | ||
| 3573 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 3574 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 3575 | fi | ||
| 3576 | fi | ||
| 3577 | fi | ||
| 3578 | @@ -3999,7 +4179,6 @@ | ||
| 3579 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 3580 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 3581 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3582 | -#line $LINENO "configure" | ||
| 3583 | /* confdefs.h. */ | ||
| 3584 | _ACEOF | ||
| 3585 | cat confdefs.h >>conftest.$ac_ext | ||
| 3586 | @@ -4010,11 +4189,20 @@ | ||
| 3587 | _ACEOF | ||
| 3588 | rm -f conftest.$ac_objext | ||
| 3589 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3590 | - (eval $ac_compile) 2>&5 | ||
| 3591 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3592 | ac_status=$? | ||
| 3593 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3594 | + rm -f conftest.er1 | ||
| 3595 | + cat conftest.err >&5 | ||
| 3596 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3597 | (exit $ac_status); } && | ||
| 3598 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3599 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3600 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3601 | + (eval $ac_try) 2>&5 | ||
| 3602 | + ac_status=$? | ||
| 3603 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3604 | + (exit $ac_status); }; } && | ||
| 3605 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3606 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3607 | (eval $ac_try) 2>&5 | ||
| 3608 | ac_status=$? | ||
| 3609 | @@ -4027,7 +4215,7 @@ | ||
| 3610 | |||
| 3611 | ac_header_compiler=no | ||
| 3612 | fi | ||
| 3613 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3614 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3615 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 3616 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 3617 | |||
| 3618 | @@ -4035,7 +4223,6 @@ | ||
| 3619 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 3620 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 3621 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3622 | -#line $LINENO "configure" | ||
| 3623 | /* confdefs.h. */ | ||
| 3624 | _ACEOF | ||
| 3625 | cat confdefs.h >>conftest.$ac_ext | ||
| 3626 | @@ -4053,6 +4240,7 @@ | ||
| 3627 | (exit $ac_status); } >/dev/null; then | ||
| 3628 | if test -s conftest.err; then | ||
| 3629 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 3630 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 3631 | else | ||
| 3632 | ac_cpp_err= | ||
| 3633 | fi | ||
| 3634 | @@ -4072,33 +4260,32 @@ | ||
| 3635 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 3636 | |||
| 3637 | # So? What about this header? | ||
| 3638 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 3639 | - yes:no ) | ||
| 3640 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 3641 | + yes:no: ) | ||
| 3642 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 3643 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 3644 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 3645 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 3646 | + ac_header_preproc=yes | ||
| 3647 | + ;; | ||
| 3648 | + no:yes:* ) | ||
| 3649 | + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 3650 | +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 3651 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 3652 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 3653 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 3654 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 3655 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 3656 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 3657 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 3658 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 3659 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 3660 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 3661 | ( | ||
| 3662 | cat <<\_ASBOX | ||
| 3663 | -## ------------------------------------ ## | ||
| 3664 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 3665 | -## ------------------------------------ ## | ||
| 3666 | -_ASBOX | ||
| 3667 | - ) | | ||
| 3668 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 3669 | - ;; | ||
| 3670 | - no:yes ) | ||
| 3671 | - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 3672 | -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 3673 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 3674 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 3675 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 3676 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 3677 | - ( | ||
| 3678 | - cat <<\_ASBOX | ||
| 3679 | -## ------------------------------------ ## | ||
| 3680 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 3681 | -## ------------------------------------ ## | ||
| 3682 | +## -------------------------------- ## | ||
| 3683 | +## Report this to bug-patch@gnu.org ## | ||
| 3684 | +## -------------------------------- ## | ||
| 3685 | _ASBOX | ||
| 3686 | ) | | ||
| 3687 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 3688 | @@ -4109,7 +4296,7 @@ | ||
| 3689 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 3690 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3691 | else | ||
| 3692 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 3693 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 3694 | fi | ||
| 3695 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 3696 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 3697 | @@ -4131,7 +4318,6 @@ | ||
| 3698 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3699 | else | ||
| 3700 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3701 | -#line $LINENO "configure" | ||
| 3702 | /* confdefs.h. */ | ||
| 3703 | _ACEOF | ||
| 3704 | cat confdefs.h >>conftest.$ac_ext | ||
| 3705 | @@ -4151,11 +4337,20 @@ | ||
| 3706 | _ACEOF | ||
| 3707 | rm -f conftest.$ac_objext | ||
| 3708 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3709 | - (eval $ac_compile) 2>&5 | ||
| 3710 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3711 | ac_status=$? | ||
| 3712 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3713 | + rm -f conftest.er1 | ||
| 3714 | + cat conftest.err >&5 | ||
| 3715 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3716 | (exit $ac_status); } && | ||
| 3717 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3718 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3719 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3720 | + (eval $ac_try) 2>&5 | ||
| 3721 | + ac_status=$? | ||
| 3722 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3723 | + (exit $ac_status); }; } && | ||
| 3724 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3725 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3726 | (eval $ac_try) 2>&5 | ||
| 3727 | ac_status=$? | ||
| 3728 | @@ -4168,7 +4363,7 @@ | ||
| 3729 | |||
| 3730 | ac_cv_type_mode_t=no | ||
| 3731 | fi | ||
| 3732 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3733 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3734 | fi | ||
| 3735 | echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 | ||
| 3736 | echo "${ECHO_T}$ac_cv_type_mode_t" >&6 | ||
| 3737 | @@ -4188,7 +4383,6 @@ | ||
| 3738 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3739 | else | ||
| 3740 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3741 | -#line $LINENO "configure" | ||
| 3742 | /* confdefs.h. */ | ||
| 3743 | _ACEOF | ||
| 3744 | cat confdefs.h >>conftest.$ac_ext | ||
| 3745 | @@ -4208,11 +4402,20 @@ | ||
| 3746 | _ACEOF | ||
| 3747 | rm -f conftest.$ac_objext | ||
| 3748 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3749 | - (eval $ac_compile) 2>&5 | ||
| 3750 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3751 | ac_status=$? | ||
| 3752 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3753 | + rm -f conftest.er1 | ||
| 3754 | + cat conftest.err >&5 | ||
| 3755 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3756 | (exit $ac_status); } && | ||
| 3757 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3758 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3759 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3760 | + (eval $ac_try) 2>&5 | ||
| 3761 | + ac_status=$? | ||
| 3762 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3763 | + (exit $ac_status); }; } && | ||
| 3764 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3765 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3766 | (eval $ac_try) 2>&5 | ||
| 3767 | ac_status=$? | ||
| 3768 | @@ -4225,7 +4428,7 @@ | ||
| 3769 | |||
| 3770 | ac_cv_type_off_t=no | ||
| 3771 | fi | ||
| 3772 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3773 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3774 | fi | ||
| 3775 | echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 | ||
| 3776 | echo "${ECHO_T}$ac_cv_type_off_t" >&6 | ||
| 3777 | @@ -4245,7 +4448,6 @@ | ||
| 3778 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3779 | else | ||
| 3780 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3781 | -#line $LINENO "configure" | ||
| 3782 | /* confdefs.h. */ | ||
| 3783 | _ACEOF | ||
| 3784 | cat confdefs.h >>conftest.$ac_ext | ||
| 3785 | @@ -4265,11 +4467,20 @@ | ||
| 3786 | _ACEOF | ||
| 3787 | rm -f conftest.$ac_objext | ||
| 3788 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3789 | - (eval $ac_compile) 2>&5 | ||
| 3790 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3791 | ac_status=$? | ||
| 3792 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3793 | + rm -f conftest.er1 | ||
| 3794 | + cat conftest.err >&5 | ||
| 3795 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3796 | (exit $ac_status); } && | ||
| 3797 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3798 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3799 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3800 | + (eval $ac_try) 2>&5 | ||
| 3801 | + ac_status=$? | ||
| 3802 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3803 | + (exit $ac_status); }; } && | ||
| 3804 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3805 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3806 | (eval $ac_try) 2>&5 | ||
| 3807 | ac_status=$? | ||
| 3808 | @@ -4282,7 +4493,7 @@ | ||
| 3809 | |||
| 3810 | ac_cv_type_pid_t=no | ||
| 3811 | fi | ||
| 3812 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3813 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3814 | fi | ||
| 3815 | echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 | ||
| 3816 | echo "${ECHO_T}$ac_cv_type_pid_t" >&6 | ||
| 3817 | @@ -4302,7 +4513,6 @@ | ||
| 3818 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3819 | else | ||
| 3820 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3821 | -#line $LINENO "configure" | ||
| 3822 | /* confdefs.h. */ | ||
| 3823 | _ACEOF | ||
| 3824 | cat confdefs.h >>conftest.$ac_ext | ||
| 3825 | @@ -4329,11 +4539,20 @@ | ||
| 3826 | _ACEOF | ||
| 3827 | rm -f conftest.$ac_objext | ||
| 3828 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3829 | - (eval $ac_compile) 2>&5 | ||
| 3830 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3831 | ac_status=$? | ||
| 3832 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3833 | + rm -f conftest.er1 | ||
| 3834 | + cat conftest.err >&5 | ||
| 3835 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3836 | (exit $ac_status); } && | ||
| 3837 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3838 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3839 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3840 | + (eval $ac_try) 2>&5 | ||
| 3841 | + ac_status=$? | ||
| 3842 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3843 | + (exit $ac_status); }; } && | ||
| 3844 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3845 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3846 | (eval $ac_try) 2>&5 | ||
| 3847 | ac_status=$? | ||
| 3848 | @@ -4346,7 +4565,7 @@ | ||
| 3849 | |||
| 3850 | ac_cv_type_signal=int | ||
| 3851 | fi | ||
| 3852 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3853 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3854 | fi | ||
| 3855 | echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 | ||
| 3856 | echo "${ECHO_T}$ac_cv_type_signal" >&6 | ||
| 3857 | @@ -4362,7 +4581,6 @@ | ||
| 3858 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3859 | else | ||
| 3860 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3861 | -#line $LINENO "configure" | ||
| 3862 | /* confdefs.h. */ | ||
| 3863 | _ACEOF | ||
| 3864 | cat confdefs.h >>conftest.$ac_ext | ||
| 3865 | @@ -4382,11 +4600,20 @@ | ||
| 3866 | _ACEOF | ||
| 3867 | rm -f conftest.$ac_objext | ||
| 3868 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3869 | - (eval $ac_compile) 2>&5 | ||
| 3870 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3871 | ac_status=$? | ||
| 3872 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3873 | + rm -f conftest.er1 | ||
| 3874 | + cat conftest.err >&5 | ||
| 3875 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3876 | (exit $ac_status); } && | ||
| 3877 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3878 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3879 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3880 | + (eval $ac_try) 2>&5 | ||
| 3881 | + ac_status=$? | ||
| 3882 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3883 | + (exit $ac_status); }; } && | ||
| 3884 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3885 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3886 | (eval $ac_try) 2>&5 | ||
| 3887 | ac_status=$? | ||
| 3888 | @@ -4399,7 +4626,7 @@ | ||
| 3889 | |||
| 3890 | ac_cv_type_size_t=no | ||
| 3891 | fi | ||
| 3892 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3893 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3894 | fi | ||
| 3895 | echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 | ||
| 3896 | echo "${ECHO_T}$ac_cv_type_size_t" >&6 | ||
| 3897 | @@ -4419,7 +4646,6 @@ | ||
| 3898 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3899 | else | ||
| 3900 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3901 | -#line $LINENO "configure" | ||
| 3902 | /* confdefs.h. */ | ||
| 3903 | _ACEOF | ||
| 3904 | cat confdefs.h >>conftest.$ac_ext | ||
| 3905 | @@ -4468,11 +4694,20 @@ | ||
| 3906 | _ACEOF | ||
| 3907 | rm -f conftest.$ac_objext | ||
| 3908 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3909 | - (eval $ac_compile) 2>&5 | ||
| 3910 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3911 | ac_status=$? | ||
| 3912 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3913 | + rm -f conftest.er1 | ||
| 3914 | + cat conftest.err >&5 | ||
| 3915 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3916 | (exit $ac_status); } && | ||
| 3917 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3918 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3919 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3920 | + (eval $ac_try) 2>&5 | ||
| 3921 | + ac_status=$? | ||
| 3922 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3923 | + (exit $ac_status); }; } && | ||
| 3924 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3925 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3926 | (eval $ac_try) 2>&5 | ||
| 3927 | ac_status=$? | ||
| 3928 | @@ -4485,7 +4720,7 @@ | ||
| 3929 | |||
| 3930 | ac_cv_header_stdbool_h=no | ||
| 3931 | fi | ||
| 3932 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3933 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3934 | fi | ||
| 3935 | echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 | ||
| 3936 | echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 | ||
| 3937 | @@ -4495,7 +4730,6 @@ | ||
| 3938 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 3939 | else | ||
| 3940 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3941 | -#line $LINENO "configure" | ||
| 3942 | /* confdefs.h. */ | ||
| 3943 | _ACEOF | ||
| 3944 | cat confdefs.h >>conftest.$ac_ext | ||
| 3945 | @@ -4515,11 +4749,20 @@ | ||
| 3946 | _ACEOF | ||
| 3947 | rm -f conftest.$ac_objext | ||
| 3948 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3949 | - (eval $ac_compile) 2>&5 | ||
| 3950 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3951 | ac_status=$? | ||
| 3952 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3953 | + rm -f conftest.er1 | ||
| 3954 | + cat conftest.err >&5 | ||
| 3955 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3956 | (exit $ac_status); } && | ||
| 3957 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3958 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3959 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3960 | + (eval $ac_try) 2>&5 | ||
| 3961 | + ac_status=$? | ||
| 3962 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3963 | + (exit $ac_status); }; } && | ||
| 3964 | + { ac_try='test -s conftest.$ac_objext' | ||
| 3965 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 3966 | (eval $ac_try) 2>&5 | ||
| 3967 | ac_status=$? | ||
| 3968 | @@ -4532,7 +4775,7 @@ | ||
| 3969 | |||
| 3970 | ac_cv_type__Bool=no | ||
| 3971 | fi | ||
| 3972 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 3973 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 3974 | fi | ||
| 3975 | echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 | ||
| 3976 | echo "${ECHO_T}$ac_cv_type__Bool" >&6 | ||
| 3977 | @@ -4589,7 +4832,6 @@ | ||
| 3978 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 3979 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 3980 | cat >conftest.$ac_ext <<_ACEOF | ||
| 3981 | -#line $LINENO "configure" | ||
| 3982 | /* confdefs.h. */ | ||
| 3983 | _ACEOF | ||
| 3984 | cat confdefs.h >>conftest.$ac_ext | ||
| 3985 | @@ -4600,11 +4842,20 @@ | ||
| 3986 | _ACEOF | ||
| 3987 | rm -f conftest.$ac_objext | ||
| 3988 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 3989 | - (eval $ac_compile) 2>&5 | ||
| 3990 | + (eval $ac_compile) 2>conftest.er1 | ||
| 3991 | ac_status=$? | ||
| 3992 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 3993 | + rm -f conftest.er1 | ||
| 3994 | + cat conftest.err >&5 | ||
| 3995 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 3996 | (exit $ac_status); } && | ||
| 3997 | - { ac_try='test -s conftest.$ac_objext' | ||
| 3998 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 3999 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4000 | + (eval $ac_try) 2>&5 | ||
| 4001 | + ac_status=$? | ||
| 4002 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4003 | + (exit $ac_status); }; } && | ||
| 4004 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4005 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4006 | (eval $ac_try) 2>&5 | ||
| 4007 | ac_status=$? | ||
| 4008 | @@ -4617,7 +4868,7 @@ | ||
| 4009 | |||
| 4010 | ac_header_compiler=no | ||
| 4011 | fi | ||
| 4012 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4013 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4014 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4015 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4016 | |||
| 4017 | @@ -4625,7 +4876,6 @@ | ||
| 4018 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4019 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4020 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4021 | -#line $LINENO "configure" | ||
| 4022 | /* confdefs.h. */ | ||
| 4023 | _ACEOF | ||
| 4024 | cat confdefs.h >>conftest.$ac_ext | ||
| 4025 | @@ -4643,6 +4893,7 @@ | ||
| 4026 | (exit $ac_status); } >/dev/null; then | ||
| 4027 | if test -s conftest.err; then | ||
| 4028 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4029 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4030 | else | ||
| 4031 | ac_cpp_err= | ||
| 4032 | fi | ||
| 4033 | @@ -4662,33 +4913,32 @@ | ||
| 4034 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4035 | |||
| 4036 | # So? What about this header? | ||
| 4037 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4038 | - yes:no ) | ||
| 4039 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4040 | + yes:no: ) | ||
| 4041 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4042 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4043 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4044 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4045 | - ( | ||
| 4046 | - cat <<\_ASBOX | ||
| 4047 | -## ------------------------------------ ## | ||
| 4048 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4049 | -## ------------------------------------ ## | ||
| 4050 | -_ASBOX | ||
| 4051 | - ) | | ||
| 4052 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4053 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4054 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4055 | + ac_header_preproc=yes | ||
| 4056 | ;; | ||
| 4057 | - no:yes ) | ||
| 4058 | + no:yes:* ) | ||
| 4059 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4060 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4061 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4062 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4063 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4064 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4065 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4066 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4067 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4068 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4069 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4070 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4071 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4072 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4073 | ( | ||
| 4074 | cat <<\_ASBOX | ||
| 4075 | -## ------------------------------------ ## | ||
| 4076 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4077 | -## ------------------------------------ ## | ||
| 4078 | +## -------------------------------- ## | ||
| 4079 | +## Report this to bug-patch@gnu.org ## | ||
| 4080 | +## -------------------------------- ## | ||
| 4081 | _ASBOX | ||
| 4082 | ) | | ||
| 4083 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4084 | @@ -4699,7 +4949,7 @@ | ||
| 4085 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4086 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4087 | else | ||
| 4088 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4089 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4090 | fi | ||
| 4091 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4092 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4093 | @@ -4733,7 +4983,6 @@ | ||
| 4094 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 4095 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 4096 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4097 | -#line $LINENO "configure" | ||
| 4098 | /* confdefs.h. */ | ||
| 4099 | _ACEOF | ||
| 4100 | cat confdefs.h >>conftest.$ac_ext | ||
| 4101 | @@ -4744,11 +4993,20 @@ | ||
| 4102 | _ACEOF | ||
| 4103 | rm -f conftest.$ac_objext | ||
| 4104 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4105 | - (eval $ac_compile) 2>&5 | ||
| 4106 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4107 | ac_status=$? | ||
| 4108 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4109 | + rm -f conftest.er1 | ||
| 4110 | + cat conftest.err >&5 | ||
| 4111 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4112 | (exit $ac_status); } && | ||
| 4113 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4114 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4115 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4116 | + (eval $ac_try) 2>&5 | ||
| 4117 | + ac_status=$? | ||
| 4118 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4119 | + (exit $ac_status); }; } && | ||
| 4120 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4121 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4122 | (eval $ac_try) 2>&5 | ||
| 4123 | ac_status=$? | ||
| 4124 | @@ -4761,7 +5019,7 @@ | ||
| 4125 | |||
| 4126 | ac_header_compiler=no | ||
| 4127 | fi | ||
| 4128 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4129 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4130 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4131 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4132 | |||
| 4133 | @@ -4769,7 +5027,6 @@ | ||
| 4134 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4135 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4136 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4137 | -#line $LINENO "configure" | ||
| 4138 | /* confdefs.h. */ | ||
| 4139 | _ACEOF | ||
| 4140 | cat confdefs.h >>conftest.$ac_ext | ||
| 4141 | @@ -4787,6 +5044,7 @@ | ||
| 4142 | (exit $ac_status); } >/dev/null; then | ||
| 4143 | if test -s conftest.err; then | ||
| 4144 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4145 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4146 | else | ||
| 4147 | ac_cpp_err= | ||
| 4148 | fi | ||
| 4149 | @@ -4806,33 +5064,32 @@ | ||
| 4150 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4151 | |||
| 4152 | # So? What about this header? | ||
| 4153 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4154 | - yes:no ) | ||
| 4155 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4156 | + yes:no: ) | ||
| 4157 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4158 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4159 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4160 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4161 | - ( | ||
| 4162 | - cat <<\_ASBOX | ||
| 4163 | -## ------------------------------------ ## | ||
| 4164 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4165 | -## ------------------------------------ ## | ||
| 4166 | -_ASBOX | ||
| 4167 | - ) | | ||
| 4168 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4169 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4170 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4171 | + ac_header_preproc=yes | ||
| 4172 | ;; | ||
| 4173 | - no:yes ) | ||
| 4174 | + no:yes:* ) | ||
| 4175 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4176 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4177 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4178 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4179 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4180 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4181 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4182 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4183 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4184 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4185 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4186 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4187 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4188 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4189 | ( | ||
| 4190 | cat <<\_ASBOX | ||
| 4191 | -## ------------------------------------ ## | ||
| 4192 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4193 | -## ------------------------------------ ## | ||
| 4194 | +## -------------------------------- ## | ||
| 4195 | +## Report this to bug-patch@gnu.org ## | ||
| 4196 | +## -------------------------------- ## | ||
| 4197 | _ASBOX | ||
| 4198 | ) | | ||
| 4199 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4200 | @@ -4843,7 +5100,7 @@ | ||
| 4201 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4202 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4203 | else | ||
| 4204 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4205 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4206 | fi | ||
| 4207 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4208 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4209 | @@ -4865,7 +5122,6 @@ | ||
| 4210 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4211 | else | ||
| 4212 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4213 | -#line $LINENO "configure" | ||
| 4214 | /* confdefs.h. */ | ||
| 4215 | _ACEOF | ||
| 4216 | cat confdefs.h >>conftest.$ac_ext | ||
| 4217 | @@ -4886,11 +5142,20 @@ | ||
| 4218 | _ACEOF | ||
| 4219 | rm -f conftest.$ac_objext | ||
| 4220 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4221 | - (eval $ac_compile) 2>&5 | ||
| 4222 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4223 | ac_status=$? | ||
| 4224 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4225 | + rm -f conftest.er1 | ||
| 4226 | + cat conftest.err >&5 | ||
| 4227 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4228 | (exit $ac_status); } && | ||
| 4229 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4230 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4231 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4232 | + (eval $ac_try) 2>&5 | ||
| 4233 | + ac_status=$? | ||
| 4234 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4235 | + (exit $ac_status); }; } && | ||
| 4236 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4237 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4238 | (eval $ac_try) 2>&5 | ||
| 4239 | ac_status=$? | ||
| 4240 | @@ -4903,7 +5168,7 @@ | ||
| 4241 | |||
| 4242 | ac_cv_header_time=no | ||
| 4243 | fi | ||
| 4244 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4245 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4246 | fi | ||
| 4247 | echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 | ||
| 4248 | echo "${ECHO_T}$ac_cv_header_time" >&6 | ||
| 4249 | @@ -4933,7 +5198,6 @@ | ||
| 4250 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4251 | else | ||
| 4252 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4253 | -#line $LINENO "configure" | ||
| 4254 | /* confdefs.h. */ | ||
| 4255 | _ACEOF | ||
| 4256 | cat confdefs.h >>conftest.$ac_ext | ||
| 4257 | @@ -4964,11 +5228,20 @@ | ||
| 4258 | _ACEOF | ||
| 4259 | rm -f conftest.$ac_objext | ||
| 4260 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4261 | - (eval $ac_compile) 2>&5 | ||
| 4262 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4263 | ac_status=$? | ||
| 4264 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4265 | + rm -f conftest.er1 | ||
| 4266 | + cat conftest.err >&5 | ||
| 4267 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4268 | (exit $ac_status); } && | ||
| 4269 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4270 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4271 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4272 | + (eval $ac_try) 2>&5 | ||
| 4273 | + ac_status=$? | ||
| 4274 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4275 | + (exit $ac_status); }; } && | ||
| 4276 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4277 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4278 | (eval $ac_try) 2>&5 | ||
| 4279 | ac_status=$? | ||
| 4280 | @@ -4981,7 +5254,7 @@ | ||
| 4281 | |||
| 4282 | fu_cv_sys_struct_utimbuf=no | ||
| 4283 | fi | ||
| 4284 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4285 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4286 | |||
| 4287 | fi | ||
| 4288 | echo "$as_me:$LINENO: result: $fu_cv_sys_struct_utimbuf" >&5 | ||
| 4289 | @@ -5005,7 +5278,6 @@ | ||
| 4290 | ac_cv_func_closedir_void=yes | ||
| 4291 | else | ||
| 4292 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4293 | -#line $LINENO "configure" | ||
| 4294 | /* confdefs.h. */ | ||
| 4295 | _ACEOF | ||
| 4296 | cat confdefs.h >>conftest.$ac_ext | ||
| 4297 | @@ -5045,7 +5317,7 @@ | ||
| 4298 | ( exit $ac_status ) | ||
| 4299 | ac_cv_func_closedir_void=yes | ||
| 4300 | fi | ||
| 4301 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 4302 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 4303 | fi | ||
| 4304 | fi | ||
| 4305 | echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 | ||
| 4306 | @@ -5076,7 +5348,6 @@ | ||
| 4307 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 4308 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 4309 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4310 | -#line $LINENO "configure" | ||
| 4311 | /* confdefs.h. */ | ||
| 4312 | _ACEOF | ||
| 4313 | cat confdefs.h >>conftest.$ac_ext | ||
| 4314 | @@ -5087,11 +5358,20 @@ | ||
| 4315 | _ACEOF | ||
| 4316 | rm -f conftest.$ac_objext | ||
| 4317 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4318 | - (eval $ac_compile) 2>&5 | ||
| 4319 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4320 | ac_status=$? | ||
| 4321 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4322 | + rm -f conftest.er1 | ||
| 4323 | + cat conftest.err >&5 | ||
| 4324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4325 | (exit $ac_status); } && | ||
| 4326 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4327 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4328 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4329 | + (eval $ac_try) 2>&5 | ||
| 4330 | + ac_status=$? | ||
| 4331 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4332 | + (exit $ac_status); }; } && | ||
| 4333 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4334 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4335 | (eval $ac_try) 2>&5 | ||
| 4336 | ac_status=$? | ||
| 4337 | @@ -5104,7 +5384,7 @@ | ||
| 4338 | |||
| 4339 | ac_header_compiler=no | ||
| 4340 | fi | ||
| 4341 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4342 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4343 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4344 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4345 | |||
| 4346 | @@ -5112,7 +5392,6 @@ | ||
| 4347 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4348 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4349 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4350 | -#line $LINENO "configure" | ||
| 4351 | /* confdefs.h. */ | ||
| 4352 | _ACEOF | ||
| 4353 | cat confdefs.h >>conftest.$ac_ext | ||
| 4354 | @@ -5130,6 +5409,7 @@ | ||
| 4355 | (exit $ac_status); } >/dev/null; then | ||
| 4356 | if test -s conftest.err; then | ||
| 4357 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4358 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4359 | else | ||
| 4360 | ac_cpp_err= | ||
| 4361 | fi | ||
| 4362 | @@ -5149,33 +5429,32 @@ | ||
| 4363 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4364 | |||
| 4365 | # So? What about this header? | ||
| 4366 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4367 | - yes:no ) | ||
| 4368 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4369 | + yes:no: ) | ||
| 4370 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4371 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4372 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4373 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4374 | - ( | ||
| 4375 | - cat <<\_ASBOX | ||
| 4376 | -## ------------------------------------ ## | ||
| 4377 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4378 | -## ------------------------------------ ## | ||
| 4379 | -_ASBOX | ||
| 4380 | - ) | | ||
| 4381 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4382 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4383 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4384 | + ac_header_preproc=yes | ||
| 4385 | ;; | ||
| 4386 | - no:yes ) | ||
| 4387 | + no:yes:* ) | ||
| 4388 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4389 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4390 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4391 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4392 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4393 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4394 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4395 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4396 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4397 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4398 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4399 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4400 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4401 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4402 | ( | ||
| 4403 | cat <<\_ASBOX | ||
| 4404 | -## ------------------------------------ ## | ||
| 4405 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4406 | -## ------------------------------------ ## | ||
| 4407 | +## -------------------------------- ## | ||
| 4408 | +## Report this to bug-patch@gnu.org ## | ||
| 4409 | +## -------------------------------- ## | ||
| 4410 | _ASBOX | ||
| 4411 | ) | | ||
| 4412 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4413 | @@ -5186,7 +5465,7 @@ | ||
| 4414 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4415 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4416 | else | ||
| 4417 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4418 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4419 | fi | ||
| 4420 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4421 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4422 | @@ -5220,7 +5499,6 @@ | ||
| 4423 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 4424 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 4425 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4426 | -#line $LINENO "configure" | ||
| 4427 | /* confdefs.h. */ | ||
| 4428 | _ACEOF | ||
| 4429 | cat confdefs.h >>conftest.$ac_ext | ||
| 4430 | @@ -5231,11 +5509,20 @@ | ||
| 4431 | _ACEOF | ||
| 4432 | rm -f conftest.$ac_objext | ||
| 4433 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4434 | - (eval $ac_compile) 2>&5 | ||
| 4435 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4436 | ac_status=$? | ||
| 4437 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4438 | + rm -f conftest.er1 | ||
| 4439 | + cat conftest.err >&5 | ||
| 4440 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4441 | (exit $ac_status); } && | ||
| 4442 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4443 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4444 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4445 | + (eval $ac_try) 2>&5 | ||
| 4446 | + ac_status=$? | ||
| 4447 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4448 | + (exit $ac_status); }; } && | ||
| 4449 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4450 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4451 | (eval $ac_try) 2>&5 | ||
| 4452 | ac_status=$? | ||
| 4453 | @@ -5248,7 +5535,7 @@ | ||
| 4454 | |||
| 4455 | ac_header_compiler=no | ||
| 4456 | fi | ||
| 4457 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4458 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4459 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4460 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4461 | |||
| 4462 | @@ -5256,7 +5543,6 @@ | ||
| 4463 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4464 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4465 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4466 | -#line $LINENO "configure" | ||
| 4467 | /* confdefs.h. */ | ||
| 4468 | _ACEOF | ||
| 4469 | cat confdefs.h >>conftest.$ac_ext | ||
| 4470 | @@ -5274,6 +5560,7 @@ | ||
| 4471 | (exit $ac_status); } >/dev/null; then | ||
| 4472 | if test -s conftest.err; then | ||
| 4473 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4474 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4475 | else | ||
| 4476 | ac_cpp_err= | ||
| 4477 | fi | ||
| 4478 | @@ -5293,33 +5580,32 @@ | ||
| 4479 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4480 | |||
| 4481 | # So? What about this header? | ||
| 4482 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4483 | - yes:no ) | ||
| 4484 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4485 | + yes:no: ) | ||
| 4486 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4487 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4488 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4489 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4490 | - ( | ||
| 4491 | - cat <<\_ASBOX | ||
| 4492 | -## ------------------------------------ ## | ||
| 4493 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4494 | -## ------------------------------------ ## | ||
| 4495 | -_ASBOX | ||
| 4496 | - ) | | ||
| 4497 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4498 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4499 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4500 | + ac_header_preproc=yes | ||
| 4501 | ;; | ||
| 4502 | - no:yes ) | ||
| 4503 | + no:yes:* ) | ||
| 4504 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4505 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4506 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4507 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4508 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4509 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4510 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4511 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4512 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4513 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4514 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4515 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4516 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4517 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4518 | ( | ||
| 4519 | cat <<\_ASBOX | ||
| 4520 | -## ------------------------------------ ## | ||
| 4521 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4522 | -## ------------------------------------ ## | ||
| 4523 | +## -------------------------------- ## | ||
| 4524 | +## Report this to bug-patch@gnu.org ## | ||
| 4525 | +## -------------------------------- ## | ||
| 4526 | _ASBOX | ||
| 4527 | ) | | ||
| 4528 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4529 | @@ -5330,7 +5616,7 @@ | ||
| 4530 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4531 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4532 | else | ||
| 4533 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4534 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4535 | fi | ||
| 4536 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4537 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4538 | @@ -5364,7 +5650,6 @@ | ||
| 4539 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 4540 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 4541 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4542 | -#line $LINENO "configure" | ||
| 4543 | /* confdefs.h. */ | ||
| 4544 | _ACEOF | ||
| 4545 | cat confdefs.h >>conftest.$ac_ext | ||
| 4546 | @@ -5375,11 +5660,20 @@ | ||
| 4547 | _ACEOF | ||
| 4548 | rm -f conftest.$ac_objext | ||
| 4549 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4550 | - (eval $ac_compile) 2>&5 | ||
| 4551 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4552 | ac_status=$? | ||
| 4553 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4554 | + rm -f conftest.er1 | ||
| 4555 | + cat conftest.err >&5 | ||
| 4556 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4557 | (exit $ac_status); } && | ||
| 4558 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4559 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4560 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4561 | + (eval $ac_try) 2>&5 | ||
| 4562 | + ac_status=$? | ||
| 4563 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4564 | + (exit $ac_status); }; } && | ||
| 4565 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4566 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4567 | (eval $ac_try) 2>&5 | ||
| 4568 | ac_status=$? | ||
| 4569 | @@ -5392,7 +5686,7 @@ | ||
| 4570 | |||
| 4571 | ac_header_compiler=no | ||
| 4572 | fi | ||
| 4573 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4574 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4575 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4576 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4577 | |||
| 4578 | @@ -5400,7 +5694,6 @@ | ||
| 4579 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4580 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4581 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4582 | -#line $LINENO "configure" | ||
| 4583 | /* confdefs.h. */ | ||
| 4584 | _ACEOF | ||
| 4585 | cat confdefs.h >>conftest.$ac_ext | ||
| 4586 | @@ -5418,6 +5711,7 @@ | ||
| 4587 | (exit $ac_status); } >/dev/null; then | ||
| 4588 | if test -s conftest.err; then | ||
| 4589 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4590 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4591 | else | ||
| 4592 | ac_cpp_err= | ||
| 4593 | fi | ||
| 4594 | @@ -5437,33 +5731,32 @@ | ||
| 4595 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4596 | |||
| 4597 | # So? What about this header? | ||
| 4598 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4599 | - yes:no ) | ||
| 4600 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4601 | + yes:no: ) | ||
| 4602 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4603 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4604 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4605 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4606 | - ( | ||
| 4607 | - cat <<\_ASBOX | ||
| 4608 | -## ------------------------------------ ## | ||
| 4609 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4610 | -## ------------------------------------ ## | ||
| 4611 | -_ASBOX | ||
| 4612 | - ) | | ||
| 4613 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4614 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4615 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4616 | + ac_header_preproc=yes | ||
| 4617 | ;; | ||
| 4618 | - no:yes ) | ||
| 4619 | + no:yes:* ) | ||
| 4620 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4621 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4622 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4623 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4624 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4625 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4626 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4627 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4628 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4629 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4630 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4631 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4632 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4633 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4634 | ( | ||
| 4635 | cat <<\_ASBOX | ||
| 4636 | -## ------------------------------------ ## | ||
| 4637 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4638 | -## ------------------------------------ ## | ||
| 4639 | +## -------------------------------- ## | ||
| 4640 | +## Report this to bug-patch@gnu.org ## | ||
| 4641 | +## -------------------------------- ## | ||
| 4642 | _ASBOX | ||
| 4643 | ) | | ||
| 4644 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4645 | @@ -5474,7 +5767,7 @@ | ||
| 4646 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4647 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4648 | else | ||
| 4649 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4650 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4651 | fi | ||
| 4652 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4653 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4654 | @@ -5497,7 +5790,6 @@ | ||
| 4655 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4656 | else | ||
| 4657 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4658 | -#line $LINENO "configure" | ||
| 4659 | /* confdefs.h. */ | ||
| 4660 | _ACEOF | ||
| 4661 | cat confdefs.h >>conftest.$ac_ext | ||
| 4662 | @@ -5517,11 +5809,20 @@ | ||
| 4663 | _ACEOF | ||
| 4664 | rm -f conftest.$ac_objext | ||
| 4665 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4666 | - (eval $ac_compile) 2>&5 | ||
| 4667 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4668 | ac_status=$? | ||
| 4669 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4670 | + rm -f conftest.er1 | ||
| 4671 | + cat conftest.err >&5 | ||
| 4672 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4673 | (exit $ac_status); } && | ||
| 4674 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4675 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4676 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4677 | + (eval $ac_try) 2>&5 | ||
| 4678 | + ac_status=$? | ||
| 4679 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4680 | + (exit $ac_status); }; } && | ||
| 4681 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4682 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4683 | (eval $ac_try) 2>&5 | ||
| 4684 | ac_status=$? | ||
| 4685 | @@ -5534,7 +5835,7 @@ | ||
| 4686 | |||
| 4687 | ac_cv_have_decl_getenv=no | ||
| 4688 | fi | ||
| 4689 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4690 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4691 | fi | ||
| 4692 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 | ||
| 4693 | echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6 | ||
| 4694 | @@ -5562,7 +5863,6 @@ | ||
| 4695 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4696 | else | ||
| 4697 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4698 | -#line $LINENO "configure" | ||
| 4699 | /* confdefs.h. */ | ||
| 4700 | _ACEOF | ||
| 4701 | cat confdefs.h >>conftest.$ac_ext | ||
| 4702 | @@ -5582,11 +5882,20 @@ | ||
| 4703 | _ACEOF | ||
| 4704 | rm -f conftest.$ac_objext | ||
| 4705 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4706 | - (eval $ac_compile) 2>&5 | ||
| 4707 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4708 | ac_status=$? | ||
| 4709 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4710 | + rm -f conftest.er1 | ||
| 4711 | + cat conftest.err >&5 | ||
| 4712 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4713 | (exit $ac_status); } && | ||
| 4714 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4715 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4716 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4717 | + (eval $ac_try) 2>&5 | ||
| 4718 | + ac_status=$? | ||
| 4719 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4720 | + (exit $ac_status); }; } && | ||
| 4721 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4722 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4723 | (eval $ac_try) 2>&5 | ||
| 4724 | ac_status=$? | ||
| 4725 | @@ -5599,7 +5908,7 @@ | ||
| 4726 | |||
| 4727 | ac_cv_have_decl_malloc=no | ||
| 4728 | fi | ||
| 4729 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4730 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4731 | fi | ||
| 4732 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_malloc" >&5 | ||
| 4733 | echo "${ECHO_T}$ac_cv_have_decl_malloc" >&6 | ||
| 4734 | @@ -5628,7 +5937,6 @@ | ||
| 4735 | else | ||
| 4736 | |||
| 4737 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4738 | -#line $LINENO "configure" | ||
| 4739 | /* confdefs.h. */ | ||
| 4740 | _ACEOF | ||
| 4741 | cat confdefs.h >>conftest.$ac_ext | ||
| 4742 | @@ -5647,11 +5955,20 @@ | ||
| 4743 | _ACEOF | ||
| 4744 | rm -f conftest.$ac_objext | ||
| 4745 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4746 | - (eval $ac_compile) 2>&5 | ||
| 4747 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4748 | ac_status=$? | ||
| 4749 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4750 | + rm -f conftest.er1 | ||
| 4751 | + cat conftest.err >&5 | ||
| 4752 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4753 | (exit $ac_status); } && | ||
| 4754 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4755 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4756 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4757 | + (eval $ac_try) 2>&5 | ||
| 4758 | + ac_status=$? | ||
| 4759 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4760 | + (exit $ac_status); }; } && | ||
| 4761 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4762 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4763 | (eval $ac_try) 2>&5 | ||
| 4764 | ac_status=$? | ||
| 4765 | @@ -5664,7 +5981,7 @@ | ||
| 4766 | |||
| 4767 | ac_cv_win_or_dos=no | ||
| 4768 | fi | ||
| 4769 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4770 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4771 | |||
| 4772 | fi | ||
| 4773 | echo "$as_me:$LINENO: result: $ac_cv_win_or_dos" >&5 | ||
| 4774 | @@ -5714,7 +6031,6 @@ | ||
| 4775 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 4776 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 4777 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4778 | -#line $LINENO "configure" | ||
| 4779 | /* confdefs.h. */ | ||
| 4780 | _ACEOF | ||
| 4781 | cat confdefs.h >>conftest.$ac_ext | ||
| 4782 | @@ -5725,11 +6041,20 @@ | ||
| 4783 | _ACEOF | ||
| 4784 | rm -f conftest.$ac_objext | ||
| 4785 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 4786 | - (eval $ac_compile) 2>&5 | ||
| 4787 | + (eval $ac_compile) 2>conftest.er1 | ||
| 4788 | ac_status=$? | ||
| 4789 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4790 | + rm -f conftest.er1 | ||
| 4791 | + cat conftest.err >&5 | ||
| 4792 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4793 | (exit $ac_status); } && | ||
| 4794 | - { ac_try='test -s conftest.$ac_objext' | ||
| 4795 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4796 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4797 | + (eval $ac_try) 2>&5 | ||
| 4798 | + ac_status=$? | ||
| 4799 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4800 | + (exit $ac_status); }; } && | ||
| 4801 | + { ac_try='test -s conftest.$ac_objext' | ||
| 4802 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4803 | (eval $ac_try) 2>&5 | ||
| 4804 | ac_status=$? | ||
| 4805 | @@ -5742,7 +6067,7 @@ | ||
| 4806 | |||
| 4807 | ac_header_compiler=no | ||
| 4808 | fi | ||
| 4809 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 4810 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 4811 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 4812 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 4813 | |||
| 4814 | @@ -5750,7 +6075,6 @@ | ||
| 4815 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 4816 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 4817 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4818 | -#line $LINENO "configure" | ||
| 4819 | /* confdefs.h. */ | ||
| 4820 | _ACEOF | ||
| 4821 | cat confdefs.h >>conftest.$ac_ext | ||
| 4822 | @@ -5768,6 +6092,7 @@ | ||
| 4823 | (exit $ac_status); } >/dev/null; then | ||
| 4824 | if test -s conftest.err; then | ||
| 4825 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 4826 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 4827 | else | ||
| 4828 | ac_cpp_err= | ||
| 4829 | fi | ||
| 4830 | @@ -5787,33 +6112,32 @@ | ||
| 4831 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 4832 | |||
| 4833 | # So? What about this header? | ||
| 4834 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 4835 | - yes:no ) | ||
| 4836 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 4837 | + yes:no: ) | ||
| 4838 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 4839 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 4840 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4841 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4842 | - ( | ||
| 4843 | - cat <<\_ASBOX | ||
| 4844 | -## ------------------------------------ ## | ||
| 4845 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4846 | -## ------------------------------------ ## | ||
| 4847 | -_ASBOX | ||
| 4848 | - ) | | ||
| 4849 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4850 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 4851 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 4852 | + ac_header_preproc=yes | ||
| 4853 | ;; | ||
| 4854 | - no:yes ) | ||
| 4855 | + no:yes:* ) | ||
| 4856 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 4857 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 4858 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4859 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4860 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 4861 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 4862 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 4863 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 4864 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 4865 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 4866 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 4867 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 4868 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 4869 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 4870 | ( | ||
| 4871 | cat <<\_ASBOX | ||
| 4872 | -## ------------------------------------ ## | ||
| 4873 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 4874 | -## ------------------------------------ ## | ||
| 4875 | +## -------------------------------- ## | ||
| 4876 | +## Report this to bug-patch@gnu.org ## | ||
| 4877 | +## -------------------------------- ## | ||
| 4878 | _ASBOX | ||
| 4879 | ) | | ||
| 4880 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 4881 | @@ -5824,7 +6148,7 @@ | ||
| 4882 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 4883 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4884 | else | ||
| 4885 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 4886 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 4887 | fi | ||
| 4888 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 4889 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 4890 | @@ -5872,7 +6196,6 @@ | ||
| 4891 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4892 | else | ||
| 4893 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4894 | -#line $LINENO "configure" | ||
| 4895 | /* confdefs.h. */ | ||
| 4896 | _ACEOF | ||
| 4897 | cat confdefs.h >>conftest.$ac_ext | ||
| 4898 | @@ -5905,11 +6228,20 @@ | ||
| 4899 | _ACEOF | ||
| 4900 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 4901 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 4902 | - (eval $ac_link) 2>&5 | ||
| 4903 | + (eval $ac_link) 2>conftest.er1 | ||
| 4904 | ac_status=$? | ||
| 4905 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4906 | + rm -f conftest.er1 | ||
| 4907 | + cat conftest.err >&5 | ||
| 4908 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4909 | (exit $ac_status); } && | ||
| 4910 | - { ac_try='test -s conftest$ac_exeext' | ||
| 4911 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4912 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4913 | + (eval $ac_try) 2>&5 | ||
| 4914 | + ac_status=$? | ||
| 4915 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4916 | + (exit $ac_status); }; } && | ||
| 4917 | + { ac_try='test -s conftest$ac_exeext' | ||
| 4918 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4919 | (eval $ac_try) 2>&5 | ||
| 4920 | ac_status=$? | ||
| 4921 | @@ -5922,7 +6254,8 @@ | ||
| 4922 | |||
| 4923 | jm_cv_struct_dirent_d_ino=no | ||
| 4924 | fi | ||
| 4925 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 4926 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 4927 | + conftest$ac_exeext conftest.$ac_ext | ||
| 4928 | |||
| 4929 | |||
| 4930 | fi | ||
| 4931 | @@ -6011,21 +6344,28 @@ | ||
| 4932 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4933 | else | ||
| 4934 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4935 | -#line $LINENO "configure" | ||
| 4936 | /* confdefs.h. */ | ||
| 4937 | _ACEOF | ||
| 4938 | cat confdefs.h >>conftest.$ac_ext | ||
| 4939 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 4940 | /* end confdefs.h. */ | ||
| 4941 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 4942 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 4943 | +#define $ac_func innocuous_$ac_func | ||
| 4944 | + | ||
| 4945 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 4946 | which can conflict with char $ac_func (); below. | ||
| 4947 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 4948 | <limits.h> exists even on freestanding compilers. */ | ||
| 4949 | + | ||
| 4950 | #ifdef __STDC__ | ||
| 4951 | # include <limits.h> | ||
| 4952 | #else | ||
| 4953 | # include <assert.h> | ||
| 4954 | #endif | ||
| 4955 | + | ||
| 4956 | +#undef $ac_func | ||
| 4957 | + | ||
| 4958 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 4959 | #ifdef __cplusplus | ||
| 4960 | extern "C" | ||
| 4961 | @@ -6056,11 +6396,20 @@ | ||
| 4962 | _ACEOF | ||
| 4963 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 4964 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 4965 | - (eval $ac_link) 2>&5 | ||
| 4966 | + (eval $ac_link) 2>conftest.er1 | ||
| 4967 | ac_status=$? | ||
| 4968 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4969 | + rm -f conftest.er1 | ||
| 4970 | + cat conftest.err >&5 | ||
| 4971 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4972 | (exit $ac_status); } && | ||
| 4973 | - { ac_try='test -s conftest$ac_exeext' | ||
| 4974 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 4975 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4976 | + (eval $ac_try) 2>&5 | ||
| 4977 | + ac_status=$? | ||
| 4978 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4979 | + (exit $ac_status); }; } && | ||
| 4980 | + { ac_try='test -s conftest$ac_exeext' | ||
| 4981 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 4982 | (eval $ac_try) 2>&5 | ||
| 4983 | ac_status=$? | ||
| 4984 | @@ -6073,7 +6422,8 @@ | ||
| 4985 | |||
| 4986 | eval "$as_ac_var=no" | ||
| 4987 | fi | ||
| 4988 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 4989 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 4990 | + conftest$ac_exeext conftest.$ac_ext | ||
| 4991 | fi | ||
| 4992 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 4993 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 4994 | @@ -6126,21 +6476,28 @@ | ||
| 4995 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4996 | else | ||
| 4997 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4998 | -#line $LINENO "configure" | ||
| 4999 | /* confdefs.h. */ | ||
| 5000 | _ACEOF | ||
| 5001 | cat confdefs.h >>conftest.$ac_ext | ||
| 5002 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5003 | /* end confdefs.h. */ | ||
| 5004 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 5005 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5006 | +#define $ac_func innocuous_$ac_func | ||
| 5007 | + | ||
| 5008 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5009 | which can conflict with char $ac_func (); below. | ||
| 5010 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5011 | <limits.h> exists even on freestanding compilers. */ | ||
| 5012 | + | ||
| 5013 | #ifdef __STDC__ | ||
| 5014 | # include <limits.h> | ||
| 5015 | #else | ||
| 5016 | # include <assert.h> | ||
| 5017 | #endif | ||
| 5018 | + | ||
| 5019 | +#undef $ac_func | ||
| 5020 | + | ||
| 5021 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5022 | #ifdef __cplusplus | ||
| 5023 | extern "C" | ||
| 5024 | @@ -6171,11 +6528,20 @@ | ||
| 5025 | _ACEOF | ||
| 5026 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5027 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5028 | - (eval $ac_link) 2>&5 | ||
| 5029 | + (eval $ac_link) 2>conftest.er1 | ||
| 5030 | ac_status=$? | ||
| 5031 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5032 | + rm -f conftest.er1 | ||
| 5033 | + cat conftest.err >&5 | ||
| 5034 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5035 | (exit $ac_status); } && | ||
| 5036 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5037 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5038 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5039 | + (eval $ac_try) 2>&5 | ||
| 5040 | + ac_status=$? | ||
| 5041 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5042 | + (exit $ac_status); }; } && | ||
| 5043 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5044 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5045 | (eval $ac_try) 2>&5 | ||
| 5046 | ac_status=$? | ||
| 5047 | @@ -6188,7 +6554,8 @@ | ||
| 5048 | |||
| 5049 | eval "$as_ac_var=no" | ||
| 5050 | fi | ||
| 5051 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5052 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5053 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5054 | fi | ||
| 5055 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 5056 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 5057 | @@ -6203,21 +6570,28 @@ | ||
| 5058 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5059 | else | ||
| 5060 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5061 | -#line $LINENO "configure" | ||
| 5062 | /* confdefs.h. */ | ||
| 5063 | _ACEOF | ||
| 5064 | cat confdefs.h >>conftest.$ac_ext | ||
| 5065 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5066 | /* end confdefs.h. */ | ||
| 5067 | +/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt. | ||
| 5068 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5069 | +#define _doprnt innocuous__doprnt | ||
| 5070 | + | ||
| 5071 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5072 | which can conflict with char _doprnt (); below. | ||
| 5073 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5074 | <limits.h> exists even on freestanding compilers. */ | ||
| 5075 | + | ||
| 5076 | #ifdef __STDC__ | ||
| 5077 | # include <limits.h> | ||
| 5078 | #else | ||
| 5079 | # include <assert.h> | ||
| 5080 | #endif | ||
| 5081 | + | ||
| 5082 | +#undef _doprnt | ||
| 5083 | + | ||
| 5084 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5085 | #ifdef __cplusplus | ||
| 5086 | extern "C" | ||
| 5087 | @@ -6248,11 +6622,20 @@ | ||
| 5088 | _ACEOF | ||
| 5089 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5090 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5091 | - (eval $ac_link) 2>&5 | ||
| 5092 | + (eval $ac_link) 2>conftest.er1 | ||
| 5093 | ac_status=$? | ||
| 5094 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5095 | + rm -f conftest.er1 | ||
| 5096 | + cat conftest.err >&5 | ||
| 5097 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5098 | (exit $ac_status); } && | ||
| 5099 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5100 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5101 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5102 | + (eval $ac_try) 2>&5 | ||
| 5103 | + ac_status=$? | ||
| 5104 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5105 | + (exit $ac_status); }; } && | ||
| 5106 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5107 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5108 | (eval $ac_try) 2>&5 | ||
| 5109 | ac_status=$? | ||
| 5110 | @@ -6265,7 +6648,8 @@ | ||
| 5111 | |||
| 5112 | ac_cv_func__doprnt=no | ||
| 5113 | fi | ||
| 5114 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5115 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5116 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5117 | fi | ||
| 5118 | echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 | ||
| 5119 | echo "${ECHO_T}$ac_cv_func__doprnt" >&6 | ||
| 5120 | @@ -6288,13 +6672,12 @@ | ||
| 5121 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5122 | else | ||
| 5123 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5124 | -#line $LINENO "configure" | ||
| 5125 | /* confdefs.h. */ | ||
| 5126 | _ACEOF | ||
| 5127 | cat confdefs.h >>conftest.$ac_ext | ||
| 5128 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5129 | /* end confdefs.h. */ | ||
| 5130 | - | ||
| 5131 | +$ac_includes_default | ||
| 5132 | int | ||
| 5133 | main () | ||
| 5134 | { | ||
| 5135 | @@ -6305,11 +6688,20 @@ | ||
| 5136 | _ACEOF | ||
| 5137 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5138 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5139 | - (eval $ac_link) 2>&5 | ||
| 5140 | + (eval $ac_link) 2>conftest.er1 | ||
| 5141 | ac_status=$? | ||
| 5142 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5143 | + rm -f conftest.er1 | ||
| 5144 | + cat conftest.err >&5 | ||
| 5145 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5146 | (exit $ac_status); } && | ||
| 5147 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5148 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5149 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5150 | + (eval $ac_try) 2>&5 | ||
| 5151 | + ac_status=$? | ||
| 5152 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5153 | + (exit $ac_status); }; } && | ||
| 5154 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5155 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5156 | (eval $ac_try) 2>&5 | ||
| 5157 | ac_status=$? | ||
| 5158 | @@ -6322,12 +6714,20 @@ | ||
| 5159 | |||
| 5160 | ac_cv_lib_error_at_line=no | ||
| 5161 | fi | ||
| 5162 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5163 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5164 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5165 | fi | ||
| 5166 | echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 | ||
| 5167 | echo "${ECHO_T}$ac_cv_lib_error_at_line" >&6 | ||
| 5168 | if test $ac_cv_lib_error_at_line = no; then | ||
| 5169 | - LIBOBJS="$LIBOBJS error.$ac_objext" | ||
| 5170 | + case $LIBOBJS in | ||
| 5171 | + "error.$ac_objext" | \ | ||
| 5172 | + *" error.$ac_objext" | \ | ||
| 5173 | + "error.$ac_objext "* | \ | ||
| 5174 | + *" error.$ac_objext "* ) ;; | ||
| 5175 | + *) LIBOBJS="$LIBOBJS error.$ac_objext" ;; | ||
| 5176 | +esac | ||
| 5177 | + | ||
| 5178 | fi | ||
| 5179 | |||
| 5180 | |||
| 5181 | @@ -6343,21 +6743,28 @@ | ||
| 5182 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5183 | else | ||
| 5184 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5185 | -#line $LINENO "configure" | ||
| 5186 | /* confdefs.h. */ | ||
| 5187 | _ACEOF | ||
| 5188 | cat confdefs.h >>conftest.$ac_ext | ||
| 5189 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5190 | /* end confdefs.h. */ | ||
| 5191 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 5192 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5193 | +#define $ac_func innocuous_$ac_func | ||
| 5194 | + | ||
| 5195 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5196 | which can conflict with char $ac_func (); below. | ||
| 5197 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5198 | <limits.h> exists even on freestanding compilers. */ | ||
| 5199 | + | ||
| 5200 | #ifdef __STDC__ | ||
| 5201 | # include <limits.h> | ||
| 5202 | #else | ||
| 5203 | # include <assert.h> | ||
| 5204 | #endif | ||
| 5205 | + | ||
| 5206 | +#undef $ac_func | ||
| 5207 | + | ||
| 5208 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5209 | #ifdef __cplusplus | ||
| 5210 | extern "C" | ||
| 5211 | @@ -6388,11 +6795,20 @@ | ||
| 5212 | _ACEOF | ||
| 5213 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5214 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5215 | - (eval $ac_link) 2>&5 | ||
| 5216 | + (eval $ac_link) 2>conftest.er1 | ||
| 5217 | ac_status=$? | ||
| 5218 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5219 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5220 | + rm -f conftest.er1 | ||
| 5221 | + cat conftest.err >&5 | ||
| 5222 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5223 | (exit $ac_status); } && | ||
| 5224 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5225 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5226 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5227 | + (eval $ac_try) 2>&5 | ||
| 5228 | + ac_status=$? | ||
| 5229 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5230 | + (exit $ac_status); }; } && | ||
| 5231 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5232 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5233 | (eval $ac_try) 2>&5 | ||
| 5234 | ac_status=$? | ||
| 5235 | @@ -6405,7 +6821,8 @@ | ||
| 5236 | |||
| 5237 | eval "$as_ac_var=no" | ||
| 5238 | fi | ||
| 5239 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5240 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5241 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5242 | fi | ||
| 5243 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 5244 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 5245 | @@ -6423,7 +6840,6 @@ | ||
| 5246 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5247 | else | ||
| 5248 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5249 | -#line $LINENO "configure" | ||
| 5250 | /* confdefs.h. */ | ||
| 5251 | _ACEOF | ||
| 5252 | cat confdefs.h >>conftest.$ac_ext | ||
| 5253 | @@ -6443,11 +6859,20 @@ | ||
| 5254 | _ACEOF | ||
| 5255 | rm -f conftest.$ac_objext | ||
| 5256 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5257 | - (eval $ac_compile) 2>&5 | ||
| 5258 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5259 | ac_status=$? | ||
| 5260 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5261 | + rm -f conftest.er1 | ||
| 5262 | + cat conftest.err >&5 | ||
| 5263 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5264 | (exit $ac_status); } && | ||
| 5265 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5266 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5267 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5268 | + (eval $ac_try) 2>&5 | ||
| 5269 | + ac_status=$? | ||
| 5270 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5271 | + (exit $ac_status); }; } && | ||
| 5272 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5273 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5274 | (eval $ac_try) 2>&5 | ||
| 5275 | ac_status=$? | ||
| 5276 | @@ -6460,7 +6885,7 @@ | ||
| 5277 | |||
| 5278 | ac_cv_have_decl_strerror=no | ||
| 5279 | fi | ||
| 5280 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5281 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5282 | fi | ||
| 5283 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 | ||
| 5284 | echo "${ECHO_T}$ac_cv_have_decl_strerror" >&6 | ||
| 5285 | @@ -6486,7 +6911,6 @@ | ||
| 5286 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5287 | else | ||
| 5288 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5289 | -#line $LINENO "configure" | ||
| 5290 | /* confdefs.h. */ | ||
| 5291 | _ACEOF | ||
| 5292 | cat confdefs.h >>conftest.$ac_ext | ||
| 5293 | @@ -6506,11 +6930,20 @@ | ||
| 5294 | _ACEOF | ||
| 5295 | rm -f conftest.$ac_objext | ||
| 5296 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5297 | - (eval $ac_compile) 2>&5 | ||
| 5298 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5299 | ac_status=$? | ||
| 5300 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5301 | + rm -f conftest.er1 | ||
| 5302 | + cat conftest.err >&5 | ||
| 5303 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5304 | (exit $ac_status); } && | ||
| 5305 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5306 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5307 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5308 | + (eval $ac_try) 2>&5 | ||
| 5309 | + ac_status=$? | ||
| 5310 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5311 | + (exit $ac_status); }; } && | ||
| 5312 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5313 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5314 | (eval $ac_try) 2>&5 | ||
| 5315 | ac_status=$? | ||
| 5316 | @@ -6523,7 +6956,7 @@ | ||
| 5317 | |||
| 5318 | ac_cv_have_decl_strerror_r=no | ||
| 5319 | fi | ||
| 5320 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5321 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5322 | fi | ||
| 5323 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 | ||
| 5324 | echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6 | ||
| 5325 | @@ -6553,21 +6986,28 @@ | ||
| 5326 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5327 | else | ||
| 5328 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5329 | -#line $LINENO "configure" | ||
| 5330 | /* confdefs.h. */ | ||
| 5331 | _ACEOF | ||
| 5332 | cat confdefs.h >>conftest.$ac_ext | ||
| 5333 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5334 | /* end confdefs.h. */ | ||
| 5335 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 5336 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5337 | +#define $ac_func innocuous_$ac_func | ||
| 5338 | + | ||
| 5339 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5340 | which can conflict with char $ac_func (); below. | ||
| 5341 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5342 | <limits.h> exists even on freestanding compilers. */ | ||
| 5343 | + | ||
| 5344 | #ifdef __STDC__ | ||
| 5345 | # include <limits.h> | ||
| 5346 | #else | ||
| 5347 | # include <assert.h> | ||
| 5348 | #endif | ||
| 5349 | + | ||
| 5350 | +#undef $ac_func | ||
| 5351 | + | ||
| 5352 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5353 | #ifdef __cplusplus | ||
| 5354 | extern "C" | ||
| 5355 | @@ -6598,11 +7038,20 @@ | ||
| 5356 | _ACEOF | ||
| 5357 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5358 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5359 | - (eval $ac_link) 2>&5 | ||
| 5360 | + (eval $ac_link) 2>conftest.er1 | ||
| 5361 | ac_status=$? | ||
| 5362 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5363 | + rm -f conftest.er1 | ||
| 5364 | + cat conftest.err >&5 | ||
| 5365 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5366 | (exit $ac_status); } && | ||
| 5367 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5368 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5369 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5370 | + (eval $ac_try) 2>&5 | ||
| 5371 | + ac_status=$? | ||
| 5372 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5373 | + (exit $ac_status); }; } && | ||
| 5374 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5375 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5376 | (eval $ac_try) 2>&5 | ||
| 5377 | ac_status=$? | ||
| 5378 | @@ -6615,7 +7064,8 @@ | ||
| 5379 | |||
| 5380 | eval "$as_ac_var=no" | ||
| 5381 | fi | ||
| 5382 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5383 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5384 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5385 | fi | ||
| 5386 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 5387 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 5388 | @@ -6636,7 +7086,6 @@ | ||
| 5389 | ac_cv_func_strerror_r_char_p=no | ||
| 5390 | if test $ac_cv_have_decl_strerror_r = yes; then | ||
| 5391 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5392 | -#line $LINENO "configure" | ||
| 5393 | /* confdefs.h. */ | ||
| 5394 | _ACEOF | ||
| 5395 | cat confdefs.h >>conftest.$ac_ext | ||
| 5396 | @@ -6657,11 +7106,20 @@ | ||
| 5397 | _ACEOF | ||
| 5398 | rm -f conftest.$ac_objext | ||
| 5399 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5400 | - (eval $ac_compile) 2>&5 | ||
| 5401 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5402 | ac_status=$? | ||
| 5403 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5404 | + rm -f conftest.er1 | ||
| 5405 | + cat conftest.err >&5 | ||
| 5406 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5407 | (exit $ac_status); } && | ||
| 5408 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5409 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5410 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5411 | + (eval $ac_try) 2>&5 | ||
| 5412 | + ac_status=$? | ||
| 5413 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5414 | + (exit $ac_status); }; } && | ||
| 5415 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5416 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5417 | (eval $ac_try) 2>&5 | ||
| 5418 | ac_status=$? | ||
| 5419 | @@ -6673,7 +7131,7 @@ | ||
| 5420 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 5421 | |||
| 5422 | fi | ||
| 5423 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5424 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5425 | else | ||
| 5426 | # strerror_r is not declared. Choose between | ||
| 5427 | # systems that have relatively inaccessible declarations for the | ||
| 5428 | @@ -6685,7 +7143,6 @@ | ||
| 5429 | : | ||
| 5430 | else | ||
| 5431 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5432 | -#line $LINENO "configure" | ||
| 5433 | /* confdefs.h. */ | ||
| 5434 | _ACEOF | ||
| 5435 | cat confdefs.h >>conftest.$ac_ext | ||
| 5436 | @@ -6721,7 +7178,7 @@ | ||
| 5437 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 5438 | |||
| 5439 | fi | ||
| 5440 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 5441 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 5442 | fi | ||
| 5443 | fi | ||
| 5444 | |||
| 5445 | @@ -6749,21 +7206,28 @@ | ||
| 5446 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5447 | else | ||
| 5448 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5449 | -#line $LINENO "configure" | ||
| 5450 | /* confdefs.h. */ | ||
| 5451 | _ACEOF | ||
| 5452 | cat confdefs.h >>conftest.$ac_ext | ||
| 5453 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5454 | /* end confdefs.h. */ | ||
| 5455 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 5456 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5457 | +#define $ac_func innocuous_$ac_func | ||
| 5458 | + | ||
| 5459 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5460 | which can conflict with char $ac_func (); below. | ||
| 5461 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5462 | <limits.h> exists even on freestanding compilers. */ | ||
| 5463 | + | ||
| 5464 | #ifdef __STDC__ | ||
| 5465 | # include <limits.h> | ||
| 5466 | #else | ||
| 5467 | # include <assert.h> | ||
| 5468 | #endif | ||
| 5469 | + | ||
| 5470 | +#undef $ac_func | ||
| 5471 | + | ||
| 5472 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5473 | #ifdef __cplusplus | ||
| 5474 | extern "C" | ||
| 5475 | @@ -6794,11 +7258,20 @@ | ||
| 5476 | _ACEOF | ||
| 5477 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5478 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5479 | - (eval $ac_link) 2>&5 | ||
| 5480 | + (eval $ac_link) 2>conftest.er1 | ||
| 5481 | ac_status=$? | ||
| 5482 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5483 | + rm -f conftest.er1 | ||
| 5484 | + cat conftest.err >&5 | ||
| 5485 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5486 | (exit $ac_status); } && | ||
| 5487 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5488 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5489 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5490 | + (eval $ac_try) 2>&5 | ||
| 5491 | + ac_status=$? | ||
| 5492 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5493 | + (exit $ac_status); }; } && | ||
| 5494 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5495 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5496 | (eval $ac_try) 2>&5 | ||
| 5497 | ac_status=$? | ||
| 5498 | @@ -6811,7 +7284,8 @@ | ||
| 5499 | |||
| 5500 | eval "$as_ac_var=no" | ||
| 5501 | fi | ||
| 5502 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5503 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5504 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5505 | fi | ||
| 5506 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 5507 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 5508 | @@ -6821,7 +7295,14 @@ | ||
| 5509 | _ACEOF | ||
| 5510 | |||
| 5511 | else | ||
| 5512 | - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" | ||
| 5513 | + case $LIBOBJS in | ||
| 5514 | + "$ac_func.$ac_objext" | \ | ||
| 5515 | + *" $ac_func.$ac_objext" | \ | ||
| 5516 | + "$ac_func.$ac_objext "* | \ | ||
| 5517 | + *" $ac_func.$ac_objext "* ) ;; | ||
| 5518 | + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; | ||
| 5519 | +esac | ||
| 5520 | + | ||
| 5521 | fi | ||
| 5522 | done | ||
| 5523 | |||
| 5524 | @@ -6855,7 +7336,6 @@ | ||
| 5525 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 5526 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 5527 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5528 | -#line $LINENO "configure" | ||
| 5529 | /* confdefs.h. */ | ||
| 5530 | _ACEOF | ||
| 5531 | cat confdefs.h >>conftest.$ac_ext | ||
| 5532 | @@ -6866,11 +7346,20 @@ | ||
| 5533 | _ACEOF | ||
| 5534 | rm -f conftest.$ac_objext | ||
| 5535 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5536 | - (eval $ac_compile) 2>&5 | ||
| 5537 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5538 | ac_status=$? | ||
| 5539 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5540 | + rm -f conftest.er1 | ||
| 5541 | + cat conftest.err >&5 | ||
| 5542 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5543 | (exit $ac_status); } && | ||
| 5544 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5545 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5546 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5547 | + (eval $ac_try) 2>&5 | ||
| 5548 | + ac_status=$? | ||
| 5549 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5550 | + (exit $ac_status); }; } && | ||
| 5551 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5552 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5553 | (eval $ac_try) 2>&5 | ||
| 5554 | ac_status=$? | ||
| 5555 | @@ -6883,7 +7372,7 @@ | ||
| 5556 | |||
| 5557 | ac_header_compiler=no | ||
| 5558 | fi | ||
| 5559 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5560 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5561 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 5562 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 5563 | |||
| 5564 | @@ -6891,7 +7380,6 @@ | ||
| 5565 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 5566 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 5567 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5568 | -#line $LINENO "configure" | ||
| 5569 | /* confdefs.h. */ | ||
| 5570 | _ACEOF | ||
| 5571 | cat confdefs.h >>conftest.$ac_ext | ||
| 5572 | @@ -6909,6 +7397,7 @@ | ||
| 5573 | (exit $ac_status); } >/dev/null; then | ||
| 5574 | if test -s conftest.err; then | ||
| 5575 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 5576 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 5577 | else | ||
| 5578 | ac_cpp_err= | ||
| 5579 | fi | ||
| 5580 | @@ -6928,33 +7417,32 @@ | ||
| 5581 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 5582 | |||
| 5583 | # So? What about this header? | ||
| 5584 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 5585 | - yes:no ) | ||
| 5586 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 5587 | + yes:no: ) | ||
| 5588 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 5589 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 5590 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5591 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5592 | - ( | ||
| 5593 | - cat <<\_ASBOX | ||
| 5594 | -## ------------------------------------ ## | ||
| 5595 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5596 | -## ------------------------------------ ## | ||
| 5597 | -_ASBOX | ||
| 5598 | - ) | | ||
| 5599 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5600 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 5601 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 5602 | + ac_header_preproc=yes | ||
| 5603 | ;; | ||
| 5604 | - no:yes ) | ||
| 5605 | + no:yes:* ) | ||
| 5606 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 5607 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 5608 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5609 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5610 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5611 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5612 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 5613 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 5614 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 5615 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 5616 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5617 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5618 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 5619 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 5620 | ( | ||
| 5621 | cat <<\_ASBOX | ||
| 5622 | -## ------------------------------------ ## | ||
| 5623 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5624 | -## ------------------------------------ ## | ||
| 5625 | +## -------------------------------- ## | ||
| 5626 | +## Report this to bug-patch@gnu.org ## | ||
| 5627 | +## -------------------------------- ## | ||
| 5628 | _ASBOX | ||
| 5629 | ) | | ||
| 5630 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5631 | @@ -6965,7 +7453,7 @@ | ||
| 5632 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 5633 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5634 | else | ||
| 5635 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 5636 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 5637 | fi | ||
| 5638 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 5639 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 5640 | @@ -6989,7 +7477,6 @@ | ||
| 5641 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5642 | else | ||
| 5643 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5644 | -#line $LINENO "configure" | ||
| 5645 | /* confdefs.h. */ | ||
| 5646 | _ACEOF | ||
| 5647 | cat confdefs.h >>conftest.$ac_ext | ||
| 5648 | @@ -7053,21 +7540,28 @@ | ||
| 5649 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5650 | else | ||
| 5651 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5652 | -#line $LINENO "configure" | ||
| 5653 | /* confdefs.h. */ | ||
| 5654 | _ACEOF | ||
| 5655 | cat confdefs.h >>conftest.$ac_ext | ||
| 5656 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 5657 | /* end confdefs.h. */ | ||
| 5658 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 5659 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 5660 | +#define $ac_func innocuous_$ac_func | ||
| 5661 | + | ||
| 5662 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 5663 | which can conflict with char $ac_func (); below. | ||
| 5664 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 5665 | <limits.h> exists even on freestanding compilers. */ | ||
| 5666 | + | ||
| 5667 | #ifdef __STDC__ | ||
| 5668 | # include <limits.h> | ||
| 5669 | #else | ||
| 5670 | # include <assert.h> | ||
| 5671 | #endif | ||
| 5672 | + | ||
| 5673 | +#undef $ac_func | ||
| 5674 | + | ||
| 5675 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 5676 | #ifdef __cplusplus | ||
| 5677 | extern "C" | ||
| 5678 | @@ -7098,11 +7592,20 @@ | ||
| 5679 | _ACEOF | ||
| 5680 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 5681 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 5682 | - (eval $ac_link) 2>&5 | ||
| 5683 | + (eval $ac_link) 2>conftest.er1 | ||
| 5684 | ac_status=$? | ||
| 5685 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5686 | + rm -f conftest.er1 | ||
| 5687 | + cat conftest.err >&5 | ||
| 5688 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5689 | (exit $ac_status); } && | ||
| 5690 | - { ac_try='test -s conftest$ac_exeext' | ||
| 5691 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5692 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5693 | + (eval $ac_try) 2>&5 | ||
| 5694 | + ac_status=$? | ||
| 5695 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5696 | + (exit $ac_status); }; } && | ||
| 5697 | + { ac_try='test -s conftest$ac_exeext' | ||
| 5698 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5699 | (eval $ac_try) 2>&5 | ||
| 5700 | ac_status=$? | ||
| 5701 | @@ -7115,7 +7618,8 @@ | ||
| 5702 | |||
| 5703 | eval "$as_ac_var=no" | ||
| 5704 | fi | ||
| 5705 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 5706 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 5707 | + conftest$ac_exeext conftest.$ac_ext | ||
| 5708 | fi | ||
| 5709 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 5710 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 5711 | @@ -7125,7 +7629,14 @@ | ||
| 5712 | _ACEOF | ||
| 5713 | |||
| 5714 | else | ||
| 5715 | - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" | ||
| 5716 | + case $LIBOBJS in | ||
| 5717 | + "$ac_func.$ac_objext" | \ | ||
| 5718 | + *" $ac_func.$ac_objext" | \ | ||
| 5719 | + "$ac_func.$ac_objext "* | \ | ||
| 5720 | + *" $ac_func.$ac_objext "* ) ;; | ||
| 5721 | + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; | ||
| 5722 | +esac | ||
| 5723 | + | ||
| 5724 | fi | ||
| 5725 | done | ||
| 5726 | |||
| 5727 | @@ -7163,7 +7674,6 @@ | ||
| 5728 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 5729 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 5730 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5731 | -#line $LINENO "configure" | ||
| 5732 | /* confdefs.h. */ | ||
| 5733 | _ACEOF | ||
| 5734 | cat confdefs.h >>conftest.$ac_ext | ||
| 5735 | @@ -7174,11 +7684,20 @@ | ||
| 5736 | _ACEOF | ||
| 5737 | rm -f conftest.$ac_objext | ||
| 5738 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5739 | - (eval $ac_compile) 2>&5 | ||
| 5740 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5741 | ac_status=$? | ||
| 5742 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5743 | + rm -f conftest.er1 | ||
| 5744 | + cat conftest.err >&5 | ||
| 5745 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5746 | (exit $ac_status); } && | ||
| 5747 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5748 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5749 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5750 | + (eval $ac_try) 2>&5 | ||
| 5751 | + ac_status=$? | ||
| 5752 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5753 | + (exit $ac_status); }; } && | ||
| 5754 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5755 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5756 | (eval $ac_try) 2>&5 | ||
| 5757 | ac_status=$? | ||
| 5758 | @@ -7191,7 +7710,7 @@ | ||
| 5759 | |||
| 5760 | ac_header_compiler=no | ||
| 5761 | fi | ||
| 5762 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5763 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5764 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 5765 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 5766 | |||
| 5767 | @@ -7199,7 +7718,6 @@ | ||
| 5768 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 5769 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 5770 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5771 | -#line $LINENO "configure" | ||
| 5772 | /* confdefs.h. */ | ||
| 5773 | _ACEOF | ||
| 5774 | cat confdefs.h >>conftest.$ac_ext | ||
| 5775 | @@ -7217,6 +7735,7 @@ | ||
| 5776 | (exit $ac_status); } >/dev/null; then | ||
| 5777 | if test -s conftest.err; then | ||
| 5778 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 5779 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 5780 | else | ||
| 5781 | ac_cpp_err= | ||
| 5782 | fi | ||
| 5783 | @@ -7236,33 +7755,32 @@ | ||
| 5784 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 5785 | |||
| 5786 | # So? What about this header? | ||
| 5787 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 5788 | - yes:no ) | ||
| 5789 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 5790 | + yes:no: ) | ||
| 5791 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 5792 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 5793 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5794 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5795 | - ( | ||
| 5796 | - cat <<\_ASBOX | ||
| 5797 | -## ------------------------------------ ## | ||
| 5798 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5799 | -## ------------------------------------ ## | ||
| 5800 | -_ASBOX | ||
| 5801 | - ) | | ||
| 5802 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5803 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 5804 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 5805 | + ac_header_preproc=yes | ||
| 5806 | ;; | ||
| 5807 | - no:yes ) | ||
| 5808 | + no:yes:* ) | ||
| 5809 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 5810 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 5811 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5812 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5813 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5814 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5815 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 5816 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 5817 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 5818 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 5819 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5820 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5821 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 5822 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 5823 | ( | ||
| 5824 | cat <<\_ASBOX | ||
| 5825 | -## ------------------------------------ ## | ||
| 5826 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5827 | -## ------------------------------------ ## | ||
| 5828 | +## -------------------------------- ## | ||
| 5829 | +## Report this to bug-patch@gnu.org ## | ||
| 5830 | +## -------------------------------- ## | ||
| 5831 | _ASBOX | ||
| 5832 | ) | | ||
| 5833 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5834 | @@ -7273,7 +7791,7 @@ | ||
| 5835 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 5836 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5837 | else | ||
| 5838 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 5839 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 5840 | fi | ||
| 5841 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 5842 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 5843 | @@ -7297,7 +7815,6 @@ | ||
| 5844 | ac_cv_func_malloc_0_nonnull=no | ||
| 5845 | else | ||
| 5846 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5847 | -#line $LINENO "configure" | ||
| 5848 | /* confdefs.h. */ | ||
| 5849 | _ACEOF | ||
| 5850 | cat confdefs.h >>conftest.$ac_ext | ||
| 5851 | @@ -7337,7 +7854,7 @@ | ||
| 5852 | ( exit $ac_status ) | ||
| 5853 | ac_cv_func_malloc_0_nonnull=no | ||
| 5854 | fi | ||
| 5855 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 5856 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 5857 | fi | ||
| 5858 | fi | ||
| 5859 | echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 | ||
| 5860 | @@ -7353,7 +7870,14 @@ | ||
| 5861 | #define HAVE_MALLOC 0 | ||
| 5862 | _ACEOF | ||
| 5863 | |||
| 5864 | - LIBOBJS="$LIBOBJS malloc.$ac_objext" | ||
| 5865 | + case $LIBOBJS in | ||
| 5866 | + "malloc.$ac_objext" | \ | ||
| 5867 | + *" malloc.$ac_objext" | \ | ||
| 5868 | + "malloc.$ac_objext "* | \ | ||
| 5869 | + *" malloc.$ac_objext "* ) ;; | ||
| 5870 | + *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; | ||
| 5871 | +esac | ||
| 5872 | + | ||
| 5873 | |||
| 5874 | cat >>confdefs.h <<\_ACEOF | ||
| 5875 | #define malloc rpl_malloc | ||
| 5876 | @@ -7388,7 +7912,6 @@ | ||
| 5877 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 5878 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 5879 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5880 | -#line $LINENO "configure" | ||
| 5881 | /* confdefs.h. */ | ||
| 5882 | _ACEOF | ||
| 5883 | cat confdefs.h >>conftest.$ac_ext | ||
| 5884 | @@ -7399,11 +7922,20 @@ | ||
| 5885 | _ACEOF | ||
| 5886 | rm -f conftest.$ac_objext | ||
| 5887 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 5888 | - (eval $ac_compile) 2>&5 | ||
| 5889 | + (eval $ac_compile) 2>conftest.er1 | ||
| 5890 | ac_status=$? | ||
| 5891 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 5892 | + rm -f conftest.er1 | ||
| 5893 | + cat conftest.err >&5 | ||
| 5894 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5895 | (exit $ac_status); } && | ||
| 5896 | - { ac_try='test -s conftest.$ac_objext' | ||
| 5897 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 5898 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5899 | + (eval $ac_try) 2>&5 | ||
| 5900 | + ac_status=$? | ||
| 5901 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 5902 | + (exit $ac_status); }; } && | ||
| 5903 | + { ac_try='test -s conftest.$ac_objext' | ||
| 5904 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 5905 | (eval $ac_try) 2>&5 | ||
| 5906 | ac_status=$? | ||
| 5907 | @@ -7416,7 +7948,7 @@ | ||
| 5908 | |||
| 5909 | ac_header_compiler=no | ||
| 5910 | fi | ||
| 5911 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 5912 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 5913 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 5914 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 5915 | |||
| 5916 | @@ -7424,7 +7956,6 @@ | ||
| 5917 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 5918 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 5919 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5920 | -#line $LINENO "configure" | ||
| 5921 | /* confdefs.h. */ | ||
| 5922 | _ACEOF | ||
| 5923 | cat confdefs.h >>conftest.$ac_ext | ||
| 5924 | @@ -7442,6 +7973,7 @@ | ||
| 5925 | (exit $ac_status); } >/dev/null; then | ||
| 5926 | if test -s conftest.err; then | ||
| 5927 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 5928 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 5929 | else | ||
| 5930 | ac_cpp_err= | ||
| 5931 | fi | ||
| 5932 | @@ -7461,33 +7993,32 @@ | ||
| 5933 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 5934 | |||
| 5935 | # So? What about this header? | ||
| 5936 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 5937 | - yes:no ) | ||
| 5938 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 5939 | + yes:no: ) | ||
| 5940 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 5941 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 5942 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5943 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5944 | - ( | ||
| 5945 | - cat <<\_ASBOX | ||
| 5946 | -## ------------------------------------ ## | ||
| 5947 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5948 | -## ------------------------------------ ## | ||
| 5949 | -_ASBOX | ||
| 5950 | - ) | | ||
| 5951 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5952 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 5953 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 5954 | + ac_header_preproc=yes | ||
| 5955 | ;; | ||
| 5956 | - no:yes ) | ||
| 5957 | + no:yes:* ) | ||
| 5958 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 5959 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 5960 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5961 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5962 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 5963 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 5964 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 5965 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 5966 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 5967 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 5968 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 5969 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 5970 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 5971 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 5972 | ( | ||
| 5973 | cat <<\_ASBOX | ||
| 5974 | -## ------------------------------------ ## | ||
| 5975 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 5976 | -## ------------------------------------ ## | ||
| 5977 | +## -------------------------------- ## | ||
| 5978 | +## Report this to bug-patch@gnu.org ## | ||
| 5979 | +## -------------------------------- ## | ||
| 5980 | _ASBOX | ||
| 5981 | ) | | ||
| 5982 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 5983 | @@ -7498,7 +8029,7 @@ | ||
| 5984 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 5985 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 5986 | else | ||
| 5987 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 5988 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 5989 | fi | ||
| 5990 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 5991 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 5992 | @@ -7522,7 +8053,6 @@ | ||
| 5993 | ac_cv_func_realloc_0_nonnull=no | ||
| 5994 | else | ||
| 5995 | cat >conftest.$ac_ext <<_ACEOF | ||
| 5996 | -#line $LINENO "configure" | ||
| 5997 | /* confdefs.h. */ | ||
| 5998 | _ACEOF | ||
| 5999 | cat confdefs.h >>conftest.$ac_ext | ||
| 6000 | @@ -7562,7 +8092,7 @@ | ||
| 6001 | ( exit $ac_status ) | ||
| 6002 | ac_cv_func_realloc_0_nonnull=no | ||
| 6003 | fi | ||
| 6004 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 6005 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 6006 | fi | ||
| 6007 | fi | ||
| 6008 | echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 | ||
| 6009 | @@ -7578,7 +8108,14 @@ | ||
| 6010 | #define HAVE_REALLOC 0 | ||
| 6011 | _ACEOF | ||
| 6012 | |||
| 6013 | - LIBOBJS="$LIBOBJS realloc.$ac_objext" | ||
| 6014 | + case $LIBOBJS in | ||
| 6015 | + "realloc.$ac_objext" | \ | ||
| 6016 | + *" realloc.$ac_objext" | \ | ||
| 6017 | + "realloc.$ac_objext "* | \ | ||
| 6018 | + *" realloc.$ac_objext "* ) ;; | ||
| 6019 | + *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; | ||
| 6020 | +esac | ||
| 6021 | + | ||
| 6022 | |||
| 6023 | cat >>confdefs.h <<\_ACEOF | ||
| 6024 | #define realloc rpl_realloc | ||
| 6025 | @@ -7619,7 +8156,6 @@ | ||
| 6026 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 6027 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 6028 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6029 | -#line $LINENO "configure" | ||
| 6030 | /* confdefs.h. */ | ||
| 6031 | _ACEOF | ||
| 6032 | cat confdefs.h >>conftest.$ac_ext | ||
| 6033 | @@ -7630,11 +8166,20 @@ | ||
| 6034 | _ACEOF | ||
| 6035 | rm -f conftest.$ac_objext | ||
| 6036 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6037 | - (eval $ac_compile) 2>&5 | ||
| 6038 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6039 | ac_status=$? | ||
| 6040 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6041 | + rm -f conftest.er1 | ||
| 6042 | + cat conftest.err >&5 | ||
| 6043 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6044 | (exit $ac_status); } && | ||
| 6045 | - { ac_try='test -s conftest.$ac_objext' | ||
| 6046 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6047 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6048 | + (eval $ac_try) 2>&5 | ||
| 6049 | + ac_status=$? | ||
| 6050 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6051 | + (exit $ac_status); }; } && | ||
| 6052 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6053 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6054 | (eval $ac_try) 2>&5 | ||
| 6055 | ac_status=$? | ||
| 6056 | @@ -7647,7 +8192,7 @@ | ||
| 6057 | |||
| 6058 | ac_header_compiler=no | ||
| 6059 | fi | ||
| 6060 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 6061 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6062 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 6063 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 6064 | |||
| 6065 | @@ -7655,7 +8200,6 @@ | ||
| 6066 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 6067 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 6068 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6069 | -#line $LINENO "configure" | ||
| 6070 | /* confdefs.h. */ | ||
| 6071 | _ACEOF | ||
| 6072 | cat confdefs.h >>conftest.$ac_ext | ||
| 6073 | @@ -7673,6 +8217,7 @@ | ||
| 6074 | (exit $ac_status); } >/dev/null; then | ||
| 6075 | if test -s conftest.err; then | ||
| 6076 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 6077 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 6078 | else | ||
| 6079 | ac_cpp_err= | ||
| 6080 | fi | ||
| 6081 | @@ -7692,33 +8237,32 @@ | ||
| 6082 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 6083 | |||
| 6084 | # So? What about this header? | ||
| 6085 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 6086 | - yes:no ) | ||
| 6087 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 6088 | + yes:no: ) | ||
| 6089 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 6090 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 6091 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6092 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6093 | - ( | ||
| 6094 | - cat <<\_ASBOX | ||
| 6095 | -## ------------------------------------ ## | ||
| 6096 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6097 | -## ------------------------------------ ## | ||
| 6098 | -_ASBOX | ||
| 6099 | - ) | | ||
| 6100 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6101 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 6102 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 6103 | + ac_header_preproc=yes | ||
| 6104 | ;; | ||
| 6105 | - no:yes ) | ||
| 6106 | + no:yes:* ) | ||
| 6107 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 6108 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 6109 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6110 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6111 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6112 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6113 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 6114 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 6115 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 6116 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 6117 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6118 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6119 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 6120 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 6121 | ( | ||
| 6122 | cat <<\_ASBOX | ||
| 6123 | -## ------------------------------------ ## | ||
| 6124 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6125 | -## ------------------------------------ ## | ||
| 6126 | +## -------------------------------- ## | ||
| 6127 | +## Report this to bug-patch@gnu.org ## | ||
| 6128 | +## -------------------------------- ## | ||
| 6129 | _ASBOX | ||
| 6130 | ) | | ||
| 6131 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6132 | @@ -7729,7 +8273,7 @@ | ||
| 6133 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 6134 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6135 | else | ||
| 6136 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 6137 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 6138 | fi | ||
| 6139 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 6140 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 6141 | @@ -7772,7 +8316,6 @@ | ||
| 6142 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 6143 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 6144 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6145 | -#line $LINENO "configure" | ||
| 6146 | /* confdefs.h. */ | ||
| 6147 | _ACEOF | ||
| 6148 | cat confdefs.h >>conftest.$ac_ext | ||
| 6149 | @@ -7783,11 +8326,20 @@ | ||
| 6150 | _ACEOF | ||
| 6151 | rm -f conftest.$ac_objext | ||
| 6152 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6153 | - (eval $ac_compile) 2>&5 | ||
| 6154 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6155 | ac_status=$? | ||
| 6156 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6157 | + rm -f conftest.er1 | ||
| 6158 | + cat conftest.err >&5 | ||
| 6159 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6160 | (exit $ac_status); } && | ||
| 6161 | - { ac_try='test -s conftest.$ac_objext' | ||
| 6162 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6163 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6164 | + (eval $ac_try) 2>&5 | ||
| 6165 | + ac_status=$? | ||
| 6166 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6167 | + (exit $ac_status); }; } && | ||
| 6168 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6169 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6170 | (eval $ac_try) 2>&5 | ||
| 6171 | ac_status=$? | ||
| 6172 | @@ -7800,7 +8352,7 @@ | ||
| 6173 | |||
| 6174 | ac_header_compiler=no | ||
| 6175 | fi | ||
| 6176 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 6177 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6178 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 6179 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 6180 | |||
| 6181 | @@ -7808,7 +8360,6 @@ | ||
| 6182 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 6183 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 6184 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6185 | -#line $LINENO "configure" | ||
| 6186 | /* confdefs.h. */ | ||
| 6187 | _ACEOF | ||
| 6188 | cat confdefs.h >>conftest.$ac_ext | ||
| 6189 | @@ -7826,6 +8377,7 @@ | ||
| 6190 | (exit $ac_status); } >/dev/null; then | ||
| 6191 | if test -s conftest.err; then | ||
| 6192 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 6193 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 6194 | else | ||
| 6195 | ac_cpp_err= | ||
| 6196 | fi | ||
| 6197 | @@ -7845,33 +8397,32 @@ | ||
| 6198 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 6199 | |||
| 6200 | # So? What about this header? | ||
| 6201 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 6202 | - yes:no ) | ||
| 6203 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 6204 | + yes:no: ) | ||
| 6205 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 6206 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 6207 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6208 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6209 | - ( | ||
| 6210 | - cat <<\_ASBOX | ||
| 6211 | -## ------------------------------------ ## | ||
| 6212 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6213 | -## ------------------------------------ ## | ||
| 6214 | -_ASBOX | ||
| 6215 | - ) | | ||
| 6216 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6217 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 6218 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 6219 | + ac_header_preproc=yes | ||
| 6220 | ;; | ||
| 6221 | - no:yes ) | ||
| 6222 | + no:yes:* ) | ||
| 6223 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 6224 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 6225 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6226 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6227 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6228 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6229 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 6230 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 6231 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 6232 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 6233 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6234 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6235 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 6236 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 6237 | ( | ||
| 6238 | cat <<\_ASBOX | ||
| 6239 | -## ------------------------------------ ## | ||
| 6240 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6241 | -## ------------------------------------ ## | ||
| 6242 | +## -------------------------------- ## | ||
| 6243 | +## Report this to bug-patch@gnu.org ## | ||
| 6244 | +## -------------------------------- ## | ||
| 6245 | _ASBOX | ||
| 6246 | ) | | ||
| 6247 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6248 | @@ -7882,7 +8433,7 @@ | ||
| 6249 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 6250 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6251 | else | ||
| 6252 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 6253 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 6254 | fi | ||
| 6255 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 6256 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 6257 | @@ -7916,7 +8467,6 @@ | ||
| 6258 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 6259 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 6260 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6261 | -#line $LINENO "configure" | ||
| 6262 | /* confdefs.h. */ | ||
| 6263 | _ACEOF | ||
| 6264 | cat confdefs.h >>conftest.$ac_ext | ||
| 6265 | @@ -7927,11 +8477,20 @@ | ||
| 6266 | _ACEOF | ||
| 6267 | rm -f conftest.$ac_objext | ||
| 6268 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6269 | - (eval $ac_compile) 2>&5 | ||
| 6270 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6271 | ac_status=$? | ||
| 6272 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6273 | + rm -f conftest.er1 | ||
| 6274 | + cat conftest.err >&5 | ||
| 6275 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6276 | (exit $ac_status); } && | ||
| 6277 | - { ac_try='test -s conftest.$ac_objext' | ||
| 6278 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6279 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6280 | + (eval $ac_try) 2>&5 | ||
| 6281 | + ac_status=$? | ||
| 6282 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6283 | + (exit $ac_status); }; } && | ||
| 6284 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6285 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6286 | (eval $ac_try) 2>&5 | ||
| 6287 | ac_status=$? | ||
| 6288 | @@ -7944,7 +8503,7 @@ | ||
| 6289 | |||
| 6290 | ac_header_compiler=no | ||
| 6291 | fi | ||
| 6292 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 6293 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6294 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 6295 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 6296 | |||
| 6297 | @@ -7952,7 +8511,6 @@ | ||
| 6298 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 6299 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 6300 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6301 | -#line $LINENO "configure" | ||
| 6302 | /* confdefs.h. */ | ||
| 6303 | _ACEOF | ||
| 6304 | cat confdefs.h >>conftest.$ac_ext | ||
| 6305 | @@ -7970,6 +8528,7 @@ | ||
| 6306 | (exit $ac_status); } >/dev/null; then | ||
| 6307 | if test -s conftest.err; then | ||
| 6308 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 6309 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 6310 | else | ||
| 6311 | ac_cpp_err= | ||
| 6312 | fi | ||
| 6313 | @@ -7989,33 +8548,32 @@ | ||
| 6314 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 6315 | |||
| 6316 | # So? What about this header? | ||
| 6317 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 6318 | - yes:no ) | ||
| 6319 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 6320 | + yes:no: ) | ||
| 6321 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 6322 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 6323 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6324 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6325 | - ( | ||
| 6326 | - cat <<\_ASBOX | ||
| 6327 | -## ------------------------------------ ## | ||
| 6328 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6329 | -## ------------------------------------ ## | ||
| 6330 | -_ASBOX | ||
| 6331 | - ) | | ||
| 6332 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6333 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 6334 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 6335 | + ac_header_preproc=yes | ||
| 6336 | ;; | ||
| 6337 | - no:yes ) | ||
| 6338 | + no:yes:* ) | ||
| 6339 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 6340 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 6341 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6342 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6343 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 6344 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 6345 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 6346 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 6347 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 6348 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 6349 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 6350 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 6351 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 6352 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 6353 | ( | ||
| 6354 | cat <<\_ASBOX | ||
| 6355 | -## ------------------------------------ ## | ||
| 6356 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 6357 | -## ------------------------------------ ## | ||
| 6358 | +## -------------------------------- ## | ||
| 6359 | +## Report this to bug-patch@gnu.org ## | ||
| 6360 | +## -------------------------------- ## | ||
| 6361 | _ASBOX | ||
| 6362 | ) | | ||
| 6363 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 6364 | @@ -8026,7 +8584,7 @@ | ||
| 6365 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 6366 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6367 | else | ||
| 6368 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 6369 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 6370 | fi | ||
| 6371 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 6372 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 6373 | @@ -8053,21 +8611,28 @@ | ||
| 6374 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6375 | else | ||
| 6376 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6377 | -#line $LINENO "configure" | ||
| 6378 | /* confdefs.h. */ | ||
| 6379 | _ACEOF | ||
| 6380 | cat confdefs.h >>conftest.$ac_ext | ||
| 6381 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 6382 | /* end confdefs.h. */ | ||
| 6383 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 6384 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 6385 | +#define $ac_func innocuous_$ac_func | ||
| 6386 | + | ||
| 6387 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 6388 | which can conflict with char $ac_func (); below. | ||
| 6389 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 6390 | <limits.h> exists even on freestanding compilers. */ | ||
| 6391 | + | ||
| 6392 | #ifdef __STDC__ | ||
| 6393 | # include <limits.h> | ||
| 6394 | #else | ||
| 6395 | # include <assert.h> | ||
| 6396 | #endif | ||
| 6397 | + | ||
| 6398 | +#undef $ac_func | ||
| 6399 | + | ||
| 6400 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 6401 | #ifdef __cplusplus | ||
| 6402 | extern "C" | ||
| 6403 | @@ -8098,11 +8663,20 @@ | ||
| 6404 | _ACEOF | ||
| 6405 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 6406 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 6407 | - (eval $ac_link) 2>&5 | ||
| 6408 | + (eval $ac_link) 2>conftest.er1 | ||
| 6409 | ac_status=$? | ||
| 6410 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6411 | + rm -f conftest.er1 | ||
| 6412 | + cat conftest.err >&5 | ||
| 6413 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6414 | (exit $ac_status); } && | ||
| 6415 | - { ac_try='test -s conftest$ac_exeext' | ||
| 6416 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6417 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6418 | + (eval $ac_try) 2>&5 | ||
| 6419 | + ac_status=$? | ||
| 6420 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6421 | + (exit $ac_status); }; } && | ||
| 6422 | + { ac_try='test -s conftest$ac_exeext' | ||
| 6423 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6424 | (eval $ac_try) 2>&5 | ||
| 6425 | ac_status=$? | ||
| 6426 | @@ -8115,7 +8689,8 @@ | ||
| 6427 | |||
| 6428 | eval "$as_ac_var=no" | ||
| 6429 | fi | ||
| 6430 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 6431 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 6432 | + conftest$ac_exeext conftest.$ac_ext | ||
| 6433 | fi | ||
| 6434 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 6435 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 6436 | @@ -8139,21 +8714,28 @@ | ||
| 6437 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6438 | else | ||
| 6439 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6440 | -#line $LINENO "configure" | ||
| 6441 | /* confdefs.h. */ | ||
| 6442 | _ACEOF | ||
| 6443 | cat confdefs.h >>conftest.$ac_ext | ||
| 6444 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 6445 | /* end confdefs.h. */ | ||
| 6446 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 6447 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 6448 | +#define $ac_func innocuous_$ac_func | ||
| 6449 | + | ||
| 6450 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 6451 | which can conflict with char $ac_func (); below. | ||
| 6452 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 6453 | <limits.h> exists even on freestanding compilers. */ | ||
| 6454 | + | ||
| 6455 | #ifdef __STDC__ | ||
| 6456 | # include <limits.h> | ||
| 6457 | #else | ||
| 6458 | # include <assert.h> | ||
| 6459 | #endif | ||
| 6460 | + | ||
| 6461 | +#undef $ac_func | ||
| 6462 | + | ||
| 6463 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 6464 | #ifdef __cplusplus | ||
| 6465 | extern "C" | ||
| 6466 | @@ -8184,11 +8766,20 @@ | ||
| 6467 | _ACEOF | ||
| 6468 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 6469 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 6470 | - (eval $ac_link) 2>&5 | ||
| 6471 | + (eval $ac_link) 2>conftest.er1 | ||
| 6472 | ac_status=$? | ||
| 6473 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6474 | + rm -f conftest.er1 | ||
| 6475 | + cat conftest.err >&5 | ||
| 6476 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6477 | (exit $ac_status); } && | ||
| 6478 | - { ac_try='test -s conftest$ac_exeext' | ||
| 6479 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6480 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6481 | + (eval $ac_try) 2>&5 | ||
| 6482 | + ac_status=$? | ||
| 6483 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6484 | + (exit $ac_status); }; } && | ||
| 6485 | + { ac_try='test -s conftest$ac_exeext' | ||
| 6486 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6487 | (eval $ac_try) 2>&5 | ||
| 6488 | ac_status=$? | ||
| 6489 | @@ -8201,7 +8792,8 @@ | ||
| 6490 | |||
| 6491 | eval "$as_ac_var=no" | ||
| 6492 | fi | ||
| 6493 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 6494 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 6495 | + conftest$ac_exeext conftest.$ac_ext | ||
| 6496 | fi | ||
| 6497 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 6498 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 6499 | @@ -8241,7 +8833,6 @@ | ||
| 6500 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6501 | else | ||
| 6502 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6503 | -#line $LINENO "configure" | ||
| 6504 | /* confdefs.h. */ | ||
| 6505 | _ACEOF | ||
| 6506 | cat confdefs.h >>conftest.$ac_ext | ||
| 6507 | @@ -8259,11 +8850,20 @@ | ||
| 6508 | _ACEOF | ||
| 6509 | rm -f conftest.$ac_objext | ||
| 6510 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6511 | - (eval $ac_compile) 2>&5 | ||
| 6512 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6513 | ac_status=$? | ||
| 6514 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6515 | + rm -f conftest.er1 | ||
| 6516 | + cat conftest.err >&5 | ||
| 6517 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6518 | (exit $ac_status); } && | ||
| 6519 | - { ac_try='test -s conftest.$ac_objext' | ||
| 6520 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6521 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6522 | + (eval $ac_try) 2>&5 | ||
| 6523 | + ac_status=$? | ||
| 6524 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6525 | + (exit $ac_status); }; } && | ||
| 6526 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6527 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6528 | (eval $ac_try) 2>&5 | ||
| 6529 | ac_status=$? | ||
| 6530 | @@ -8276,7 +8876,7 @@ | ||
| 6531 | |||
| 6532 | ac_cv_type_mbstate_t=no | ||
| 6533 | fi | ||
| 6534 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 6535 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6536 | fi | ||
| 6537 | echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 | ||
| 6538 | echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6 | ||
| 6539 | @@ -8300,7 +8900,6 @@ | ||
| 6540 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6541 | else | ||
| 6542 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6543 | -#line $LINENO "configure" | ||
| 6544 | /* confdefs.h. */ | ||
| 6545 | _ACEOF | ||
| 6546 | cat confdefs.h >>conftest.$ac_ext | ||
| 6547 | @@ -8317,11 +8916,20 @@ | ||
| 6548 | _ACEOF | ||
| 6549 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 6550 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 6551 | - (eval $ac_link) 2>&5 | ||
| 6552 | + (eval $ac_link) 2>conftest.er1 | ||
| 6553 | ac_status=$? | ||
| 6554 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6555 | + rm -f conftest.er1 | ||
| 6556 | + cat conftest.err >&5 | ||
| 6557 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6558 | (exit $ac_status); } && | ||
| 6559 | - { ac_try='test -s conftest$ac_exeext' | ||
| 6560 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6561 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6562 | + (eval $ac_try) 2>&5 | ||
| 6563 | + ac_status=$? | ||
| 6564 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6565 | + (exit $ac_status); }; } && | ||
| 6566 | + { ac_try='test -s conftest$ac_exeext' | ||
| 6567 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6568 | (eval $ac_try) 2>&5 | ||
| 6569 | ac_status=$? | ||
| 6570 | @@ -8334,7 +8942,8 @@ | ||
| 6571 | |||
| 6572 | jm_cv_func_mbrtowc=no | ||
| 6573 | fi | ||
| 6574 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 6575 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 6576 | + conftest$ac_exeext conftest.$ac_ext | ||
| 6577 | fi | ||
| 6578 | echo "$as_me:$LINENO: result: $jm_cv_func_mbrtowc" >&5 | ||
| 6579 | echo "${ECHO_T}$jm_cv_func_mbrtowc" >&6 | ||
| 6580 | @@ -8348,69 +8957,465 @@ | ||
| 6581 | |||
| 6582 | |||
| 6583 | |||
| 6584 | - | ||
| 6585 | - | ||
| 6586 | - | ||
| 6587 | - | ||
| 6588 | -for ac_func in pathconf | ||
| 6589 | -do | ||
| 6590 | -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
| 6591 | -echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
| 6592 | -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 | ||
| 6593 | -if eval "test \"\${$as_ac_var+set}\" = set"; then | ||
| 6594 | + echo "$as_me:$LINENO: checking whether free is declared" >&5 | ||
| 6595 | +echo $ECHO_N "checking whether free is declared... $ECHO_C" >&6 | ||
| 6596 | +if test "${ac_cv_have_decl_free+set}" = set; then | ||
| 6597 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6598 | else | ||
| 6599 | cat >conftest.$ac_ext <<_ACEOF | ||
| 6600 | -#line $LINENO "configure" | ||
| 6601 | /* confdefs.h. */ | ||
| 6602 | _ACEOF | ||
| 6603 | cat confdefs.h >>conftest.$ac_ext | ||
| 6604 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 6605 | /* end confdefs.h. */ | ||
| 6606 | -/* System header to define __stub macros and hopefully few prototypes, | ||
| 6607 | - which can conflict with char $ac_func (); below. | ||
| 6608 | - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 6609 | - <limits.h> exists even on freestanding compilers. */ | ||
| 6610 | -#ifdef __STDC__ | ||
| 6611 | -# include <limits.h> | ||
| 6612 | -#else | ||
| 6613 | -# include <assert.h> | ||
| 6614 | -#endif | ||
| 6615 | -/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 6616 | -#ifdef __cplusplus | ||
| 6617 | -extern "C" | ||
| 6618 | -{ | ||
| 6619 | -#endif | ||
| 6620 | -/* We use char because int might match the return type of a gcc2 | ||
| 6621 | - builtin and then its argument prototype would still apply. */ | ||
| 6622 | -char $ac_func (); | ||
| 6623 | -/* The GNU C library defines this for functions which it implements | ||
| 6624 | - to always fail with ENOSYS. Some functions are actually named | ||
| 6625 | - something starting with __ and the normal name is an alias. */ | ||
| 6626 | -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) | ||
| 6627 | -choke me | ||
| 6628 | -#else | ||
| 6629 | -char (*f) () = $ac_func; | ||
| 6630 | -#endif | ||
| 6631 | -#ifdef __cplusplus | ||
| 6632 | -} | ||
| 6633 | -#endif | ||
| 6634 | - | ||
| 6635 | +$ac_includes_default | ||
| 6636 | int | ||
| 6637 | main () | ||
| 6638 | { | ||
| 6639 | -return f != $ac_func; | ||
| 6640 | +#ifndef free | ||
| 6641 | + char *p = (char *) free; | ||
| 6642 | +#endif | ||
| 6643 | + | ||
| 6644 | ; | ||
| 6645 | return 0; | ||
| 6646 | } | ||
| 6647 | _ACEOF | ||
| 6648 | -rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 6649 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 6650 | - (eval $ac_link) 2>&5 | ||
| 6651 | +rm -f conftest.$ac_objext | ||
| 6652 | +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6653 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6654 | + ac_status=$? | ||
| 6655 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6656 | + rm -f conftest.er1 | ||
| 6657 | + cat conftest.err >&5 | ||
| 6658 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6659 | + (exit $ac_status); } && | ||
| 6660 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6661 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6662 | + (eval $ac_try) 2>&5 | ||
| 6663 | + ac_status=$? | ||
| 6664 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6665 | + (exit $ac_status); }; } && | ||
| 6666 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6667 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6668 | + (eval $ac_try) 2>&5 | ||
| 6669 | + ac_status=$? | ||
| 6670 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6671 | + (exit $ac_status); }; }; then | ||
| 6672 | + ac_cv_have_decl_free=yes | ||
| 6673 | +else | ||
| 6674 | + echo "$as_me: failed program was:" >&5 | ||
| 6675 | +sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 6676 | + | ||
| 6677 | +ac_cv_have_decl_free=no | ||
| 6678 | +fi | ||
| 6679 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6680 | +fi | ||
| 6681 | +echo "$as_me:$LINENO: result: $ac_cv_have_decl_free" >&5 | ||
| 6682 | +echo "${ECHO_T}$ac_cv_have_decl_free" >&6 | ||
| 6683 | +if test $ac_cv_have_decl_free = yes; then | ||
| 6684 | + | ||
| 6685 | +cat >>confdefs.h <<_ACEOF | ||
| 6686 | +#define HAVE_DECL_FREE 1 | ||
| 6687 | +_ACEOF | ||
| 6688 | + | ||
| 6689 | + | ||
| 6690 | +else | ||
| 6691 | + cat >>confdefs.h <<_ACEOF | ||
| 6692 | +#define HAVE_DECL_FREE 0 | ||
| 6693 | +_ACEOF | ||
| 6694 | + | ||
| 6695 | + | ||
| 6696 | +fi | ||
| 6697 | + | ||
| 6698 | + | ||
| 6699 | + | ||
| 6700 | + | ||
| 6701 | + | ||
| 6702 | + : | ||
| 6703 | + | ||
| 6704 | + | ||
| 6705 | + | ||
| 6706 | + | ||
| 6707 | + | ||
| 6708 | + echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 | ||
| 6709 | +echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6 | ||
| 6710 | +if test "${ac_cv_header_stdbool_h+set}" = set; then | ||
| 6711 | + echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6712 | +else | ||
| 6713 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 6714 | +/* confdefs.h. */ | ||
| 6715 | +_ACEOF | ||
| 6716 | +cat confdefs.h >>conftest.$ac_ext | ||
| 6717 | +cat >>conftest.$ac_ext <<_ACEOF | ||
| 6718 | +/* end confdefs.h. */ | ||
| 6719 | + | ||
| 6720 | + #include <stdbool.h> | ||
| 6721 | + #ifndef bool | ||
| 6722 | + "error: bool is not defined" | ||
| 6723 | + #endif | ||
| 6724 | + #ifndef false | ||
| 6725 | + "error: false is not defined" | ||
| 6726 | + #endif | ||
| 6727 | + #if false | ||
| 6728 | + "error: false is not 0" | ||
| 6729 | + #endif | ||
| 6730 | + #ifndef true | ||
| 6731 | + "error: false is not defined" | ||
| 6732 | + #endif | ||
| 6733 | + #if true != 1 | ||
| 6734 | + "error: true is not 1" | ||
| 6735 | + #endif | ||
| 6736 | + #ifndef __bool_true_false_are_defined | ||
| 6737 | + "error: __bool_true_false_are_defined is not defined" | ||
| 6738 | + #endif | ||
| 6739 | + | ||
| 6740 | + struct s { _Bool s: 1; _Bool t; } s; | ||
| 6741 | + | ||
| 6742 | + char a[true == 1 ? 1 : -1]; | ||
| 6743 | + char b[false == 0 ? 1 : -1]; | ||
| 6744 | + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | ||
| 6745 | + char d[(bool) -0.5 == true ? 1 : -1]; | ||
| 6746 | + bool e = &s; | ||
| 6747 | + char f[(_Bool) -0.0 == false ? 1 : -1]; | ||
| 6748 | + char g[true]; | ||
| 6749 | + char h[sizeof (_Bool)]; | ||
| 6750 | + char i[sizeof s.t]; | ||
| 6751 | + | ||
| 6752 | +int | ||
| 6753 | +main () | ||
| 6754 | +{ | ||
| 6755 | + return !a + !b + !c + !d + !e + !f + !g + !h + !i; | ||
| 6756 | + ; | ||
| 6757 | + return 0; | ||
| 6758 | +} | ||
| 6759 | +_ACEOF | ||
| 6760 | +rm -f conftest.$ac_objext | ||
| 6761 | +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6762 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6763 | + ac_status=$? | ||
| 6764 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6765 | + rm -f conftest.er1 | ||
| 6766 | + cat conftest.err >&5 | ||
| 6767 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6768 | + (exit $ac_status); } && | ||
| 6769 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6770 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6771 | + (eval $ac_try) 2>&5 | ||
| 6772 | + ac_status=$? | ||
| 6773 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6774 | + (exit $ac_status); }; } && | ||
| 6775 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6776 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6777 | + (eval $ac_try) 2>&5 | ||
| 6778 | + ac_status=$? | ||
| 6779 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6780 | + (exit $ac_status); }; }; then | ||
| 6781 | + ac_cv_header_stdbool_h=yes | ||
| 6782 | +else | ||
| 6783 | + echo "$as_me: failed program was:" >&5 | ||
| 6784 | +sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 6785 | + | ||
| 6786 | +ac_cv_header_stdbool_h=no | ||
| 6787 | +fi | ||
| 6788 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6789 | +fi | ||
| 6790 | +echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 | ||
| 6791 | +echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 | ||
| 6792 | + echo "$as_me:$LINENO: checking for _Bool" >&5 | ||
| 6793 | +echo $ECHO_N "checking for _Bool... $ECHO_C" >&6 | ||
| 6794 | +if test "${ac_cv_type__Bool+set}" = set; then | ||
| 6795 | + echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6796 | +else | ||
| 6797 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 6798 | +/* confdefs.h. */ | ||
| 6799 | +_ACEOF | ||
| 6800 | +cat confdefs.h >>conftest.$ac_ext | ||
| 6801 | +cat >>conftest.$ac_ext <<_ACEOF | ||
| 6802 | +/* end confdefs.h. */ | ||
| 6803 | +$ac_includes_default | ||
| 6804 | +int | ||
| 6805 | +main () | ||
| 6806 | +{ | ||
| 6807 | +if ((_Bool *) 0) | ||
| 6808 | + return 0; | ||
| 6809 | +if (sizeof (_Bool)) | ||
| 6810 | + return 0; | ||
| 6811 | + ; | ||
| 6812 | + return 0; | ||
| 6813 | +} | ||
| 6814 | +_ACEOF | ||
| 6815 | +rm -f conftest.$ac_objext | ||
| 6816 | +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6817 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6818 | + ac_status=$? | ||
| 6819 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6820 | + rm -f conftest.er1 | ||
| 6821 | + cat conftest.err >&5 | ||
| 6822 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6823 | + (exit $ac_status); } && | ||
| 6824 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6825 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6826 | + (eval $ac_try) 2>&5 | ||
| 6827 | + ac_status=$? | ||
| 6828 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6829 | + (exit $ac_status); }; } && | ||
| 6830 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6831 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6832 | + (eval $ac_try) 2>&5 | ||
| 6833 | + ac_status=$? | ||
| 6834 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6835 | + (exit $ac_status); }; }; then | ||
| 6836 | + ac_cv_type__Bool=yes | ||
| 6837 | +else | ||
| 6838 | + echo "$as_me: failed program was:" >&5 | ||
| 6839 | +sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 6840 | + | ||
| 6841 | +ac_cv_type__Bool=no | ||
| 6842 | +fi | ||
| 6843 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6844 | +fi | ||
| 6845 | +echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 | ||
| 6846 | +echo "${ECHO_T}$ac_cv_type__Bool" >&6 | ||
| 6847 | +if test $ac_cv_type__Bool = yes; then | ||
| 6848 | + | ||
| 6849 | +cat >>confdefs.h <<_ACEOF | ||
| 6850 | +#define HAVE__BOOL 1 | ||
| 6851 | +_ACEOF | ||
| 6852 | + | ||
| 6853 | + | ||
| 6854 | +fi | ||
| 6855 | + | ||
| 6856 | + if test $ac_cv_header_stdbool_h = yes; then | ||
| 6857 | + | ||
| 6858 | +cat >>confdefs.h <<\_ACEOF | ||
| 6859 | +#define HAVE_STDBOOL_H 1 | ||
| 6860 | +_ACEOF | ||
| 6861 | + | ||
| 6862 | + fi | ||
| 6863 | + | ||
| 6864 | + : | ||
| 6865 | + | ||
| 6866 | + | ||
| 6867 | + | ||
| 6868 | + | ||
| 6869 | + | ||
| 6870 | + | ||
| 6871 | + | ||
| 6872 | + | ||
| 6873 | + | ||
| 6874 | + | ||
| 6875 | +echo "$as_me:$LINENO: checking for nanosecond timestamps in struct stat" >&5 | ||
| 6876 | +echo $ECHO_N "checking for nanosecond timestamps in struct stat... $ECHO_C" >&6 | ||
| 6877 | +if test "${ac_cv_stat_nsec+set}" = set; then | ||
| 6878 | + echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6879 | +else | ||
| 6880 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 6881 | +/* confdefs.h. */ | ||
| 6882 | +_ACEOF | ||
| 6883 | +cat confdefs.h >>conftest.$ac_ext | ||
| 6884 | +cat >>conftest.$ac_ext <<_ACEOF | ||
| 6885 | +/* end confdefs.h. */ | ||
| 6886 | + | ||
| 6887 | + #include <sys/types.h> | ||
| 6888 | + #include <sys/stat.h> | ||
| 6889 | + #include <unistd.h> | ||
| 6890 | + struct stat st; | ||
| 6891 | + | ||
| 6892 | +int | ||
| 6893 | +main () | ||
| 6894 | +{ | ||
| 6895 | + return st.st_atimensec + st.st_mtimensec + st.st_ctimensec; | ||
| 6896 | + ; | ||
| 6897 | + return 0; | ||
| 6898 | +} | ||
| 6899 | +_ACEOF | ||
| 6900 | +rm -f conftest.$ac_objext | ||
| 6901 | +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6902 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6903 | ac_status=$? | ||
| 6904 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6905 | + rm -f conftest.er1 | ||
| 6906 | + cat conftest.err >&5 | ||
| 6907 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6908 | (exit $ac_status); } && | ||
| 6909 | - { ac_try='test -s conftest$ac_exeext' | ||
| 6910 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6911 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6912 | + (eval $ac_try) 2>&5 | ||
| 6913 | + ac_status=$? | ||
| 6914 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6915 | + (exit $ac_status); }; } && | ||
| 6916 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6917 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6918 | + (eval $ac_try) 2>&5 | ||
| 6919 | + ac_status=$? | ||
| 6920 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6921 | + (exit $ac_status); }; }; then | ||
| 6922 | + ac_cv_stat_nsec=yes | ||
| 6923 | +else | ||
| 6924 | + echo "$as_me: failed program was:" >&5 | ||
| 6925 | +sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 6926 | + | ||
| 6927 | +ac_cv_stat_nsec=no | ||
| 6928 | +fi | ||
| 6929 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6930 | + | ||
| 6931 | +fi | ||
| 6932 | +echo "$as_me:$LINENO: result: $ac_cv_stat_nsec" >&5 | ||
| 6933 | +echo "${ECHO_T}$ac_cv_stat_nsec" >&6 | ||
| 6934 | + if test $ac_cv_stat_nsec = yes; then | ||
| 6935 | + | ||
| 6936 | +cat >>confdefs.h <<\_ACEOF | ||
| 6937 | +#define HAVE_STAT_NSEC 1 | ||
| 6938 | +_ACEOF | ||
| 6939 | + | ||
| 6940 | + fi | ||
| 6941 | + | ||
| 6942 | + echo "$as_me:$LINENO: checking for nanosecond timestamps in struct stat" >&5 | ||
| 6943 | +echo $ECHO_N "checking for nanosecond timestamps in struct stat... $ECHO_C" >&6 | ||
| 6944 | +if test "${ac_cv_stat_timeval+set}" = set; then | ||
| 6945 | + echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 6946 | +else | ||
| 6947 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 6948 | +/* confdefs.h. */ | ||
| 6949 | +_ACEOF | ||
| 6950 | +cat confdefs.h >>conftest.$ac_ext | ||
| 6951 | +cat >>conftest.$ac_ext <<_ACEOF | ||
| 6952 | +/* end confdefs.h. */ | ||
| 6953 | + | ||
| 6954 | + #include <time.h> | ||
| 6955 | + #include <sys/types.h> | ||
| 6956 | + #include <sys/stat.h> | ||
| 6957 | + #include <unistd.h> | ||
| 6958 | + struct stat st; | ||
| 6959 | + | ||
| 6960 | +int | ||
| 6961 | +main () | ||
| 6962 | +{ | ||
| 6963 | + return st.st_atim.tv_nsec + st.st_mtim.tv_nsec + st.st_ctim.tv_nsec; | ||
| 6964 | + ; | ||
| 6965 | + return 0; | ||
| 6966 | +} | ||
| 6967 | +_ACEOF | ||
| 6968 | +rm -f conftest.$ac_objext | ||
| 6969 | +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 6970 | + (eval $ac_compile) 2>conftest.er1 | ||
| 6971 | + ac_status=$? | ||
| 6972 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 6973 | + rm -f conftest.er1 | ||
| 6974 | + cat conftest.err >&5 | ||
| 6975 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6976 | + (exit $ac_status); } && | ||
| 6977 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 6978 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6979 | + (eval $ac_try) 2>&5 | ||
| 6980 | + ac_status=$? | ||
| 6981 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6982 | + (exit $ac_status); }; } && | ||
| 6983 | + { ac_try='test -s conftest.$ac_objext' | ||
| 6984 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 6985 | + (eval $ac_try) 2>&5 | ||
| 6986 | + ac_status=$? | ||
| 6987 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 6988 | + (exit $ac_status); }; }; then | ||
| 6989 | + ac_cv_stat_timeval=yes | ||
| 6990 | +else | ||
| 6991 | + echo "$as_me: failed program was:" >&5 | ||
| 6992 | +sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 6993 | + | ||
| 6994 | +ac_cv_stat_timeval=no | ||
| 6995 | +fi | ||
| 6996 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 6997 | + | ||
| 6998 | +fi | ||
| 6999 | +echo "$as_me:$LINENO: result: $ac_cv_stat_timeval" >&5 | ||
| 7000 | +echo "${ECHO_T}$ac_cv_stat_timeval" >&6 | ||
| 7001 | + if test $ac_cv_stat_timeval = yes; then | ||
| 7002 | + | ||
| 7003 | +cat >>confdefs.h <<\_ACEOF | ||
| 7004 | +#define HAVE_STAT_TIMEVAL 1 | ||
| 7005 | +_ACEOF | ||
| 7006 | + | ||
| 7007 | + fi | ||
| 7008 | + | ||
| 7009 | + | ||
| 7010 | + | ||
| 7011 | + | ||
| 7012 | + | ||
| 7013 | +for ac_func in pathconf | ||
| 7014 | +do | ||
| 7015 | +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
| 7016 | +echo "$as_me:$LINENO: checking for $ac_func" >&5 | ||
| 7017 | +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 | ||
| 7018 | +if eval "test \"\${$as_ac_var+set}\" = set"; then | ||
| 7019 | + echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7020 | +else | ||
| 7021 | + cat >conftest.$ac_ext <<_ACEOF | ||
| 7022 | +/* confdefs.h. */ | ||
| 7023 | +_ACEOF | ||
| 7024 | +cat confdefs.h >>conftest.$ac_ext | ||
| 7025 | +cat >>conftest.$ac_ext <<_ACEOF | ||
| 7026 | +/* end confdefs.h. */ | ||
| 7027 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 7028 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 7029 | +#define $ac_func innocuous_$ac_func | ||
| 7030 | + | ||
| 7031 | +/* System header to define __stub macros and hopefully few prototypes, | ||
| 7032 | + which can conflict with char $ac_func (); below. | ||
| 7033 | + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 7034 | + <limits.h> exists even on freestanding compilers. */ | ||
| 7035 | + | ||
| 7036 | +#ifdef __STDC__ | ||
| 7037 | +# include <limits.h> | ||
| 7038 | +#else | ||
| 7039 | +# include <assert.h> | ||
| 7040 | +#endif | ||
| 7041 | + | ||
| 7042 | +#undef $ac_func | ||
| 7043 | + | ||
| 7044 | +/* Override any gcc2 internal prototype to avoid an error. */ | ||
| 7045 | +#ifdef __cplusplus | ||
| 7046 | +extern "C" | ||
| 7047 | +{ | ||
| 7048 | +#endif | ||
| 7049 | +/* We use char because int might match the return type of a gcc2 | ||
| 7050 | + builtin and then its argument prototype would still apply. */ | ||
| 7051 | +char $ac_func (); | ||
| 7052 | +/* The GNU C library defines this for functions which it implements | ||
| 7053 | + to always fail with ENOSYS. Some functions are actually named | ||
| 7054 | + something starting with __ and the normal name is an alias. */ | ||
| 7055 | +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) | ||
| 7056 | +choke me | ||
| 7057 | +#else | ||
| 7058 | +char (*f) () = $ac_func; | ||
| 7059 | +#endif | ||
| 7060 | +#ifdef __cplusplus | ||
| 7061 | +} | ||
| 7062 | +#endif | ||
| 7063 | + | ||
| 7064 | +int | ||
| 7065 | +main () | ||
| 7066 | +{ | ||
| 7067 | +return f != $ac_func; | ||
| 7068 | + ; | ||
| 7069 | + return 0; | ||
| 7070 | +} | ||
| 7071 | +_ACEOF | ||
| 7072 | +rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 7073 | +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 7074 | + (eval $ac_link) 2>conftest.er1 | ||
| 7075 | + ac_status=$? | ||
| 7076 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7077 | + rm -f conftest.er1 | ||
| 7078 | + cat conftest.err >&5 | ||
| 7079 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7080 | + (exit $ac_status); } && | ||
| 7081 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7082 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7083 | + (eval $ac_try) 2>&5 | ||
| 7084 | + ac_status=$? | ||
| 7085 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7086 | + (exit $ac_status); }; } && | ||
| 7087 | + { ac_try='test -s conftest$ac_exeext' | ||
| 7088 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7089 | (eval $ac_try) 2>&5 | ||
| 7090 | ac_status=$? | ||
| 7091 | @@ -8423,7 +9428,8 @@ | ||
| 7092 | |||
| 7093 | eval "$as_ac_var=no" | ||
| 7094 | fi | ||
| 7095 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 7096 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 7097 | + conftest$ac_exeext conftest.$ac_ext | ||
| 7098 | fi | ||
| 7099 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 7100 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 7101 | @@ -8454,7 +9460,6 @@ | ||
| 7102 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 7103 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 7104 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7105 | -#line $LINENO "configure" | ||
| 7106 | /* confdefs.h. */ | ||
| 7107 | _ACEOF | ||
| 7108 | cat confdefs.h >>conftest.$ac_ext | ||
| 7109 | @@ -8465,11 +9470,20 @@ | ||
| 7110 | _ACEOF | ||
| 7111 | rm -f conftest.$ac_objext | ||
| 7112 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7113 | - (eval $ac_compile) 2>&5 | ||
| 7114 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7115 | ac_status=$? | ||
| 7116 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7117 | + rm -f conftest.er1 | ||
| 7118 | + cat conftest.err >&5 | ||
| 7119 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7120 | (exit $ac_status); } && | ||
| 7121 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7122 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7123 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7124 | + (eval $ac_try) 2>&5 | ||
| 7125 | + ac_status=$? | ||
| 7126 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7127 | + (exit $ac_status); }; } && | ||
| 7128 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7129 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7130 | (eval $ac_try) 2>&5 | ||
| 7131 | ac_status=$? | ||
| 7132 | @@ -8482,7 +9496,7 @@ | ||
| 7133 | |||
| 7134 | ac_header_compiler=no | ||
| 7135 | fi | ||
| 7136 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7137 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7138 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 7139 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 7140 | |||
| 7141 | @@ -8490,7 +9504,6 @@ | ||
| 7142 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 7143 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 7144 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7145 | -#line $LINENO "configure" | ||
| 7146 | /* confdefs.h. */ | ||
| 7147 | _ACEOF | ||
| 7148 | cat confdefs.h >>conftest.$ac_ext | ||
| 7149 | @@ -8508,6 +9521,7 @@ | ||
| 7150 | (exit $ac_status); } >/dev/null; then | ||
| 7151 | if test -s conftest.err; then | ||
| 7152 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 7153 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 7154 | else | ||
| 7155 | ac_cpp_err= | ||
| 7156 | fi | ||
| 7157 | @@ -8527,33 +9541,32 @@ | ||
| 7158 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 7159 | |||
| 7160 | # So? What about this header? | ||
| 7161 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 7162 | - yes:no ) | ||
| 7163 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 7164 | + yes:no: ) | ||
| 7165 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 7166 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 7167 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 7168 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 7169 | - ( | ||
| 7170 | - cat <<\_ASBOX | ||
| 7171 | -## ------------------------------------ ## | ||
| 7172 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 7173 | -## ------------------------------------ ## | ||
| 7174 | -_ASBOX | ||
| 7175 | - ) | | ||
| 7176 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 7177 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 7178 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 7179 | + ac_header_preproc=yes | ||
| 7180 | ;; | ||
| 7181 | - no:yes ) | ||
| 7182 | + no:yes:* ) | ||
| 7183 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 7184 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 7185 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 7186 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 7187 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 7188 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 7189 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 7190 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 7191 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 7192 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 7193 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 7194 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 7195 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 7196 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 7197 | ( | ||
| 7198 | cat <<\_ASBOX | ||
| 7199 | -## ------------------------------------ ## | ||
| 7200 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 7201 | -## ------------------------------------ ## | ||
| 7202 | +## -------------------------------- ## | ||
| 7203 | +## Report this to bug-patch@gnu.org ## | ||
| 7204 | +## -------------------------------- ## | ||
| 7205 | _ASBOX | ||
| 7206 | ) | | ||
| 7207 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 7208 | @@ -8564,7 +9577,7 @@ | ||
| 7209 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 7210 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7211 | else | ||
| 7212 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 7213 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 7214 | fi | ||
| 7215 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 7216 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 7217 | @@ -8587,7 +9600,6 @@ | ||
| 7218 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7219 | else | ||
| 7220 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7221 | -#line $LINENO "configure" | ||
| 7222 | /* confdefs.h. */ | ||
| 7223 | _ACEOF | ||
| 7224 | cat confdefs.h >>conftest.$ac_ext | ||
| 7225 | @@ -8607,11 +9619,20 @@ | ||
| 7226 | _ACEOF | ||
| 7227 | rm -f conftest.$ac_objext | ||
| 7228 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7229 | - (eval $ac_compile) 2>&5 | ||
| 7230 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7231 | ac_status=$? | ||
| 7232 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7233 | + rm -f conftest.er1 | ||
| 7234 | + cat conftest.err >&5 | ||
| 7235 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7236 | (exit $ac_status); } && | ||
| 7237 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7238 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7239 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7240 | + (eval $ac_try) 2>&5 | ||
| 7241 | + ac_status=$? | ||
| 7242 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7243 | + (exit $ac_status); }; } && | ||
| 7244 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7245 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7246 | (eval $ac_try) 2>&5 | ||
| 7247 | ac_status=$? | ||
| 7248 | @@ -8624,7 +9645,7 @@ | ||
| 7249 | |||
| 7250 | ac_cv_have_decl_free=no | ||
| 7251 | fi | ||
| 7252 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7253 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7254 | fi | ||
| 7255 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_free" >&5 | ||
| 7256 | echo "${ECHO_T}$ac_cv_have_decl_free" >&6 | ||
| 7257 | @@ -8648,7 +9669,6 @@ | ||
| 7258 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7259 | else | ||
| 7260 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7261 | -#line $LINENO "configure" | ||
| 7262 | /* confdefs.h. */ | ||
| 7263 | _ACEOF | ||
| 7264 | cat confdefs.h >>conftest.$ac_ext | ||
| 7265 | @@ -8668,11 +9688,20 @@ | ||
| 7266 | _ACEOF | ||
| 7267 | rm -f conftest.$ac_objext | ||
| 7268 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7269 | - (eval $ac_compile) 2>&5 | ||
| 7270 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7271 | ac_status=$? | ||
| 7272 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7273 | + rm -f conftest.er1 | ||
| 7274 | + cat conftest.err >&5 | ||
| 7275 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7276 | (exit $ac_status); } && | ||
| 7277 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7278 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7279 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7280 | + (eval $ac_try) 2>&5 | ||
| 7281 | + ac_status=$? | ||
| 7282 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7283 | + (exit $ac_status); }; } && | ||
| 7284 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7285 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7286 | (eval $ac_try) 2>&5 | ||
| 7287 | ac_status=$? | ||
| 7288 | @@ -8685,7 +9714,7 @@ | ||
| 7289 | |||
| 7290 | ac_cv_have_decl_getenv=no | ||
| 7291 | fi | ||
| 7292 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7293 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7294 | fi | ||
| 7295 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 | ||
| 7296 | echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6 | ||
| 7297 | @@ -8709,7 +9738,6 @@ | ||
| 7298 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7299 | else | ||
| 7300 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7301 | -#line $LINENO "configure" | ||
| 7302 | /* confdefs.h. */ | ||
| 7303 | _ACEOF | ||
| 7304 | cat confdefs.h >>conftest.$ac_ext | ||
| 7305 | @@ -8729,11 +9757,20 @@ | ||
| 7306 | _ACEOF | ||
| 7307 | rm -f conftest.$ac_objext | ||
| 7308 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7309 | - (eval $ac_compile) 2>&5 | ||
| 7310 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7311 | ac_status=$? | ||
| 7312 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7313 | + rm -f conftest.er1 | ||
| 7314 | + cat conftest.err >&5 | ||
| 7315 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7316 | (exit $ac_status); } && | ||
| 7317 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7318 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7319 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7320 | + (eval $ac_try) 2>&5 | ||
| 7321 | + ac_status=$? | ||
| 7322 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7323 | + (exit $ac_status); }; } && | ||
| 7324 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7325 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7326 | (eval $ac_try) 2>&5 | ||
| 7327 | ac_status=$? | ||
| 7328 | @@ -8746,7 +9783,7 @@ | ||
| 7329 | |||
| 7330 | ac_cv_have_decl_malloc=no | ||
| 7331 | fi | ||
| 7332 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7333 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7334 | fi | ||
| 7335 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_malloc" >&5 | ||
| 7336 | echo "${ECHO_T}$ac_cv_have_decl_malloc" >&6 | ||
| 7337 | @@ -8770,7 +9807,6 @@ | ||
| 7338 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7339 | else | ||
| 7340 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7341 | -#line $LINENO "configure" | ||
| 7342 | /* confdefs.h. */ | ||
| 7343 | _ACEOF | ||
| 7344 | cat confdefs.h >>conftest.$ac_ext | ||
| 7345 | @@ -8790,11 +9826,20 @@ | ||
| 7346 | _ACEOF | ||
| 7347 | rm -f conftest.$ac_objext | ||
| 7348 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7349 | - (eval $ac_compile) 2>&5 | ||
| 7350 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7351 | ac_status=$? | ||
| 7352 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7353 | + rm -f conftest.er1 | ||
| 7354 | + cat conftest.err >&5 | ||
| 7355 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7356 | (exit $ac_status); } && | ||
| 7357 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7358 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7359 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7360 | + (eval $ac_try) 2>&5 | ||
| 7361 | + ac_status=$? | ||
| 7362 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7363 | + (exit $ac_status); }; } && | ||
| 7364 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7365 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7366 | (eval $ac_try) 2>&5 | ||
| 7367 | ac_status=$? | ||
| 7368 | @@ -8807,7 +9852,7 @@ | ||
| 7369 | |||
| 7370 | ac_cv_have_decl_mktemp=no | ||
| 7371 | fi | ||
| 7372 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7373 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7374 | fi | ||
| 7375 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_mktemp" >&5 | ||
| 7376 | echo "${ECHO_T}$ac_cv_have_decl_mktemp" >&6 | ||
| 7377 | @@ -8849,21 +9894,28 @@ | ||
| 7378 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7379 | else | ||
| 7380 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7381 | -#line $LINENO "configure" | ||
| 7382 | /* confdefs.h. */ | ||
| 7383 | _ACEOF | ||
| 7384 | cat confdefs.h >>conftest.$ac_ext | ||
| 7385 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 7386 | /* end confdefs.h. */ | ||
| 7387 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 7388 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 7389 | +#define $ac_func innocuous_$ac_func | ||
| 7390 | + | ||
| 7391 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 7392 | which can conflict with char $ac_func (); below. | ||
| 7393 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 7394 | <limits.h> exists even on freestanding compilers. */ | ||
| 7395 | + | ||
| 7396 | #ifdef __STDC__ | ||
| 7397 | # include <limits.h> | ||
| 7398 | #else | ||
| 7399 | # include <assert.h> | ||
| 7400 | #endif | ||
| 7401 | + | ||
| 7402 | +#undef $ac_func | ||
| 7403 | + | ||
| 7404 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 7405 | #ifdef __cplusplus | ||
| 7406 | extern "C" | ||
| 7407 | @@ -8894,11 +9946,20 @@ | ||
| 7408 | _ACEOF | ||
| 7409 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 7410 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 7411 | - (eval $ac_link) 2>&5 | ||
| 7412 | + (eval $ac_link) 2>conftest.er1 | ||
| 7413 | ac_status=$? | ||
| 7414 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7415 | + rm -f conftest.er1 | ||
| 7416 | + cat conftest.err >&5 | ||
| 7417 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7418 | (exit $ac_status); } && | ||
| 7419 | - { ac_try='test -s conftest$ac_exeext' | ||
| 7420 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7421 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7422 | + (eval $ac_try) 2>&5 | ||
| 7423 | + ac_status=$? | ||
| 7424 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7425 | + (exit $ac_status); }; } && | ||
| 7426 | + { ac_try='test -s conftest$ac_exeext' | ||
| 7427 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7428 | (eval $ac_try) 2>&5 | ||
| 7429 | ac_status=$? | ||
| 7430 | @@ -8911,7 +9972,8 @@ | ||
| 7431 | |||
| 7432 | eval "$as_ac_var=no" | ||
| 7433 | fi | ||
| 7434 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 7435 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 7436 | + conftest$ac_exeext conftest.$ac_ext | ||
| 7437 | fi | ||
| 7438 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 7439 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 7440 | @@ -8934,21 +9996,28 @@ | ||
| 7441 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7442 | else | ||
| 7443 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7444 | -#line $LINENO "configure" | ||
| 7445 | /* confdefs.h. */ | ||
| 7446 | _ACEOF | ||
| 7447 | cat confdefs.h >>conftest.$ac_ext | ||
| 7448 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 7449 | /* end confdefs.h. */ | ||
| 7450 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 7451 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 7452 | +#define $ac_func innocuous_$ac_func | ||
| 7453 | + | ||
| 7454 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 7455 | which can conflict with char $ac_func (); below. | ||
| 7456 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 7457 | <limits.h> exists even on freestanding compilers. */ | ||
| 7458 | + | ||
| 7459 | #ifdef __STDC__ | ||
| 7460 | # include <limits.h> | ||
| 7461 | #else | ||
| 7462 | # include <assert.h> | ||
| 7463 | #endif | ||
| 7464 | + | ||
| 7465 | +#undef $ac_func | ||
| 7466 | + | ||
| 7467 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 7468 | #ifdef __cplusplus | ||
| 7469 | extern "C" | ||
| 7470 | @@ -8979,11 +10048,20 @@ | ||
| 7471 | _ACEOF | ||
| 7472 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 7473 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 7474 | - (eval $ac_link) 2>&5 | ||
| 7475 | + (eval $ac_link) 2>conftest.er1 | ||
| 7476 | ac_status=$? | ||
| 7477 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7478 | + rm -f conftest.er1 | ||
| 7479 | + cat conftest.err >&5 | ||
| 7480 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7481 | (exit $ac_status); } && | ||
| 7482 | - { ac_try='test -s conftest$ac_exeext' | ||
| 7483 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7484 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7485 | + (eval $ac_try) 2>&5 | ||
| 7486 | + ac_status=$? | ||
| 7487 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7488 | + (exit $ac_status); }; } && | ||
| 7489 | + { ac_try='test -s conftest$ac_exeext' | ||
| 7490 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7491 | (eval $ac_try) 2>&5 | ||
| 7492 | ac_status=$? | ||
| 7493 | @@ -8996,7 +10074,8 @@ | ||
| 7494 | |||
| 7495 | eval "$as_ac_var=no" | ||
| 7496 | fi | ||
| 7497 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 7498 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 7499 | + conftest$ac_exeext conftest.$ac_ext | ||
| 7500 | fi | ||
| 7501 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 7502 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 7503 | @@ -9006,7 +10085,14 @@ | ||
| 7504 | _ACEOF | ||
| 7505 | |||
| 7506 | else | ||
| 7507 | - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" | ||
| 7508 | + case $LIBOBJS in | ||
| 7509 | + "$ac_func.$ac_objext" | \ | ||
| 7510 | + *" $ac_func.$ac_objext" | \ | ||
| 7511 | + "$ac_func.$ac_objext "* | \ | ||
| 7512 | + *" $ac_func.$ac_objext "* ) ;; | ||
| 7513 | + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; | ||
| 7514 | +esac | ||
| 7515 | + | ||
| 7516 | fi | ||
| 7517 | done | ||
| 7518 | |||
| 7519 | @@ -9019,7 +10105,6 @@ | ||
| 7520 | while :; do | ||
| 7521 | ac_cv_sys_largefile_source=no | ||
| 7522 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7523 | -#line $LINENO "configure" | ||
| 7524 | /* confdefs.h. */ | ||
| 7525 | _ACEOF | ||
| 7526 | cat confdefs.h >>conftest.$ac_ext | ||
| 7527 | @@ -9036,11 +10121,20 @@ | ||
| 7528 | _ACEOF | ||
| 7529 | rm -f conftest.$ac_objext | ||
| 7530 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7531 | - (eval $ac_compile) 2>&5 | ||
| 7532 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7533 | ac_status=$? | ||
| 7534 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7535 | + rm -f conftest.er1 | ||
| 7536 | + cat conftest.err >&5 | ||
| 7537 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7538 | (exit $ac_status); } && | ||
| 7539 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7540 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7541 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7542 | + (eval $ac_try) 2>&5 | ||
| 7543 | + ac_status=$? | ||
| 7544 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7545 | + (exit $ac_status); }; } && | ||
| 7546 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7547 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7548 | (eval $ac_try) 2>&5 | ||
| 7549 | ac_status=$? | ||
| 7550 | @@ -9052,9 +10146,8 @@ | ||
| 7551 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 7552 | |||
| 7553 | fi | ||
| 7554 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7555 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7556 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7557 | -#line $LINENO "configure" | ||
| 7558 | /* confdefs.h. */ | ||
| 7559 | _ACEOF | ||
| 7560 | cat confdefs.h >>conftest.$ac_ext | ||
| 7561 | @@ -9072,11 +10165,20 @@ | ||
| 7562 | _ACEOF | ||
| 7563 | rm -f conftest.$ac_objext | ||
| 7564 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7565 | - (eval $ac_compile) 2>&5 | ||
| 7566 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7567 | ac_status=$? | ||
| 7568 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7569 | + rm -f conftest.er1 | ||
| 7570 | + cat conftest.err >&5 | ||
| 7571 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7572 | (exit $ac_status); } && | ||
| 7573 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7574 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7575 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7576 | + (eval $ac_try) 2>&5 | ||
| 7577 | + ac_status=$? | ||
| 7578 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7579 | + (exit $ac_status); }; } && | ||
| 7580 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7581 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7582 | (eval $ac_try) 2>&5 | ||
| 7583 | ac_status=$? | ||
| 7584 | @@ -9088,7 +10190,7 @@ | ||
| 7585 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 7586 | |||
| 7587 | fi | ||
| 7588 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7589 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7590 | break | ||
| 7591 | done | ||
| 7592 | fi | ||
| 7593 | @@ -9112,7 +10214,6 @@ | ||
| 7594 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7595 | else | ||
| 7596 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7597 | -#line $LINENO "configure" | ||
| 7598 | /* confdefs.h. */ | ||
| 7599 | _ACEOF | ||
| 7600 | cat confdefs.h >>conftest.$ac_ext | ||
| 7601 | @@ -9129,11 +10230,20 @@ | ||
| 7602 | _ACEOF | ||
| 7603 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 7604 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 7605 | - (eval $ac_link) 2>&5 | ||
| 7606 | + (eval $ac_link) 2>conftest.er1 | ||
| 7607 | ac_status=$? | ||
| 7608 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7609 | + rm -f conftest.er1 | ||
| 7610 | + cat conftest.err >&5 | ||
| 7611 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7612 | (exit $ac_status); } && | ||
| 7613 | - { ac_try='test -s conftest$ac_exeext' | ||
| 7614 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7615 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7616 | + (eval $ac_try) 2>&5 | ||
| 7617 | + ac_status=$? | ||
| 7618 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7619 | + (exit $ac_status); }; } && | ||
| 7620 | + { ac_try='test -s conftest$ac_exeext' | ||
| 7621 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7622 | (eval $ac_try) 2>&5 | ||
| 7623 | ac_status=$? | ||
| 7624 | @@ -9146,7 +10256,8 @@ | ||
| 7625 | |||
| 7626 | ac_cv_func_fseeko=no | ||
| 7627 | fi | ||
| 7628 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 7629 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 7630 | + conftest$ac_exeext conftest.$ac_ext | ||
| 7631 | fi | ||
| 7632 | echo "$as_me:$LINENO: result: $ac_cv_func_fseeko" >&5 | ||
| 7633 | echo "${ECHO_T}$ac_cv_func_fseeko" >&6 | ||
| 7634 | @@ -9165,7 +10276,6 @@ | ||
| 7635 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7636 | else | ||
| 7637 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7638 | -#line $LINENO "configure" | ||
| 7639 | /* confdefs.h. */ | ||
| 7640 | _ACEOF | ||
| 7641 | cat confdefs.h >>conftest.$ac_ext | ||
| 7642 | @@ -9185,11 +10295,20 @@ | ||
| 7643 | _ACEOF | ||
| 7644 | rm -f conftest.$ac_objext | ||
| 7645 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7646 | - (eval $ac_compile) 2>&5 | ||
| 7647 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7648 | ac_status=$? | ||
| 7649 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7650 | + rm -f conftest.er1 | ||
| 7651 | + cat conftest.err >&5 | ||
| 7652 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7653 | (exit $ac_status); } && | ||
| 7654 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7655 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7656 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7657 | + (eval $ac_try) 2>&5 | ||
| 7658 | + ac_status=$? | ||
| 7659 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7660 | + (exit $ac_status); }; } && | ||
| 7661 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7662 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7663 | (eval $ac_try) 2>&5 | ||
| 7664 | ac_status=$? | ||
| 7665 | @@ -9202,7 +10321,7 @@ | ||
| 7666 | |||
| 7667 | ac_cv_have_decl_clearerr_unlocked=no | ||
| 7668 | fi | ||
| 7669 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7670 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7671 | fi | ||
| 7672 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_clearerr_unlocked" >&5 | ||
| 7673 | echo "${ECHO_T}$ac_cv_have_decl_clearerr_unlocked" >&6 | ||
| 7674 | @@ -9230,7 +10349,6 @@ | ||
| 7675 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7676 | else | ||
| 7677 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7678 | -#line $LINENO "configure" | ||
| 7679 | /* confdefs.h. */ | ||
| 7680 | _ACEOF | ||
| 7681 | cat confdefs.h >>conftest.$ac_ext | ||
| 7682 | @@ -9250,11 +10368,20 @@ | ||
| 7683 | _ACEOF | ||
| 7684 | rm -f conftest.$ac_objext | ||
| 7685 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7686 | - (eval $ac_compile) 2>&5 | ||
| 7687 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7688 | ac_status=$? | ||
| 7689 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7690 | + rm -f conftest.er1 | ||
| 7691 | + cat conftest.err >&5 | ||
| 7692 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7693 | (exit $ac_status); } && | ||
| 7694 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7695 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7696 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7697 | + (eval $ac_try) 2>&5 | ||
| 7698 | + ac_status=$? | ||
| 7699 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7700 | + (exit $ac_status); }; } && | ||
| 7701 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7702 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7703 | (eval $ac_try) 2>&5 | ||
| 7704 | ac_status=$? | ||
| 7705 | @@ -9267,7 +10394,7 @@ | ||
| 7706 | |||
| 7707 | ac_cv_have_decl_feof_unlocked=no | ||
| 7708 | fi | ||
| 7709 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7710 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7711 | fi | ||
| 7712 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 | ||
| 7713 | echo "${ECHO_T}$ac_cv_have_decl_feof_unlocked" >&6 | ||
| 7714 | @@ -9295,7 +10422,6 @@ | ||
| 7715 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7716 | else | ||
| 7717 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7718 | -#line $LINENO "configure" | ||
| 7719 | /* confdefs.h. */ | ||
| 7720 | _ACEOF | ||
| 7721 | cat confdefs.h >>conftest.$ac_ext | ||
| 7722 | @@ -9315,11 +10441,20 @@ | ||
| 7723 | _ACEOF | ||
| 7724 | rm -f conftest.$ac_objext | ||
| 7725 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7726 | - (eval $ac_compile) 2>&5 | ||
| 7727 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7728 | ac_status=$? | ||
| 7729 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7730 | + rm -f conftest.er1 | ||
| 7731 | + cat conftest.err >&5 | ||
| 7732 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7733 | (exit $ac_status); } && | ||
| 7734 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7735 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7736 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7737 | + (eval $ac_try) 2>&5 | ||
| 7738 | + ac_status=$? | ||
| 7739 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7740 | + (exit $ac_status); }; } && | ||
| 7741 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7742 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7743 | (eval $ac_try) 2>&5 | ||
| 7744 | ac_status=$? | ||
| 7745 | @@ -9332,7 +10467,7 @@ | ||
| 7746 | |||
| 7747 | ac_cv_have_decl_ferror_unlocked=no | ||
| 7748 | fi | ||
| 7749 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7750 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7751 | fi | ||
| 7752 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_ferror_unlocked" >&5 | ||
| 7753 | echo "${ECHO_T}$ac_cv_have_decl_ferror_unlocked" >&6 | ||
| 7754 | @@ -9360,7 +10495,6 @@ | ||
| 7755 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7756 | else | ||
| 7757 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7758 | -#line $LINENO "configure" | ||
| 7759 | /* confdefs.h. */ | ||
| 7760 | _ACEOF | ||
| 7761 | cat confdefs.h >>conftest.$ac_ext | ||
| 7762 | @@ -9380,11 +10514,20 @@ | ||
| 7763 | _ACEOF | ||
| 7764 | rm -f conftest.$ac_objext | ||
| 7765 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7766 | - (eval $ac_compile) 2>&5 | ||
| 7767 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7768 | ac_status=$? | ||
| 7769 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7770 | + rm -f conftest.er1 | ||
| 7771 | + cat conftest.err >&5 | ||
| 7772 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7773 | (exit $ac_status); } && | ||
| 7774 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7775 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7776 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7777 | + (eval $ac_try) 2>&5 | ||
| 7778 | + ac_status=$? | ||
| 7779 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7780 | + (exit $ac_status); }; } && | ||
| 7781 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7782 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7783 | (eval $ac_try) 2>&5 | ||
| 7784 | ac_status=$? | ||
| 7785 | @@ -9397,7 +10540,7 @@ | ||
| 7786 | |||
| 7787 | ac_cv_have_decl_fflush_unlocked=no | ||
| 7788 | fi | ||
| 7789 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7790 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7791 | fi | ||
| 7792 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 | ||
| 7793 | echo "${ECHO_T}$ac_cv_have_decl_fflush_unlocked" >&6 | ||
| 7794 | @@ -9425,7 +10568,6 @@ | ||
| 7795 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7796 | else | ||
| 7797 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7798 | -#line $LINENO "configure" | ||
| 7799 | /* confdefs.h. */ | ||
| 7800 | _ACEOF | ||
| 7801 | cat confdefs.h >>conftest.$ac_ext | ||
| 7802 | @@ -9445,11 +10587,20 @@ | ||
| 7803 | _ACEOF | ||
| 7804 | rm -f conftest.$ac_objext | ||
| 7805 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7806 | - (eval $ac_compile) 2>&5 | ||
| 7807 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7808 | ac_status=$? | ||
| 7809 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7810 | + rm -f conftest.er1 | ||
| 7811 | + cat conftest.err >&5 | ||
| 7812 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7813 | (exit $ac_status); } && | ||
| 7814 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7815 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7816 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7817 | + (eval $ac_try) 2>&5 | ||
| 7818 | + ac_status=$? | ||
| 7819 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7820 | + (exit $ac_status); }; } && | ||
| 7821 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7822 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7823 | (eval $ac_try) 2>&5 | ||
| 7824 | ac_status=$? | ||
| 7825 | @@ -9462,7 +10613,7 @@ | ||
| 7826 | |||
| 7827 | ac_cv_have_decl_fgets_unlocked=no | ||
| 7828 | fi | ||
| 7829 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7830 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7831 | fi | ||
| 7832 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 | ||
| 7833 | echo "${ECHO_T}$ac_cv_have_decl_fgets_unlocked" >&6 | ||
| 7834 | @@ -9490,7 +10641,6 @@ | ||
| 7835 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7836 | else | ||
| 7837 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7838 | -#line $LINENO "configure" | ||
| 7839 | /* confdefs.h. */ | ||
| 7840 | _ACEOF | ||
| 7841 | cat confdefs.h >>conftest.$ac_ext | ||
| 7842 | @@ -9510,11 +10660,20 @@ | ||
| 7843 | _ACEOF | ||
| 7844 | rm -f conftest.$ac_objext | ||
| 7845 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7846 | - (eval $ac_compile) 2>&5 | ||
| 7847 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7848 | ac_status=$? | ||
| 7849 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7850 | + rm -f conftest.er1 | ||
| 7851 | + cat conftest.err >&5 | ||
| 7852 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7853 | (exit $ac_status); } && | ||
| 7854 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7855 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7856 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7857 | + (eval $ac_try) 2>&5 | ||
| 7858 | + ac_status=$? | ||
| 7859 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7860 | + (exit $ac_status); }; } && | ||
| 7861 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7862 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7863 | (eval $ac_try) 2>&5 | ||
| 7864 | ac_status=$? | ||
| 7865 | @@ -9527,7 +10686,7 @@ | ||
| 7866 | |||
| 7867 | ac_cv_have_decl_fputc_unlocked=no | ||
| 7868 | fi | ||
| 7869 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7870 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7871 | fi | ||
| 7872 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputc_unlocked" >&5 | ||
| 7873 | echo "${ECHO_T}$ac_cv_have_decl_fputc_unlocked" >&6 | ||
| 7874 | @@ -9555,7 +10714,6 @@ | ||
| 7875 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7876 | else | ||
| 7877 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7878 | -#line $LINENO "configure" | ||
| 7879 | /* confdefs.h. */ | ||
| 7880 | _ACEOF | ||
| 7881 | cat confdefs.h >>conftest.$ac_ext | ||
| 7882 | @@ -9575,11 +10733,20 @@ | ||
| 7883 | _ACEOF | ||
| 7884 | rm -f conftest.$ac_objext | ||
| 7885 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7886 | - (eval $ac_compile) 2>&5 | ||
| 7887 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7888 | ac_status=$? | ||
| 7889 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7890 | + rm -f conftest.er1 | ||
| 7891 | + cat conftest.err >&5 | ||
| 7892 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7893 | (exit $ac_status); } && | ||
| 7894 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7895 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7896 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7897 | + (eval $ac_try) 2>&5 | ||
| 7898 | + ac_status=$? | ||
| 7899 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7900 | + (exit $ac_status); }; } && | ||
| 7901 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7902 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7903 | (eval $ac_try) 2>&5 | ||
| 7904 | ac_status=$? | ||
| 7905 | @@ -9592,7 +10759,7 @@ | ||
| 7906 | |||
| 7907 | ac_cv_have_decl_fputs_unlocked=no | ||
| 7908 | fi | ||
| 7909 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7910 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7911 | fi | ||
| 7912 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 | ||
| 7913 | echo "${ECHO_T}$ac_cv_have_decl_fputs_unlocked" >&6 | ||
| 7914 | @@ -9620,7 +10787,6 @@ | ||
| 7915 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7916 | else | ||
| 7917 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7918 | -#line $LINENO "configure" | ||
| 7919 | /* confdefs.h. */ | ||
| 7920 | _ACEOF | ||
| 7921 | cat confdefs.h >>conftest.$ac_ext | ||
| 7922 | @@ -9640,11 +10806,20 @@ | ||
| 7923 | _ACEOF | ||
| 7924 | rm -f conftest.$ac_objext | ||
| 7925 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7926 | - (eval $ac_compile) 2>&5 | ||
| 7927 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7928 | ac_status=$? | ||
| 7929 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7930 | + rm -f conftest.er1 | ||
| 7931 | + cat conftest.err >&5 | ||
| 7932 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7933 | (exit $ac_status); } && | ||
| 7934 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7935 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7936 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7937 | + (eval $ac_try) 2>&5 | ||
| 7938 | + ac_status=$? | ||
| 7939 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7940 | + (exit $ac_status); }; } && | ||
| 7941 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7942 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7943 | (eval $ac_try) 2>&5 | ||
| 7944 | ac_status=$? | ||
| 7945 | @@ -9657,7 +10832,7 @@ | ||
| 7946 | |||
| 7947 | ac_cv_have_decl_fread_unlocked=no | ||
| 7948 | fi | ||
| 7949 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7950 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7951 | fi | ||
| 7952 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fread_unlocked" >&5 | ||
| 7953 | echo "${ECHO_T}$ac_cv_have_decl_fread_unlocked" >&6 | ||
| 7954 | @@ -9685,7 +10860,6 @@ | ||
| 7955 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7956 | else | ||
| 7957 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7958 | -#line $LINENO "configure" | ||
| 7959 | /* confdefs.h. */ | ||
| 7960 | _ACEOF | ||
| 7961 | cat confdefs.h >>conftest.$ac_ext | ||
| 7962 | @@ -9705,11 +10879,20 @@ | ||
| 7963 | _ACEOF | ||
| 7964 | rm -f conftest.$ac_objext | ||
| 7965 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 7966 | - (eval $ac_compile) 2>&5 | ||
| 7967 | + (eval $ac_compile) 2>conftest.er1 | ||
| 7968 | ac_status=$? | ||
| 7969 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 7970 | + rm -f conftest.er1 | ||
| 7971 | + cat conftest.err >&5 | ||
| 7972 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7973 | (exit $ac_status); } && | ||
| 7974 | - { ac_try='test -s conftest.$ac_objext' | ||
| 7975 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 7976 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7977 | + (eval $ac_try) 2>&5 | ||
| 7978 | + ac_status=$? | ||
| 7979 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 7980 | + (exit $ac_status); }; } && | ||
| 7981 | + { ac_try='test -s conftest.$ac_objext' | ||
| 7982 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 7983 | (eval $ac_try) 2>&5 | ||
| 7984 | ac_status=$? | ||
| 7985 | @@ -9722,7 +10905,7 @@ | ||
| 7986 | |||
| 7987 | ac_cv_have_decl_fwrite_unlocked=no | ||
| 7988 | fi | ||
| 7989 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 7990 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 7991 | fi | ||
| 7992 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_fwrite_unlocked" >&5 | ||
| 7993 | echo "${ECHO_T}$ac_cv_have_decl_fwrite_unlocked" >&6 | ||
| 7994 | @@ -9750,7 +10933,6 @@ | ||
| 7995 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 7996 | else | ||
| 7997 | cat >conftest.$ac_ext <<_ACEOF | ||
| 7998 | -#line $LINENO "configure" | ||
| 7999 | /* confdefs.h. */ | ||
| 8000 | _ACEOF | ||
| 8001 | cat confdefs.h >>conftest.$ac_ext | ||
| 8002 | @@ -9770,11 +10952,20 @@ | ||
| 8003 | _ACEOF | ||
| 8004 | rm -f conftest.$ac_objext | ||
| 8005 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8006 | - (eval $ac_compile) 2>&5 | ||
| 8007 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8008 | ac_status=$? | ||
| 8009 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8010 | + rm -f conftest.er1 | ||
| 8011 | + cat conftest.err >&5 | ||
| 8012 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8013 | (exit $ac_status); } && | ||
| 8014 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8015 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8016 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8017 | + (eval $ac_try) 2>&5 | ||
| 8018 | + ac_status=$? | ||
| 8019 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8020 | + (exit $ac_status); }; } && | ||
| 8021 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8022 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8023 | (eval $ac_try) 2>&5 | ||
| 8024 | ac_status=$? | ||
| 8025 | @@ -9787,7 +10978,7 @@ | ||
| 8026 | |||
| 8027 | ac_cv_have_decl_getc_unlocked=no | ||
| 8028 | fi | ||
| 8029 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8030 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8031 | fi | ||
| 8032 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 | ||
| 8033 | echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6 | ||
| 8034 | @@ -9815,7 +11006,6 @@ | ||
| 8035 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8036 | else | ||
| 8037 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8038 | -#line $LINENO "configure" | ||
| 8039 | /* confdefs.h. */ | ||
| 8040 | _ACEOF | ||
| 8041 | cat confdefs.h >>conftest.$ac_ext | ||
| 8042 | @@ -9835,11 +11025,20 @@ | ||
| 8043 | _ACEOF | ||
| 8044 | rm -f conftest.$ac_objext | ||
| 8045 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8046 | - (eval $ac_compile) 2>&5 | ||
| 8047 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8048 | ac_status=$? | ||
| 8049 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8050 | + rm -f conftest.er1 | ||
| 8051 | + cat conftest.err >&5 | ||
| 8052 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8053 | (exit $ac_status); } && | ||
| 8054 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8055 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8056 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8057 | + (eval $ac_try) 2>&5 | ||
| 8058 | + ac_status=$? | ||
| 8059 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8060 | + (exit $ac_status); }; } && | ||
| 8061 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8062 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8063 | (eval $ac_try) 2>&5 | ||
| 8064 | ac_status=$? | ||
| 8065 | @@ -9852,7 +11051,7 @@ | ||
| 8066 | |||
| 8067 | ac_cv_have_decl_getchar_unlocked=no | ||
| 8068 | fi | ||
| 8069 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8070 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8071 | fi | ||
| 8072 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_getchar_unlocked" >&5 | ||
| 8073 | echo "${ECHO_T}$ac_cv_have_decl_getchar_unlocked" >&6 | ||
| 8074 | @@ -9880,7 +11079,6 @@ | ||
| 8075 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8076 | else | ||
| 8077 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8078 | -#line $LINENO "configure" | ||
| 8079 | /* confdefs.h. */ | ||
| 8080 | _ACEOF | ||
| 8081 | cat confdefs.h >>conftest.$ac_ext | ||
| 8082 | @@ -9900,11 +11098,20 @@ | ||
| 8083 | _ACEOF | ||
| 8084 | rm -f conftest.$ac_objext | ||
| 8085 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8086 | - (eval $ac_compile) 2>&5 | ||
| 8087 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8088 | ac_status=$? | ||
| 8089 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8090 | + rm -f conftest.er1 | ||
| 8091 | + cat conftest.err >&5 | ||
| 8092 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8093 | (exit $ac_status); } && | ||
| 8094 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8095 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8096 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8097 | + (eval $ac_try) 2>&5 | ||
| 8098 | + ac_status=$? | ||
| 8099 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8100 | + (exit $ac_status); }; } && | ||
| 8101 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8102 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8103 | (eval $ac_try) 2>&5 | ||
| 8104 | ac_status=$? | ||
| 8105 | @@ -9917,7 +11124,7 @@ | ||
| 8106 | |||
| 8107 | ac_cv_have_decl_putc_unlocked=no | ||
| 8108 | fi | ||
| 8109 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8110 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8111 | fi | ||
| 8112 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 | ||
| 8113 | echo "${ECHO_T}$ac_cv_have_decl_putc_unlocked" >&6 | ||
| 8114 | @@ -9945,7 +11152,6 @@ | ||
| 8115 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8116 | else | ||
| 8117 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8118 | -#line $LINENO "configure" | ||
| 8119 | /* confdefs.h. */ | ||
| 8120 | _ACEOF | ||
| 8121 | cat confdefs.h >>conftest.$ac_ext | ||
| 8122 | @@ -9965,11 +11171,20 @@ | ||
| 8123 | _ACEOF | ||
| 8124 | rm -f conftest.$ac_objext | ||
| 8125 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8126 | - (eval $ac_compile) 2>&5 | ||
| 8127 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8128 | ac_status=$? | ||
| 8129 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8130 | + rm -f conftest.er1 | ||
| 8131 | + cat conftest.err >&5 | ||
| 8132 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8133 | (exit $ac_status); } && | ||
| 8134 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8135 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8136 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8137 | + (eval $ac_try) 2>&5 | ||
| 8138 | + ac_status=$? | ||
| 8139 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8140 | + (exit $ac_status); }; } && | ||
| 8141 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8142 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8143 | (eval $ac_try) 2>&5 | ||
| 8144 | ac_status=$? | ||
| 8145 | @@ -9982,7 +11197,7 @@ | ||
| 8146 | |||
| 8147 | ac_cv_have_decl_putchar_unlocked=no | ||
| 8148 | fi | ||
| 8149 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8150 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8151 | fi | ||
| 8152 | echo "$as_me:$LINENO: result: $ac_cv_have_decl_putchar_unlocked" >&5 | ||
| 8153 | echo "${ECHO_T}$ac_cv_have_decl_putchar_unlocked" >&6 | ||
| 8154 | @@ -10075,7 +11290,6 @@ | ||
| 8155 | ac_cv_func_closedir_void=yes | ||
| 8156 | else | ||
| 8157 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8158 | -#line $LINENO "configure" | ||
| 8159 | /* confdefs.h. */ | ||
| 8160 | _ACEOF | ||
| 8161 | cat confdefs.h >>conftest.$ac_ext | ||
| 8162 | @@ -10115,7 +11329,7 @@ | ||
| 8163 | ( exit $ac_status ) | ||
| 8164 | ac_cv_func_closedir_void=yes | ||
| 8165 | fi | ||
| 8166 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 8167 | +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
| 8168 | fi | ||
| 8169 | fi | ||
| 8170 | echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 | ||
| 8171 | @@ -10146,7 +11360,6 @@ | ||
| 8172 | echo "$as_me:$LINENO: checking $ac_header usability" >&5 | ||
| 8173 | echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 | ||
| 8174 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8175 | -#line $LINENO "configure" | ||
| 8176 | /* confdefs.h. */ | ||
| 8177 | _ACEOF | ||
| 8178 | cat confdefs.h >>conftest.$ac_ext | ||
| 8179 | @@ -10157,11 +11370,20 @@ | ||
| 8180 | _ACEOF | ||
| 8181 | rm -f conftest.$ac_objext | ||
| 8182 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8183 | - (eval $ac_compile) 2>&5 | ||
| 8184 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8185 | ac_status=$? | ||
| 8186 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8187 | + rm -f conftest.er1 | ||
| 8188 | + cat conftest.err >&5 | ||
| 8189 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8190 | (exit $ac_status); } && | ||
| 8191 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8192 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8193 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8194 | + (eval $ac_try) 2>&5 | ||
| 8195 | + ac_status=$? | ||
| 8196 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8197 | + (exit $ac_status); }; } && | ||
| 8198 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8199 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8200 | (eval $ac_try) 2>&5 | ||
| 8201 | ac_status=$? | ||
| 8202 | @@ -10174,7 +11396,7 @@ | ||
| 8203 | |||
| 8204 | ac_header_compiler=no | ||
| 8205 | fi | ||
| 8206 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8207 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8208 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 8209 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 8210 | |||
| 8211 | @@ -10182,7 +11404,6 @@ | ||
| 8212 | echo "$as_me:$LINENO: checking $ac_header presence" >&5 | ||
| 8213 | echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 | ||
| 8214 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8215 | -#line $LINENO "configure" | ||
| 8216 | /* confdefs.h. */ | ||
| 8217 | _ACEOF | ||
| 8218 | cat confdefs.h >>conftest.$ac_ext | ||
| 8219 | @@ -10200,6 +11421,7 @@ | ||
| 8220 | (exit $ac_status); } >/dev/null; then | ||
| 8221 | if test -s conftest.err; then | ||
| 8222 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 8223 | + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 8224 | else | ||
| 8225 | ac_cpp_err= | ||
| 8226 | fi | ||
| 8227 | @@ -10219,33 +11441,32 @@ | ||
| 8228 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 8229 | |||
| 8230 | # So? What about this header? | ||
| 8231 | -case $ac_header_compiler:$ac_header_preproc in | ||
| 8232 | - yes:no ) | ||
| 8233 | +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 8234 | + yes:no: ) | ||
| 8235 | { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 8236 | echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 8237 | - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 8238 | -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 8239 | - ( | ||
| 8240 | - cat <<\_ASBOX | ||
| 8241 | -## ------------------------------------ ## | ||
| 8242 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 8243 | -## ------------------------------------ ## | ||
| 8244 | -_ASBOX | ||
| 8245 | - ) | | ||
| 8246 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
| 8247 | + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 | ||
| 8248 | +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} | ||
| 8249 | + ac_header_preproc=yes | ||
| 8250 | ;; | ||
| 8251 | - no:yes ) | ||
| 8252 | + no:yes:* ) | ||
| 8253 | { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 | ||
| 8254 | echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} | ||
| 8255 | - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 8256 | -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 8257 | + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 | ||
| 8258 | +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} | ||
| 8259 | + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 | ||
| 8260 | +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} | ||
| 8261 | + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 8262 | +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 8263 | { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 | ||
| 8264 | echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} | ||
| 8265 | + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 | ||
| 8266 | +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} | ||
| 8267 | ( | ||
| 8268 | cat <<\_ASBOX | ||
| 8269 | -## ------------------------------------ ## | ||
| 8270 | -## Report this to bug-autoconf@gnu.org. ## | ||
| 8271 | -## ------------------------------------ ## | ||
| 8272 | +## -------------------------------- ## | ||
| 8273 | +## Report this to bug-patch@gnu.org ## | ||
| 8274 | +## -------------------------------- ## | ||
| 8275 | _ASBOX | ||
| 8276 | ) | | ||
| 8277 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 8278 | @@ -10256,7 +11477,7 @@ | ||
| 8279 | if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
| 8280 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8281 | else | ||
| 8282 | - eval "$as_ac_Header=$ac_header_preproc" | ||
| 8283 | + eval "$as_ac_Header=\$ac_header_preproc" | ||
| 8284 | fi | ||
| 8285 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
| 8286 | echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
| 8287 | @@ -10277,7 +11498,6 @@ | ||
| 8288 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8289 | else | ||
| 8290 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8291 | -#line $LINENO "configure" | ||
| 8292 | /* confdefs.h. */ | ||
| 8293 | _ACEOF | ||
| 8294 | cat confdefs.h >>conftest.$ac_ext | ||
| 8295 | @@ -10300,11 +11520,20 @@ | ||
| 8296 | _ACEOF | ||
| 8297 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 8298 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 8299 | - (eval $ac_link) 2>&5 | ||
| 8300 | + (eval $ac_link) 2>conftest.er1 | ||
| 8301 | ac_status=$? | ||
| 8302 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8303 | + rm -f conftest.er1 | ||
| 8304 | + cat conftest.err >&5 | ||
| 8305 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8306 | (exit $ac_status); } && | ||
| 8307 | - { ac_try='test -s conftest$ac_exeext' | ||
| 8308 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8309 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8310 | + (eval $ac_try) 2>&5 | ||
| 8311 | + ac_status=$? | ||
| 8312 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8313 | + (exit $ac_status); }; } && | ||
| 8314 | + { ac_try='test -s conftest$ac_exeext' | ||
| 8315 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8316 | (eval $ac_try) 2>&5 | ||
| 8317 | ac_status=$? | ||
| 8318 | @@ -10317,7 +11546,8 @@ | ||
| 8319 | |||
| 8320 | ac_cv_func_setmode_dos=no | ||
| 8321 | fi | ||
| 8322 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 8323 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 8324 | + conftest$ac_exeext conftest.$ac_ext | ||
| 8325 | fi | ||
| 8326 | echo "$as_me:$LINENO: result: $ac_cv_func_setmode_dos" >&5 | ||
| 8327 | echo "${ECHO_T}$ac_cv_func_setmode_dos" >&6 | ||
| 8328 | @@ -10338,21 +11568,28 @@ | ||
| 8329 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8330 | else | ||
| 8331 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8332 | -#line $LINENO "configure" | ||
| 8333 | /* confdefs.h. */ | ||
| 8334 | _ACEOF | ||
| 8335 | cat confdefs.h >>conftest.$ac_ext | ||
| 8336 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 8337 | /* end confdefs.h. */ | ||
| 8338 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 8339 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 8340 | +#define $ac_func innocuous_$ac_func | ||
| 8341 | + | ||
| 8342 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 8343 | which can conflict with char $ac_func (); below. | ||
| 8344 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 8345 | <limits.h> exists even on freestanding compilers. */ | ||
| 8346 | + | ||
| 8347 | #ifdef __STDC__ | ||
| 8348 | # include <limits.h> | ||
| 8349 | #else | ||
| 8350 | # include <assert.h> | ||
| 8351 | #endif | ||
| 8352 | + | ||
| 8353 | +#undef $ac_func | ||
| 8354 | + | ||
| 8355 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 8356 | #ifdef __cplusplus | ||
| 8357 | extern "C" | ||
| 8358 | @@ -10383,11 +11620,20 @@ | ||
| 8359 | _ACEOF | ||
| 8360 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 8361 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 8362 | - (eval $ac_link) 2>&5 | ||
| 8363 | + (eval $ac_link) 2>conftest.er1 | ||
| 8364 | ac_status=$? | ||
| 8365 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8366 | + rm -f conftest.er1 | ||
| 8367 | + cat conftest.err >&5 | ||
| 8368 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8369 | (exit $ac_status); } && | ||
| 8370 | - { ac_try='test -s conftest$ac_exeext' | ||
| 8371 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8372 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8373 | + (eval $ac_try) 2>&5 | ||
| 8374 | + ac_status=$? | ||
| 8375 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8376 | + (exit $ac_status); }; } && | ||
| 8377 | + { ac_try='test -s conftest$ac_exeext' | ||
| 8378 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8379 | (eval $ac_try) 2>&5 | ||
| 8380 | ac_status=$? | ||
| 8381 | @@ -10400,7 +11646,8 @@ | ||
| 8382 | |||
| 8383 | eval "$as_ac_var=no" | ||
| 8384 | fi | ||
| 8385 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 8386 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 8387 | + conftest$ac_exeext conftest.$ac_ext | ||
| 8388 | fi | ||
| 8389 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 8390 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 8391 | @@ -10415,21 +11662,28 @@ | ||
| 8392 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8393 | else | ||
| 8394 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8395 | -#line $LINENO "configure" | ||
| 8396 | /* confdefs.h. */ | ||
| 8397 | _ACEOF | ||
| 8398 | cat confdefs.h >>conftest.$ac_ext | ||
| 8399 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 8400 | /* end confdefs.h. */ | ||
| 8401 | +/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt. | ||
| 8402 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 8403 | +#define _doprnt innocuous__doprnt | ||
| 8404 | + | ||
| 8405 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 8406 | which can conflict with char _doprnt (); below. | ||
| 8407 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 8408 | <limits.h> exists even on freestanding compilers. */ | ||
| 8409 | + | ||
| 8410 | #ifdef __STDC__ | ||
| 8411 | # include <limits.h> | ||
| 8412 | #else | ||
| 8413 | # include <assert.h> | ||
| 8414 | #endif | ||
| 8415 | + | ||
| 8416 | +#undef _doprnt | ||
| 8417 | + | ||
| 8418 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 8419 | #ifdef __cplusplus | ||
| 8420 | extern "C" | ||
| 8421 | @@ -10460,11 +11714,20 @@ | ||
| 8422 | _ACEOF | ||
| 8423 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 8424 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 8425 | - (eval $ac_link) 2>&5 | ||
| 8426 | + (eval $ac_link) 2>conftest.er1 | ||
| 8427 | ac_status=$? | ||
| 8428 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8429 | + rm -f conftest.er1 | ||
| 8430 | + cat conftest.err >&5 | ||
| 8431 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8432 | (exit $ac_status); } && | ||
| 8433 | - { ac_try='test -s conftest$ac_exeext' | ||
| 8434 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8435 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8436 | + (eval $ac_try) 2>&5 | ||
| 8437 | + ac_status=$? | ||
| 8438 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8439 | + (exit $ac_status); }; } && | ||
| 8440 | + { ac_try='test -s conftest$ac_exeext' | ||
| 8441 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8442 | (eval $ac_try) 2>&5 | ||
| 8443 | ac_status=$? | ||
| 8444 | @@ -10477,7 +11740,8 @@ | ||
| 8445 | |||
| 8446 | ac_cv_func__doprnt=no | ||
| 8447 | fi | ||
| 8448 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 8449 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 8450 | + conftest$ac_exeext conftest.$ac_ext | ||
| 8451 | fi | ||
| 8452 | echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 | ||
| 8453 | echo "${ECHO_T}$ac_cv_func__doprnt" >&6 | ||
| 8454 | @@ -10503,21 +11767,28 @@ | ||
| 8455 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8456 | else | ||
| 8457 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8458 | -#line $LINENO "configure" | ||
| 8459 | /* confdefs.h. */ | ||
| 8460 | _ACEOF | ||
| 8461 | cat confdefs.h >>conftest.$ac_ext | ||
| 8462 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 8463 | /* end confdefs.h. */ | ||
| 8464 | +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. | ||
| 8465 | + For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
| 8466 | +#define $ac_func innocuous_$ac_func | ||
| 8467 | + | ||
| 8468 | /* System header to define __stub macros and hopefully few prototypes, | ||
| 8469 | which can conflict with char $ac_func (); below. | ||
| 8470 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
| 8471 | <limits.h> exists even on freestanding compilers. */ | ||
| 8472 | + | ||
| 8473 | #ifdef __STDC__ | ||
| 8474 | # include <limits.h> | ||
| 8475 | #else | ||
| 8476 | # include <assert.h> | ||
| 8477 | #endif | ||
| 8478 | + | ||
| 8479 | +#undef $ac_func | ||
| 8480 | + | ||
| 8481 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
| 8482 | #ifdef __cplusplus | ||
| 8483 | extern "C" | ||
| 8484 | @@ -10548,11 +11819,20 @@ | ||
| 8485 | _ACEOF | ||
| 8486 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 8487 | if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
| 8488 | - (eval $ac_link) 2>&5 | ||
| 8489 | + (eval $ac_link) 2>conftest.er1 | ||
| 8490 | ac_status=$? | ||
| 8491 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8492 | + rm -f conftest.er1 | ||
| 8493 | + cat conftest.err >&5 | ||
| 8494 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8495 | (exit $ac_status); } && | ||
| 8496 | - { ac_try='test -s conftest$ac_exeext' | ||
| 8497 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8498 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8499 | + (eval $ac_try) 2>&5 | ||
| 8500 | + ac_status=$? | ||
| 8501 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8502 | + (exit $ac_status); }; } && | ||
| 8503 | + { ac_try='test -s conftest$ac_exeext' | ||
| 8504 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8505 | (eval $ac_try) 2>&5 | ||
| 8506 | ac_status=$? | ||
| 8507 | @@ -10565,7 +11845,8 @@ | ||
| 8508 | |||
| 8509 | eval "$as_ac_var=no" | ||
| 8510 | fi | ||
| 8511 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
| 8512 | +rm -f conftest.err conftest.$ac_objext \ | ||
| 8513 | + conftest$ac_exeext conftest.$ac_ext | ||
| 8514 | fi | ||
| 8515 | echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 | ||
| 8516 | echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 | ||
| 8517 | @@ -10585,7 +11866,6 @@ | ||
| 8518 | patch_cv_mkdir_takes_one_arg=no | ||
| 8519 | if test $ac_cv_func_mkdir = yes; then | ||
| 8520 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8521 | -#line $LINENO "configure" | ||
| 8522 | /* confdefs.h. */ | ||
| 8523 | _ACEOF | ||
| 8524 | cat confdefs.h >>conftest.$ac_ext | ||
| 8525 | @@ -10605,11 +11885,20 @@ | ||
| 8526 | _ACEOF | ||
| 8527 | rm -f conftest.$ac_objext | ||
| 8528 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8529 | - (eval $ac_compile) 2>&5 | ||
| 8530 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8531 | ac_status=$? | ||
| 8532 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8533 | + rm -f conftest.er1 | ||
| 8534 | + cat conftest.err >&5 | ||
| 8535 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8536 | (exit $ac_status); } && | ||
| 8537 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8538 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8539 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8540 | + (eval $ac_try) 2>&5 | ||
| 8541 | + ac_status=$? | ||
| 8542 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8543 | + (exit $ac_status); }; } && | ||
| 8544 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8545 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8546 | (eval $ac_try) 2>&5 | ||
| 8547 | ac_status=$? | ||
| 8548 | @@ -10621,7 +11910,6 @@ | ||
| 8549 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 8550 | |||
| 8551 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8552 | -#line $LINENO "configure" | ||
| 8553 | /* confdefs.h. */ | ||
| 8554 | _ACEOF | ||
| 8555 | cat confdefs.h >>conftest.$ac_ext | ||
| 8556 | @@ -10641,11 +11929,20 @@ | ||
| 8557 | _ACEOF | ||
| 8558 | rm -f conftest.$ac_objext | ||
| 8559 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8560 | - (eval $ac_compile) 2>&5 | ||
| 8561 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8562 | ac_status=$? | ||
| 8563 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8564 | + rm -f conftest.er1 | ||
| 8565 | + cat conftest.err >&5 | ||
| 8566 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8567 | (exit $ac_status); } && | ||
| 8568 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8569 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8570 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8571 | + (eval $ac_try) 2>&5 | ||
| 8572 | + ac_status=$? | ||
| 8573 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8574 | + (exit $ac_status); }; } && | ||
| 8575 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8576 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8577 | (eval $ac_try) 2>&5 | ||
| 8578 | ac_status=$? | ||
| 8579 | @@ -10658,10 +11955,10 @@ | ||
| 8580 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 8581 | |||
| 8582 | fi | ||
| 8583 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8584 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8585 | |||
| 8586 | fi | ||
| 8587 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8588 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8589 | fi | ||
| 8590 | |||
| 8591 | |||
| 8592 | @@ -10686,7 +11983,6 @@ | ||
| 8593 | else | ||
| 8594 | |||
| 8595 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8596 | -#line $LINENO "configure" | ||
| 8597 | /* confdefs.h. */ | ||
| 8598 | _ACEOF | ||
| 8599 | cat confdefs.h >>conftest.$ac_ext | ||
| 8600 | @@ -10705,11 +12001,20 @@ | ||
| 8601 | _ACEOF | ||
| 8602 | rm -f conftest.$ac_objext | ||
| 8603 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8604 | - (eval $ac_compile) 2>&5 | ||
| 8605 | + (eval $ac_compile) 2>conftest.er1 | ||
| 8606 | ac_status=$? | ||
| 8607 | + grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8608 | + rm -f conftest.er1 | ||
| 8609 | + cat conftest.err >&5 | ||
| 8610 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8611 | (exit $ac_status); } && | ||
| 8612 | - { ac_try='test -s conftest.$ac_objext' | ||
| 8613 | + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8614 | + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8615 | + (eval $ac_try) 2>&5 | ||
| 8616 | + ac_status=$? | ||
| 8617 | + echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8618 | + (exit $ac_status); }; } && | ||
| 8619 | + { ac_try='test -s conftest.$ac_objext' | ||
| 8620 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8621 | (eval $ac_try) 2>&5 | ||
| 8622 | ac_status=$? | ||
| 8623 | @@ -10722,7 +12027,7 @@ | ||
| 8624 | |||
| 8625 | ac_cv_win_or_dos=no | ||
| 8626 | fi | ||
| 8627 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
| 8628 | +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8629 | |||
| 8630 | fi | ||
| 8631 | echo "$as_me:$LINENO: result: $ac_cv_win_or_dos" >&5 | ||
| 8632 | @@ -10834,13 +12139,13 @@ | ||
| 8633 | # `set' does not quote correctly, so add quotes (double-quote | ||
| 8634 | # substitution turns \\\\ into \\, and sed turns \\ into \). | ||
| 8635 | sed -n \ | ||
| 8636 | - "s/'/'\\\\''/g; | ||
| 8637 | - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" | ||
| 8638 | + "s/'/'\\\\''/g; | ||
| 8639 | + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" | ||
| 8640 | ;; | ||
| 8641 | *) | ||
| 8642 | # `set' quotes correctly as required by POSIX, so do not add quotes. | ||
| 8643 | sed -n \ | ||
| 8644 | - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
| 8645 | + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
| 8646 | ;; | ||
| 8647 | esac; | ||
| 8648 | } | | ||
| 8649 | @@ -10870,13 +12175,13 @@ | ||
| 8650 | # trailing colons and then remove the whole line if VPATH becomes empty | ||
| 8651 | # (actually we leave an empty line to preserve line numbers). | ||
| 8652 | if test "x$srcdir" = x.; then | ||
| 8653 | - ac_vpsub='/^[ ]*VPATH[ ]*=/{ | ||
| 8654 | + ac_vpsub='/^[ ]*VPATH[ ]*=/{ | ||
| 8655 | s/:*\$(srcdir):*/:/; | ||
| 8656 | s/:*\${srcdir}:*/:/; | ||
| 8657 | s/:*@srcdir@:*/:/; | ||
| 8658 | -s/^\([^=]*=[ ]*\):*/\1/; | ||
| 8659 | +s/^\([^=]*=[ ]*\):*/\1/; | ||
| 8660 | s/:*$//; | ||
| 8661 | -s/^[^=]*=[ ]*$//; | ||
| 8662 | +s/^[^=]*=[ ]*$//; | ||
| 8663 | }' | ||
| 8664 | fi | ||
| 8665 | |||
| 8666 | @@ -10887,7 +12192,7 @@ | ||
| 8667 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | ||
| 8668 | # 1. Remove the extension, and $U if already installed. | ||
| 8669 | ac_i=`echo "$ac_i" | | ||
| 8670 | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` | ||
| 8671 | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` | ||
| 8672 | # 2. Add them. | ||
| 8673 | ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" | ||
| 8674 | ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' | ||
| 8675 | @@ -10931,9 +12236,10 @@ | ||
| 8676 | elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then | ||
| 8677 | set -o posix | ||
| 8678 | fi | ||
| 8679 | +DUALCASE=1; export DUALCASE # for MKS sh | ||
| 8680 | |||
| 8681 | # Support unset when possible. | ||
| 8682 | -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then | ||
| 8683 | +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
| 8684 | as_unset=unset | ||
| 8685 | else | ||
| 8686 | as_unset=false | ||
| 8687 | @@ -10952,7 +12258,7 @@ | ||
| 8688 | LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | ||
| 8689 | LC_TELEPHONE LC_TIME | ||
| 8690 | do | ||
| 8691 | - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
| 8692 | + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
| 8693 | eval $as_var=C; export $as_var | ||
| 8694 | else | ||
| 8695 | $as_unset $as_var | ||
| 8696 | @@ -11131,16 +12437,17 @@ | ||
| 8697 | if mkdir -p . 2>/dev/null; then | ||
| 8698 | as_mkdir_p=: | ||
| 8699 | else | ||
| 8700 | + test -d ./-p && rmdir ./-p | ||
| 8701 | as_mkdir_p=false | ||
| 8702 | fi | ||
| 8703 | |||
| 8704 | as_executable_p="test -f" | ||
| 8705 | |||
| 8706 | # Sed expression to map a string onto a valid CPP name. | ||
| 8707 | -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" | ||
| 8708 | +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | ||
| 8709 | |||
| 8710 | # Sed expression to map a string onto a valid variable name. | ||
| 8711 | -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" | ||
| 8712 | +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | ||
| 8713 | |||
| 8714 | |||
| 8715 | # IFS | ||
| 8716 | @@ -11167,7 +12474,7 @@ | ||
| 8717 | cat >&5 <<_CSEOF | ||
| 8718 | |||
| 8719 | This file was extended by patch $as_me 2.5.9, which was | ||
| 8720 | -generated by GNU Autoconf 2.57. Invocation command line was | ||
| 8721 | +generated by GNU Autoconf 2.59. Invocation command line was | ||
| 8722 | |||
| 8723 | CONFIG_FILES = $CONFIG_FILES | ||
| 8724 | CONFIG_HEADERS = $CONFIG_HEADERS | ||
| 8725 | @@ -11211,9 +12518,9 @@ | ||
| 8726 | -d, --debug don't remove temporary files | ||
| 8727 | --recheck update $as_me by reconfiguring in the same conditions | ||
| 8728 | --file=FILE[:TEMPLATE] | ||
| 8729 | - instantiate the configuration file FILE | ||
| 8730 | + instantiate the configuration file FILE | ||
| 8731 | --header=FILE[:TEMPLATE] | ||
| 8732 | - instantiate the configuration header FILE | ||
| 8733 | + instantiate the configuration header FILE | ||
| 8734 | |||
| 8735 | Configuration files: | ||
| 8736 | $config_files | ||
| 8737 | @@ -11227,11 +12534,10 @@ | ||
| 8738 | cat >>$CONFIG_STATUS <<_ACEOF | ||
| 8739 | ac_cs_version="\\ | ||
| 8740 | patch config.status 2.5.9 | ||
| 8741 | -configured by $0, generated by GNU Autoconf 2.57, | ||
| 8742 | +configured by $0, generated by GNU Autoconf 2.59, | ||
| 8743 | with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" | ||
| 8744 | |||
| 8745 | -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 | ||
| 8746 | -Free Software Foundation, Inc. | ||
| 8747 | +Copyright (C) 2003 Free Software Foundation, Inc. | ||
| 8748 | This config.status script is free software; the Free Software Foundation | ||
| 8749 | gives unlimited permission to copy, distribute and modify it." | ||
| 8750 | srcdir=$srcdir | ||
| 8751 | @@ -11463,9 +12769,9 @@ | ||
| 8752 | (echo ':t | ||
| 8753 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed | ||
| 8754 | if test -z "$ac_sed_cmds"; then | ||
| 8755 | - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" | ||
| 8756 | + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" | ||
| 8757 | else | ||
| 8758 | - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" | ||
| 8759 | + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" | ||
| 8760 | fi | ||
| 8761 | ac_sed_frag=`expr $ac_sed_frag + 1` | ||
| 8762 | ac_beg=$ac_end | ||
| 8763 | @@ -11483,21 +12789,21 @@ | ||
| 8764 | # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". | ||
| 8765 | case $ac_file in | ||
| 8766 | - | *:- | *:-:* ) # input from stdin | ||
| 8767 | - cat >$tmp/stdin | ||
| 8768 | - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8769 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8770 | + cat >$tmp/stdin | ||
| 8771 | + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8772 | + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8773 | *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8774 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8775 | + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8776 | * ) ac_file_in=$ac_file.in ;; | ||
| 8777 | esac | ||
| 8778 | |||
| 8779 | # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. | ||
| 8780 | ac_dir=`(dirname "$ac_file") 2>/dev/null || | ||
| 8781 | $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
| 8782 | - X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
| 8783 | - X"$ac_file" : 'X\(//\)$' \| \ | ||
| 8784 | - X"$ac_file" : 'X\(/\)' \| \ | ||
| 8785 | - . : '\(.\)' 2>/dev/null || | ||
| 8786 | + X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
| 8787 | + X"$ac_file" : 'X\(//\)$' \| \ | ||
| 8788 | + X"$ac_file" : 'X\(/\)' \| \ | ||
| 8789 | + . : '\(.\)' 2>/dev/null || | ||
| 8790 | echo X"$ac_file" | | ||
| 8791 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
| 8792 | /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
| 8793 | @@ -11513,10 +12819,10 @@ | ||
| 8794 | as_dirs="$as_dir $as_dirs" | ||
| 8795 | as_dir=`(dirname "$as_dir") 2>/dev/null || | ||
| 8796 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
| 8797 | - X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
| 8798 | - X"$as_dir" : 'X\(//\)$' \| \ | ||
| 8799 | - X"$as_dir" : 'X\(/\)' \| \ | ||
| 8800 | - . : '\(.\)' 2>/dev/null || | ||
| 8801 | + X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
| 8802 | + X"$as_dir" : 'X\(//\)$' \| \ | ||
| 8803 | + X"$as_dir" : 'X\(/\)' \| \ | ||
| 8804 | + . : '\(.\)' 2>/dev/null || | ||
| 8805 | echo X"$as_dir" | | ||
| 8806 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
| 8807 | /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
| 8808 | @@ -11554,12 +12860,45 @@ | ||
| 8809 | ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix | ||
| 8810 | ac_top_srcdir=$ac_top_builddir$srcdir ;; | ||
| 8811 | esac | ||
| 8812 | -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be | ||
| 8813 | -# absolute. | ||
| 8814 | -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` | ||
| 8815 | -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` | ||
| 8816 | -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` | ||
| 8817 | -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` | ||
| 8818 | + | ||
| 8819 | +# Do not use `cd foo && pwd` to compute absolute paths, because | ||
| 8820 | +# the directories may not exist. | ||
| 8821 | +case `pwd` in | ||
| 8822 | +.) ac_abs_builddir="$ac_dir";; | ||
| 8823 | +*) | ||
| 8824 | + case "$ac_dir" in | ||
| 8825 | + .) ac_abs_builddir=`pwd`;; | ||
| 8826 | + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; | ||
| 8827 | + *) ac_abs_builddir=`pwd`/"$ac_dir";; | ||
| 8828 | + esac;; | ||
| 8829 | +esac | ||
| 8830 | +case $ac_abs_builddir in | ||
| 8831 | +.) ac_abs_top_builddir=${ac_top_builddir}.;; | ||
| 8832 | +*) | ||
| 8833 | + case ${ac_top_builddir}. in | ||
| 8834 | + .) ac_abs_top_builddir=$ac_abs_builddir;; | ||
| 8835 | + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; | ||
| 8836 | + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; | ||
| 8837 | + esac;; | ||
| 8838 | +esac | ||
| 8839 | +case $ac_abs_builddir in | ||
| 8840 | +.) ac_abs_srcdir=$ac_srcdir;; | ||
| 8841 | +*) | ||
| 8842 | + case $ac_srcdir in | ||
| 8843 | + .) ac_abs_srcdir=$ac_abs_builddir;; | ||
| 8844 | + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; | ||
| 8845 | + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; | ||
| 8846 | + esac;; | ||
| 8847 | +esac | ||
| 8848 | +case $ac_abs_builddir in | ||
| 8849 | +.) ac_abs_top_srcdir=$ac_top_srcdir;; | ||
| 8850 | +*) | ||
| 8851 | + case $ac_top_srcdir in | ||
| 8852 | + .) ac_abs_top_srcdir=$ac_abs_builddir;; | ||
| 8853 | + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; | ||
| 8854 | + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; | ||
| 8855 | + esac;; | ||
| 8856 | +esac | ||
| 8857 | |||
| 8858 | |||
| 8859 | case $INSTALL in | ||
| 8860 | @@ -11567,11 +12906,6 @@ | ||
| 8861 | *) ac_INSTALL=$ac_top_builddir$INSTALL ;; | ||
| 8862 | esac | ||
| 8863 | |||
| 8864 | - if test x"$ac_file" != x-; then | ||
| 8865 | - { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 8866 | -echo "$as_me: creating $ac_file" >&6;} | ||
| 8867 | - rm -f "$ac_file" | ||
| 8868 | - fi | ||
| 8869 | # Let's still pretend it is `configure' which instantiates (i.e., don't | ||
| 8870 | # use $as_me), people would be surprised to read: | ||
| 8871 | # /* config.h. Generated by config.status. */ | ||
| 8872 | @@ -11581,7 +12915,7 @@ | ||
| 8873 | configure_input="$ac_file. " | ||
| 8874 | fi | ||
| 8875 | configure_input=$configure_input"Generated from `echo $ac_file_in | | ||
| 8876 | - sed 's,.*/,,'` by configure." | ||
| 8877 | + sed 's,.*/,,'` by configure." | ||
| 8878 | |||
| 8879 | # First look for the input files in the build tree, otherwise in the | ||
| 8880 | # src tree. | ||
| 8881 | @@ -11590,26 +12924,32 @@ | ||
| 8882 | case $f in | ||
| 8883 | -) echo $tmp/stdin ;; | ||
| 8884 | [\\/$]*) | ||
| 8885 | - # Absolute (can't be DOS-style, as IFS=:) | ||
| 8886 | - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8887 | + # Absolute (can't be DOS-style, as IFS=:) | ||
| 8888 | + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8889 | echo "$as_me: error: cannot find input file: $f" >&2;} | ||
| 8890 | { (exit 1); exit 1; }; } | ||
| 8891 | - echo $f;; | ||
| 8892 | + echo "$f";; | ||
| 8893 | *) # Relative | ||
| 8894 | - if test -f "$f"; then | ||
| 8895 | - # Build tree | ||
| 8896 | - echo $f | ||
| 8897 | - elif test -f "$srcdir/$f"; then | ||
| 8898 | - # Source tree | ||
| 8899 | - echo $srcdir/$f | ||
| 8900 | - else | ||
| 8901 | - # /dev/null tree | ||
| 8902 | - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8903 | + if test -f "$f"; then | ||
| 8904 | + # Build tree | ||
| 8905 | + echo "$f" | ||
| 8906 | + elif test -f "$srcdir/$f"; then | ||
| 8907 | + # Source tree | ||
| 8908 | + echo "$srcdir/$f" | ||
| 8909 | + else | ||
| 8910 | + # /dev/null tree | ||
| 8911 | + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8912 | echo "$as_me: error: cannot find input file: $f" >&2;} | ||
| 8913 | { (exit 1); exit 1; }; } | ||
| 8914 | - fi;; | ||
| 8915 | + fi;; | ||
| 8916 | esac | ||
| 8917 | done` || { (exit 1); exit 1; } | ||
| 8918 | + | ||
| 8919 | + if test x"$ac_file" != x-; then | ||
| 8920 | + { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 8921 | +echo "$as_me: creating $ac_file" >&6;} | ||
| 8922 | + rm -f "$ac_file" | ||
| 8923 | + fi | ||
| 8924 | _ACEOF | ||
| 8925 | cat >>$CONFIG_STATUS <<_ACEOF | ||
| 8926 | sed "$ac_vpsub | ||
| 8927 | @@ -11649,12 +12989,12 @@ | ||
| 8928 | # NAME is the cpp macro being defined and VALUE is the value it is being given. | ||
| 8929 | # | ||
| 8930 | # ac_d sets the value in "#define NAME VALUE" lines. | ||
| 8931 | -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' | ||
| 8932 | -ac_dB='[ ].*$,\1#\2' | ||
| 8933 | +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' | ||
| 8934 | +ac_dB='[ ].*$,\1#\2' | ||
| 8935 | ac_dC=' ' | ||
| 8936 | ac_dD=',;t' | ||
| 8937 | # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". | ||
| 8938 | -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' | ||
| 8939 | +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' | ||
| 8940 | ac_uB='$,\1#\2define\3' | ||
| 8941 | ac_uC=' ' | ||
| 8942 | ac_uD=',;t' | ||
| 8943 | @@ -11663,11 +13003,11 @@ | ||
| 8944 | # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". | ||
| 8945 | case $ac_file in | ||
| 8946 | - | *:- | *:-:* ) # input from stdin | ||
| 8947 | - cat >$tmp/stdin | ||
| 8948 | - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8949 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8950 | + cat >$tmp/stdin | ||
| 8951 | + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8952 | + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8953 | *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
| 8954 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8955 | + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
| 8956 | * ) ac_file_in=$ac_file.in ;; | ||
| 8957 | esac | ||
| 8958 | |||
| 8959 | @@ -11681,28 +13021,29 @@ | ||
| 8960 | case $f in | ||
| 8961 | -) echo $tmp/stdin ;; | ||
| 8962 | [\\/$]*) | ||
| 8963 | - # Absolute (can't be DOS-style, as IFS=:) | ||
| 8964 | - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8965 | + # Absolute (can't be DOS-style, as IFS=:) | ||
| 8966 | + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8967 | echo "$as_me: error: cannot find input file: $f" >&2;} | ||
| 8968 | { (exit 1); exit 1; }; } | ||
| 8969 | - echo $f;; | ||
| 8970 | + # Do quote $f, to prevent DOS paths from being IFS'd. | ||
| 8971 | + echo "$f";; | ||
| 8972 | *) # Relative | ||
| 8973 | - if test -f "$f"; then | ||
| 8974 | - # Build tree | ||
| 8975 | - echo $f | ||
| 8976 | - elif test -f "$srcdir/$f"; then | ||
| 8977 | - # Source tree | ||
| 8978 | - echo $srcdir/$f | ||
| 8979 | - else | ||
| 8980 | - # /dev/null tree | ||
| 8981 | - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8982 | + if test -f "$f"; then | ||
| 8983 | + # Build tree | ||
| 8984 | + echo "$f" | ||
| 8985 | + elif test -f "$srcdir/$f"; then | ||
| 8986 | + # Source tree | ||
| 8987 | + echo "$srcdir/$f" | ||
| 8988 | + else | ||
| 8989 | + # /dev/null tree | ||
| 8990 | + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
| 8991 | echo "$as_me: error: cannot find input file: $f" >&2;} | ||
| 8992 | { (exit 1); exit 1; }; } | ||
| 8993 | - fi;; | ||
| 8994 | + fi;; | ||
| 8995 | esac | ||
| 8996 | done` || { (exit 1); exit 1; } | ||
| 8997 | # Remove the trailing spaces. | ||
| 8998 | - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in | ||
| 8999 | + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in | ||
| 9000 | |||
| 9001 | _ACEOF | ||
| 9002 | |||
| 9003 | @@ -11725,9 +13066,9 @@ | ||
| 9004 | s,[\\$`],\\&,g | ||
| 9005 | t clear | ||
| 9006 | : clear | ||
| 9007 | -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp | ||
| 9008 | +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp | ||
| 9009 | t end | ||
| 9010 | -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp | ||
| 9011 | +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp | ||
| 9012 | : end | ||
| 9013 | _ACEOF | ||
| 9014 | # If some macros were called several times there might be several times | ||
| 9015 | @@ -11741,13 +13082,13 @@ | ||
| 9016 | # example, in the case of _POSIX_SOURCE, which is predefined and required | ||
| 9017 | # on some systems where configure will not decide to define it. | ||
| 9018 | cat >>conftest.undefs <<\_ACEOF | ||
| 9019 | -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, | ||
| 9020 | +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, | ||
| 9021 | _ACEOF | ||
| 9022 | |||
| 9023 | # Break up conftest.defines because some shells have a limit on the size | ||
| 9024 | # of here documents, and old seds have small limits too (100 cmds). | ||
| 9025 | echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS | ||
| 9026 | -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS | ||
| 9027 | +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS | ||
| 9028 | echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS | ||
| 9029 | echo ' :' >>$CONFIG_STATUS | ||
| 9030 | rm -f conftest.tail | ||
| 9031 | @@ -11756,7 +13097,7 @@ | ||
| 9032 | # Write a limited-size here document to $tmp/defines.sed. | ||
| 9033 | echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS | ||
| 9034 | # Speed up: don't consider the non `#define' lines. | ||
| 9035 | - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS | ||
| 9036 | + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS | ||
| 9037 | # Work around the forget-to-reset-the-flag bug. | ||
| 9038 | echo 't clr' >>$CONFIG_STATUS | ||
| 9039 | echo ': clr' >>$CONFIG_STATUS | ||
| 9040 | @@ -11783,7 +13124,7 @@ | ||
| 9041 | # Write a limited-size here document to $tmp/undefs.sed. | ||
| 9042 | echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS | ||
| 9043 | # Speed up: don't consider the non `#undef' | ||
| 9044 | - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS | ||
| 9045 | + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS | ||
| 9046 | # Work around the forget-to-reset-the-flag bug. | ||
| 9047 | echo 't clr' >>$CONFIG_STATUS | ||
| 9048 | echo ': clr' >>$CONFIG_STATUS | ||
| 9049 | @@ -11817,10 +13158,10 @@ | ||
| 9050 | else | ||
| 9051 | ac_dir=`(dirname "$ac_file") 2>/dev/null || | ||
| 9052 | $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
| 9053 | - X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
| 9054 | - X"$ac_file" : 'X\(//\)$' \| \ | ||
| 9055 | - X"$ac_file" : 'X\(/\)' \| \ | ||
| 9056 | - . : '\(.\)' 2>/dev/null || | ||
| 9057 | + X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
| 9058 | + X"$ac_file" : 'X\(//\)$' \| \ | ||
| 9059 | + X"$ac_file" : 'X\(/\)' \| \ | ||
| 9060 | + . : '\(.\)' 2>/dev/null || | ||
| 9061 | echo X"$ac_file" | | ||
| 9062 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
| 9063 | /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
| 9064 | @@ -11836,10 +13177,10 @@ | ||
| 9065 | as_dirs="$as_dir $as_dirs" | ||
| 9066 | as_dir=`(dirname "$as_dir") 2>/dev/null || | ||
| 9067 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
| 9068 | - X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
| 9069 | - X"$as_dir" : 'X\(//\)$' \| \ | ||
| 9070 | - X"$as_dir" : 'X\(/\)' \| \ | ||
| 9071 | - . : '\(.\)' 2>/dev/null || | ||
| 9072 | + X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
| 9073 | + X"$as_dir" : 'X\(//\)$' \| \ | ||
| 9074 | + X"$as_dir" : 'X\(/\)' \| \ | ||
| 9075 | + . : '\(.\)' 2>/dev/null || | ||
| 9076 | echo X"$as_dir" | | ||
| 9077 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
| 9078 | /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
| 9079 | --- patch-2.5.9.orig/configure.ac | ||
| 9080 | +++ patch-2.5.9/configure.ac | ||
| 9081 | @@ -64,6 +64,9 @@ | ||
| 9082 | gl_PREREQ_XMALLOC | ||
| 9083 | gl_QUOTE | ||
| 9084 | gl_QUOTEARG | ||
| 9085 | +gl_HASH | ||
| 9086 | + | ||
| 9087 | +ag_CHECK_NANOSECOND_STAT | ||
| 9088 | |||
| 9089 | dnl This should be in gnulib, but isn't for some reason. | ||
| 9090 | AC_DEFUN([jm_PREREQ_ADDEXT], | ||
| 9091 | --- patch-2.5.9.orig/pch.c | ||
| 9092 | +++ patch-2.5.9/pch.c | ||
| 9093 | @@ -1,6 +1,6 @@ | ||
| 9094 | /* reading patches */ | ||
| 9095 | |||
| 9096 | -/* $Id: pch.c,v 1.44 2003/05/20 14:03:17 eggert Exp $ */ | ||
| 9097 | +/* $Id: pch.c,v 1.45 2003/07/02 22:19:21 eggert Exp $ */ | ||
| 9098 | |||
| 9099 | /* Copyright (C) 1986, 1987, 1988 Larry Wall | ||
| 9100 | |||
| 9101 | @@ -366,10 +366,16 @@ | ||
| 9102 | if (!stars_last_line && strnEQ(s, "*** ", 4)) | ||
| 9103 | name[OLD] = fetchname (s+4, strippath, &p_timestamp[OLD]); | ||
| 9104 | else if (strnEQ(s, "+++ ", 4)) | ||
| 9105 | + { | ||
| 9106 | /* Swap with NEW below. */ | ||
| 9107 | name[OLD] = fetchname (s+4, strippath, &p_timestamp[OLD]); | ||
| 9108 | + p_strip_trailing_cr = strip_trailing_cr; | ||
| 9109 | + } | ||
| 9110 | else if (strnEQ(s, "Index:", 6)) | ||
| 9111 | + { | ||
| 9112 | name[INDEX] = fetchname (s+6, strippath, (time_t *) 0); | ||
| 9113 | + p_strip_trailing_cr = strip_trailing_cr; | ||
| 9114 | + } | ||
| 9115 | else if (strnEQ(s, "Prereq:", 7)) { | ||
| 9116 | for (t = s + 7; ISSPACE ((unsigned char) *t); t++) | ||
| 9117 | continue; | ||
| 9118 | @@ -409,6 +415,7 @@ | ||
| 9119 | p_timestamp[NEW] = timestamp; | ||
| 9120 | p_rfc934_nesting = (t - s) >> 1; | ||
| 9121 | } | ||
| 9122 | + p_strip_trailing_cr = strip_trailing_cr; | ||
| 9123 | } | ||
| 9124 | } | ||
| 9125 | if ((diff_type == NO_DIFF || diff_type == ED_DIFF) && | ||
| 9126 | --- patch-2.5.9.orig/util.c | ||
| 9127 | +++ patch-2.5.9/util.c | ||
| 9128 | @@ -45,9 +45,17 @@ | ||
| 9129 | # define raise(sig) kill (getpid (), sig) | ||
| 9130 | #endif | ||
| 9131 | |||
| 9132 | +#if defined(HAVE_STAT_TIMEVAL) | ||
| 9133 | +#include <time.h> | ||
| 9134 | +#endif | ||
| 9135 | + | ||
| 9136 | #include <stdarg.h> | ||
| 9137 | +#include <hash.h> | ||
| 9138 | |||
| 9139 | static void makedirs (char *); | ||
| 9140 | +static bool fid_search (const char *, const struct stat *, bool); | ||
| 9141 | +# define fid_exists(name, pst) fid_search (name, pst, false) | ||
| 9142 | +# define insert_fid(name) fid_search (name, NULL, true) | ||
| 9143 | |||
| 9144 | /* Move a file FROM (where *FROM_NEEDS_REMOVAL is nonzero if FROM | ||
| 9145 | needs removal when cleaning up at the end of execution) | ||
| 9146 | @@ -64,7 +72,7 @@ | ||
| 9147 | struct stat to_st; | ||
| 9148 | int to_errno = ! backup ? -1 : stat (to, &to_st) == 0 ? 0 : errno; | ||
| 9149 | |||
| 9150 | - if (backup) | ||
| 9151 | + if (backup && (to_errno || ! fid_exists (to, &to_st))) | ||
| 9152 | { | ||
| 9153 | int try_makedirs_errno = 0; | ||
| 9154 | char *bakname; | ||
| 9155 | @@ -165,6 +173,7 @@ | ||
| 9156 | if (! to_dir_known_to_exist) | ||
| 9157 | makedirs (to); | ||
| 9158 | copy_file (from, to, 0, mode); | ||
| 9159 | + insert_fid (to); | ||
| 9160 | return; | ||
| 9161 | } | ||
| 9162 | |||
| 9163 | @@ -173,6 +182,7 @@ | ||
| 9164 | } | ||
| 9165 | |||
| 9166 | rename_succeeded: | ||
| 9167 | + insert_fid (to); | ||
| 9168 | /* Do not clear *FROM_NEEDS_REMOVAL if it's possible that the | ||
| 9169 | rename returned zero because FROM and TO are hard links to | ||
| 9170 | the same file. */ | ||
| 9171 | @@ -1011,3 +1021,105 @@ | ||
| 9172 | if (file_seek (stream, offset, ptrname) != 0) | ||
| 9173 | pfatal ("fseek"); | ||
| 9174 | } | ||
| 9175 | + | ||
| 9176 | +typedef struct | ||
| 9177 | +{ | ||
| 9178 | + dev_t fid_dev; | ||
| 9179 | + ino_t fid_ino; | ||
| 9180 | + time_t fid_mtime; | ||
| 9181 | + unsigned long fid_mtimensec; | ||
| 9182 | +} file_id; | ||
| 9183 | + | ||
| 9184 | +unsigned | ||
| 9185 | +file_id_hasher (file_id *entry, unsigned table_size) | ||
| 9186 | +{ | ||
| 9187 | + return ((unsigned long) entry->fid_ino + | ||
| 9188 | + (unsigned long) entry->fid_dev + | ||
| 9189 | + (unsigned long) entry->fid_mtime + | ||
| 9190 | + (unsigned long) entry->fid_mtimensec) % table_size; | ||
| 9191 | +} | ||
| 9192 | + | ||
| 9193 | +bool | ||
| 9194 | +file_id_comparator (file_id *entry1, file_id *entry2) | ||
| 9195 | +{ | ||
| 9196 | + return (entry1->fid_dev == entry2->fid_dev && | ||
| 9197 | + entry1->fid_ino == entry2->fid_ino && | ||
| 9198 | + entry1->fid_mtime == entry2->fid_mtime && | ||
| 9199 | + entry1->fid_mtimensec == entry2->fid_mtimensec); | ||
| 9200 | +} | ||
| 9201 | + | ||
| 9202 | +void | ||
| 9203 | +file_id_freer (file_id *entry) | ||
| 9204 | +{ | ||
| 9205 | + free (entry); | ||
| 9206 | +} | ||
| 9207 | + | ||
| 9208 | +Hash_table *file_id_hash; | ||
| 9209 | + | ||
| 9210 | +/* Check if the file identified by FILENAME and PST was already seen. If the | ||
| 9211 | + file was already seen, returns TRUE. If the file has not yet been seen | ||
| 9212 | + and INSERT is TRUE, it is inserted. PST or FILENAME may be NULL (but not | ||
| 9213 | + both of them). */ | ||
| 9214 | + | ||
| 9215 | +static bool | ||
| 9216 | +fid_search (const char *filename, const struct stat *pst, bool insert) | ||
| 9217 | +{ | ||
| 9218 | + struct stat st; | ||
| 9219 | + | ||
| 9220 | + if (!file_id_hash) | ||
| 9221 | + { | ||
| 9222 | + file_id_hash = hash_initialize (0, NULL, (Hash_hasher) file_id_hasher, | ||
| 9223 | + (Hash_comparator) file_id_comparator, | ||
| 9224 | + (Hash_data_freer) file_id_freer); | ||
| 9225 | + if (!file_id_hash) | ||
| 9226 | + pfatal ("hash_initialize"); | ||
| 9227 | + } | ||
| 9228 | + | ||
| 9229 | + if (!pst) | ||
| 9230 | + { | ||
| 9231 | + if (stat (filename, &st) != 0) | ||
| 9232 | + pfatal ("%s", quotearg (filename)); | ||
| 9233 | + pst = &st; | ||
| 9234 | + } | ||
| 9235 | + | ||
| 9236 | + if (insert) | ||
| 9237 | + { | ||
| 9238 | + file_id *pfid = xmalloc (sizeof (file_id)), *old_pfid; | ||
| 9239 | + pfid->fid_dev = pst->st_dev; | ||
| 9240 | + pfid->fid_ino = pst->st_ino; | ||
| 9241 | + pfid->fid_mtime = pst->st_mtime; | ||
| 9242 | +#if defined(HAVE_STAT_NSEC) | ||
| 9243 | + pfid->fid_mtimensec = pst->st_mtimensec; | ||
| 9244 | +#elif defined(HAVE_STAT_TIMEVAL) | ||
| 9245 | + pfid->fid_mtimensec = pst->st_mtim.tv_nsec; | ||
| 9246 | +#else | ||
| 9247 | + pfid->fid_mtimensec = 0; | ||
| 9248 | +#endif | ||
| 9249 | + old_pfid = hash_insert (file_id_hash, pfid); | ||
| 9250 | + if (!old_pfid) | ||
| 9251 | + pfatal ("hash_insert"); | ||
| 9252 | + else if (old_pfid != pfid) | ||
| 9253 | + { | ||
| 9254 | + free (pfid); | ||
| 9255 | + return true; | ||
| 9256 | + } | ||
| 9257 | + else | ||
| 9258 | + return false; | ||
| 9259 | + } | ||
| 9260 | + else | ||
| 9261 | + { | ||
| 9262 | + file_id fid; | ||
| 9263 | + fid.fid_dev = pst->st_dev; | ||
| 9264 | + fid.fid_ino = pst->st_ino; | ||
| 9265 | + fid.fid_mtime = pst->st_mtime; | ||
| 9266 | +#if defined(HAVE_STAT_NSEC) | ||
| 9267 | + fid.fid_mtimensec = pst->st_mtimensec; | ||
| 9268 | +#elif defined(HAVE_STAT_TIMEVAL) | ||
| 9269 | + fid.fid_mtimensec = pst->st_mtim.tv_nsec; | ||
| 9270 | +#else | ||
| 9271 | + fid.fid_mtimensec = 0; | ||
| 9272 | +#endif | ||
| 9273 | + return hash_lookup (file_id_hash, &fid) != 0; | ||
| 9274 | + } | ||
| 9275 | +} | ||
| 9276 | + | ||
| 9277 | --- patch-2.5.9.orig/hash.c | ||
| 9278 | +++ patch-2.5.9/hash.c | ||
| 9279 | @@ -0,0 +1,1051 @@ | ||
| 9280 | +/* hash - hashing table processing. | ||
| 9281 | + | ||
| 9282 | + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software | ||
| 9283 | + Foundation, Inc. | ||
| 9284 | + | ||
| 9285 | + Written by Jim Meyering, 1992. | ||
| 9286 | + | ||
| 9287 | + This program is free software; you can redistribute it and/or modify | ||
| 9288 | + it under the terms of the GNU General Public License as published by | ||
| 9289 | + the Free Software Foundation; either version 2, or (at your option) | ||
| 9290 | + any later version. | ||
| 9291 | + | ||
| 9292 | + This program is distributed in the hope that it will be useful, | ||
| 9293 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9294 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 9295 | + GNU General Public License for more details. | ||
| 9296 | + | ||
| 9297 | + You should have received a copy of the GNU General Public License | ||
| 9298 | + along with this program; if not, write to the Free Software Foundation, | ||
| 9299 | + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | ||
| 9300 | + | ||
| 9301 | +/* A generic hash table package. */ | ||
| 9302 | + | ||
| 9303 | +/* Define USE_OBSTACK to 1 if you want the allocator to use obstacks instead | ||
| 9304 | + of malloc. If you change USE_OBSTACK, you have to recompile! */ | ||
| 9305 | + | ||
| 9306 | +#if HAVE_CONFIG_H | ||
| 9307 | +# include <config.h> | ||
| 9308 | +#endif | ||
| 9309 | +#if HAVE_STDLIB_H | ||
| 9310 | +# include <stdlib.h> | ||
| 9311 | +#endif | ||
| 9312 | + | ||
| 9313 | +#include <limits.h> | ||
| 9314 | +#include <stdbool.h> | ||
| 9315 | +#include <stdio.h> | ||
| 9316 | + | ||
| 9317 | +#ifndef HAVE_DECL_FREE | ||
| 9318 | +"this configure-time declaration test was not run" | ||
| 9319 | +#endif | ||
| 9320 | +#if !HAVE_DECL_FREE | ||
| 9321 | +void free (); | ||
| 9322 | +#endif | ||
| 9323 | + | ||
| 9324 | +#ifndef HAVE_DECL_MALLOC | ||
| 9325 | +"this configure-time declaration test was not run" | ||
| 9326 | +#endif | ||
| 9327 | +#if !HAVE_DECL_MALLOC | ||
| 9328 | +char *malloc (); | ||
| 9329 | +#endif | ||
| 9330 | + | ||
| 9331 | +#if USE_OBSTACK | ||
| 9332 | +# include "obstack.h" | ||
| 9333 | +# ifndef obstack_chunk_alloc | ||
| 9334 | +# define obstack_chunk_alloc malloc | ||
| 9335 | +# endif | ||
| 9336 | +# ifndef obstack_chunk_free | ||
| 9337 | +# define obstack_chunk_free free | ||
| 9338 | +# endif | ||
| 9339 | +#endif | ||
| 9340 | + | ||
| 9341 | +#include "hash.h" | ||
| 9342 | + | ||
| 9343 | +struct hash_table | ||
| 9344 | + { | ||
| 9345 | + /* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1, | ||
| 9346 | + for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets | ||
| 9347 | + are not empty, there are N_ENTRIES active entries in the table. */ | ||
| 9348 | + struct hash_entry *bucket; | ||
| 9349 | + struct hash_entry *bucket_limit; | ||
| 9350 | + unsigned n_buckets; | ||
| 9351 | + unsigned n_buckets_used; | ||
| 9352 | + unsigned n_entries; | ||
| 9353 | + | ||
| 9354 | + /* Tuning arguments, kept in a physicaly separate structure. */ | ||
| 9355 | + const Hash_tuning *tuning; | ||
| 9356 | + | ||
| 9357 | + /* Three functions are given to `hash_initialize', see the documentation | ||
| 9358 | + block for this function. In a word, HASHER randomizes a user entry | ||
| 9359 | + into a number up from 0 up to some maximum minus 1; COMPARATOR returns | ||
| 9360 | + true if two user entries compare equally; and DATA_FREER is the cleanup | ||
| 9361 | + function for a user entry. */ | ||
| 9362 | + Hash_hasher hasher; | ||
| 9363 | + Hash_comparator comparator; | ||
| 9364 | + Hash_data_freer data_freer; | ||
| 9365 | + | ||
| 9366 | + /* A linked list of freed struct hash_entry structs. */ | ||
| 9367 | + struct hash_entry *free_entry_list; | ||
| 9368 | + | ||
| 9369 | +#if USE_OBSTACK | ||
| 9370 | + /* Whenever obstacks are used, it is possible to allocate all overflowed | ||
| 9371 | + entries into a single stack, so they all can be freed in a single | ||
| 9372 | + operation. It is not clear if the speedup is worth the trouble. */ | ||
| 9373 | + struct obstack entry_stack; | ||
| 9374 | +#endif | ||
| 9375 | + }; | ||
| 9376 | + | ||
| 9377 | +/* A hash table contains many internal entries, each holding a pointer to | ||
| 9378 | + some user provided data (also called a user entry). An entry indistinctly | ||
| 9379 | + refers to both the internal entry and its associated user entry. A user | ||
| 9380 | + entry contents may be hashed by a randomization function (the hashing | ||
| 9381 | + function, or just `hasher' for short) into a number (or `slot') between 0 | ||
| 9382 | + and the current table size. At each slot position in the hash table, | ||
| 9383 | + starts a linked chain of entries for which the user data all hash to this | ||
| 9384 | + slot. A bucket is the collection of all entries hashing to the same slot. | ||
| 9385 | + | ||
| 9386 | + A good `hasher' function will distribute entries rather evenly in buckets. | ||
| 9387 | + In the ideal case, the length of each bucket is roughly the number of | ||
| 9388 | + entries divided by the table size. Finding the slot for a data is usually | ||
| 9389 | + done in constant time by the `hasher', and the later finding of a precise | ||
| 9390 | + entry is linear in time with the size of the bucket. Consequently, a | ||
| 9391 | + larger hash table size (that is, a larger number of buckets) is prone to | ||
| 9392 | + yielding shorter chains, *given* the `hasher' function behaves properly. | ||
| 9393 | + | ||
| 9394 | + Long buckets slow down the lookup algorithm. One might use big hash table | ||
| 9395 | + sizes in hope to reduce the average length of buckets, but this might | ||
| 9396 | + become inordinate, as unused slots in the hash table take some space. The | ||
| 9397 | + best bet is to make sure you are using a good `hasher' function (beware | ||
| 9398 | + that those are not that easy to write! :-), and to use a table size | ||
| 9399 | + larger than the actual number of entries. */ | ||
| 9400 | + | ||
| 9401 | +/* If an insertion makes the ratio of nonempty buckets to table size larger | ||
| 9402 | + than the growth threshold (a number between 0.0 and 1.0), then increase | ||
| 9403 | + the table size by multiplying by the growth factor (a number greater than | ||
| 9404 | + 1.0). The growth threshold defaults to 0.8, and the growth factor | ||
| 9405 | + defaults to 1.414, meaning that the table will have doubled its size | ||
| 9406 | + every second time 80% of the buckets get used. */ | ||
| 9407 | +#define DEFAULT_GROWTH_THRESHOLD 0.8 | ||
| 9408 | +#define DEFAULT_GROWTH_FACTOR 1.414 | ||
| 9409 | + | ||
| 9410 | +/* If a deletion empties a bucket and causes the ratio of used buckets to | ||
| 9411 | + table size to become smaller than the shrink threshold (a number between | ||
| 9412 | + 0.0 and 1.0), then shrink the table by multiplying by the shrink factor (a | ||
| 9413 | + number greater than the shrink threshold but smaller than 1.0). The shrink | ||
| 9414 | + threshold and factor default to 0.0 and 1.0, meaning that the table never | ||
| 9415 | + shrinks. */ | ||
| 9416 | +#define DEFAULT_SHRINK_THRESHOLD 0.0 | ||
| 9417 | +#define DEFAULT_SHRINK_FACTOR 1.0 | ||
| 9418 | + | ||
| 9419 | +/* Use this to initialize or reset a TUNING structure to | ||
| 9420 | + some sensible values. */ | ||
| 9421 | +static const Hash_tuning default_tuning = | ||
| 9422 | + { | ||
| 9423 | + DEFAULT_SHRINK_THRESHOLD, | ||
| 9424 | + DEFAULT_SHRINK_FACTOR, | ||
| 9425 | + DEFAULT_GROWTH_THRESHOLD, | ||
| 9426 | + DEFAULT_GROWTH_FACTOR, | ||
| 9427 | + false | ||
| 9428 | + }; | ||
| 9429 | + | ||
| 9430 | +/* Information and lookup. */ | ||
| 9431 | + | ||
| 9432 | +/* The following few functions provide information about the overall hash | ||
| 9433 | + table organization: the number of entries, number of buckets and maximum | ||
| 9434 | + length of buckets. */ | ||
| 9435 | + | ||
| 9436 | +/* Return the number of buckets in the hash table. The table size, the total | ||
| 9437 | + number of buckets (used plus unused), or the maximum number of slots, are | ||
| 9438 | + the same quantity. */ | ||
| 9439 | + | ||
| 9440 | +unsigned | ||
| 9441 | +hash_get_n_buckets (const Hash_table *table) | ||
| 9442 | +{ | ||
| 9443 | + return table->n_buckets; | ||
| 9444 | +} | ||
| 9445 | + | ||
| 9446 | +/* Return the number of slots in use (non-empty buckets). */ | ||
| 9447 | + | ||
| 9448 | +unsigned | ||
| 9449 | +hash_get_n_buckets_used (const Hash_table *table) | ||
| 9450 | +{ | ||
| 9451 | + return table->n_buckets_used; | ||
| 9452 | +} | ||
| 9453 | + | ||
| 9454 | +/* Return the number of active entries. */ | ||
| 9455 | + | ||
| 9456 | +unsigned | ||
| 9457 | +hash_get_n_entries (const Hash_table *table) | ||
| 9458 | +{ | ||
| 9459 | + return table->n_entries; | ||
| 9460 | +} | ||
| 9461 | + | ||
| 9462 | +/* Return the length of the longest chain (bucket). */ | ||
| 9463 | + | ||
| 9464 | +unsigned | ||
| 9465 | +hash_get_max_bucket_length (const Hash_table *table) | ||
| 9466 | +{ | ||
| 9467 | + struct hash_entry *bucket; | ||
| 9468 | + unsigned max_bucket_length = 0; | ||
| 9469 | + | ||
| 9470 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9471 | + { | ||
| 9472 | + if (bucket->data) | ||
| 9473 | + { | ||
| 9474 | + struct hash_entry *cursor = bucket; | ||
| 9475 | + unsigned bucket_length = 1; | ||
| 9476 | + | ||
| 9477 | + while (cursor = cursor->next, cursor) | ||
| 9478 | + bucket_length++; | ||
| 9479 | + | ||
| 9480 | + if (bucket_length > max_bucket_length) | ||
| 9481 | + max_bucket_length = bucket_length; | ||
| 9482 | + } | ||
| 9483 | + } | ||
| 9484 | + | ||
| 9485 | + return max_bucket_length; | ||
| 9486 | +} | ||
| 9487 | + | ||
| 9488 | +/* Do a mild validation of a hash table, by traversing it and checking two | ||
| 9489 | + statistics. */ | ||
| 9490 | + | ||
| 9491 | +bool | ||
| 9492 | +hash_table_ok (const Hash_table *table) | ||
| 9493 | +{ | ||
| 9494 | + struct hash_entry *bucket; | ||
| 9495 | + unsigned n_buckets_used = 0; | ||
| 9496 | + unsigned n_entries = 0; | ||
| 9497 | + | ||
| 9498 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9499 | + { | ||
| 9500 | + if (bucket->data) | ||
| 9501 | + { | ||
| 9502 | + struct hash_entry *cursor = bucket; | ||
| 9503 | + | ||
| 9504 | + /* Count bucket head. */ | ||
| 9505 | + n_buckets_used++; | ||
| 9506 | + n_entries++; | ||
| 9507 | + | ||
| 9508 | + /* Count bucket overflow. */ | ||
| 9509 | + while (cursor = cursor->next, cursor) | ||
| 9510 | + n_entries++; | ||
| 9511 | + } | ||
| 9512 | + } | ||
| 9513 | + | ||
| 9514 | + if (n_buckets_used == table->n_buckets_used && n_entries == table->n_entries) | ||
| 9515 | + return true; | ||
| 9516 | + | ||
| 9517 | + return false; | ||
| 9518 | +} | ||
| 9519 | + | ||
| 9520 | +void | ||
| 9521 | +hash_print_statistics (const Hash_table *table, FILE *stream) | ||
| 9522 | +{ | ||
| 9523 | + unsigned n_entries = hash_get_n_entries (table); | ||
| 9524 | + unsigned n_buckets = hash_get_n_buckets (table); | ||
| 9525 | + unsigned n_buckets_used = hash_get_n_buckets_used (table); | ||
| 9526 | + unsigned max_bucket_length = hash_get_max_bucket_length (table); | ||
| 9527 | + | ||
| 9528 | + fprintf (stream, "# entries: %u\n", n_entries); | ||
| 9529 | + fprintf (stream, "# buckets: %u\n", n_buckets); | ||
| 9530 | + fprintf (stream, "# buckets used: %u (%.2f%%)\n", n_buckets_used, | ||
| 9531 | + (100.0 * n_buckets_used) / n_buckets); | ||
| 9532 | + fprintf (stream, "max bucket length: %u\n", max_bucket_length); | ||
| 9533 | +} | ||
| 9534 | + | ||
| 9535 | +/* If ENTRY matches an entry already in the hash table, return the | ||
| 9536 | + entry from the table. Otherwise, return NULL. */ | ||
| 9537 | + | ||
| 9538 | +void * | ||
| 9539 | +hash_lookup (const Hash_table *table, const void *entry) | ||
| 9540 | +{ | ||
| 9541 | + struct hash_entry *bucket | ||
| 9542 | + = table->bucket + table->hasher (entry, table->n_buckets); | ||
| 9543 | + struct hash_entry *cursor; | ||
| 9544 | + | ||
| 9545 | + if (! (bucket < table->bucket_limit)) | ||
| 9546 | + abort (); | ||
| 9547 | + | ||
| 9548 | + if (bucket->data == NULL) | ||
| 9549 | + return NULL; | ||
| 9550 | + | ||
| 9551 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 9552 | + if (table->comparator (entry, cursor->data)) | ||
| 9553 | + return cursor->data; | ||
| 9554 | + | ||
| 9555 | + return NULL; | ||
| 9556 | +} | ||
| 9557 | + | ||
| 9558 | +/* Walking. */ | ||
| 9559 | + | ||
| 9560 | +/* The functions in this page traverse the hash table and process the | ||
| 9561 | + contained entries. For the traversal to work properly, the hash table | ||
| 9562 | + should not be resized nor modified while any particular entry is being | ||
| 9563 | + processed. In particular, entries should not be added or removed. */ | ||
| 9564 | + | ||
| 9565 | +/* Return the first data in the table, or NULL if the table is empty. */ | ||
| 9566 | + | ||
| 9567 | +void * | ||
| 9568 | +hash_get_first (const Hash_table *table) | ||
| 9569 | +{ | ||
| 9570 | + struct hash_entry *bucket; | ||
| 9571 | + | ||
| 9572 | + if (table->n_entries == 0) | ||
| 9573 | + return NULL; | ||
| 9574 | + | ||
| 9575 | + for (bucket = table->bucket; ; bucket++) | ||
| 9576 | + if (! (bucket < table->bucket_limit)) | ||
| 9577 | + abort (); | ||
| 9578 | + else if (bucket->data) | ||
| 9579 | + return bucket->data; | ||
| 9580 | +} | ||
| 9581 | + | ||
| 9582 | +/* Return the user data for the entry following ENTRY, where ENTRY has been | ||
| 9583 | + returned by a previous call to either `hash_get_first' or `hash_get_next'. | ||
| 9584 | + Return NULL if there are no more entries. */ | ||
| 9585 | + | ||
| 9586 | +void * | ||
| 9587 | +hash_get_next (const Hash_table *table, const void *entry) | ||
| 9588 | +{ | ||
| 9589 | + struct hash_entry *bucket | ||
| 9590 | + = table->bucket + table->hasher (entry, table->n_buckets); | ||
| 9591 | + struct hash_entry *cursor; | ||
| 9592 | + | ||
| 9593 | + if (! (bucket < table->bucket_limit)) | ||
| 9594 | + abort (); | ||
| 9595 | + | ||
| 9596 | + /* Find next entry in the same bucket. */ | ||
| 9597 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 9598 | + if (cursor->data == entry && cursor->next) | ||
| 9599 | + return cursor->next->data; | ||
| 9600 | + | ||
| 9601 | + /* Find first entry in any subsequent bucket. */ | ||
| 9602 | + while (++bucket < table->bucket_limit) | ||
| 9603 | + if (bucket->data) | ||
| 9604 | + return bucket->data; | ||
| 9605 | + | ||
| 9606 | + /* None found. */ | ||
| 9607 | + return NULL; | ||
| 9608 | +} | ||
| 9609 | + | ||
| 9610 | +/* Fill BUFFER with pointers to active user entries in the hash table, then | ||
| 9611 | + return the number of pointers copied. Do not copy more than BUFFER_SIZE | ||
| 9612 | + pointers. */ | ||
| 9613 | + | ||
| 9614 | +unsigned | ||
| 9615 | +hash_get_entries (const Hash_table *table, void **buffer, | ||
| 9616 | + unsigned buffer_size) | ||
| 9617 | +{ | ||
| 9618 | + unsigned counter = 0; | ||
| 9619 | + struct hash_entry *bucket; | ||
| 9620 | + struct hash_entry *cursor; | ||
| 9621 | + | ||
| 9622 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9623 | + { | ||
| 9624 | + if (bucket->data) | ||
| 9625 | + { | ||
| 9626 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 9627 | + { | ||
| 9628 | + if (counter >= buffer_size) | ||
| 9629 | + return counter; | ||
| 9630 | + buffer[counter++] = cursor->data; | ||
| 9631 | + } | ||
| 9632 | + } | ||
| 9633 | + } | ||
| 9634 | + | ||
| 9635 | + return counter; | ||
| 9636 | +} | ||
| 9637 | + | ||
| 9638 | +/* Call a PROCESSOR function for each entry of a hash table, and return the | ||
| 9639 | + number of entries for which the processor function returned success. A | ||
| 9640 | + pointer to some PROCESSOR_DATA which will be made available to each call to | ||
| 9641 | + the processor function. The PROCESSOR accepts two arguments: the first is | ||
| 9642 | + the user entry being walked into, the second is the value of PROCESSOR_DATA | ||
| 9643 | + as received. The walking continue for as long as the PROCESSOR function | ||
| 9644 | + returns nonzero. When it returns zero, the walking is interrupted. */ | ||
| 9645 | + | ||
| 9646 | +unsigned | ||
| 9647 | +hash_do_for_each (const Hash_table *table, Hash_processor processor, | ||
| 9648 | + void *processor_data) | ||
| 9649 | +{ | ||
| 9650 | + unsigned counter = 0; | ||
| 9651 | + struct hash_entry *bucket; | ||
| 9652 | + struct hash_entry *cursor; | ||
| 9653 | + | ||
| 9654 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9655 | + { | ||
| 9656 | + if (bucket->data) | ||
| 9657 | + { | ||
| 9658 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 9659 | + { | ||
| 9660 | + if (!(*processor) (cursor->data, processor_data)) | ||
| 9661 | + return counter; | ||
| 9662 | + counter++; | ||
| 9663 | + } | ||
| 9664 | + } | ||
| 9665 | + } | ||
| 9666 | + | ||
| 9667 | + return counter; | ||
| 9668 | +} | ||
| 9669 | + | ||
| 9670 | +/* Allocation and clean-up. */ | ||
| 9671 | + | ||
| 9672 | +/* Return a hash index for a NUL-terminated STRING between 0 and N_BUCKETS-1. | ||
| 9673 | + This is a convenience routine for constructing other hashing functions. */ | ||
| 9674 | + | ||
| 9675 | +#if USE_DIFF_HASH | ||
| 9676 | + | ||
| 9677 | +/* About hashings, Paul Eggert writes to me (FP), on 1994-01-01: "Please see | ||
| 9678 | + B. J. McKenzie, R. Harries & T. Bell, Selecting a hashing algorithm, | ||
| 9679 | + Software--practice & experience 20, 2 (Feb 1990), 209-224. Good hash | ||
| 9680 | + algorithms tend to be domain-specific, so what's good for [diffutils'] io.c | ||
| 9681 | + may not be good for your application." */ | ||
| 9682 | + | ||
| 9683 | +unsigned | ||
| 9684 | +hash_string (const char *string, unsigned n_buckets) | ||
| 9685 | +{ | ||
| 9686 | +# define ROTATE_LEFT(Value, Shift) \ | ||
| 9687 | + ((Value) << (Shift) | (Value) >> ((sizeof (unsigned) * CHAR_BIT) - (Shift))) | ||
| 9688 | +# define HASH_ONE_CHAR(Value, Byte) \ | ||
| 9689 | + ((Byte) + ROTATE_LEFT (Value, 7)) | ||
| 9690 | + | ||
| 9691 | + unsigned value = 0; | ||
| 9692 | + | ||
| 9693 | + for (; *string; string++) | ||
| 9694 | + value = HASH_ONE_CHAR (value, *(const unsigned char *) string); | ||
| 9695 | + return value % n_buckets; | ||
| 9696 | + | ||
| 9697 | +# undef ROTATE_LEFT | ||
| 9698 | +# undef HASH_ONE_CHAR | ||
| 9699 | +} | ||
| 9700 | + | ||
| 9701 | +#else /* not USE_DIFF_HASH */ | ||
| 9702 | + | ||
| 9703 | +/* This one comes from `recode', and performs a bit better than the above as | ||
| 9704 | + per a few experiments. It is inspired from a hashing routine found in the | ||
| 9705 | + very old Cyber `snoop', itself written in typical Greg Mansfield style. | ||
| 9706 | + (By the way, what happened to this excellent man? Is he still alive?) */ | ||
| 9707 | + | ||
| 9708 | +unsigned | ||
| 9709 | +hash_string (const char *string, unsigned n_buckets) | ||
| 9710 | +{ | ||
| 9711 | + unsigned value = 0; | ||
| 9712 | + | ||
| 9713 | + while (*string) | ||
| 9714 | + value = ((value * 31 + (int) *(const unsigned char *) string++) | ||
| 9715 | + % n_buckets); | ||
| 9716 | + return value; | ||
| 9717 | +} | ||
| 9718 | + | ||
| 9719 | +#endif /* not USE_DIFF_HASH */ | ||
| 9720 | + | ||
| 9721 | +/* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd | ||
| 9722 | + number at least equal to 11. */ | ||
| 9723 | + | ||
| 9724 | +static bool | ||
| 9725 | +is_prime (unsigned long candidate) | ||
| 9726 | +{ | ||
| 9727 | + unsigned long divisor = 3; | ||
| 9728 | + unsigned long square = divisor * divisor; | ||
| 9729 | + | ||
| 9730 | + while (square < candidate && (candidate % divisor)) | ||
| 9731 | + { | ||
| 9732 | + divisor++; | ||
| 9733 | + square += 4 * divisor; | ||
| 9734 | + divisor++; | ||
| 9735 | + } | ||
| 9736 | + | ||
| 9737 | + return (candidate % divisor ? true : false); | ||
| 9738 | +} | ||
| 9739 | + | ||
| 9740 | +/* Round a given CANDIDATE number up to the nearest prime, and return that | ||
| 9741 | + prime. Primes lower than 10 are merely skipped. */ | ||
| 9742 | + | ||
| 9743 | +static unsigned long | ||
| 9744 | +next_prime (unsigned long candidate) | ||
| 9745 | +{ | ||
| 9746 | + /* Skip small primes. */ | ||
| 9747 | + if (candidate < 10) | ||
| 9748 | + candidate = 10; | ||
| 9749 | + | ||
| 9750 | + /* Make it definitely odd. */ | ||
| 9751 | + candidate |= 1; | ||
| 9752 | + | ||
| 9753 | + while (!is_prime (candidate)) | ||
| 9754 | + candidate += 2; | ||
| 9755 | + | ||
| 9756 | + return candidate; | ||
| 9757 | +} | ||
| 9758 | + | ||
| 9759 | +void | ||
| 9760 | +hash_reset_tuning (Hash_tuning *tuning) | ||
| 9761 | +{ | ||
| 9762 | + *tuning = default_tuning; | ||
| 9763 | +} | ||
| 9764 | + | ||
| 9765 | +/* For the given hash TABLE, check the user supplied tuning structure for | ||
| 9766 | + reasonable values, and return true if there is no gross error with it. | ||
| 9767 | + Otherwise, definitively reset the TUNING field to some acceptable default | ||
| 9768 | + in the hash table (that is, the user loses the right of further modifying | ||
| 9769 | + tuning arguments), and return false. */ | ||
| 9770 | + | ||
| 9771 | +static bool | ||
| 9772 | +check_tuning (Hash_table *table) | ||
| 9773 | +{ | ||
| 9774 | + const Hash_tuning *tuning = table->tuning; | ||
| 9775 | + | ||
| 9776 | + if (tuning->growth_threshold > 0.0 | ||
| 9777 | + && tuning->growth_threshold < 1.0 | ||
| 9778 | + && tuning->growth_factor > 1.0 | ||
| 9779 | + && tuning->shrink_threshold >= 0.0 | ||
| 9780 | + && tuning->shrink_threshold < 1.0 | ||
| 9781 | + && tuning->shrink_factor > tuning->shrink_threshold | ||
| 9782 | + && tuning->shrink_factor <= 1.0 | ||
| 9783 | + && tuning->shrink_threshold < tuning->growth_threshold) | ||
| 9784 | + return true; | ||
| 9785 | + | ||
| 9786 | + table->tuning = &default_tuning; | ||
| 9787 | + return false; | ||
| 9788 | +} | ||
| 9789 | + | ||
| 9790 | +/* Allocate and return a new hash table, or NULL upon failure. The initial | ||
| 9791 | + number of buckets is automatically selected so as to _guarantee_ that you | ||
| 9792 | + may insert at least CANDIDATE different user entries before any growth of | ||
| 9793 | + the hash table size occurs. So, if have a reasonably tight a-priori upper | ||
| 9794 | + bound on the number of entries you intend to insert in the hash table, you | ||
| 9795 | + may save some table memory and insertion time, by specifying it here. If | ||
| 9796 | + the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE | ||
| 9797 | + argument has its meaning changed to the wanted number of buckets. | ||
| 9798 | + | ||
| 9799 | + TUNING points to a structure of user-supplied values, in case some fine | ||
| 9800 | + tuning is wanted over the default behavior of the hasher. If TUNING is | ||
| 9801 | + NULL, the default tuning parameters are used instead. | ||
| 9802 | + | ||
| 9803 | + The user-supplied HASHER function should be provided. It accepts two | ||
| 9804 | + arguments ENTRY and TABLE_SIZE. It computes, by hashing ENTRY contents, a | ||
| 9805 | + slot number for that entry which should be in the range 0..TABLE_SIZE-1. | ||
| 9806 | + This slot number is then returned. | ||
| 9807 | + | ||
| 9808 | + The user-supplied COMPARATOR function should be provided. It accepts two | ||
| 9809 | + arguments pointing to user data, it then returns true for a pair of entries | ||
| 9810 | + that compare equal, or false otherwise. This function is internally called | ||
| 9811 | + on entries which are already known to hash to the same bucket index. | ||
| 9812 | + | ||
| 9813 | + The user-supplied DATA_FREER function, when not NULL, may be later called | ||
| 9814 | + with the user data as an argument, just before the entry containing the | ||
| 9815 | + data gets freed. This happens from within `hash_free' or `hash_clear'. | ||
| 9816 | + You should specify this function only if you want these functions to free | ||
| 9817 | + all of your `data' data. This is typically the case when your data is | ||
| 9818 | + simply an auxiliary struct that you have malloc'd to aggregate several | ||
| 9819 | + values. */ | ||
| 9820 | + | ||
| 9821 | +Hash_table * | ||
| 9822 | +hash_initialize (unsigned candidate, const Hash_tuning *tuning, | ||
| 9823 | + Hash_hasher hasher, Hash_comparator comparator, | ||
| 9824 | + Hash_data_freer data_freer) | ||
| 9825 | +{ | ||
| 9826 | + Hash_table *table; | ||
| 9827 | + struct hash_entry *bucket; | ||
| 9828 | + | ||
| 9829 | + if (hasher == NULL || comparator == NULL) | ||
| 9830 | + return NULL; | ||
| 9831 | + | ||
| 9832 | + table = (Hash_table *) malloc (sizeof (Hash_table)); | ||
| 9833 | + if (table == NULL) | ||
| 9834 | + return NULL; | ||
| 9835 | + | ||
| 9836 | + if (!tuning) | ||
| 9837 | + tuning = &default_tuning; | ||
| 9838 | + table->tuning = tuning; | ||
| 9839 | + if (!check_tuning (table)) | ||
| 9840 | + { | ||
| 9841 | + /* Fail if the tuning options are invalid. This is the only occasion | ||
| 9842 | + when the user gets some feedback about it. Once the table is created, | ||
| 9843 | + if the user provides invalid tuning options, we silently revert to | ||
| 9844 | + using the defaults, and ignore further request to change the tuning | ||
| 9845 | + options. */ | ||
| 9846 | + free (table); | ||
| 9847 | + return NULL; | ||
| 9848 | + } | ||
| 9849 | + | ||
| 9850 | + table->n_buckets | ||
| 9851 | + = next_prime (tuning->is_n_buckets ? candidate | ||
| 9852 | + : (unsigned) (candidate / tuning->growth_threshold)); | ||
| 9853 | + | ||
| 9854 | + table->bucket = (struct hash_entry *) | ||
| 9855 | + malloc (table->n_buckets * sizeof (struct hash_entry)); | ||
| 9856 | + if (table->bucket == NULL) | ||
| 9857 | + { | ||
| 9858 | + free (table); | ||
| 9859 | + return NULL; | ||
| 9860 | + } | ||
| 9861 | + table->bucket_limit = table->bucket + table->n_buckets; | ||
| 9862 | + | ||
| 9863 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9864 | + { | ||
| 9865 | + bucket->data = NULL; | ||
| 9866 | + bucket->next = NULL; | ||
| 9867 | + } | ||
| 9868 | + table->n_buckets_used = 0; | ||
| 9869 | + table->n_entries = 0; | ||
| 9870 | + | ||
| 9871 | + table->hasher = hasher; | ||
| 9872 | + table->comparator = comparator; | ||
| 9873 | + table->data_freer = data_freer; | ||
| 9874 | + | ||
| 9875 | + table->free_entry_list = NULL; | ||
| 9876 | +#if USE_OBSTACK | ||
| 9877 | + obstack_init (&table->entry_stack); | ||
| 9878 | +#endif | ||
| 9879 | + return table; | ||
| 9880 | +} | ||
| 9881 | + | ||
| 9882 | +/* Make all buckets empty, placing any chained entries on the free list. | ||
| 9883 | + Apply the user-specified function data_freer (if any) to the datas of any | ||
| 9884 | + affected entries. */ | ||
| 9885 | + | ||
| 9886 | +void | ||
| 9887 | +hash_clear (Hash_table *table) | ||
| 9888 | +{ | ||
| 9889 | + struct hash_entry *bucket; | ||
| 9890 | + | ||
| 9891 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9892 | + { | ||
| 9893 | + if (bucket->data) | ||
| 9894 | + { | ||
| 9895 | + struct hash_entry *cursor; | ||
| 9896 | + struct hash_entry *next; | ||
| 9897 | + | ||
| 9898 | + /* Free the bucket overflow. */ | ||
| 9899 | + for (cursor = bucket->next; cursor; cursor = next) | ||
| 9900 | + { | ||
| 9901 | + if (table->data_freer) | ||
| 9902 | + (*table->data_freer) (cursor->data); | ||
| 9903 | + cursor->data = NULL; | ||
| 9904 | + | ||
| 9905 | + next = cursor->next; | ||
| 9906 | + /* Relinking is done one entry at a time, as it is to be expected | ||
| 9907 | + that overflows are either rare or short. */ | ||
| 9908 | + cursor->next = table->free_entry_list; | ||
| 9909 | + table->free_entry_list = cursor; | ||
| 9910 | + } | ||
| 9911 | + | ||
| 9912 | + /* Free the bucket head. */ | ||
| 9913 | + if (table->data_freer) | ||
| 9914 | + (*table->data_freer) (bucket->data); | ||
| 9915 | + bucket->data = NULL; | ||
| 9916 | + bucket->next = NULL; | ||
| 9917 | + } | ||
| 9918 | + } | ||
| 9919 | + | ||
| 9920 | + table->n_buckets_used = 0; | ||
| 9921 | + table->n_entries = 0; | ||
| 9922 | +} | ||
| 9923 | + | ||
| 9924 | +/* Reclaim all storage associated with a hash table. If a data_freer | ||
| 9925 | + function has been supplied by the user when the hash table was created, | ||
| 9926 | + this function applies it to the data of each entry before freeing that | ||
| 9927 | + entry. */ | ||
| 9928 | + | ||
| 9929 | +void | ||
| 9930 | +hash_free (Hash_table *table) | ||
| 9931 | +{ | ||
| 9932 | + struct hash_entry *bucket; | ||
| 9933 | + struct hash_entry *cursor; | ||
| 9934 | + struct hash_entry *next; | ||
| 9935 | + | ||
| 9936 | + /* Call the user data_freer function. */ | ||
| 9937 | + if (table->data_freer && table->n_entries) | ||
| 9938 | + { | ||
| 9939 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9940 | + { | ||
| 9941 | + if (bucket->data) | ||
| 9942 | + { | ||
| 9943 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 9944 | + { | ||
| 9945 | + (*table->data_freer) (cursor->data); | ||
| 9946 | + } | ||
| 9947 | + } | ||
| 9948 | + } | ||
| 9949 | + } | ||
| 9950 | + | ||
| 9951 | +#if USE_OBSTACK | ||
| 9952 | + | ||
| 9953 | + obstack_free (&table->entry_stack, NULL); | ||
| 9954 | + | ||
| 9955 | +#else | ||
| 9956 | + | ||
| 9957 | + /* Free all bucket overflowed entries. */ | ||
| 9958 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 9959 | + { | ||
| 9960 | + for (cursor = bucket->next; cursor; cursor = next) | ||
| 9961 | + { | ||
| 9962 | + next = cursor->next; | ||
| 9963 | + free (cursor); | ||
| 9964 | + } | ||
| 9965 | + } | ||
| 9966 | + | ||
| 9967 | + /* Also reclaim the internal list of previously freed entries. */ | ||
| 9968 | + for (cursor = table->free_entry_list; cursor; cursor = next) | ||
| 9969 | + { | ||
| 9970 | + next = cursor->next; | ||
| 9971 | + free (cursor); | ||
| 9972 | + } | ||
| 9973 | + | ||
| 9974 | +#endif | ||
| 9975 | + | ||
| 9976 | + /* Free the remainder of the hash table structure. */ | ||
| 9977 | + free (table->bucket); | ||
| 9978 | + free (table); | ||
| 9979 | +} | ||
| 9980 | + | ||
| 9981 | +/* Insertion and deletion. */ | ||
| 9982 | + | ||
| 9983 | +/* Get a new hash entry for a bucket overflow, possibly by reclying a | ||
| 9984 | + previously freed one. If this is not possible, allocate a new one. */ | ||
| 9985 | + | ||
| 9986 | +static struct hash_entry * | ||
| 9987 | +allocate_entry (Hash_table *table) | ||
| 9988 | +{ | ||
| 9989 | + struct hash_entry *new; | ||
| 9990 | + | ||
| 9991 | + if (table->free_entry_list) | ||
| 9992 | + { | ||
| 9993 | + new = table->free_entry_list; | ||
| 9994 | + table->free_entry_list = new->next; | ||
| 9995 | + } | ||
| 9996 | + else | ||
| 9997 | + { | ||
| 9998 | +#if USE_OBSTACK | ||
| 9999 | + new = (struct hash_entry *) | ||
| 10000 | + obstack_alloc (&table->entry_stack, sizeof (struct hash_entry)); | ||
| 10001 | +#else | ||
| 10002 | + new = (struct hash_entry *) malloc (sizeof (struct hash_entry)); | ||
| 10003 | +#endif | ||
| 10004 | + } | ||
| 10005 | + | ||
| 10006 | + return new; | ||
| 10007 | +} | ||
| 10008 | + | ||
| 10009 | +/* Free a hash entry which was part of some bucket overflow, | ||
| 10010 | + saving it for later recycling. */ | ||
| 10011 | + | ||
| 10012 | +static void | ||
| 10013 | +free_entry (Hash_table *table, struct hash_entry *entry) | ||
| 10014 | +{ | ||
| 10015 | + entry->data = NULL; | ||
| 10016 | + entry->next = table->free_entry_list; | ||
| 10017 | + table->free_entry_list = entry; | ||
| 10018 | +} | ||
| 10019 | + | ||
| 10020 | +/* This private function is used to help with insertion and deletion. When | ||
| 10021 | + ENTRY matches an entry in the table, return a pointer to the corresponding | ||
| 10022 | + user data and set *BUCKET_HEAD to the head of the selected bucket. | ||
| 10023 | + Otherwise, return NULL. When DELETE is true and ENTRY matches an entry in | ||
| 10024 | + the table, unlink the matching entry. */ | ||
| 10025 | + | ||
| 10026 | +static void * | ||
| 10027 | +hash_find_entry (Hash_table *table, const void *entry, | ||
| 10028 | + struct hash_entry **bucket_head, bool delete) | ||
| 10029 | +{ | ||
| 10030 | + struct hash_entry *bucket | ||
| 10031 | + = table->bucket + table->hasher (entry, table->n_buckets); | ||
| 10032 | + struct hash_entry *cursor; | ||
| 10033 | + | ||
| 10034 | + if (! (bucket < table->bucket_limit)) | ||
| 10035 | + abort (); | ||
| 10036 | + | ||
| 10037 | + *bucket_head = bucket; | ||
| 10038 | + | ||
| 10039 | + /* Test for empty bucket. */ | ||
| 10040 | + if (bucket->data == NULL) | ||
| 10041 | + return NULL; | ||
| 10042 | + | ||
| 10043 | + /* See if the entry is the first in the bucket. */ | ||
| 10044 | + if ((*table->comparator) (entry, bucket->data)) | ||
| 10045 | + { | ||
| 10046 | + void *data = bucket->data; | ||
| 10047 | + | ||
| 10048 | + if (delete) | ||
| 10049 | + { | ||
| 10050 | + if (bucket->next) | ||
| 10051 | + { | ||
| 10052 | + struct hash_entry *next = bucket->next; | ||
| 10053 | + | ||
| 10054 | + /* Bump the first overflow entry into the bucket head, then save | ||
| 10055 | + the previous first overflow entry for later recycling. */ | ||
| 10056 | + *bucket = *next; | ||
| 10057 | + free_entry (table, next); | ||
| 10058 | + } | ||
| 10059 | + else | ||
| 10060 | + { | ||
| 10061 | + bucket->data = NULL; | ||
| 10062 | + } | ||
| 10063 | + } | ||
| 10064 | + | ||
| 10065 | + return data; | ||
| 10066 | + } | ||
| 10067 | + | ||
| 10068 | + /* Scan the bucket overflow. */ | ||
| 10069 | + for (cursor = bucket; cursor->next; cursor = cursor->next) | ||
| 10070 | + { | ||
| 10071 | + if ((*table->comparator) (entry, cursor->next->data)) | ||
| 10072 | + { | ||
| 10073 | + void *data = cursor->next->data; | ||
| 10074 | + | ||
| 10075 | + if (delete) | ||
| 10076 | + { | ||
| 10077 | + struct hash_entry *next = cursor->next; | ||
| 10078 | + | ||
| 10079 | + /* Unlink the entry to delete, then save the freed entry for later | ||
| 10080 | + recycling. */ | ||
| 10081 | + cursor->next = next->next; | ||
| 10082 | + free_entry (table, next); | ||
| 10083 | + } | ||
| 10084 | + | ||
| 10085 | + return data; | ||
| 10086 | + } | ||
| 10087 | + } | ||
| 10088 | + | ||
| 10089 | + /* No entry found. */ | ||
| 10090 | + return NULL; | ||
| 10091 | +} | ||
| 10092 | + | ||
| 10093 | +/* For an already existing hash table, change the number of buckets through | ||
| 10094 | + specifying CANDIDATE. The contents of the hash table are preserved. The | ||
| 10095 | + new number of buckets is automatically selected so as to _guarantee_ that | ||
| 10096 | + the table may receive at least CANDIDATE different user entries, including | ||
| 10097 | + those already in the table, before any other growth of the hash table size | ||
| 10098 | + occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the | ||
| 10099 | + exact number of buckets desired. */ | ||
| 10100 | + | ||
| 10101 | +bool | ||
| 10102 | +hash_rehash (Hash_table *table, unsigned candidate) | ||
| 10103 | +{ | ||
| 10104 | + Hash_table *new_table; | ||
| 10105 | + struct hash_entry *bucket; | ||
| 10106 | + struct hash_entry *cursor; | ||
| 10107 | + struct hash_entry *next; | ||
| 10108 | + | ||
| 10109 | + new_table = hash_initialize (candidate, table->tuning, table->hasher, | ||
| 10110 | + table->comparator, table->data_freer); | ||
| 10111 | + if (new_table == NULL) | ||
| 10112 | + return false; | ||
| 10113 | + | ||
| 10114 | + /* Merely reuse the extra old space into the new table. */ | ||
| 10115 | +#if USE_OBSTACK | ||
| 10116 | + obstack_free (&new_table->entry_stack, NULL); | ||
| 10117 | + new_table->entry_stack = table->entry_stack; | ||
| 10118 | +#endif | ||
| 10119 | + new_table->free_entry_list = table->free_entry_list; | ||
| 10120 | + | ||
| 10121 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 10122 | + if (bucket->data) | ||
| 10123 | + for (cursor = bucket; cursor; cursor = next) | ||
| 10124 | + { | ||
| 10125 | + void *data = cursor->data; | ||
| 10126 | + struct hash_entry *new_bucket | ||
| 10127 | + = (new_table->bucket | ||
| 10128 | + + new_table->hasher (data, new_table->n_buckets)); | ||
| 10129 | + | ||
| 10130 | + if (! (new_bucket < new_table->bucket_limit)) | ||
| 10131 | + abort (); | ||
| 10132 | + | ||
| 10133 | + next = cursor->next; | ||
| 10134 | + | ||
| 10135 | + if (new_bucket->data) | ||
| 10136 | + { | ||
| 10137 | + if (cursor == bucket) | ||
| 10138 | + { | ||
| 10139 | + /* Allocate or recycle an entry, when moving from a bucket | ||
| 10140 | + header into a bucket overflow. */ | ||
| 10141 | + struct hash_entry *new_entry = allocate_entry (new_table); | ||
| 10142 | + | ||
| 10143 | + if (new_entry == NULL) | ||
| 10144 | + return false; | ||
| 10145 | + | ||
| 10146 | + new_entry->data = data; | ||
| 10147 | + new_entry->next = new_bucket->next; | ||
| 10148 | + new_bucket->next = new_entry; | ||
| 10149 | + } | ||
| 10150 | + else | ||
| 10151 | + { | ||
| 10152 | + /* Merely relink an existing entry, when moving from a | ||
| 10153 | + bucket overflow into a bucket overflow. */ | ||
| 10154 | + cursor->next = new_bucket->next; | ||
| 10155 | + new_bucket->next = cursor; | ||
| 10156 | + } | ||
| 10157 | + } | ||
| 10158 | + else | ||
| 10159 | + { | ||
| 10160 | + /* Free an existing entry, when moving from a bucket | ||
| 10161 | + overflow into a bucket header. Also take care of the | ||
| 10162 | + simple case of moving from a bucket header into a bucket | ||
| 10163 | + header. */ | ||
| 10164 | + new_bucket->data = data; | ||
| 10165 | + new_table->n_buckets_used++; | ||
| 10166 | + if (cursor != bucket) | ||
| 10167 | + free_entry (new_table, cursor); | ||
| 10168 | + } | ||
| 10169 | + } | ||
| 10170 | + | ||
| 10171 | + free (table->bucket); | ||
| 10172 | + table->bucket = new_table->bucket; | ||
| 10173 | + table->bucket_limit = new_table->bucket_limit; | ||
| 10174 | + table->n_buckets = new_table->n_buckets; | ||
| 10175 | + table->n_buckets_used = new_table->n_buckets_used; | ||
| 10176 | + table->free_entry_list = new_table->free_entry_list; | ||
| 10177 | + /* table->n_entries already holds its value. */ | ||
| 10178 | +#if USE_OBSTACK | ||
| 10179 | + table->entry_stack = new_table->entry_stack; | ||
| 10180 | +#endif | ||
| 10181 | + free (new_table); | ||
| 10182 | + | ||
| 10183 | + return true; | ||
| 10184 | +} | ||
| 10185 | + | ||
| 10186 | +/* If ENTRY matches an entry already in the hash table, return the pointer | ||
| 10187 | + to the entry from the table. Otherwise, insert ENTRY and return ENTRY. | ||
| 10188 | + Return NULL if the storage required for insertion cannot be allocated. */ | ||
| 10189 | + | ||
| 10190 | +void * | ||
| 10191 | +hash_insert (Hash_table *table, const void *entry) | ||
| 10192 | +{ | ||
| 10193 | + void *data; | ||
| 10194 | + struct hash_entry *bucket; | ||
| 10195 | + | ||
| 10196 | + /* The caller cannot insert a NULL entry. */ | ||
| 10197 | + if (! entry) | ||
| 10198 | + abort (); | ||
| 10199 | + | ||
| 10200 | + /* If there's a matching entry already in the table, return that. */ | ||
| 10201 | + if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL) | ||
| 10202 | + return data; | ||
| 10203 | + | ||
| 10204 | + /* ENTRY is not matched, it should be inserted. */ | ||
| 10205 | + | ||
| 10206 | + if (bucket->data) | ||
| 10207 | + { | ||
| 10208 | + struct hash_entry *new_entry = allocate_entry (table); | ||
| 10209 | + | ||
| 10210 | + if (new_entry == NULL) | ||
| 10211 | + return NULL; | ||
| 10212 | + | ||
| 10213 | + /* Add ENTRY in the overflow of the bucket. */ | ||
| 10214 | + | ||
| 10215 | + new_entry->data = (void *) entry; | ||
| 10216 | + new_entry->next = bucket->next; | ||
| 10217 | + bucket->next = new_entry; | ||
| 10218 | + table->n_entries++; | ||
| 10219 | + return (void *) entry; | ||
| 10220 | + } | ||
| 10221 | + | ||
| 10222 | + /* Add ENTRY right in the bucket head. */ | ||
| 10223 | + | ||
| 10224 | + bucket->data = (void *) entry; | ||
| 10225 | + table->n_entries++; | ||
| 10226 | + table->n_buckets_used++; | ||
| 10227 | + | ||
| 10228 | + /* If the growth threshold of the buckets in use has been reached, increase | ||
| 10229 | + the table size and rehash. There's no point in checking the number of | ||
| 10230 | + entries: if the hashing function is ill-conditioned, rehashing is not | ||
| 10231 | + likely to improve it. */ | ||
| 10232 | + | ||
| 10233 | + if (table->n_buckets_used | ||
| 10234 | + > table->tuning->growth_threshold * table->n_buckets) | ||
| 10235 | + { | ||
| 10236 | + /* Check more fully, before starting real work. If tuning arguments | ||
| 10237 | + became invalid, the second check will rely on proper defaults. */ | ||
| 10238 | + check_tuning (table); | ||
| 10239 | + if (table->n_buckets_used | ||
| 10240 | + > table->tuning->growth_threshold * table->n_buckets) | ||
| 10241 | + { | ||
| 10242 | + const Hash_tuning *tuning = table->tuning; | ||
| 10243 | + unsigned candidate | ||
| 10244 | + = (unsigned) (tuning->is_n_buckets | ||
| 10245 | + ? (table->n_buckets * tuning->growth_factor) | ||
| 10246 | + : (table->n_buckets * tuning->growth_factor | ||
| 10247 | + * tuning->growth_threshold)); | ||
| 10248 | + | ||
| 10249 | + /* If the rehash fails, arrange to return NULL. */ | ||
| 10250 | + if (!hash_rehash (table, candidate)) | ||
| 10251 | + entry = NULL; | ||
| 10252 | + } | ||
| 10253 | + } | ||
| 10254 | + | ||
| 10255 | + return (void *) entry; | ||
| 10256 | +} | ||
| 10257 | + | ||
| 10258 | +/* If ENTRY is already in the table, remove it and return the just-deleted | ||
| 10259 | + data (the user may want to deallocate its storage). If ENTRY is not in the | ||
| 10260 | + table, don't modify the table and return NULL. */ | ||
| 10261 | + | ||
| 10262 | +void * | ||
| 10263 | +hash_delete (Hash_table *table, const void *entry) | ||
| 10264 | +{ | ||
| 10265 | + void *data; | ||
| 10266 | + struct hash_entry *bucket; | ||
| 10267 | + | ||
| 10268 | + data = hash_find_entry (table, entry, &bucket, true); | ||
| 10269 | + if (!data) | ||
| 10270 | + return NULL; | ||
| 10271 | + | ||
| 10272 | + table->n_entries--; | ||
| 10273 | + if (!bucket->data) | ||
| 10274 | + { | ||
| 10275 | + table->n_buckets_used--; | ||
| 10276 | + | ||
| 10277 | + /* If the shrink threshold of the buckets in use has been reached, | ||
| 10278 | + rehash into a smaller table. */ | ||
| 10279 | + | ||
| 10280 | + if (table->n_buckets_used | ||
| 10281 | + < table->tuning->shrink_threshold * table->n_buckets) | ||
| 10282 | + { | ||
| 10283 | + /* Check more fully, before starting real work. If tuning arguments | ||
| 10284 | + became invalid, the second check will rely on proper defaults. */ | ||
| 10285 | + check_tuning (table); | ||
| 10286 | + if (table->n_buckets_used | ||
| 10287 | + < table->tuning->shrink_threshold * table->n_buckets) | ||
| 10288 | + { | ||
| 10289 | + const Hash_tuning *tuning = table->tuning; | ||
| 10290 | + unsigned candidate | ||
| 10291 | + = (unsigned) (tuning->is_n_buckets | ||
| 10292 | + ? table->n_buckets * tuning->shrink_factor | ||
| 10293 | + : (table->n_buckets * tuning->shrink_factor | ||
| 10294 | + * tuning->growth_threshold)); | ||
| 10295 | + | ||
| 10296 | + hash_rehash (table, candidate); | ||
| 10297 | + } | ||
| 10298 | + } | ||
| 10299 | + } | ||
| 10300 | + | ||
| 10301 | + return data; | ||
| 10302 | +} | ||
| 10303 | + | ||
| 10304 | +/* Testing. */ | ||
| 10305 | + | ||
| 10306 | +#if TESTING | ||
| 10307 | + | ||
| 10308 | +void | ||
| 10309 | +hash_print (const Hash_table *table) | ||
| 10310 | +{ | ||
| 10311 | + struct hash_entry *bucket; | ||
| 10312 | + | ||
| 10313 | + for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) | ||
| 10314 | + { | ||
| 10315 | + struct hash_entry *cursor; | ||
| 10316 | + | ||
| 10317 | + if (bucket) | ||
| 10318 | + printf ("%d:\n", bucket - table->bucket); | ||
| 10319 | + | ||
| 10320 | + for (cursor = bucket; cursor; cursor = cursor->next) | ||
| 10321 | + { | ||
| 10322 | + char *s = (char *) cursor->data; | ||
| 10323 | + /* FIXME */ | ||
| 10324 | + if (s) | ||
| 10325 | + printf (" %s\n", s); | ||
| 10326 | + } | ||
| 10327 | + } | ||
| 10328 | +} | ||
| 10329 | + | ||
| 10330 | +#endif /* TESTING */ | ||
| 10331 | --- patch-2.5.9.orig/hash.h | ||
| 10332 | +++ patch-2.5.9/hash.h | ||
| 10333 | @@ -0,0 +1,93 @@ | ||
| 10334 | +/* hash - hashing table processing. | ||
| 10335 | + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. | ||
| 10336 | + Written by Jim Meyering <meyering@ascend.com>, 1998. | ||
| 10337 | + | ||
| 10338 | + This program is free software; you can redistribute it and/or modify | ||
| 10339 | + it under the terms of the GNU General Public License as published by | ||
| 10340 | + the Free Software Foundation; either version 2, or (at your option) | ||
| 10341 | + any later version. | ||
| 10342 | + | ||
| 10343 | + This program is distributed in the hope that it will be useful, | ||
| 10344 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10345 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10346 | + GNU General Public License for more details. | ||
| 10347 | + | ||
| 10348 | + You should have received a copy of the GNU General Public License | ||
| 10349 | + along with this program; if not, write to the Free Software Foundation, | ||
| 10350 | + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | ||
| 10351 | + | ||
| 10352 | +/* A generic hash table package. */ | ||
| 10353 | + | ||
| 10354 | +/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use | ||
| 10355 | + obstacks instead of malloc, and recompile `hash.c' with same setting. */ | ||
| 10356 | + | ||
| 10357 | +#ifndef HASH_H_ | ||
| 10358 | +# define HASH_H_ | ||
| 10359 | + | ||
| 10360 | +# ifndef PARAMS | ||
| 10361 | +# if PROTOTYPES || __STDC__ | ||
| 10362 | +# define PARAMS(Args) Args | ||
| 10363 | +# else | ||
| 10364 | +# define PARAMS(Args) () | ||
| 10365 | +# endif | ||
| 10366 | +# endif | ||
| 10367 | + | ||
| 10368 | +typedef unsigned (*Hash_hasher) PARAMS ((const void *, unsigned)); | ||
| 10369 | +typedef bool (*Hash_comparator) PARAMS ((const void *, const void *)); | ||
| 10370 | +typedef void (*Hash_data_freer) PARAMS ((void *)); | ||
| 10371 | +typedef bool (*Hash_processor) PARAMS ((void *, void *)); | ||
| 10372 | + | ||
| 10373 | +struct hash_entry | ||
| 10374 | + { | ||
| 10375 | + void *data; | ||
| 10376 | + struct hash_entry *next; | ||
| 10377 | + }; | ||
| 10378 | + | ||
| 10379 | +struct hash_tuning | ||
| 10380 | + { | ||
| 10381 | + /* This structure is mainly used for `hash_initialize', see the block | ||
| 10382 | + documentation of `hash_reset_tuning' for more complete comments. */ | ||
| 10383 | + | ||
| 10384 | + float shrink_threshold; /* ratio of used buckets to trigger a shrink */ | ||
| 10385 | + float shrink_factor; /* ratio of new smaller size to original size */ | ||
| 10386 | + float growth_threshold; /* ratio of used buckets to trigger a growth */ | ||
| 10387 | + float growth_factor; /* ratio of new bigger size to original size */ | ||
| 10388 | + bool is_n_buckets; /* if CANDIDATE really means table size */ | ||
| 10389 | + }; | ||
| 10390 | + | ||
| 10391 | +typedef struct hash_tuning Hash_tuning; | ||
| 10392 | + | ||
| 10393 | +struct hash_table; | ||
| 10394 | + | ||
| 10395 | +typedef struct hash_table Hash_table; | ||
| 10396 | + | ||
| 10397 | +/* Information and lookup. */ | ||
| 10398 | +unsigned hash_get_n_buckets PARAMS ((const Hash_table *)); | ||
| 10399 | +unsigned hash_get_n_buckets_used PARAMS ((const Hash_table *)); | ||
| 10400 | +unsigned hash_get_n_entries PARAMS ((const Hash_table *)); | ||
| 10401 | +unsigned hash_get_max_bucket_length PARAMS ((const Hash_table *)); | ||
| 10402 | +bool hash_table_ok PARAMS ((const Hash_table *)); | ||
| 10403 | +void hash_print_statistics PARAMS ((const Hash_table *, FILE *)); | ||
| 10404 | +void *hash_lookup PARAMS ((const Hash_table *, const void *)); | ||
| 10405 | + | ||
| 10406 | +/* Walking. */ | ||
| 10407 | +void *hash_get_first PARAMS ((const Hash_table *)); | ||
| 10408 | +void *hash_get_next PARAMS ((const Hash_table *, const void *)); | ||
| 10409 | +unsigned hash_get_entries PARAMS ((const Hash_table *, void **, unsigned)); | ||
| 10410 | +unsigned hash_do_for_each PARAMS ((const Hash_table *, Hash_processor, void *)); | ||
| 10411 | + | ||
| 10412 | +/* Allocation and clean-up. */ | ||
| 10413 | +unsigned hash_string PARAMS ((const char *, unsigned)); | ||
| 10414 | +void hash_reset_tuning PARAMS ((Hash_tuning *)); | ||
| 10415 | +Hash_table *hash_initialize PARAMS ((unsigned, const Hash_tuning *, | ||
| 10416 | + Hash_hasher, Hash_comparator, | ||
| 10417 | + Hash_data_freer)); | ||
| 10418 | +void hash_clear PARAMS ((Hash_table *)); | ||
| 10419 | +void hash_free PARAMS ((Hash_table *)); | ||
| 10420 | + | ||
| 10421 | +/* Insertion and deletion. */ | ||
| 10422 | +bool hash_rehash PARAMS ((Hash_table *, unsigned)); | ||
| 10423 | +void *hash_insert PARAMS ((Hash_table *, const void *)); | ||
| 10424 | +void *hash_delete PARAMS ((Hash_table *, const void *)); | ||
| 10425 | + | ||
| 10426 | +#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 @@ | |||
| 1 | Upstream-Status: Inappropriate [debian patch] | ||
| 2 | |||
| 3 | Index: patch-2.5.9/patch.man | ||
| 4 | =================================================================== | ||
| 5 | --- patch-2.5.9.orig/patch.man | ||
| 6 | +++ patch-2.5.9/patch.man | ||
| 7 | @@ -520,6 +520,15 @@ file. | ||
| 8 | \fB\*=reject\-unified\fP | ||
| 9 | Produce unified reject files. The default is to produce context type reject files. | ||
| 10 | .TP | ||
| 11 | +.BI \*=global\-reject\-file= rejectfile | ||
| 12 | +Put all rejects into | ||
| 13 | +.I rejectfile | ||
| 14 | +instead of creating separate reject files for all files that have rejects. The | ||
| 15 | +.I rejectfile | ||
| 16 | +will contain headers that identify which file each reject refers to. Note that | ||
| 17 | +the global reject file is created even if \-\-dry\-run is specified (while | ||
| 18 | +non-global reject files will only be created without \-\-dry\-run). | ||
| 19 | +.TP | ||
| 20 | \fB\-R\fP or \fB\*=reverse\fP | ||
| 21 | Assume that this patch was created with the old and new files swapped. | ||
| 22 | (Yes, I'm afraid that does happen occasionally, human nature being what it | ||
| 23 | Index: patch-2.5.9/patch.c | ||
| 24 | =================================================================== | ||
| 25 | --- patch-2.5.9.orig/patch.c | ||
| 26 | +++ patch-2.5.9/patch.c | ||
| 27 | @@ -67,6 +67,7 @@ static bool similar (char const *, size_ | ||
| 28 | static bool spew_output (struct outstate *); | ||
| 29 | static char const *make_temp (char); | ||
| 30 | static int numeric_string (char const *, bool, char const *); | ||
| 31 | +static void reject_header (const char *filename); | ||
| 32 | static void abort_hunk (void); | ||
| 33 | static void cleanup (void); | ||
| 34 | static void get_some_switches (void); | ||
| 35 | @@ -98,6 +99,7 @@ static int Argc; | ||
| 36 | static char * const *Argv; | ||
| 37 | |||
| 38 | static FILE *rejfp; /* reject file pointer */ | ||
| 39 | +static char *global_reject; | ||
| 40 | |||
| 41 | static char const *patchname; | ||
| 42 | static char *rejname; | ||
| 43 | @@ -172,6 +174,10 @@ main (int argc, char **argv) | ||
| 44 | /* Make sure we clean up in case of disaster. */ | ||
| 45 | set_signals (false); | ||
| 46 | |||
| 47 | + /* initialize global reject file */ | ||
| 48 | + if (global_reject) | ||
| 49 | + init_reject (); | ||
| 50 | + | ||
| 51 | for ( | ||
| 52 | open_patch_file (patchname); | ||
| 53 | there_is_another_patch(); | ||
| 54 | @@ -208,8 +214,9 @@ main (int argc, char **argv) | ||
| 55 | init_output (TMPOUTNAME, exclusive, &outstate); | ||
| 56 | } | ||
| 57 | |||
| 58 | - /* initialize reject file */ | ||
| 59 | - init_reject (); | ||
| 60 | + /* initialize per-patch reject file */ | ||
| 61 | + if (!global_reject) | ||
| 62 | + init_reject (); | ||
| 63 | |||
| 64 | /* find out where all the lines are */ | ||
| 65 | if (!skip_rest_of_patch) | ||
| 66 | @@ -278,6 +285,8 @@ main (int argc, char **argv) | ||
| 67 | |||
| 68 | newwhere = pch_newfirst() + last_offset; | ||
| 69 | if (skip_rest_of_patch) { | ||
| 70 | + if (!failed) | ||
| 71 | + reject_header(outname); | ||
| 72 | abort_hunk(); | ||
| 73 | failed++; | ||
| 74 | if (verbosity == VERBOSE) | ||
| 75 | @@ -292,6 +301,8 @@ main (int argc, char **argv) | ||
| 76 | say ("Patch attempted to create file %s, which already exists.\n", | ||
| 77 | quotearg (inname)); | ||
| 78 | |||
| 79 | + if (!failed) | ||
| 80 | + reject_header(outname); | ||
| 81 | abort_hunk(); | ||
| 82 | failed++; | ||
| 83 | if (verbosity != SILENT) | ||
| 84 | @@ -299,6 +310,8 @@ main (int argc, char **argv) | ||
| 85 | format_linenum (numbuf, newwhere)); | ||
| 86 | } | ||
| 87 | else if (! apply_hunk (&outstate, where)) { | ||
| 88 | + if (!failed) | ||
| 89 | + reject_header(outname); | ||
| 90 | abort_hunk (); | ||
| 91 | failed++; | ||
| 92 | if (verbosity != SILENT) | ||
| 93 | @@ -332,7 +345,8 @@ main (int argc, char **argv) | ||
| 94 | fclose (outstate.ofp); | ||
| 95 | outstate.ofp = 0; | ||
| 96 | } | ||
| 97 | - fclose (rejfp); | ||
| 98 | + if (!global_reject) | ||
| 99 | + fclose (rejfp); | ||
| 100 | continue; | ||
| 101 | } | ||
| 102 | |||
| 103 | @@ -412,13 +426,13 @@ main (int argc, char **argv) | ||
| 104 | } | ||
| 105 | } | ||
| 106 | if (diff_type != ED_DIFF) { | ||
| 107 | - if (fclose (rejfp) != 0) | ||
| 108 | + if (!global_reject && fclose (rejfp) != 0) | ||
| 109 | write_fatal (); | ||
| 110 | if (failed) { | ||
| 111 | somefailed = true; | ||
| 112 | say ("%d out of %d hunk%s %s", failed, hunk, "s" + (hunk == 1), | ||
| 113 | skip_rest_of_patch ? "ignored" : "FAILED"); | ||
| 114 | - if (outname) { | ||
| 115 | + if (!global_reject && outname) { | ||
| 116 | char *rej = rejname; | ||
| 117 | if (!rejname) { | ||
| 118 | rej = xmalloc (strlen (outname) + 5); | ||
| 119 | @@ -445,6 +459,20 @@ main (int argc, char **argv) | ||
| 120 | } | ||
| 121 | set_signals (true); | ||
| 122 | } | ||
| 123 | + if (global_reject) | ||
| 124 | + { | ||
| 125 | + if (fclose (rejfp) != 0) | ||
| 126 | + write_fatal (); | ||
| 127 | + if (somefailed) | ||
| 128 | + { | ||
| 129 | + say (" -- saving rejects to file %s\n", quotearg (global_reject)); | ||
| 130 | + /*if (! dry_run) | ||
| 131 | + {*/ | ||
| 132 | + move_file (TMPREJNAME, &TMPREJNAME_needs_removal, | ||
| 133 | + global_reject, 0644, false); | ||
| 134 | + /*}*/ | ||
| 135 | + } | ||
| 136 | + } | ||
| 137 | if (outstate.ofp && (ferror (outstate.ofp) || fclose (outstate.ofp) != 0)) | ||
| 138 | write_fatal (); | ||
| 139 | cleanup (); | ||
| 140 | @@ -523,6 +551,7 @@ static struct option const longopts[] = | ||
| 141 | {"posix", no_argument, NULL, CHAR_MAX + 7}, | ||
| 142 | {"quoting-style", required_argument, NULL, CHAR_MAX + 8}, | ||
| 143 | {"unified-reject-files", no_argument, NULL, CHAR_MAX + 9}, | ||
| 144 | + {"global-reject-file", required_argument, NULL, CHAR_MAX + 10}, | ||
| 145 | {NULL, no_argument, NULL, 0} | ||
| 146 | }; | ||
| 147 | |||
| 148 | @@ -582,6 +611,7 @@ static char const *const option_help[] = | ||
| 149 | " --dry-run Do not actually change any files; just print what would happen.", | ||
| 150 | " --posix Conform to the POSIX standard.", | ||
| 151 | " --unified-reject-files Create unified reject files.", | ||
| 152 | +" --global-reject-file=file Put all rejects into one file.", | ||
| 153 | "", | ||
| 154 | " -d DIR --directory=DIR Change the working directory to DIR first.", | ||
| 155 | #if HAVE_SETMODE_DOS | ||
| 156 | @@ -784,6 +814,9 @@ get_some_switches (void) | ||
| 157 | case CHAR_MAX + 9: | ||
| 158 | unified_reject_files = true; | ||
| 159 | break; | ||
| 160 | + case CHAR_MAX + 10: | ||
| 161 | + global_reject = savestr (optarg); | ||
| 162 | + break; | ||
| 163 | default: | ||
| 164 | usage (stderr, 2); | ||
| 165 | } | ||
| 166 | @@ -933,6 +966,37 @@ locate_hunk (LINENUM fuzz) | ||
| 167 | } | ||
| 168 | |||
| 169 | static char * | ||
| 170 | +format_timestamp (char timebuf[37], bool which) | ||
| 171 | +{ | ||
| 172 | + time_t ts = pch_timestamp(which); | ||
| 173 | + if (ts != -1) | ||
| 174 | + { | ||
| 175 | + struct tm *tm = localtime(&ts); | ||
| 176 | + strftime(timebuf, 37, "\t%Y-%m-%d %H:%M:%S.000000000 %z", tm); | ||
| 177 | + } | ||
| 178 | + else | ||
| 179 | + timebuf[0] = 0; | ||
| 180 | + return timebuf; | ||
| 181 | +} | ||
| 182 | + | ||
| 183 | +/* Write a header in a reject file that combines multiple hunks. */ | ||
| 184 | +static void | ||
| 185 | +reject_header (const char *outname) | ||
| 186 | +{ | ||
| 187 | + char timebuf0[37], timebuf1[37]; | ||
| 188 | + if (!global_reject) | ||
| 189 | + return; | ||
| 190 | + if (diff_type == UNI_DIFF) | ||
| 191 | + fprintf(rejfp, "--- %s.orig%s\n+++ %s%s\n", | ||
| 192 | + outname, format_timestamp(timebuf0, reverse), | ||
| 193 | + outname, format_timestamp(timebuf1, !reverse)); | ||
| 194 | + else | ||
| 195 | + fprintf(rejfp, "*** %s.orig%s\n--- %s%s\n", | ||
| 196 | + outname, format_timestamp(timebuf0, reverse), | ||
| 197 | + outname, format_timestamp(timebuf1, !reverse)); | ||
| 198 | +} | ||
| 199 | + | ||
| 200 | +static char * | ||
| 201 | format_linerange (char rangebuf[LINENUM_LENGTH_BOUND*2 + 2], | ||
| 202 | LINENUM first, LINENUM lines) | ||
| 203 | { | ||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [embedded specific] | ||
| 2 | |||
| 3 | Index: patch-2.5.4/Makefile.in | ||
| 4 | =================================================================== | ||
| 5 | --- patch-2.5.4.orig/Makefile.in 2005-03-09 07:23:54.779311824 -0500 | ||
| 6 | +++ patch-2.5.4/Makefile.in 2005-03-09 07:26:09.616813408 -0500 | ||
| 7 | @@ -43,10 +43,11 @@ | ||
| 8 | PACKAGE_NAME = @PACKAGE_NAME@ | ||
| 9 | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||
| 10 | |||
| 11 | +DESTDIR = | ||
| 12 | prefix = @prefix@ | ||
| 13 | exec_prefix = @exec_prefix@ | ||
| 14 | |||
| 15 | -bindir = $(exec_prefix)/bin | ||
| 16 | +bindir = @bindir@ | ||
| 17 | |||
| 18 | # Where to put the manual pages. | ||
| 19 | mandir = @mandir@ | ||
| 20 | @@ -112,18 +113,18 @@ | ||
| 21 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) | ||
| 22 | |||
| 23 | install:: all installdirs | ||
| 24 | - $(INSTALL_PROGRAM) patch$(EXEEXT) $(bindir)/$(patch_name)$(EXEEXT) | ||
| 25 | - -$(INSTALL_DATA) $(srcdir)/patch.man $(man1dir)/$(patch_name)$(man1ext) | ||
| 26 | + $(INSTALL_PROGRAM) patch$(EXEEXT) $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) | ||
| 27 | + -$(INSTALL_DATA) $(srcdir)/patch.man $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) | ||
| 28 | |||
| 29 | installdirs:: | ||
| 30 | - $(SHELL) $(srcdir)/mkinstalldirs $(bindir) $(man1dir) | ||
| 31 | + $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) | ||
| 32 | |||
| 33 | install-strip:: | ||
| 34 | $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install | ||
| 35 | |||
| 36 | uninstall:: | ||
| 37 | - rm -f $(bindir)/$(patch_name)$(EXEEXT) | ||
| 38 | - rm -f $(man1dir)/$(patch_name)$(man1ext) | ||
| 39 | + rm -f $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) | ||
| 40 | + rm -f $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext) | ||
| 41 | |||
| 42 | Makefile: Makefile.in $(CONFIG_STATUS) | ||
| 43 | $(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 @@ | |||
| 1 | Upstream-Status: Inappropriate [debian patch] | ||
| 2 | |||
| 3 | Generate unified diff style reject files. Also include the C function names | ||
| 4 | in reject files whenever possible. | ||
| 5 | |||
| 6 | $ cat > f.orig | ||
| 7 | < a() { | ||
| 8 | < 2 | ||
| 9 | < 3 | ||
| 10 | < | ||
| 11 | < 5 | ||
| 12 | < 6 | ||
| 13 | < } | ||
| 14 | |||
| 15 | $ sed -e 's/5/5a/' f.orig > f | ||
| 16 | $ diff -U2 -p f.orig f > f.diff | ||
| 17 | $ sed -e 's/5/5a/' -e 's/6/6x/' f.orig > f | ||
| 18 | $ ./patch -F0 -s --no-backup-if-mismatch f --reject-unified < f.diff | ||
| 19 | > 1 out of 1 hunk FAILED -- saving rejects to file f.rej | ||
| 20 | |||
| 21 | $ cat f.rej | ||
| 22 | > @@ -3,5 +3,5 @@ a() { | ||
| 23 | > 3 | ||
| 24 | > | ||
| 25 | > -5 | ||
| 26 | > +5a | ||
| 27 | > 6 | ||
| 28 | > } | ||
| 29 | |||
| 30 | $ ./patch -F0 -s --no-backup-if-mismatch f < f.diff | ||
| 31 | > 1 out of 1 hunk FAILED -- saving rejects to file f.rej | ||
| 32 | |||
| 33 | $ cat f.rej | ||
| 34 | > *************** a() { | ||
| 35 | > *** 3,7 **** | ||
| 36 | > 3 | ||
| 37 | > | ||
| 38 | > - 5 | ||
| 39 | > 6 | ||
| 40 | > } | ||
| 41 | > --- 3,7 ---- | ||
| 42 | > 3 | ||
| 43 | > | ||
| 44 | > + 5a | ||
| 45 | > 6 | ||
| 46 | > } | ||
| 47 | |||
| 48 | $ diff -Nu -p /dev/null f.orig > f2.diff | ||
| 49 | $ ./patch -F0 -s --no-backup-if-mismatch f --reject-unified < f2.diff | ||
| 50 | > Patch attempted to create file f, which already exists. | ||
| 51 | > 1 out of 1 hunk FAILED -- saving rejects to file f.rej | ||
| 52 | |||
| 53 | $ cat f.rej | ||
| 54 | > @@ -0,0 +1,7 @@ | ||
| 55 | > +a() { | ||
| 56 | > +2 | ||
| 57 | > +3 | ||
| 58 | > + | ||
| 59 | > +5 | ||
| 60 | > +6 | ||
| 61 | > +} | ||
| 62 | |||
| 63 | $ rm -f f f.orig f.rej f.diff f2.diff | ||
| 64 | |||
| 65 | Index: patch-2.5.9/pch.c | ||
| 66 | =================================================================== | ||
| 67 | --- patch-2.5.9.orig/pch.c | ||
| 68 | +++ patch-2.5.9/pch.c | ||
| 69 | @@ -68,6 +68,7 @@ static LINENUM p_sline; /* and the lin | ||
| 70 | static LINENUM p_hunk_beg; /* line number of current hunk */ | ||
| 71 | static LINENUM p_efake = -1; /* end of faked up lines--don't free */ | ||
| 72 | static LINENUM p_bfake = -1; /* beg of faked up lines */ | ||
| 73 | +static char *p_c_function; /* the C function a hunk is in */ | ||
| 74 | |||
| 75 | enum nametype { OLD, NEW, INDEX, NONE }; | ||
| 76 | |||
| 77 | @@ -888,6 +889,19 @@ another_hunk (enum diff difftype, bool r | ||
| 78 | next_intuit_at(line_beginning,p_input_line); | ||
| 79 | return chars_read == (size_t) -1 ? -1 : 0; | ||
| 80 | } | ||
| 81 | + s = buf; | ||
| 82 | + while (*s == '*') | ||
| 83 | + s++; | ||
| 84 | + if (*s == ' ') | ||
| 85 | + { | ||
| 86 | + p_c_function = s; | ||
| 87 | + while (*s != '\n') | ||
| 88 | + s++; | ||
| 89 | + *s = '\0'; | ||
| 90 | + p_c_function = savestr (p_c_function); | ||
| 91 | + } | ||
| 92 | + else | ||
| 93 | + p_c_function = NULL; | ||
| 94 | p_hunk_beg = p_input_line + 1; | ||
| 95 | while (p_end < p_max) { | ||
| 96 | chars_read = get_line (); | ||
| 97 | @@ -1277,8 +1291,18 @@ another_hunk (enum diff difftype, bool r | ||
| 98 | else | ||
| 99 | p_repl_lines = 1; | ||
| 100 | if (*s == ' ') s++; | ||
| 101 | - if (*s != '@') | ||
| 102 | + if (*s++ != '@') | ||
| 103 | malformed (); | ||
| 104 | + if (*s++ == '@' && *s == ' ' && *s != '\0') | ||
| 105 | + { | ||
| 106 | + p_c_function = s; | ||
| 107 | + while (*s != '\n') | ||
| 108 | + s++; | ||
| 109 | + *s = '\0'; | ||
| 110 | + p_c_function = savestr (p_c_function); | ||
| 111 | + } | ||
| 112 | + else | ||
| 113 | + p_c_function = NULL; | ||
| 114 | if (!p_ptrn_lines) | ||
| 115 | p_first++; /* do append rather than insert */ | ||
| 116 | if (!p_repl_lines) | ||
| 117 | @@ -1884,6 +1908,12 @@ pch_hunk_beg (void) | ||
| 118 | return p_hunk_beg; | ||
| 119 | } | ||
| 120 | |||
| 121 | +char const * | ||
| 122 | +pch_c_function (void) | ||
| 123 | +{ | ||
| 124 | + return p_c_function; | ||
| 125 | +} | ||
| 126 | + | ||
| 127 | /* Is the newline-terminated line a valid `ed' command for patch | ||
| 128 | input? If so, return the command character; if not, return 0. | ||
| 129 | This accepts accepts just a subset of the valid commands, but it's | ||
| 130 | Index: patch-2.5.9/pch.h | ||
| 131 | =================================================================== | ||
| 132 | --- patch-2.5.9.orig/pch.h | ||
| 133 | +++ patch-2.5.9/pch.h | ||
| 134 | @@ -25,6 +25,7 @@ | ||
| 135 | LINENUM pch_end (void); | ||
| 136 | LINENUM pch_first (void); | ||
| 137 | LINENUM pch_hunk_beg (void); | ||
| 138 | +char const *pch_c_function (void); | ||
| 139 | LINENUM pch_newfirst (void); | ||
| 140 | LINENUM pch_prefix_context (void); | ||
| 141 | LINENUM pch_ptrn_lines (void); | ||
| 142 | Index: patch-2.5.9/patch.man | ||
| 143 | =================================================================== | ||
| 144 | --- patch-2.5.9.orig/patch.man | ||
| 145 | +++ patch-2.5.9/patch.man | ||
| 146 | @@ -517,6 +517,9 @@ instead of the default | ||
| 147 | .B \&.rej | ||
| 148 | file. | ||
| 149 | .TP | ||
| 150 | +\fB\*=reject\-unified\fP | ||
| 151 | +Produce unified reject files. The default is to produce context type reject files. | ||
| 152 | +.TP | ||
| 153 | \fB\-R\fP or \fB\*=reverse\fP | ||
| 154 | Assume that this patch was created with the old and new files swapped. | ||
| 155 | (Yes, I'm afraid that does happen occasionally, human nature being what it | ||
| 156 | Index: patch-2.5.9/common.h | ||
| 157 | =================================================================== | ||
| 158 | --- patch-2.5.9.orig/common.h | ||
| 159 | +++ patch-2.5.9/common.h | ||
| 160 | @@ -146,6 +146,7 @@ XTERN int invc; | ||
| 161 | XTERN struct stat instat; | ||
| 162 | XTERN bool dry_run; | ||
| 163 | XTERN bool posixly_correct; | ||
| 164 | +XTERN bool unified_reject_files; | ||
| 165 | |||
| 166 | XTERN char const *origprae; | ||
| 167 | XTERN char const *origbase; | ||
| 168 | Index: patch-2.5.9/patch.c | ||
| 169 | =================================================================== | ||
| 170 | --- patch-2.5.9.orig/patch.c | ||
| 171 | +++ patch-2.5.9/patch.c | ||
| 172 | @@ -522,6 +522,7 @@ static struct option const longopts[] = | ||
| 173 | {"no-backup-if-mismatch", no_argument, NULL, CHAR_MAX + 6}, | ||
| 174 | {"posix", no_argument, NULL, CHAR_MAX + 7}, | ||
| 175 | {"quoting-style", required_argument, NULL, CHAR_MAX + 8}, | ||
| 176 | + {"unified-reject-files", no_argument, NULL, CHAR_MAX + 9}, | ||
| 177 | {NULL, no_argument, NULL, 0} | ||
| 178 | }; | ||
| 179 | |||
| 180 | @@ -580,6 +581,7 @@ static char const *const option_help[] = | ||
| 181 | " --verbose Output extra information about the work being done.", | ||
| 182 | " --dry-run Do not actually change any files; just print what would happen.", | ||
| 183 | " --posix Conform to the POSIX standard.", | ||
| 184 | +" --unified-reject-files Create unified reject files.", | ||
| 185 | "", | ||
| 186 | " -d DIR --directory=DIR Change the working directory to DIR first.", | ||
| 187 | #if HAVE_SETMODE_DOS | ||
| 188 | @@ -779,6 +781,9 @@ get_some_switches (void) | ||
| 189 | (enum quoting_style) i); | ||
| 190 | } | ||
| 191 | break; | ||
| 192 | + case CHAR_MAX + 9: | ||
| 193 | + unified_reject_files = true; | ||
| 194 | + break; | ||
| 195 | default: | ||
| 196 | usage (stderr, 2); | ||
| 197 | } | ||
| 198 | @@ -927,6 +932,24 @@ locate_hunk (LINENUM fuzz) | ||
| 199 | return 0; | ||
| 200 | } | ||
| 201 | |||
| 202 | +static char * | ||
| 203 | +format_linerange (char rangebuf[LINENUM_LENGTH_BOUND*2 + 2], | ||
| 204 | + LINENUM first, LINENUM lines) | ||
| 205 | +{ | ||
| 206 | + if (lines == 1) | ||
| 207 | + rangebuf = format_linenum (rangebuf, first); | ||
| 208 | + else | ||
| 209 | + { | ||
| 210 | + char *rb; | ||
| 211 | + rangebuf = format_linenum (rangebuf + LINENUM_LENGTH_BOUND + 1, lines); | ||
| 212 | + rb = rangebuf-1; | ||
| 213 | + rangebuf = format_linenum (rangebuf - LINENUM_LENGTH_BOUND - 1, | ||
| 214 | + (lines > 0) ? first : 0); | ||
| 215 | + *rb = ','; | ||
| 216 | + } | ||
| 217 | + return rangebuf; | ||
| 218 | +} | ||
| 219 | + | ||
| 220 | /* We did not find the pattern, dump out the hunk so they can handle it. */ | ||
| 221 | |||
| 222 | static void | ||
| 223 | @@ -943,8 +966,83 @@ abort_hunk (void) | ||
| 224 | (int) NEW_CONTEXT_DIFF <= (int) diff_type ? " ****" : ""; | ||
| 225 | char const *minuses = | ||
| 226 | (int) NEW_CONTEXT_DIFF <= (int) diff_type ? " ----" : " -----"; | ||
| 227 | + char const *function = pch_c_function(); | ||
| 228 | + if (function == NULL) | ||
| 229 | + function = ""; | ||
| 230 | + | ||
| 231 | + if (unified_reject_files) | ||
| 232 | + { | ||
| 233 | + /* produce unified reject files */ | ||
| 234 | + char rangebuf0[LINENUM_LENGTH_BOUND*2 + 2]; | ||
| 235 | + char rangebuf1[LINENUM_LENGTH_BOUND*2 + 2]; | ||
| 236 | + LINENUM j; | ||
| 237 | + | ||
| 238 | + /* Find the beginning of the remove and insert section. */ | ||
| 239 | + for (j = 0; j <= pat_end; j++) | ||
| 240 | + if (pch_char (j) == '=') | ||
| 241 | + break; | ||
| 242 | + for (i = j+1; i <= pat_end; i++) | ||
| 243 | + if (pch_char (i) == '^') | ||
| 244 | + break; | ||
| 245 | + if (pch_char (0) != '*' || j > pat_end || i > pat_end+1) | ||
| 246 | + fatal ("internal error in abort_hunk"); | ||
| 247 | + i = 1; j++; | ||
| 248 | + | ||
| 249 | + /* @@ -from,lines +to,lines @@ */ | ||
| 250 | + fprintf (rejfp, "@@ -%s +%s @@%s\n", | ||
| 251 | + format_linerange (rangebuf0, oldfirst, pch_ptrn_lines()), | ||
| 252 | + format_linerange (rangebuf1, newfirst, pch_repl_lines()), | ||
| 253 | + function); | ||
| 254 | + | ||
| 255 | + while ( (i <= pat_end && pch_char (i) != '=') | ||
| 256 | + || (j <= pat_end && pch_char (j) != '^')) | ||
| 257 | + { | ||
| 258 | + if (i <= pat_end | ||
| 259 | + && (pch_char (i) == '-' || pch_char (i) == '!')) | ||
| 260 | + { | ||
| 261 | + fputc('-', rejfp); | ||
| 262 | + pch_write_line (i++, rejfp); | ||
| 263 | + } | ||
| 264 | + else if (j <= pat_end | ||
| 265 | + && (pch_char (j) == '+' || pch_char (j) == '!')) | ||
| 266 | + { | ||
| 267 | + fputc('+', rejfp); | ||
| 268 | + pch_write_line (j++, rejfp); | ||
| 269 | + } | ||
| 270 | + else if ((i <= pat_end | ||
| 271 | + && (pch_char (i) == ' ' || pch_char (i) == '\n')) && | ||
| 272 | + (j > pat_end | ||
| 273 | + || (pch_char (j) == ' ' || pch_char (j) == '\n'))) | ||
| 274 | + { | ||
| 275 | + /* Unless j is already past the end, lines i and j | ||
| 276 | + must be equal here. */ | ||
| 277 | + | ||
| 278 | + if (pch_char (i) == ' ') | ||
| 279 | + fputc(' ', rejfp); | ||
| 280 | + pch_write_line (i++, rejfp); | ||
| 281 | + if (j <= pat_end) | ||
| 282 | + j++; | ||
| 283 | + } | ||
| 284 | + else if ((j <= pat_end && | ||
| 285 | + (pch_char (j) == ' ' || pch_char (j) == '\n')) && | ||
| 286 | + (pch_char (i) == '=')) | ||
| 287 | + { | ||
| 288 | + if (pch_char (j) == ' ') | ||
| 289 | + fputc(' ', rejfp); | ||
| 290 | + pch_write_line (j++, rejfp); | ||
| 291 | + } | ||
| 292 | + else | ||
| 293 | + fatal ("internal error in abort_hunk"); | ||
| 294 | + } | ||
| 295 | + | ||
| 296 | + if (ferror (rejfp)) | ||
| 297 | + write_fatal (); | ||
| 298 | + return; | ||
| 299 | + } | ||
| 300 | |||
| 301 | - fprintf(rejfp, "***************\n"); | ||
| 302 | + /* produce context type reject files */ | ||
| 303 | + | ||
| 304 | + fprintf(rejfp, "***************%s\n", function); | ||
| 305 | for (i=0; i<=pat_end; i++) { | ||
| 306 | char numbuf0[LINENUM_LENGTH_BOUND + 1]; | ||
| 307 | 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 @@ | |||
| 1 | require patch.inc | ||
| 2 | LICENSE = "GPLv2" | ||
| 3 | |||
| 4 | SRC_URI += " file://debian.patch \ | ||
| 5 | file://install.patch \ | ||
| 6 | file://unified-reject-files.diff \ | ||
| 7 | file://global-reject-file.diff " | ||
| 8 | PR = "r3" | ||
| 9 | |||
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 11 | SRC_URI[md5sum] = "dacfb618082f8d3a2194601193cf8716" | ||
| 12 | 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 @@ | |||
| 1 | Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ] | ||
| 2 | CVE: CVE-2007-4091 | ||
| 3 | |||
| 4 | The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to | ||
| 5 | address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091 | ||
| 6 | |||
| 7 | Date: Tue May 10 10:07:36 2011 +0800 | ||
| 8 | Dexuan Cui <dexuan.cui@intel.com> | ||
| 9 | |||
| 10 | diff --git a/sender.c b/sender.c | ||
| 11 | index 6fcaa65..053a8f1 100644 | ||
| 12 | --- a/sender.c | ||
| 13 | +++ b/sender.c | ||
| 14 | @@ -123,6 +123,7 @@ void successful_send(int ndx) | ||
| 15 | char fname[MAXPATHLEN]; | ||
| 16 | struct file_struct *file; | ||
| 17 | unsigned int offset; | ||
| 18 | + size_t l = 0; | ||
| 19 | |||
| 20 | if (ndx < 0 || ndx >= the_file_list->count) | ||
| 21 | return; | ||
| 22 | @@ -133,6 +134,20 @@ void successful_send(int ndx) | ||
| 23 | file->dir.root, "/", NULL); | ||
| 24 | } else | ||
| 25 | offset = 0; | ||
| 26 | + | ||
| 27 | + l = offset + 1; | ||
| 28 | + if (file) { | ||
| 29 | + if (file->dirname) | ||
| 30 | + l += strlen(file->dirname); | ||
| 31 | + if (file->basename) | ||
| 32 | + l += strlen(file->basename); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + if (l >= sizeof(fname)) { | ||
| 36 | + rprintf(FERROR, "Overlong pathname\n"); | ||
| 37 | + exit_cleanup(RERR_FILESELECT); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | f_name(file, fname + offset); | ||
| 41 | if (remove_source_files) { | ||
| 42 | if (do_unlink(fname) == 0) { | ||
| 43 | @@ -224,6 +239,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) | ||
| 44 | enum logcode log_code = log_before_transfer ? FLOG : FINFO; | ||
| 45 | int f_xfer = write_batch < 0 ? batch_fd : f_out; | ||
| 46 | int i, j; | ||
| 47 | + size_t l = 0; | ||
| 48 | |||
| 49 | if (verbose > 2) | ||
| 50 | rprintf(FINFO, "send_files starting\n"); | ||
| 51 | @@ -259,6 +275,20 @@ void send_files(struct file_list *flist, int f_out, int f_in) | ||
| 52 | fname[offset++] = '/'; | ||
| 53 | } else | ||
| 54 | offset = 0; | ||
| 55 | + | ||
| 56 | + l = offset + 1; | ||
| 57 | + if (file) { | ||
| 58 | + if (file->dirname) | ||
| 59 | + l += strlen(file->dirname); | ||
| 60 | + if (file->basename) | ||
| 61 | + l += strlen(file->basename); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + if (l >= sizeof(fname)) { | ||
| 65 | + rprintf(FERROR, "Overlong pathname\n"); | ||
| 66 | + exit_cleanup(RERR_FILESELECT); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | fname2 = f_name(file, fname + offset); | ||
| 70 | |||
| 71 | 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 @@ | |||
| 1 | # /etc/rsyncd.conf | ||
| 2 | |||
| 3 | # Minimal configuration file for rsync daemon | ||
| 4 | # See rsync(1) and rsyncd.conf(5) man pages for help | ||
| 5 | |||
| 6 | # This file is required by rsync --daemon | ||
| 7 | pid file = /var/run/rsyncd.pid | ||
| 8 | use chroot = yes | ||
| 9 | read only = yes | ||
| 10 | |||
| 11 | # Simple example for enabling your own local rsync server | ||
| 12 | #[everything] | ||
| 13 | # path = / | ||
| 14 | # comment = Everything except /etc exposed | ||
| 15 | # 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 @@ | |||
| 1 | require rsync.inc | ||
| 2 | |||
| 3 | SRC_URI += "file://rsync-2.6.9-fname-obo.patch \ | ||
| 4 | file://rsyncd.conf \ | ||
| 5 | " | ||
| 6 | |||
| 7 | SRC_URI[md5sum] = "996d8d8831dbca17910094e56dcb5942" | ||
| 8 | SRC_URI[sha256sum] = "ca437301becd890e73300bc69a39189ff1564baa761948ff149b3dd7bde633f9" | ||
| 9 | |||
| 10 | LICENSE = "GPLv2+" | ||
| 11 | LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c" | ||
| 12 | |||
| 13 | PR = "r4" | ||
| 14 | |||
| 15 | 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 @@ | |||
| 1 | Add 'ptest' target to Makefile, to run tests without checking dependencies. | ||
| 2 | |||
| 3 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | ||
| 4 | Upstream-Status: Pending | ||
| 5 | --- | ||
| 6 | diff -dNaur bash-3.2.48/Makefile.in.orig bash-3.2.48/Makefile.in | ||
| 7 | --- bash-3.2.48/Makefile.in.orig 2006-08-17 23:03:35.000000000 +0500 | ||
| 8 | +++ bash-3.2.48/Makefile.in 2013-07-02 20:20:07.512709327 +0500 | ||
| 9 | @@ -803,17 +803,31 @@ | ||
| 10 | fi | ||
| 11 | |||
| 12 | recho$(EXEEXT): $(SUPPORT_SRC)recho.c | ||
| 13 | - @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD} | ||
| 14 | + @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< | ||
| 15 | |||
| 16 | zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c | ||
| 17 | - @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD} | ||
| 18 | + @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< | ||
| 19 | |||
| 20 | printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c | ||
| 21 | - @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD} | ||
| 22 | + @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< | ||
| 23 | |||
| 24 | -test tests check: force $(Program) $(TESTS_SUPPORT) | ||
| 25 | +test tests check: | ||
| 26 | + @$(MAKE) install-test | ||
| 27 | + @$(MAKE) runtest | ||
| 28 | + | ||
| 29 | +install-test: buildtest | ||
| 30 | +ifeq ($(origin INSTALL_TEST_DIR), undefined) | ||
| 31 | @-test -d tests || mkdir tests | ||
| 32 | @cp $(TESTS_SUPPORT) tests | ||
| 33 | +else | ||
| 34 | + @-test -d $(INSTALL_TEST_DIR) || mkdir -p $(INSTALL_TEST_DIR) | ||
| 35 | + @cp -r $(srcdir)/tests/* $(INSTALL_TEST_DIR)/ | ||
| 36 | + @cp $(TESTS_SUPPORT) $(INSTALL_TEST_DIR) | ||
| 37 | +endif | ||
| 38 | + | ||
| 39 | +buildtest: force $(Program) $(TESTS_SUPPORT) | ||
| 40 | + | ||
| 41 | +runtest: | ||
| 42 | @( cd $(srcdir)/tests && \ | ||
| 43 | PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} ) | ||
| 44 | |||
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 @@ | |||
| 1 | From 933bd886af49667e88e2385409449ab598813dab Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
| 3 | Date: Wed, 15 Jul 2015 00:54:33 -0700 | ||
| 4 | Subject: [PATCH] dont include target CFLAGS in host LDFLAGS | ||
| 5 | |||
| 6 | Building the host tool 'mkbuiltins' will fail if the target CFLAGS | ||
| 7 | contains an option which isn't supported by the host's gcc. To prevent | ||
| 8 | the issue, define LDFLAGS_FOR_BUILD based on CFLAGS_FOR_BUILD instead | ||
| 9 | of CFLAGS. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [required for bash 3.2.57 (GPLv2) recipe only] | ||
| 12 | |||
| 13 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
| 14 | --- | ||
| 15 | builtins/Makefile.in | 2 +- | ||
| 16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/builtins/Makefile.in b/builtins/Makefile.in | ||
| 19 | index e027f7a..ebfddf3 100644 | ||
| 20 | --- a/builtins/Makefile.in | ||
| 21 | +++ b/builtins/Makefile.in | ||
| 22 | @@ -63,7 +63,7 @@ LOCAL_DEFS = @LOCAL_DEFS@ | ||
| 23 | |||
| 24 | LIBS = @LIBS@ | ||
| 25 | LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) | ||
| 26 | -LDFLAGS_FOR_BUILD = $(LDFLAGS) | ||
| 27 | +LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) | ||
| 28 | LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ | ||
| 29 | #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ | ||
| 30 | LIBS_FOR_BUILD = $(LIBS) | ||
| 31 | -- | ||
| 32 | 1.9.1 | ||
| 33 | |||
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 @@ | |||
| 1 | On hosts with FORTIFY_SOURCES, stringize support is required, as it's used by | ||
| 2 | the macros to wrap functions (e.g. read and open in unistd.h). Those wrappers | ||
| 3 | use the STRING() macro from unistd.h. A header in the bash sources overrides | ||
| 4 | the unistd.h macro to 'x' when HAVE_STRINGIZE is not defined, causing the | ||
| 5 | wrappers to generate calls to 'xread' and 'xopen', which do not exist, | ||
| 6 | resulting in a failure to link. | ||
| 7 | |||
| 8 | Assume we have stringize support when cross-compiling, which works around the | ||
| 9 | issue. | ||
| 10 | |||
| 11 | It may be best for upstream to either give up on supporting compilers without | ||
| 12 | stringize support, or to not define STRING() at all when FORTIFY_SOURCES is | ||
| 13 | defined, letting the unistd.h one be used, instead. | ||
| 14 | |||
| 15 | Upstream-Status: Pending | ||
| 16 | |||
| 17 | Signed-off-by: Christopher Larson <chris_larson@mentor.com> | ||
| 18 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 19 | |||
| 20 | --- bash-4.2.orig/builtins/mkbuiltins.c | ||
| 21 | +++ bash-4.2/builtins/mkbuiltins.c | ||
| 22 | @@ -28,6 +28,7 @@ | ||
| 23 | # define HAVE_STDLIB_H | ||
| 24 | |||
| 25 | # define HAVE_RENAME | ||
| 26 | +# define HAVE_STRINGIZE | ||
| 27 | #endif /* CROSS_COMPILING */ | ||
| 28 | |||
| 29 | #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 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | 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 @@ | |||
| 1 | Fix a string format warning when using security flags: | ||
| 2 | |||
| 3 | | ../bash-3.2.48/print_cmd.c:1152:3: error: format not a string literal and no format arguments [-Werror=format-security] | ||
| 4 | | cprintf (indentation_string); | ||
| 5 | |||
| 6 | Upstream-Status: Backport | ||
| 7 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 8 | |||
| 9 | diff --git a/print_cmd.c b/print_cmd.c | ||
| 10 | index d1dfd1a..956db53 100644 | ||
| 11 | --- a/print_cmd.c | ||
| 12 | +++ b/print_cmd.c | ||
| 13 | @@ -1149,7 +1149,7 @@ indent (amount) | ||
| 14 | for (i = 0; amount > 0; amount--) | ||
| 15 | indentation_string[i++] = ' '; | ||
| 16 | indentation_string[i] = '\0'; | ||
| 17 | - cprintf (indentation_string); | ||
| 18 | + cprintf ("%s", indentation_string); | ||
| 19 | } | ||
| 20 | |||
| 21 | 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 @@ | |||
| 1 | Add FAIL/PASS output to test output. | ||
| 2 | |||
| 3 | Signed-off-by: Björn Stenberg <bjst@enea.com> | ||
| 4 | Upstream-Status: Pending | ||
| 5 | --- | ||
| 6 | diff -uNr a/tests/run-all b/tests/run-all | ||
| 7 | --- a/tests/run-all 1999-10-08 17:07:46.000000000 +0200 | ||
| 8 | +++ b/tests/run-all 2012-10-27 21:04:18.663331887 +0200 | ||
| 9 | @@ -22,7 +22,15 @@ | ||
| 10 | case $x in | ||
| 11 | $0|run-minimal|run-gprof) ;; | ||
| 12 | *.orig|*~) ;; | ||
| 13 | - *) echo $x ; sh $x ;; | ||
| 14 | + *) echo $x | ||
| 15 | + output=`sh $x` | ||
| 16 | + if [ -n "$output" ]; then | ||
| 17 | + echo "$output" | ||
| 18 | + echo "FAIL: $x" | ||
| 19 | + else | ||
| 20 | + echo "PASS: $x" | ||
| 21 | + fi | ||
| 22 | + ;; | ||
| 23 | esac | ||
| 24 | done | ||
| 25 | |||
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 @@ | |||
| 1 | require bash.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" | ||
| 5 | |||
| 6 | SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ | ||
| 7 | file://mkbuiltins_have_stringize.patch \ | ||
| 8 | file://build-tests.patch \ | ||
| 9 | file://test-output.patch \ | ||
| 10 | file://run-ptest \ | ||
| 11 | file://dont-include-target-CFLAGS-in-host-LDFLAGS.patch \ | ||
| 12 | file://string-format.patch \ | ||
| 13 | " | ||
| 14 | |||
| 15 | SRC_URI[md5sum] = "237a8767c990b43ae2c89895c2dbc062" | ||
| 16 | SRC_URI[sha256sum] = "3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4" | ||
| 17 | |||
| 18 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [bugfix: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624] | ||
| 2 | CVE: CVE-2010-0624 | ||
| 3 | |||
| 4 | This patch avoids heap overflow reported by : | ||
| 5 | http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624 | ||
| 6 | |||
| 7 | This is a clean patch for the GPLv2 tar recipe. | ||
| 8 | |||
| 9 | the GPLv2 tar recipe patch is also applicable to this GPLv2 cpio | ||
| 10 | recipe, as they share code. | ||
| 11 | |||
| 12 | Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/25 | ||
| 13 | |||
| 14 | Index: tar-1.17/lib/rtapelib.c | ||
| 15 | =================================================================== | ||
| 16 | --- tar-1.17.orig/lib/rtapelib.c | ||
| 17 | +++ tar-1.17/lib/rtapelib.c | ||
| 18 | @@ -570,7 +570,7 @@ rmt_read__ (int handle, char *buffer, si | ||
| 19 | |||
| 20 | sprintf (command_buffer, "R%lu\n", (unsigned long) length); | ||
| 21 | if (do_command (handle, command_buffer) == -1 | ||
| 22 | - || (status = get_status (handle)) == SAFE_READ_ERROR) | ||
| 23 | + || ((status = get_status (handle)) == SAFE_READ_ERROR) || (status > length)) | ||
| 24 | return SAFE_READ_ERROR; | ||
| 25 | |||
| 26 | 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 @@ | |||
| 1 | cpio: Fix memory overrun on reading improperly created link records | ||
| 2 | |||
| 3 | Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> | ||
| 4 | |||
| 5 | http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d | ||
| 6 | |||
| 7 | * src/copyin.c (get_link_name): New function. | ||
| 8 | (list_file, copyin_link): use get_link_name | ||
| 9 | |||
| 10 | * tests/symlink-bad-length.at: New file. | ||
| 11 | * tests/symlink-long.at: New file. | ||
| 12 | * tests/Makefile.am: Add new files. | ||
| 13 | * tests/testsuite.at: Likewise. | ||
| 14 | |||
| 15 | See http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html | ||
| 16 | |||
| 17 | Upstream-Status: Backport | ||
| 18 | |||
| 19 | Signed-off-by: Sergey Poznyakoff <gray@gnu.org.ua> | ||
| 20 | |||
| 21 | diff -Nurp cpio-2.8.orig/src/copyin.c cpio-2.8/src/copyin.c | ||
| 22 | --- cpio-2.8.orig/src/copyin.c 2007-06-07 19:58:03.000000000 +0800 | ||
| 23 | +++ cpio-2.8/src/copyin.c 2014-12-08 11:30:01.159791484 +0800 | ||
| 24 | @@ -126,6 +126,28 @@ tape_skip_padding (int in_file_des, int | ||
| 25 | } | ||
| 26 | |||
| 27 | |||
| 28 | +static char * | ||
| 29 | +get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) | ||
| 30 | +{ | ||
| 31 | + off_t n = file_hdr->c_filesize + 1; | ||
| 32 | + char *link_name; | ||
| 33 | + | ||
| 34 | + if (n == 0 || n > SIZE_MAX) | ||
| 35 | + { | ||
| 36 | + error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name); | ||
| 37 | + link_name = NULL; | ||
| 38 | + } | ||
| 39 | + else | ||
| 40 | + { | ||
| 41 | + link_name = xmalloc (n); | ||
| 42 | + tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); | ||
| 43 | + link_name[file_hdr->c_filesize] = '\0'; | ||
| 44 | + tape_skip_padding (in_file_des, file_hdr->c_filesize); | ||
| 45 | + } | ||
| 46 | + return link_name; | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | + | ||
| 50 | static void | ||
| 51 | list_file(struct cpio_file_stat* file_hdr, int in_file_des) | ||
| 52 | { | ||
| 53 | @@ -136,21 +158,16 @@ list_file(struct cpio_file_stat* file_hd | ||
| 54 | { | ||
| 55 | if (archive_format != arf_tar && archive_format != arf_ustar) | ||
| 56 | { | ||
| 57 | - char *link_name = NULL; /* Name of hard and symbolic links. */ | ||
| 58 | - | ||
| 59 | - link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); | ||
| 60 | - link_name[file_hdr->c_filesize] = '\0'; | ||
| 61 | - tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); | ||
| 62 | - long_format (file_hdr, link_name); | ||
| 63 | - free (link_name); | ||
| 64 | - tape_skip_padding (in_file_des, file_hdr->c_filesize); | ||
| 65 | - return; | ||
| 66 | + char *link_name = get_link_name (file_hdr, in_file_des); | ||
| 67 | + if (link_name) | ||
| 68 | + { | ||
| 69 | + long_format (file_hdr, link_name); | ||
| 70 | + free (link_name); | ||
| 71 | + } | ||
| 72 | } | ||
| 73 | else | ||
| 74 | - { | ||
| 75 | long_format (file_hdr, file_hdr->c_tar_linkname); | ||
| 76 | - return; | ||
| 77 | - } | ||
| 78 | + return; | ||
| 79 | } | ||
| 80 | else | ||
| 81 | #endif | ||
| 82 | @@ -732,10 +749,7 @@ copyin_link(struct cpio_file_stat *file_ | ||
| 83 | |||
| 84 | if (archive_format != arf_tar && archive_format != arf_ustar) | ||
| 85 | { | ||
| 86 | - link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); | ||
| 87 | - link_name[file_hdr->c_filesize] = '\0'; | ||
| 88 | - tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); | ||
| 89 | - tape_skip_padding (in_file_des, file_hdr->c_filesize); | ||
| 90 | + link_name = get_link_name (file_hdr, in_file_des); | ||
| 91 | } | ||
| 92 | else | ||
| 93 | { | ||
| 94 | diff -Nurp cpio-2.8.orig/tests/Makefile.am cpio-2.8/tests/Makefile.am | ||
| 95 | --- cpio-2.8.orig/tests/Makefile.am 2006-10-24 18:32:13.000000000 +0800 | ||
| 96 | +++ cpio-2.8/tests/Makefile.am 2014-12-08 11:30:52.387789482 +0800 | ||
| 97 | @@ -45,6 +45,8 @@ TESTSUITE_AT = \ | ||
| 98 | testsuite.at\ | ||
| 99 | inout.at\ | ||
| 100 | symlink.at\ | ||
| 101 | + symlink-bad-length.at\ | ||
| 102 | + symlink-long.at\ | ||
| 103 | version.at | ||
| 104 | |||
| 105 | TESTSUITE = $(srcdir)/testsuite | ||
| 106 | diff -Nurp cpio-2.8.orig/tests/symlink-bad-length.at cpio-2.8/tests/symlink-bad-length.at | ||
| 107 | --- cpio-2.8.orig/tests/symlink-bad-length.at 1970-01-01 08:00:00.000000000 +0800 | ||
| 108 | +++ cpio-2.8/tests/symlink-bad-length.at 2014-12-08 11:33:25.283783507 +0800 | ||
| 109 | @@ -0,0 +1,49 @@ | ||
| 110 | +# Process this file with autom4te to create testsuite. -*- Autotest -*- | ||
| 111 | +# Copyright (C) 2014 Free Software Foundation, Inc. | ||
| 112 | + | ||
| 113 | +# This program is free software; you can redistribute it and/or modify | ||
| 114 | +# it under the terms of the GNU General Public License as published by | ||
| 115 | +# the Free Software Foundation; either version 3, or (at your option) | ||
| 116 | +# any later version. | ||
| 117 | + | ||
| 118 | +# This program is distributed in the hope that it will be useful, | ||
| 119 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 120 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 121 | +# GNU General Public License for more details. | ||
| 122 | + | ||
| 123 | +# You should have received a copy of the GNU General Public License | ||
| 124 | +# along with this program; if not, write to the Free Software | ||
| 125 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
| 126 | +# 02110-1301 USA. | ||
| 127 | + | ||
| 128 | +# Cpio v2.11 did segfault with badly set symlink length. | ||
| 129 | +# References: | ||
| 130 | +# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html | ||
| 131 | + | ||
| 132 | +AT_SETUP([symlink-bad-length]) | ||
| 133 | +AT_KEYWORDS([symlink-long copyout]) | ||
| 134 | + | ||
| 135 | +AT_DATA([ARCHIVE.base64], | ||
| 136 | +[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv | ||
| 137 | +JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF | ||
| 138 | +UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 139 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 140 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 141 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 142 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 143 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | ||
| 144 | +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= | ||
| 145 | +]) | ||
| 146 | + | ||
| 147 | +AT_CHECK([ | ||
| 148 | +base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST | ||
| 149 | +cpio -ntv < ARCHIVE | ||
| 150 | +test $? -eq 2 | ||
| 151 | +], | ||
| 152 | +[0], | ||
| 153 | +[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE | ||
| 154 | +],[cpio: LINK: stored filename length too big | ||
| 155 | +cpio: premature end of file | ||
| 156 | +]) | ||
| 157 | + | ||
| 158 | +AT_CLEANUP | ||
| 159 | diff -Nurp cpio-2.8.orig/tests/symlink-long.at cpio-2.8/tests/symlink-long.at | ||
| 160 | --- cpio-2.8.orig/tests/symlink-long.at 1970-01-01 08:00:00.000000000 +0800 | ||
| 161 | +++ cpio-2.8/tests/symlink-long.at 2014-12-08 11:34:28.807781024 +0800 | ||
| 162 | @@ -0,0 +1,46 @@ | ||
| 163 | +# Process this file with autom4te to create testsuite. -*- Autotest -*- | ||
| 164 | +# Copyright (C) 2014 Free Software Foundation, Inc. | ||
| 165 | + | ||
| 166 | +# This program is free software; you can redistribute it and/or modify | ||
| 167 | +# it under the terms of the GNU General Public License as published by | ||
| 168 | +# the Free Software Foundation; either version 3, or (at your option) | ||
| 169 | +# any later version. | ||
| 170 | + | ||
| 171 | +# This program is distributed in the hope that it will be useful, | ||
| 172 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 173 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 174 | +# GNU General Public License for more details. | ||
| 175 | + | ||
| 176 | +# You should have received a copy of the GNU General Public License | ||
| 177 | +# along with this program; if not, write to the Free Software | ||
| 178 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
| 179 | +# 02110-1301 USA. | ||
| 180 | + | ||
| 181 | +# Cpio v2.11.90 changed the way symlink name is read from archive. | ||
| 182 | +# References: | ||
| 183 | +# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html | ||
| 184 | + | ||
| 185 | +AT_SETUP([symlink-long]) | ||
| 186 | +AT_KEYWORDS([symlink-long copyout]) | ||
| 187 | + | ||
| 188 | +AT_CHECK([ | ||
| 189 | + | ||
| 190 | +# len(dirname) > READBUFSIZE | ||
| 191 | +dirname= | ||
| 192 | +for i in {1..52}; do | ||
| 193 | + dirname="xxxxxxxxx/$dirname" | ||
| 194 | + mkdir "$dirname" | ||
| 195 | +done | ||
| 196 | +ln -s "$dirname" x || AT_SKIP_TEST | ||
| 197 | + | ||
| 198 | +echo x | cpio -o > ar | ||
| 199 | +list=`cpio -tv < ar | sed 's|.*-> ||'` | ||
| 200 | +test "$list" = "$dirname" && echo success || echo fail | ||
| 201 | +], | ||
| 202 | +[0], | ||
| 203 | +[success | ||
| 204 | +],[2 blocks | ||
| 205 | +2 blocks | ||
| 206 | +]) | ||
| 207 | + | ||
| 208 | +AT_CLEANUP | ||
| 209 | diff -Nurp cpio-2.8.orig/tests/testsuite.at cpio-2.8/tests/testsuite.at | ||
| 210 | --- cpio-2.8.orig/tests/testsuite.at 2006-10-24 18:32:13.000000000 +0800 | ||
| 211 | +++ cpio-2.8/tests/testsuite.at 2014-12-08 11:34:56.515779942 +0800 | ||
| 212 | @@ -31,3 +31,5 @@ m4_include([version.at]) | ||
| 213 | |||
| 214 | m4_include([inout.at]) | ||
| 215 | m4_include([symlink.at]) | ||
| 216 | +m4_include([symlink-bad-length.at]) | ||
| 217 | +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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | # Define AC_USE_SYSTEM_EXTENSIONS only if it was previously undefined. | ||
| 4 | # This is needed to configure correctly with newer versions of autoconf. | ||
| 5 | |||
| 6 | diff -urN cpio-2.8.orig/m4/extensions.m4 cpio-2.8/m4/extensions.m4 | ||
| 7 | --- cpio-2.8.orig/m4/extensions.m4 2006-10-12 04:34:45.000000000 -0700 | ||
| 8 | +++ cpio-2.8/m4/extensions.m4 2010-07-23 14:37:36.000000000 -0700 | ||
| 9 | @@ -1,4 +1,4 @@ | ||
| 10 | -# serial 4 -*- Autoconf -*- | ||
| 11 | +# serial 5 -*- Autoconf -*- | ||
| 12 | # Enable extensions on systems that normally disable them. | ||
| 13 | |||
| 14 | # Copyright (C) 2003, 2006 Free Software Foundation, Inc. | ||
| 15 | @@ -16,6 +16,7 @@ | ||
| 16 | # ------------------------ | ||
| 17 | # Enable extensions on systems that normally disable them, | ||
| 18 | # typically due to standards-conformance issues. | ||
| 19 | +m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [], [ | ||
| 20 | AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 21 | [ | ||
| 22 | AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 23 | @@ -48,7 +49,7 @@ | ||
| 24 | AC_DEFINE([__EXTENSIONS__]) | ||
| 25 | AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 26 | AC_DEFINE([_TANDEM_SOURCE]) | ||
| 27 | -]) | ||
| 28 | +])]) | ||
| 29 | |||
| 30 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 31 | # ------------------------ | ||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | # Avoid multiple stat definitions | ||
| 4 | # Patch taken from cpio mailing list posting 2010-03-19 | ||
| 5 | |||
| 6 | diff -urN cpio-2.11.orig/src/filetypes.h cpio-2.11/src/filetypes.h | ||
| 7 | --- cpio-2.11.orig/src/filetypes.h 2010-02-12 02:19:23.000000000 -0800 | ||
| 8 | +++ cpio-2.11/src/filetypes.h 2010-07-23 13:17:25.000000000 -0700 | ||
| 9 | @@ -82,4 +82,6 @@ | ||
| 10 | #define lstat stat | ||
| 11 | #endif | ||
| 12 | int lstat (); | ||
| 13 | +#ifndef stat | ||
| 14 | int stat (); | ||
| 15 | +#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 @@ | |||
| 1 | require cpio_v2.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b7f772ea3a2489231cb4872656cac34b" | ||
| 5 | |||
| 6 | PR = "r4" | ||
| 7 | |||
| 8 | SRC_URI += " \ | ||
| 9 | file://statdef.patch \ | ||
| 10 | file://m4extensions.patch \ | ||
| 11 | file://avoid_heap_overflow.patch \ | ||
| 12 | file://fix-memory-overrun.patch \ | ||
| 13 | " | ||
| 14 | |||
| 15 | SRC_URI[md5sum] = "0caa356e69e149fb49b76bacc64615a1" | ||
| 16 | SRC_URI[sha256sum] = "1b203248874c3b5a728b351f06513e5282f73e0170b7f207fbf8c39f28f6b4ad" | ||
| 17 | |||
| 18 | # Required to build with gcc 4.3 and later: | ||
| 19 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.ac:90: error: automatic de-ANSI-fication support has been removed | ||
| 8 | | /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... | ||
| 9 | | /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... | ||
| 10 | | configure.ac:90: the top level | ||
| 11 | | autom4te: m4 failed with exit status: 1 | ||
| 12 | |||
| 13 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 14 | 2012/05/04 | ||
| 15 | |||
| 16 | Index: diffutils-2.8.1/m4/prereq.m4 | ||
| 17 | =================================================================== | ||
| 18 | --- diffutils-2.8.1.orig/m4/prereq.m4 | ||
| 19 | +++ diffutils-2.8.1/m4/prereq.m4 | ||
| 20 | @@ -115,7 +115,6 @@ AC_DEFUN([jm_PREREQ_QUOTEARG], | ||
| 21 | AC_HEADER_STDC | ||
| 22 | AC_C_BACKSLASH_A | ||
| 23 | AC_MBSTATE_T | ||
| 24 | - AM_C_PROTOTYPES | ||
| 25 | ]) | ||
| 26 | |||
| 27 | 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 @@ | |||
| 1 | Fixes to allow diffutils to build with gcc v6. | ||
| 2 | |||
| 3 | RP | ||
| 4 | 2016/5/25 | ||
| 5 | |||
| 6 | Index: diffutils-2.8.1/lib/posix/regex.h | ||
| 7 | =================================================================== | ||
| 8 | --- diffutils-2.8.1.orig/lib/posix/regex.h | ||
| 9 | +++ diffutils-2.8.1/lib/posix/regex.h | ||
| 10 | @@ -529,7 +529,9 @@ extern int re_exec _RE_ARGS ((const char | ||
| 11 | /* For now unconditionally define __restrict_arr to expand to nothing. | ||
| 12 | Ideally we would have a test for the compiler which allows defining | ||
| 13 | it to restrict. */ | ||
| 14 | +#ifndef __restrict_arr | ||
| 15 | #define __restrict_arr | ||
| 16 | +#endif | ||
| 17 | |||
| 18 | /* POSIX compatibility. */ | ||
| 19 | extern int regcomp _RE_ARGS ((regex_t *__restrict __preg, | ||
| 20 | Index: diffutils-2.8.1/src/diff.c | ||
| 21 | =================================================================== | ||
| 22 | --- diffutils-2.8.1.orig/src/diff.c | ||
| 23 | +++ diffutils-2.8.1/src/diff.c | ||
| 24 | @@ -71,6 +71,7 @@ static void usage (void); | ||
| 25 | static bool recursive; | ||
| 26 | |||
| 27 | /* In context diffs, show previous lines that match these regexps. */ | ||
| 28 | +struct re_pattern_buffer function_regexp; | ||
| 29 | static struct regexp_list function_regexp_list; | ||
| 30 | |||
| 31 | /* 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 @@ | |||
| 1 | LICENSE = "GPLv2+" | ||
| 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 3 | |||
| 4 | require diffutils.inc | ||
| 5 | |||
| 6 | PR = "r7.0" | ||
| 7 | |||
| 8 | SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \ | ||
| 9 | file://diffutils_fix_for_automake-1.12.patch \ | ||
| 10 | file://fix_gcc6.patch" | ||
| 11 | |||
| 12 | SRC_URI[md5sum] = "71f9c5ae19b60608f6c7f162da86a428" | ||
| 13 | SRC_URI[sha256sum] = "c5001748b069224dd98bf1bb9ee877321c7de8b332c8aad5af3e2a7372d23f5a" | ||
| 14 | |||
| 15 | do_configure_prepend () { | ||
| 16 | chmod u+w ${S}/po/Makefile.in.in | ||
| 17 | } | ||
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 @@ | |||
| 1 | SUMMARY = "Line-oriented text editor" | ||
| 2 | HOMEPAGE = "http://www.gnu.org/software/ed/" | ||
| 3 | SECTION = "base" | ||
| 4 | LICENSE = "GPLv2+" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=6ddd5335ef96fb858a138230af773710 \ | ||
| 6 | file://main.c;beginline=1;endline=17;md5=36d4b85e5ae9028e918d1cc775c2475e" | ||
| 7 | |||
| 8 | PR = "r2" | ||
| 9 | SRC_URI = "${SAVANNAH_GNU_MIRROR}/ed/ed-${PV}.tar.bz2" | ||
| 10 | |||
| 11 | SRC_URI[md5sum] = "4ee21e9dcc9b5b6012c23038734e1632" | ||
| 12 | SRC_URI[sha256sum] = "edef2bbde0fbf0d88232782a0eded323f483a0519d6fde9a3b1809056fd35f3e" | ||
| 13 | |||
| 14 | inherit autotools texinfo | ||
| 15 | |||
| 16 | EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" | ||
| 17 | |||
| 18 | CONFIGUREOPTS_remove = "--disable-dependency-tracking" | ||
| 19 | CONFIGUREOPTS_remove = "--disable-silent-rules" | ||
| 20 | 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 @@ | |||
| 1 | From 33cba24cba7b0973a702e9627bd5b93962948ae4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
| 3 | Date: Tue, 17 Sep 2013 16:11:16 +0800 | ||
| 4 | Subject: [PATCH] findutils: fix doc build error | ||
| 5 | |||
| 6 | Upstream-Status: Backport | ||
| 7 | |||
| 8 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 9 | --- | ||
| 10 | doc/find.texi | 6 +++--- | ||
| 11 | 1 files changed, 3 insertions(+), 3 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/doc/find.texi b/doc/find.texi | ||
| 14 | index 5b5f0cf..b3d9c6b 100644 | ||
| 15 | --- a/doc/find.texi | ||
| 16 | +++ b/doc/find.texi | ||
| 17 | @@ -63,7 +63,7 @@ translation approved by the Foundation. | ||
| 18 | |||
| 19 | @page | ||
| 20 | @vskip 0pt plus 1filll | ||
| 21 | -@insertcopying{} | ||
| 22 | +@insertcopying | ||
| 23 | @end titlepage | ||
| 24 | |||
| 25 | @contents | ||
| 26 | @@ -1466,6 +1466,7 @@ no output is ever sent to it. | ||
| 27 | * Escapes:: | ||
| 28 | * Format Directives:: | ||
| 29 | * Time Formats:: | ||
| 30 | +* Formatting Flags:: | ||
| 31 | @end menu | ||
| 32 | |||
| 33 | @node Escapes | ||
| 34 | @@ -1534,7 +1535,6 @@ from the novel you are reading. | ||
| 35 | * Size Directives:: | ||
| 36 | * Location Directives:: | ||
| 37 | * Time Directives:: | ||
| 38 | -* Formatting Flags:: | ||
| 39 | @end menu | ||
| 40 | |||
| 41 | @node Name Directives | ||
| 42 | @@ -1780,7 +1780,7 @@ setting the TZ environment variable). This is a GNU extension. | ||
| 43 | @end table | ||
| 44 | |||
| 45 | @node Formatting Flags | ||
| 46 | -@subsubsection Formatting Flags | ||
| 47 | +@subsection Formatting Flags | ||
| 48 | |||
| 49 | The @samp{%m} and @samp{%d} directives support the @samp{#}, @samp{0} | ||
| 50 | and @samp{+} flags, but the other directives do not, even if they | ||
| 51 | -- | ||
| 52 | 1.7.4.1 | ||
| 53 | |||
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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.in:75: error: automatic de-ANSI-fication support has been removed | ||
| 8 | |||
| 9 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 10 | 2012/05/04 | ||
| 11 | |||
| 12 | Index: findutils-4.2.31/configure.in | ||
| 13 | =================================================================== | ||
| 14 | --- findutils-4.2.31.orig/configure.in | ||
| 15 | +++ findutils-4.2.31/configure.in | ||
| 16 | @@ -72,7 +72,6 @@ dnl gl_EARLY calls AC_GNU_SOURCE anyway. | ||
| 17 | |||
| 18 | |||
| 19 | AC_ISC_POSIX | ||
| 20 | -AM_C_PROTOTYPES | ||
| 21 | |||
| 22 | AC_PROG_INSTALL | ||
| 23 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [legacy version] | ||
| 2 | |||
| 3 | the old AC_USE_SYSTEM_EXTENSIONS won't work with AC_GNU_SOURCE | ||
| 4 | |||
| 5 | against 4.2.31 | ||
| 6 | 07/08/2010 - qhe | ||
| 7 | |||
| 8 | diff --git a/gnulib/m4/extensions.m4 b/gnulib/m4/extensions.m4 | ||
| 9 | index 143a9e5..0f27ceb 100644 | ||
| 10 | --- a/gnulib/m4/extensions.m4 | ||
| 11 | +++ b/gnulib/m4/extensions.m4 | ||
| 12 | @@ -12,44 +12,6 @@ | ||
| 13 | # enough in this area it's likely we'll need to redefine | ||
| 14 | # AC_USE_SYSTEM_EXTENSIONS for quite some time. | ||
| 15 | |||
| 16 | -# AC_USE_SYSTEM_EXTENSIONS | ||
| 17 | -# ------------------------ | ||
| 18 | -# Enable extensions on systems that normally disable them, | ||
| 19 | -# typically due to standards-conformance issues. | ||
| 20 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 21 | -[ | ||
| 22 | - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 23 | - AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 24 | - | ||
| 25 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 26 | - AC_REQUIRE([AC_AIX]) | ||
| 27 | - AC_REQUIRE([AC_MINIX]) | ||
| 28 | - | ||
| 29 | - AH_VERBATIM([__EXTENSIONS__], | ||
| 30 | -[/* Enable extensions on Solaris. */ | ||
| 31 | -#ifndef __EXTENSIONS__ | ||
| 32 | -# undef __EXTENSIONS__ | ||
| 33 | -#endif | ||
| 34 | -#ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 35 | -# undef _POSIX_PTHREAD_SEMANTICS | ||
| 36 | -#endif | ||
| 37 | -#ifndef _TANDEM_SOURCE | ||
| 38 | -# undef _TANDEM_SOURCE | ||
| 39 | -#endif]) | ||
| 40 | - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 41 | - [ac_cv_safe_to_define___extensions__], | ||
| 42 | - [AC_COMPILE_IFELSE( | ||
| 43 | - [AC_LANG_PROGRAM([ | ||
| 44 | -# define __EXTENSIONS__ 1 | ||
| 45 | - AC_INCLUDES_DEFAULT])], | ||
| 46 | - [ac_cv_safe_to_define___extensions__=yes], | ||
| 47 | - [ac_cv_safe_to_define___extensions__=no])]) | ||
| 48 | - test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 49 | - AC_DEFINE([__EXTENSIONS__]) | ||
| 50 | - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 51 | - AC_DEFINE([_TANDEM_SOURCE]) | ||
| 52 | -]) | ||
| 53 | - | ||
| 54 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 55 | # ------------------------ | ||
| 56 | # 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 @@ | |||
| 1 | LICENSE = "GPLv2+" | ||
| 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
| 3 | PR = "r4" | ||
| 4 | |||
| 5 | require findutils.inc | ||
| 6 | |||
| 7 | SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ | ||
| 8 | file://gnulib-extension.patch \ | ||
| 9 | file://findutils_fix_for_automake-1.12.patch \ | ||
| 10 | file://findutils-fix-doc-build-error.patch \ | ||
| 11 | " | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "a0e31a0f18a49709bf5a449867c8049a" | ||
| 14 | 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 @@ | |||
| 1 | From 53496e2e306b16ac59801553f775bcca164e6a39 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> | ||
| 3 | Date: Wed, 14 Sep 2016 16:20:37 +0100 | ||
| 4 | Subject: [PATCH] fix gcc >= 4 compilation | ||
| 5 | |||
| 6 | | ../gawk-3.1.5/hard-locale.h: In function 'hard_locale': | ||
| 7 | | ../gawk-3.1.5/hard-locale.h:43:20: error: invalid storage class for function 'xmalloc' | ||
| 8 | | static ptr_t xmalloc PARAMS ((size_t n)); | ||
| 9 | | ^~~~~~~ | ||
| 10 | |||
| 11 | | ../gawk-3.1.5/hard-locale.h:45:22: warning: implicit declaration of function 'xmalloc' [-Wimplicit-function-declaration] | ||
| 12 | | char *locale = xmalloc (strlen (p) + 1); | ||
| 13 | | ^~~~~~~ | ||
| 14 | | ../gawk-3.1.5/hard-locale.h:45:22: warning: initialization makes pointer from integer without a cast [-Wint-conversion] | ||
| 15 | | ../gawk-3.1.5/dfa.c: At top level: | ||
| 16 | | ../gawk-3.1.5/dfa.c:125:14: error: conflicting types for 'xmalloc' | ||
| 17 | | static ptr_t xmalloc PARAMS ((size_t n)); | ||
| 18 | | ^~~~~~~ | ||
| 19 | | In file included from ../gawk-3.1.5/dfa.c:112:0: | ||
| 20 | | ../gawk-3.1.5/hard-locale.h:45:22: note: previous implicit declaration of 'xmalloc' was here | ||
| 21 | | char *locale = xmalloc (strlen (p) + 1); | ||
| 22 | | ^~~~~~~ | ||
| 23 | |||
| 24 | Upstream-Status: Inappropriate [required for gawk 3.1.5 (GPLv2) recipe only] | ||
| 25 | |||
| 26 | Signed-off-by: André Draszik <git@andred.net> | ||
| 27 | --- | ||
| 28 | dfa.c | 2 +- | ||
| 29 | hard-locale.h | 2 -- | ||
| 30 | 2 files changed, 1 insertion(+), 3 deletions(-) | ||
| 31 | |||
| 32 | diff --git a/dfa.c b/dfa.c | ||
| 33 | index 71e3736..97f6045 100644 | ||
| 34 | --- a/dfa.c | ||
| 35 | +++ b/dfa.c | ||
| 36 | @@ -109,6 +109,7 @@ extern void free(); | ||
| 37 | |||
| 38 | #include "regex.h" | ||
| 39 | #include "dfa.h" | ||
| 40 | +static ptr_t xmalloc PARAMS ((size_t n)); | ||
| 41 | #include "hard-locale.h" | ||
| 42 | |||
| 43 | /* HPUX, define those as macros in sys/param.h */ | ||
| 44 | @@ -122,7 +123,6 @@ extern void free(); | ||
| 45 | static void dfamust PARAMS ((struct dfa *dfa)); | ||
| 46 | |||
| 47 | static ptr_t xcalloc PARAMS ((size_t n, size_t s)); | ||
| 48 | -static ptr_t xmalloc PARAMS ((size_t n)); | ||
| 49 | static ptr_t xrealloc PARAMS ((ptr_t p, size_t n)); | ||
| 50 | #ifdef DEBUG | ||
| 51 | static void prtok PARAMS ((token t)); | ||
| 52 | diff --git a/hard-locale.h b/hard-locale.h | ||
| 53 | index 0f4986b..9ee57e0 100644 | ||
| 54 | --- a/hard-locale.h | ||
| 55 | +++ b/hard-locale.h | ||
| 56 | @@ -40,8 +40,6 @@ hard_locale (int category) | ||
| 57 | if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0) | ||
| 58 | hard = 0; | ||
| 59 | # else | ||
| 60 | - static ptr_t xmalloc PARAMS ((size_t n)); | ||
| 61 | - | ||
| 62 | char *locale = xmalloc (strlen (p) + 1); | ||
| 63 | strcpy (locale, p); | ||
| 64 | |||
| 65 | -- | ||
| 66 | 2.9.3 | ||
| 67 | |||
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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.ac:127: error: automatic de-ANSI-fication support has been removed | ||
| 8 | | /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... | ||
| 9 | | configure.ac:127: the top level | ||
| 10 | | autom4te: m4 failed with exit status: 1 | ||
| 11 | ... | ||
| 12 | | Makefile.am:27: error: automatic de-ANSI-fication support has been removed | ||
| 13 | |||
| 14 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 15 | 2012/05/04 | ||
| 16 | |||
| 17 | Index: gawk-3.1.5/configure.ac | ||
| 18 | =================================================================== | ||
| 19 | --- gawk-3.1.5.orig/configure.ac | ||
| 20 | +++ gawk-3.1.5/configure.ac | ||
| 21 | @@ -124,7 +124,6 @@ fi | ||
| 22 | |||
| 23 | dnl check for C compiler for automake | ||
| 24 | AM_PROG_CC_STDC | ||
| 25 | -AM_C_PROTOTYPES | ||
| 26 | |||
| 27 | dnl Cygwin doesn't like to get libs with full paths | ||
| 28 | dnl since that overrides linking against DLLs. | ||
| 29 | Index: gawk-3.1.5/Makefile.am | ||
| 30 | =================================================================== | ||
| 31 | --- gawk-3.1.5.orig/Makefile.am | ||
| 32 | +++ gawk-3.1.5/Makefile.am | ||
| 33 | @@ -24,7 +24,7 @@ | ||
| 34 | ## process this file with automake to produce Makefile.in | ||
| 35 | |||
| 36 | # Automatic de-ANSI-fication if needed, make .bz2 files also. | ||
| 37 | -AUTOMAKE_OPTIONS = ansi2knr dist-bzip2 | ||
| 38 | +AUTOMAKE_OPTIONS = dist-bzip2 | ||
| 39 | |||
| 40 | # This undocumented variable insures that aclocal runs | ||
| 41 | # 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 @@ | |||
| 1 | SUMMARY = "GNU awk text processing utility" | ||
| 2 | DESCRIPTION = "The GNU version of awk, a text processing utility. \ | ||
| 3 | Awk interprets a special-purpose programming language to do \ | ||
| 4 | quick and easy text pattern matching and reformatting jobs." | ||
| 5 | HOMEPAGE = "www.gnu.org/software/gawk" | ||
| 6 | BUGTRACKER = "bug-gawk@gnu.org" | ||
| 7 | SECTION = "console/utils" | ||
| 8 | |||
| 9 | # gawk <= 3.1.5: GPLv2 | ||
| 10 | # gawk >= 3.1.6: GPLv3 | ||
| 11 | LICENSE = "GPLv2" | ||
| 12 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
| 13 | |||
| 14 | RDEPENDS_gawk += "gawk-common" | ||
| 15 | RDEPENDS_pgawk += "gawk-common" | ||
| 16 | PR = "r2" | ||
| 17 | |||
| 18 | SRC_URI = "\ | ||
| 19 | ${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ | ||
| 20 | file://gawk-3.1.5_fix_for_automake-1.12.patch \ | ||
| 21 | file://0001-gawk-fix-non-glibc-gcc-4-compilation.patch \ | ||
| 22 | " | ||
| 23 | |||
| 24 | SRC_URI[md5sum] = "4760325489479cac17fe0114b8f62f30" | ||
| 25 | SRC_URI[sha256sum] = "463dcb9d0ca398b1d4f5a332f6cd9cec56441265fca616f2ea1b44d459e9f0f8" | ||
| 26 | |||
| 27 | inherit autotools gettext texinfo update-alternatives | ||
| 28 | |||
| 29 | PACKAGES += "gawk-common pgawk" | ||
| 30 | |||
| 31 | FILES_${PN} = "${bindir}/gawk* ${bindir}/igawk" | ||
| 32 | FILES_gawk-common += "${datadir}/awk/* ${libexecdir}/awk/*" | ||
| 33 | FILES_pgawk = "${bindir}/pgawk*" | ||
| 34 | |||
| 35 | ALTERNATIVE_${PN} = "awk" | ||
| 36 | ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" | ||
| 37 | ALTERNATIVE_PRIORITY = "100" | ||
| 38 | |||
| 39 | CFLAGS += "-D PROTOTYPES" | ||
| 40 | |||
| 41 | do_install_append() { | ||
| 42 | # remove the link since we don't package it | ||
| 43 | rm ${D}${bindir}/awk | ||
| 44 | } | ||
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 @@ | |||
| 1 | require gperf.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=a5f84abb0070adf8a0925d7d534b6e0a \ | ||
| 5 | file://src/main.cc;beginline=8;endline=19;md5=72a3034a19e72f08ee48ef8244a121fd" | ||
| 6 | |||
| 7 | PR = "r1" | ||
| 8 | |||
| 9 | SRC_URI[md5sum] = "cc20e58975a38075440423c8fb85fd00" | ||
| 10 | 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 @@ | |||
| 1 | # Makefile variables for PO directory in any package using GNU gettext. | ||
| 2 | |||
| 3 | # Usually the message domain is the same as the package name. | ||
| 4 | DOMAIN = $(PACKAGE) | ||
| 5 | |||
| 6 | # These two variables depend on the location of this directory. | ||
| 7 | subdir = po | ||
| 8 | top_builddir = .. | ||
| 9 | |||
| 10 | # These options get passed to xgettext. | ||
| 11 | XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ | ||
| 12 | |||
| 13 | # This is the copyright holder that gets inserted into the header of the | ||
| 14 | # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding | ||
| 15 | # package. (Note that the msgstr strings, extracted from the package's | ||
| 16 | # sources, belong to the copyright holder of the package.) Translators are | ||
| 17 | # expected to transfer the copyright for their translations to this person | ||
| 18 | # or entity, or to disclaim their copyright. The empty string stands for | ||
| 19 | # the public domain; in this case the translators are expected to disclaim | ||
| 20 | # their copyright. | ||
| 21 | COPYRIGHT_HOLDER = Free Software Foundation, Inc. | ||
| 22 | |||
| 23 | # This is the list of locale categories, beyond LC_MESSAGES, for which the | ||
| 24 | # message catalogs shall be used. It is usually empty. | ||
| 25 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [Poky Specific this is gplv2 version] | ||
| 2 | |||
| 3 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 4 | |||
| 5 | Index: grep-2.5.1a/doc/grep.texi | ||
| 6 | =================================================================== | ||
| 7 | --- grep-2.5.1a.orig/doc/grep.texi | ||
| 8 | +++ grep-2.5.1a/doc/grep.texi | ||
| 9 | @@ -288,7 +288,7 @@ This version number should be included i | ||
| 10 | Print a usage message briefly summarizing these command-line options | ||
| 11 | and the bug-reporting address, then exit. | ||
| 12 | |||
| 13 | -@itemx --binary-files=@var{type} | ||
| 14 | +@item --binary-files=@var{type} | ||
| 15 | @opindex --binary-files | ||
| 16 | @cindex binary files | ||
| 17 | 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 @@ | |||
| 1 | Always use locale.h as HAVE_LOCALE_H is no longer handled by ./configure | ||
| 2 | Upstream-Status: Inappropriate [ old version that will not be maintained ] | ||
| 3 | Signed-off-by: Alex DAMIAN <alexandru.damian@intel.com> | ||
| 4 | |||
| 5 | diff --recursive --unified grep-2.5.1a-orig/lib/hard-locale.c grep-2.5.1a/lib/hard-locale.c | ||
| 6 | --- grep-2.5.1a-orig/lib/hard-locale.c 2001-03-04 07:33:12.000000000 +0200 | ||
| 7 | +++ grep-2.5.1a/lib/hard-locale.c 2013-03-11 17:05:52.086444891 +0200 | ||
| 8 | @@ -38,9 +38,7 @@ | ||
| 9 | # endif | ||
| 10 | #endif | ||
| 11 | |||
| 12 | -#if HAVE_LOCALE_H | ||
| 13 | # include <locale.h> | ||
| 14 | -#endif | ||
| 15 | |||
| 16 | #if HAVE_STRING_H | ||
| 17 | # 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 @@ | |||
| 1 | Enable operation with later versions of gettext. | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate | ||
| 4 | RP 2012/10/19 | ||
| 5 | |||
| 6 | Index: grep-2.5.1a/configure.in | ||
| 7 | =================================================================== | ||
| 8 | --- grep-2.5.1a.orig/configure.in 2012-10-19 12:57:51.646970204 +0000 | ||
| 9 | +++ grep-2.5.1a/configure.in 2012-10-19 12:59:49.946968803 +0000 | ||
| 10 | @@ -140,4 +140,4 @@ | ||
| 11 | AC_CHECK_LIB(pcre, pcre_exec) | ||
| 12 | fi | ||
| 13 | |||
| 14 | -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]) | ||
| 15 | +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 @@ | |||
| 1 | The patch to fix CVE-2012-5667 | ||
| 2 | Reference: https://bugzilla.redhat.com/attachment.cgi?id=686605&action=diff | ||
| 3 | |||
| 4 | Multiple integer overflows in GNU Grep before 2.11 might allow | ||
| 5 | context-dependent attackers to execute arbitrary code via vectors | ||
| 6 | involving a long input line that triggers a heap-based buffer overflow. | ||
| 7 | |||
| 8 | http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667 | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [other] | ||
| 11 | This version of GNU Grep has been abandoned upstream and they are no longer | ||
| 12 | accepting patches. This is not a backport. | ||
| 13 | CVE: CVE-2012-5667 | ||
| 14 | |||
| 15 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
| 16 | --- | ||
| 17 | grep.c | 7 +++---- | ||
| 18 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
| 19 | |||
| 20 | --- a/src/grep.c 2013-05-15 13:39:33.359191769 +0800 | ||
| 21 | +++ a/src/grep.c 2013-05-15 13:50:22.609191882 +0800 | ||
| 22 | @@ -306,6 +306,11 @@ fillbuf (size_t save, struct stats const | ||
| 23 | int cc = 1; | ||
| 24 | char *readbuf; | ||
| 25 | size_t readsize; | ||
| 26 | + const size_t max_save = INT_MAX / 2; | ||
| 27 | + | ||
| 28 | + /* Limit the amount of saved data to INT_MAX to fix CVE-2012-5667 */ | ||
| 29 | + if (save > max_save) | ||
| 30 | + error (2, 0, _("line too long")); | ||
| 31 | |||
| 32 | /* Offset from start of buffer to start of old stuff | ||
| 33 | 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 @@ | |||
| 1 | From c884dd12ec062569335702848fc5f29f436c28fa Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Mon, 25 May 2015 10:15:57 +0900 | ||
| 4 | Subject: [PATCH] grep egrep fgrep: Fix LSB NG cases. | ||
| 5 | |||
| 6 | The LSB core test requires grep egrep and fgrep can | ||
| 7 | perform pattern matching in searches without regard | ||
| 8 | to case if -i option is specified. | ||
| 9 | |||
| 10 | Upstream-Status: backport. | ||
| 11 | |||
| 12 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 13 | --- | ||
| 14 | lib/posix/regex.h | 4 + | ||
| 15 | src/dfa.c | 22 +- | ||
| 16 | src/grep.c | 96 ++++--- | ||
| 17 | src/search.c | 833 +++++++++++++++++++++++++++++++++++++++++++++--------- | ||
| 18 | 4 files changed, 768 insertions(+), 187 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/lib/posix/regex.h b/lib/posix/regex.h | ||
| 21 | index 63c2fef..7bb2b0e 100644 | ||
| 22 | --- a/lib/posix/regex.h | ||
| 23 | +++ b/lib/posix/regex.h | ||
| 24 | @@ -109,6 +109,10 @@ typedef unsigned long int reg_syntax_t; | ||
| 25 | If not set, \{, \}, {, and } are literals. */ | ||
| 26 | #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) | ||
| 27 | |||
| 28 | +/* If this bit is set, then ignore case when matching. | ||
| 29 | + If not set, then case is significant. */ | ||
| 30 | +#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) | ||
| 31 | + | ||
| 32 | /* If this bit is set, +, ? and | aren't recognized as operators. | ||
| 33 | If not set, they are. */ | ||
| 34 | #define RE_LIMITED_OPS (RE_INTERVALS << 1) | ||
| 35 | diff --git a/src/dfa.c b/src/dfa.c | ||
| 36 | index 590bfa7..27c876a 100644 | ||
| 37 | --- a/src/dfa.c | ||
| 38 | +++ b/src/dfa.c | ||
| 39 | @@ -414,7 +414,7 @@ update_mb_len_index (unsigned char const *p, int len) | ||
| 40 | |||
| 41 | /* This function fetch a wide character, and update cur_mb_len, | ||
| 42 | used only if the current locale is a multibyte environment. */ | ||
| 43 | -static wchar_t | ||
| 44 | +static wint_t | ||
| 45 | fetch_wc (char const *eoferr) | ||
| 46 | { | ||
| 47 | wchar_t wc; | ||
| 48 | @@ -423,7 +423,7 @@ fetch_wc (char const *eoferr) | ||
| 49 | if (eoferr != 0) | ||
| 50 | dfaerror (eoferr); | ||
| 51 | else | ||
| 52 | - return -1; | ||
| 53 | + return WEOF; | ||
| 54 | } | ||
| 55 | |||
| 56 | cur_mb_len = mbrtowc(&wc, lexptr, lexleft, &mbs); | ||
| 57 | @@ -459,7 +459,7 @@ fetch_wc (char const *eoferr) | ||
| 58 | static void | ||
| 59 | parse_bracket_exp_mb () | ||
| 60 | { | ||
| 61 | - wchar_t wc, wc1, wc2; | ||
| 62 | + wint_t wc, wc1, wc2; | ||
| 63 | |||
| 64 | /* Work area to build a mb_char_classes. */ | ||
| 65 | struct mb_char_classes *work_mbc; | ||
| 66 | @@ -496,7 +496,7 @@ parse_bracket_exp_mb () | ||
| 67 | work_mbc->invert = 0; | ||
| 68 | do | ||
| 69 | { | ||
| 70 | - wc1 = -1; /* mark wc1 is not initialized". */ | ||
| 71 | + wc1 = WEOF; /* mark wc1 is not initialized". */ | ||
| 72 | |||
| 73 | /* Note that if we're looking at some other [:...:] construct, | ||
| 74 | we just treat it as a bunch of ordinary characters. We can do | ||
| 75 | @@ -586,7 +586,7 @@ parse_bracket_exp_mb () | ||
| 76 | work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem; | ||
| 77 | } | ||
| 78 | } | ||
| 79 | - wc = -1; | ||
| 80 | + wc1 = wc = WEOF; | ||
| 81 | } | ||
| 82 | else | ||
| 83 | /* We treat '[' as a normal character here. */ | ||
| 84 | @@ -600,7 +600,7 @@ parse_bracket_exp_mb () | ||
| 85 | wc = fetch_wc(("Unbalanced [")); | ||
| 86 | } | ||
| 87 | |||
| 88 | - if (wc1 == -1) | ||
| 89 | + if (wc1 == WEOF) | ||
| 90 | wc1 = fetch_wc(_("Unbalanced [")); | ||
| 91 | |||
| 92 | if (wc1 == L'-') | ||
| 93 | @@ -630,17 +630,17 @@ parse_bracket_exp_mb () | ||
| 94 | } | ||
| 95 | REALLOC_IF_NECESSARY(work_mbc->range_sts, wchar_t, | ||
| 96 | range_sts_al, work_mbc->nranges + 1); | ||
| 97 | - work_mbc->range_sts[work_mbc->nranges] = wc; | ||
| 98 | + work_mbc->range_sts[work_mbc->nranges] = (wchar_t)wc; | ||
| 99 | REALLOC_IF_NECESSARY(work_mbc->range_ends, wchar_t, | ||
| 100 | range_ends_al, work_mbc->nranges + 1); | ||
| 101 | - work_mbc->range_ends[work_mbc->nranges++] = wc2; | ||
| 102 | + work_mbc->range_ends[work_mbc->nranges++] = (wchar_t)wc2; | ||
| 103 | } | ||
| 104 | - else if (wc != -1) | ||
| 105 | + else if (wc != WEOF) | ||
| 106 | /* build normal characters. */ | ||
| 107 | { | ||
| 108 | REALLOC_IF_NECESSARY(work_mbc->chars, wchar_t, chars_al, | ||
| 109 | work_mbc->nchars + 1); | ||
| 110 | - work_mbc->chars[work_mbc->nchars++] = wc; | ||
| 111 | + work_mbc->chars[work_mbc->nchars++] = (wchar_t)wc; | ||
| 112 | } | ||
| 113 | } | ||
| 114 | while ((wc = wc1) != L']'); | ||
| 115 | @@ -2552,6 +2552,8 @@ match_mb_charset (struct dfa *d, int s, position pos, int index) | ||
| 116 | } | ||
| 117 | |||
| 118 | /* match with a character? */ | ||
| 119 | + if (case_fold) | ||
| 120 | + wc = towlower (wc); | ||
| 121 | for (i = 0; i<work_mbc->nchars; i++) | ||
| 122 | { | ||
| 123 | if (wc == work_mbc->chars[i]) | ||
| 124 | diff --git a/src/grep.c b/src/grep.c | ||
| 125 | index 2fb2fac..3fd4b47 100644 | ||
| 126 | --- a/src/grep.c | ||
| 127 | +++ b/src/grep.c | ||
| 128 | @@ -30,6 +30,12 @@ | ||
| 129 | # include <sys/time.h> | ||
| 130 | # include <sys/resource.h> | ||
| 131 | #endif | ||
| 132 | +#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_MBRTOWC | ||
| 133 | +/* We can handle multibyte string. */ | ||
| 134 | +# define MBS_SUPPORT | ||
| 135 | +# include <wchar.h> | ||
| 136 | +# include <wctype.h> | ||
| 137 | +#endif | ||
| 138 | #include <stdio.h> | ||
| 139 | #include "system.h" | ||
| 140 | #include "getopt.h" | ||
| 141 | @@ -255,19 +261,6 @@ reset (int fd, char const *file, struct stats *stats) | ||
| 142 | bufbeg[-1] = eolbyte; | ||
| 143 | bufdesc = fd; | ||
| 144 | |||
| 145 | - if (fstat (fd, &stats->stat) != 0) | ||
| 146 | - { | ||
| 147 | - error (0, errno, "fstat"); | ||
| 148 | - return 0; | ||
| 149 | - } | ||
| 150 | - if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) | ||
| 151 | - return 0; | ||
| 152 | -#ifndef DJGPP | ||
| 153 | - if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode))) | ||
| 154 | -#else | ||
| 155 | - if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) | ||
| 156 | -#endif | ||
| 157 | - return 0; | ||
| 158 | if (S_ISREG (stats->stat.st_mode)) | ||
| 159 | { | ||
| 160 | if (file) | ||
| 161 | @@ -558,33 +551,6 @@ prline (char const *beg, char const *lim, int sep) | ||
| 162 | { | ||
| 163 | size_t match_size; | ||
| 164 | size_t match_offset; | ||
| 165 | - if(match_icase) | ||
| 166 | - { | ||
| 167 | - /* Yuck, this is tricky */ | ||
| 168 | - char *buf = (char*) xmalloc (lim - beg); | ||
| 169 | - char *ibeg = buf; | ||
| 170 | - char *ilim = ibeg + (lim - beg); | ||
| 171 | - int i; | ||
| 172 | - for (i = 0; i < lim - beg; i++) | ||
| 173 | - ibeg[i] = tolower (beg[i]); | ||
| 174 | - while ((match_offset = (*execute) (ibeg, ilim-ibeg, &match_size, 1)) | ||
| 175 | - != (size_t) -1) | ||
| 176 | - { | ||
| 177 | - char const *b = beg + match_offset; | ||
| 178 | - if (b == lim) | ||
| 179 | - break; | ||
| 180 | - fwrite (beg, sizeof (char), match_offset, stdout); | ||
| 181 | - printf ("\33[%sm", grep_color); | ||
| 182 | - fwrite (b, sizeof (char), match_size, stdout); | ||
| 183 | - fputs ("\33[00m", stdout); | ||
| 184 | - beg = b + match_size; | ||
| 185 | - ibeg = ibeg + match_offset + match_size; | ||
| 186 | - } | ||
| 187 | - fwrite (beg, 1, lim - beg, stdout); | ||
| 188 | - free (buf); | ||
| 189 | - lastout = lim; | ||
| 190 | - return; | ||
| 191 | - } | ||
| 192 | while (lim-beg && (match_offset = (*execute) (beg, lim - beg, &match_size, 1)) | ||
| 193 | != (size_t) -1) | ||
| 194 | { | ||
| 195 | @@ -601,6 +567,7 @@ prline (char const *beg, char const *lim, int sep) | ||
| 196 | fputs ("\33[00m", stdout); | ||
| 197 | beg = b + match_size; | ||
| 198 | } | ||
| 199 | + fputs ("\33[K", stdout); | ||
| 200 | } | ||
| 201 | fwrite (beg, 1, lim - beg, stdout); | ||
| 202 | if (ferror (stdout)) | ||
| 203 | @@ -623,7 +590,7 @@ prpending (char const *lim) | ||
| 204 | size_t match_size; | ||
| 205 | --pending; | ||
| 206 | if (outleft | ||
| 207 | - || (((*execute) (lastout, nl - lastout, &match_size, 0) == (size_t) -1) | ||
| 208 | + || (((*execute) (lastout, nl + 1 - lastout, &match_size, 0) == (size_t) -1) | ||
| 209 | == !out_invert)) | ||
| 210 | prline (lastout, nl + 1, '-'); | ||
| 211 | else | ||
| 212 | @@ -895,6 +862,19 @@ grepfile (char const *file, struct stats *stats) | ||
| 213 | } | ||
| 214 | else | ||
| 215 | { | ||
| 216 | + if (stat (file, &stats->stat) != 0) | ||
| 217 | + { | ||
| 218 | + suppressible_error (file, errno); | ||
| 219 | + return 1; | ||
| 220 | + } | ||
| 221 | + if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) | ||
| 222 | + return 1; | ||
| 223 | +#ifndef DJGPP | ||
| 224 | + 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))) | ||
| 225 | +#else | ||
| 226 | + if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) | ||
| 227 | +#endif | ||
| 228 | + return 1; | ||
| 229 | while ((desc = open (file, O_RDONLY)) < 0 && errno == EINTR) | ||
| 230 | continue; | ||
| 231 | |||
| 232 | @@ -1681,9 +1661,6 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")) | ||
| 233 | out_invert ^= 1; | ||
| 234 | match_lines = match_words = 0; | ||
| 235 | } | ||
| 236 | - else | ||
| 237 | - /* Strip trailing newline. */ | ||
| 238 | - --keycc; | ||
| 239 | } | ||
| 240 | else | ||
| 241 | if (optind < argc) | ||
| 242 | @@ -1697,6 +1674,37 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")) | ||
| 243 | if (!install_matcher (matcher) && !install_matcher ("default")) | ||
| 244 | abort (); | ||
| 245 | |||
| 246 | +#ifdef MBS_SUPPORT | ||
| 247 | + if (MB_CUR_MAX != 1 && match_icase) | ||
| 248 | + { | ||
| 249 | + wchar_t wc; | ||
| 250 | + mbstate_t cur_state, prev_state; | ||
| 251 | + int i, len = strlen(keys); | ||
| 252 | + | ||
| 253 | + memset(&cur_state, 0, sizeof(mbstate_t)); | ||
| 254 | + for (i = 0; i <= len ;) | ||
| 255 | + { | ||
| 256 | + size_t mbclen; | ||
| 257 | + mbclen = mbrtowc(&wc, keys + i, len - i, &cur_state); | ||
| 258 | + if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) | ||
| 259 | + { | ||
| 260 | + /* An invalid sequence, or a truncated multibyte character. | ||
| 261 | + We treat it as a singlebyte character. */ | ||
| 262 | + mbclen = 1; | ||
| 263 | + } | ||
| 264 | + else | ||
| 265 | + { | ||
| 266 | + if (iswupper((wint_t)wc)) | ||
| 267 | + { | ||
| 268 | + wc = towlower((wint_t)wc); | ||
| 269 | + wcrtomb(keys + i, wc, &cur_state); | ||
| 270 | + } | ||
| 271 | + } | ||
| 272 | + i += mbclen; | ||
| 273 | + } | ||
| 274 | + } | ||
| 275 | +#endif /* MBS_SUPPORT */ | ||
| 276 | + | ||
| 277 | (*compile)(keys, keycc); | ||
| 278 | |||
| 279 | if ((argc - optind > 1 && !no_filenames) || with_filenames) | ||
| 280 | diff --git a/src/search.c b/src/search.c | ||
| 281 | index 7bd233f..3c6a485 100644 | ||
| 282 | --- a/src/search.c | ||
| 283 | +++ b/src/search.c | ||
| 284 | @@ -18,9 +18,13 @@ | ||
| 285 | |||
| 286 | /* Written August 1992 by Mike Haertel. */ | ||
| 287 | |||
| 288 | +#ifndef _GNU_SOURCE | ||
| 289 | +# define _GNU_SOURCE 1 | ||
| 290 | +#endif | ||
| 291 | #ifdef HAVE_CONFIG_H | ||
| 292 | # include <config.h> | ||
| 293 | #endif | ||
| 294 | +#include <assert.h> | ||
| 295 | #include <sys/types.h> | ||
| 296 | #if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_MBRTOWC | ||
| 297 | /* We can handle multibyte string. */ | ||
| 298 | @@ -31,7 +35,7 @@ | ||
| 299 | |||
| 300 | #include "system.h" | ||
| 301 | #include "grep.h" | ||
| 302 | -#include "regex.h" | ||
| 303 | +#include <regex.h> | ||
| 304 | #include "dfa.h" | ||
| 305 | #include "kwset.h" | ||
| 306 | #include "error.h" | ||
| 307 | @@ -39,6 +43,9 @@ | ||
| 308 | #ifdef HAVE_LIBPCRE | ||
| 309 | # include <pcre.h> | ||
| 310 | #endif | ||
| 311 | +#ifdef HAVE_LANGINFO_CODESET | ||
| 312 | +# include <langinfo.h> | ||
| 313 | +#endif | ||
| 314 | |||
| 315 | #define NCHAR (UCHAR_MAX + 1) | ||
| 316 | |||
| 317 | @@ -70,9 +77,10 @@ static kwset_t kwset; | ||
| 318 | call the regexp matcher at all. */ | ||
| 319 | static int kwset_exact_matches; | ||
| 320 | |||
| 321 | -#if defined(MBS_SUPPORT) | ||
| 322 | -static char* check_multibyte_string PARAMS ((char const *buf, size_t size)); | ||
| 323 | -#endif | ||
| 324 | +/* UTF-8 encoding allows some optimizations that we can't otherwise | ||
| 325 | + assume in a multibyte encoding. */ | ||
| 326 | +static int using_utf8; | ||
| 327 | + | ||
| 328 | static void kwsinit PARAMS ((void)); | ||
| 329 | static void kwsmusts PARAMS ((void)); | ||
| 330 | static void Gcompile PARAMS ((char const *, size_t)); | ||
| 331 | @@ -84,6 +92,15 @@ static void Pcompile PARAMS ((char const *, size_t )); | ||
| 332 | static size_t Pexecute PARAMS ((char const *, size_t, size_t *, int)); | ||
| 333 | |||
| 334 | void | ||
| 335 | +check_utf8 (void) | ||
| 336 | +{ | ||
| 337 | +#ifdef HAVE_LANGINFO_CODESET | ||
| 338 | + if (strcmp (nl_langinfo (CODESET), "UTF-8") == 0) | ||
| 339 | + using_utf8 = 1; | ||
| 340 | +#endif | ||
| 341 | +} | ||
| 342 | + | ||
| 343 | +void | ||
| 344 | dfaerror (char const *mesg) | ||
| 345 | { | ||
| 346 | error (2, 0, mesg); | ||
| 347 | @@ -141,38 +158,6 @@ kwsmusts (void) | ||
| 348 | } | ||
| 349 | } | ||
| 350 | |||
| 351 | -#ifdef MBS_SUPPORT | ||
| 352 | -/* This function allocate the array which correspond to "buf". | ||
| 353 | - Then this check multibyte string and mark on the positions which | ||
| 354 | - are not singlebyte character nor the first byte of a multibyte | ||
| 355 | - character. Caller must free the array. */ | ||
| 356 | -static char* | ||
| 357 | -check_multibyte_string(char const *buf, size_t size) | ||
| 358 | -{ | ||
| 359 | - char *mb_properties = malloc(size); | ||
| 360 | - mbstate_t cur_state; | ||
| 361 | - int i; | ||
| 362 | - memset(&cur_state, 0, sizeof(mbstate_t)); | ||
| 363 | - memset(mb_properties, 0, sizeof(char)*size); | ||
| 364 | - for (i = 0; i < size ;) | ||
| 365 | - { | ||
| 366 | - size_t mbclen; | ||
| 367 | - mbclen = mbrlen(buf + i, size - i, &cur_state); | ||
| 368 | - | ||
| 369 | - if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) | ||
| 370 | - { | ||
| 371 | - /* An invalid sequence, or a truncated multibyte character. | ||
| 372 | - We treat it as a singlebyte character. */ | ||
| 373 | - mbclen = 1; | ||
| 374 | - } | ||
| 375 | - mb_properties[i] = mbclen; | ||
| 376 | - i += mbclen; | ||
| 377 | - } | ||
| 378 | - | ||
| 379 | - return mb_properties; | ||
| 380 | -} | ||
| 381 | -#endif | ||
| 382 | - | ||
| 383 | static void | ||
| 384 | Gcompile (char const *pattern, size_t size) | ||
| 385 | { | ||
| 386 | @@ -181,7 +166,8 @@ Gcompile (char const *pattern, size_t size) | ||
| 387 | size_t total = size; | ||
| 388 | char const *motif = pattern; | ||
| 389 | |||
| 390 | - re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE); | ||
| 391 | + check_utf8 (); | ||
| 392 | + re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | (match_icase ? RE_ICASE : 0)); | ||
| 393 | dfasyntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE, match_icase, eolbyte); | ||
| 394 | |||
| 395 | /* For GNU regex compiler we have to pass the patterns separately to detect | ||
| 396 | @@ -218,6 +204,10 @@ Gcompile (char const *pattern, size_t size) | ||
| 397 | motif = sep; | ||
| 398 | } while (sep && total != 0); | ||
| 399 | |||
| 400 | + /* Strip trailing newline. */ | ||
| 401 | + if (size && pattern[size - 1] == '\n') | ||
| 402 | + size--; | ||
| 403 | + | ||
| 404 | /* In the match_words and match_lines cases, we use a different pattern | ||
| 405 | for the DFA matcher that will quickly throw out cases that won't work. | ||
| 406 | Then if DFA succeeds we do some hairy stuff using the regex matcher | ||
| 407 | @@ -233,7 +223,7 @@ Gcompile (char const *pattern, size_t size) | ||
| 408 | static char const line_end[] = "\\)$"; | ||
| 409 | static char const word_beg[] = "\\(^\\|[^[:alnum:]_]\\)\\("; | ||
| 410 | static char const word_end[] = "\\)\\([^[:alnum:]_]\\|$\\)"; | ||
| 411 | - char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); | ||
| 412 | + char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); | ||
| 413 | size_t i; | ||
| 414 | strcpy (n, match_lines ? line_beg : word_beg); | ||
| 415 | i = strlen (n); | ||
| 416 | @@ -257,14 +247,15 @@ Ecompile (char const *pattern, size_t size) | ||
| 417 | size_t total = size; | ||
| 418 | char const *motif = pattern; | ||
| 419 | |||
| 420 | + check_utf8 (); | ||
| 421 | if (strcmp (matcher, "awk") == 0) | ||
| 422 | { | ||
| 423 | - re_set_syntax (RE_SYNTAX_AWK); | ||
| 424 | + re_set_syntax (RE_SYNTAX_AWK | (match_icase ? RE_ICASE : 0)); | ||
| 425 | dfasyntax (RE_SYNTAX_AWK, match_icase, eolbyte); | ||
| 426 | } | ||
| 427 | else | ||
| 428 | { | ||
| 429 | - re_set_syntax (RE_SYNTAX_POSIX_EGREP); | ||
| 430 | + re_set_syntax (RE_SYNTAX_POSIX_EGREP | (match_icase ? RE_ICASE : 0)); | ||
| 431 | dfasyntax (RE_SYNTAX_POSIX_EGREP, match_icase, eolbyte); | ||
| 432 | } | ||
| 433 | |||
| 434 | @@ -301,6 +292,10 @@ Ecompile (char const *pattern, size_t size) | ||
| 435 | motif = sep; | ||
| 436 | } while (sep && total != 0); | ||
| 437 | |||
| 438 | + /* Strip trailing newline. */ | ||
| 439 | + if (size && pattern[size - 1] == '\n') | ||
| 440 | + size--; | ||
| 441 | + | ||
| 442 | /* In the match_words and match_lines cases, we use a different pattern | ||
| 443 | for the DFA matcher that will quickly throw out cases that won't work. | ||
| 444 | Then if DFA succeeds we do some hairy stuff using the regex matcher | ||
| 445 | @@ -316,7 +311,7 @@ Ecompile (char const *pattern, size_t size) | ||
| 446 | static char const line_end[] = ")$"; | ||
| 447 | static char const word_beg[] = "(^|[^[:alnum:]_])("; | ||
| 448 | static char const word_end[] = ")([^[:alnum:]_]|$)"; | ||
| 449 | - char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); | ||
| 450 | + char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); | ||
| 451 | size_t i; | ||
| 452 | strcpy (n, match_lines ? line_beg : word_beg); | ||
| 453 | i = strlen(n); | ||
| 454 | @@ -339,15 +334,34 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 455 | char eol = eolbyte; | ||
| 456 | int backref, start, len; | ||
| 457 | struct kwsmatch kwsm; | ||
| 458 | - size_t i; | ||
| 459 | + size_t i, ret_val; | ||
| 460 | + static int use_dfa; | ||
| 461 | + static int use_dfa_checked = 0; | ||
| 462 | #ifdef MBS_SUPPORT | ||
| 463 | - char *mb_properties = NULL; | ||
| 464 | + int mb_cur_max = MB_CUR_MAX; | ||
| 465 | + mbstate_t mbs; | ||
| 466 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 467 | #endif /* MBS_SUPPORT */ | ||
| 468 | |||
| 469 | + if (!use_dfa_checked) | ||
| 470 | + { | ||
| 471 | + char *grep_use_dfa = getenv ("GREP_USE_DFA"); | ||
| 472 | + if (!grep_use_dfa) | ||
| 473 | + { | ||
| 474 | #ifdef MBS_SUPPORT | ||
| 475 | - if (MB_CUR_MAX > 1 && kwset) | ||
| 476 | - mb_properties = check_multibyte_string(buf, size); | ||
| 477 | + /* Turn off DFA when processing multibyte input. */ | ||
| 478 | + use_dfa = (MB_CUR_MAX == 1); | ||
| 479 | +#else | ||
| 480 | + use_dfa = 1; | ||
| 481 | #endif /* MBS_SUPPORT */ | ||
| 482 | + } | ||
| 483 | + else | ||
| 484 | + { | ||
| 485 | + use_dfa = atoi (grep_use_dfa); | ||
| 486 | + } | ||
| 487 | + | ||
| 488 | + use_dfa_checked = 1; | ||
| 489 | + } | ||
| 490 | |||
| 491 | buflim = buf + size; | ||
| 492 | |||
| 493 | @@ -358,47 +372,120 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 494 | if (kwset) | ||
| 495 | { | ||
| 496 | /* Find a possible match using the KWset matcher. */ | ||
| 497 | - size_t offset = kwsexec (kwset, beg, buflim - beg, &kwsm); | ||
| 498 | +#ifdef MBS_SUPPORT | ||
| 499 | + size_t bytes_left = 0; | ||
| 500 | +#endif /* MBS_SUPPORT */ | ||
| 501 | + size_t offset; | ||
| 502 | +#ifdef MBS_SUPPORT | ||
| 503 | + /* kwsexec doesn't work with match_icase and multibyte input. */ | ||
| 504 | + if (match_icase && mb_cur_max > 1) | ||
| 505 | + /* Avoid kwset */ | ||
| 506 | + offset = 0; | ||
| 507 | + else | ||
| 508 | +#endif /* MBS_SUPPORT */ | ||
| 509 | + offset = kwsexec (kwset, beg, buflim - beg, &kwsm); | ||
| 510 | if (offset == (size_t) -1) | ||
| 511 | - { | ||
| 512 | + goto failure; | ||
| 513 | #ifdef MBS_SUPPORT | ||
| 514 | - if (MB_CUR_MAX > 1) | ||
| 515 | - free(mb_properties); | ||
| 516 | -#endif | ||
| 517 | - return (size_t)-1; | ||
| 518 | + if (mb_cur_max > 1 && !using_utf8) | ||
| 519 | + { | ||
| 520 | + bytes_left = offset; | ||
| 521 | + while (bytes_left) | ||
| 522 | + { | ||
| 523 | + size_t mlen = mbrlen (beg, bytes_left, &mbs); | ||
| 524 | + if (mlen == (size_t) -1 || mlen == 0) | ||
| 525 | + { | ||
| 526 | + /* Incomplete character: treat as single-byte. */ | ||
| 527 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 528 | + beg++; | ||
| 529 | + bytes_left--; | ||
| 530 | + continue; | ||
| 531 | + } | ||
| 532 | + | ||
| 533 | + if (mlen == (size_t) -2) | ||
| 534 | + /* Offset points inside multibyte character: | ||
| 535 | + * no good. */ | ||
| 536 | + break; | ||
| 537 | + | ||
| 538 | + beg += mlen; | ||
| 539 | + bytes_left -= mlen; | ||
| 540 | + } | ||
| 541 | } | ||
| 542 | + else | ||
| 543 | +#endif /* MBS_SUPPORT */ | ||
| 544 | beg += offset; | ||
| 545 | /* Narrow down to the line containing the candidate, and | ||
| 546 | run it through DFA. */ | ||
| 547 | end = memchr(beg, eol, buflim - beg); | ||
| 548 | end++; | ||
| 549 | #ifdef MBS_SUPPORT | ||
| 550 | - if (MB_CUR_MAX > 1 && mb_properties[beg - buf] == 0) | ||
| 551 | + if (mb_cur_max > 1 && bytes_left) | ||
| 552 | continue; | ||
| 553 | -#endif | ||
| 554 | +#endif /* MBS_SUPPORT */ | ||
| 555 | while (beg > buf && beg[-1] != eol) | ||
| 556 | --beg; | ||
| 557 | - if (kwsm.index < kwset_exact_matches) | ||
| 558 | - goto success; | ||
| 559 | - if (dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1) | ||
| 560 | + if ( | ||
| 561 | +#ifdef MBS_SUPPORT | ||
| 562 | + !(match_icase && mb_cur_max > 1) && | ||
| 563 | +#endif /* MBS_SUPPORT */ | ||
| 564 | + (kwsm.index < kwset_exact_matches)) | ||
| 565 | + goto success_in_beg_and_end; | ||
| 566 | + if (use_dfa && | ||
| 567 | + dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1) | ||
| 568 | continue; | ||
| 569 | } | ||
| 570 | else | ||
| 571 | { | ||
| 572 | /* No good fixed strings; start with DFA. */ | ||
| 573 | - size_t offset = dfaexec (&dfa, beg, buflim - beg, &backref); | ||
| 574 | +#ifdef MBS_SUPPORT | ||
| 575 | + size_t bytes_left = 0; | ||
| 576 | +#endif /* MBS_SUPPORT */ | ||
| 577 | + size_t offset = 0; | ||
| 578 | + if (use_dfa) | ||
| 579 | + offset = dfaexec (&dfa, beg, buflim - beg, &backref); | ||
| 580 | if (offset == (size_t) -1) | ||
| 581 | break; | ||
| 582 | /* Narrow down to the line we've found. */ | ||
| 583 | +#ifdef MBS_SUPPORT | ||
| 584 | + if (mb_cur_max > 1 && !using_utf8) | ||
| 585 | + { | ||
| 586 | + bytes_left = offset; | ||
| 587 | + while (bytes_left) | ||
| 588 | + { | ||
| 589 | + size_t mlen = mbrlen (beg, bytes_left, &mbs); | ||
| 590 | + if (mlen == (size_t) -1 || mlen == 0) | ||
| 591 | + { | ||
| 592 | + /* Incomplete character: treat as single-byte. */ | ||
| 593 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 594 | + beg++; | ||
| 595 | + bytes_left--; | ||
| 596 | + continue; | ||
| 597 | + } | ||
| 598 | + | ||
| 599 | + if (mlen == (size_t) -2) | ||
| 600 | + /* Offset points inside multibyte character: | ||
| 601 | + * no good. */ | ||
| 602 | + break; | ||
| 603 | + | ||
| 604 | + beg += mlen; | ||
| 605 | + bytes_left -= mlen; | ||
| 606 | + } | ||
| 607 | + } | ||
| 608 | + else | ||
| 609 | +#endif /* MBS_SUPPORT */ | ||
| 610 | beg += offset; | ||
| 611 | end = memchr (beg, eol, buflim - beg); | ||
| 612 | end++; | ||
| 613 | +#ifdef MBS_SUPPORT | ||
| 614 | + if (mb_cur_max > 1 && bytes_left) | ||
| 615 | + continue; | ||
| 616 | +#endif /* MBS_SUPPORT */ | ||
| 617 | while (beg > buf && beg[-1] != eol) | ||
| 618 | --beg; | ||
| 619 | } | ||
| 620 | /* Successful, no backreferences encountered! */ | ||
| 621 | - if (!backref) | ||
| 622 | - goto success; | ||
| 623 | + if (use_dfa && !backref) | ||
| 624 | + goto success_in_beg_and_end; | ||
| 625 | } | ||
| 626 | else | ||
| 627 | end = beg + size; | ||
| 628 | @@ -413,14 +500,11 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 629 | end - beg - 1, &(patterns[i].regs)))) | ||
| 630 | { | ||
| 631 | len = patterns[i].regs.end[0] - start; | ||
| 632 | - if (exact) | ||
| 633 | - { | ||
| 634 | - *match_size = len; | ||
| 635 | - return start; | ||
| 636 | - } | ||
| 637 | + if (exact && !match_words) | ||
| 638 | + goto success_in_start_and_len; | ||
| 639 | if ((!match_lines && !match_words) | ||
| 640 | || (match_lines && len == end - beg - 1)) | ||
| 641 | - goto success; | ||
| 642 | + goto success_in_beg_and_end; | ||
| 643 | /* If -w, check if the match aligns with word boundaries. | ||
| 644 | We do this iteratively because: | ||
| 645 | (a) the line may contain more than one occurence of the | ||
| 646 | @@ -431,10 +515,114 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 647 | if (match_words) | ||
| 648 | while (start >= 0) | ||
| 649 | { | ||
| 650 | - if ((start == 0 || !WCHAR ((unsigned char) beg[start - 1])) | ||
| 651 | - && (len == end - beg - 1 | ||
| 652 | - || !WCHAR ((unsigned char) beg[start + len]))) | ||
| 653 | - goto success; | ||
| 654 | + int lword_match = 0; | ||
| 655 | + if (start == 0) | ||
| 656 | + lword_match = 1; | ||
| 657 | + else | ||
| 658 | + { | ||
| 659 | + assert (start > 0); | ||
| 660 | +#ifdef MBS_SUPPORT | ||
| 661 | + if (mb_cur_max > 1) | ||
| 662 | + { | ||
| 663 | + const char *s; | ||
| 664 | + size_t mr; | ||
| 665 | + wchar_t pwc; | ||
| 666 | + | ||
| 667 | + /* Locate the start of the multibyte character | ||
| 668 | + before the match position (== beg + start). */ | ||
| 669 | + if (using_utf8) | ||
| 670 | + { | ||
| 671 | + /* UTF-8 is a special case: scan backwards | ||
| 672 | + until we find a 7-bit character or a | ||
| 673 | + lead byte. */ | ||
| 674 | + s = beg + start - 1; | ||
| 675 | + while (s > buf | ||
| 676 | + && (unsigned char) *s >= 0x80 | ||
| 677 | + && (unsigned char) *s <= 0xbf) | ||
| 678 | + --s; | ||
| 679 | + } | ||
| 680 | + else | ||
| 681 | + { | ||
| 682 | + /* Scan forwards to find the start of the | ||
| 683 | + last complete character before the | ||
| 684 | + match position. */ | ||
| 685 | + size_t bytes_left = start - 1; | ||
| 686 | + s = beg; | ||
| 687 | + while (bytes_left > 0) | ||
| 688 | + { | ||
| 689 | + mr = mbrlen (s, bytes_left, &mbs); | ||
| 690 | + if (mr == (size_t) -1 || mr == 0) | ||
| 691 | + { | ||
| 692 | + memset (&mbs, '\0', sizeof (mbs)); | ||
| 693 | + s++; | ||
| 694 | + bytes_left--; | ||
| 695 | + continue; | ||
| 696 | + } | ||
| 697 | + if (mr == (size_t) -2) | ||
| 698 | + { | ||
| 699 | + memset (&mbs, '\0', sizeof (mbs)); | ||
| 700 | + break; | ||
| 701 | + } | ||
| 702 | + s += mr; | ||
| 703 | + bytes_left -= mr; | ||
| 704 | + } | ||
| 705 | + } | ||
| 706 | + mr = mbrtowc (&pwc, s, beg + start - s, &mbs); | ||
| 707 | + if (mr == (size_t) -2 || mr == (size_t) -1 || | ||
| 708 | + mr == 0) | ||
| 709 | + { | ||
| 710 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 711 | + lword_match = 1; | ||
| 712 | + } | ||
| 713 | + else if (!(iswalnum (pwc) || pwc == L'_') | ||
| 714 | + && mr == beg + start - s) | ||
| 715 | + lword_match = 1; | ||
| 716 | + } | ||
| 717 | + else | ||
| 718 | +#endif /* MBS_SUPPORT */ | ||
| 719 | + if (!WCHAR ((unsigned char) beg[start - 1])) | ||
| 720 | + lword_match = 1; | ||
| 721 | + } | ||
| 722 | + | ||
| 723 | + if (lword_match) | ||
| 724 | + { | ||
| 725 | + int rword_match = 0; | ||
| 726 | + if (start + len == end - beg - 1) | ||
| 727 | + rword_match = 1; | ||
| 728 | + else | ||
| 729 | + { | ||
| 730 | +#ifdef MBS_SUPPORT | ||
| 731 | + if (mb_cur_max > 1) | ||
| 732 | + { | ||
| 733 | + wchar_t nwc; | ||
| 734 | + int mr; | ||
| 735 | + | ||
| 736 | + mr = mbtowc (&nwc, beg + start + len, | ||
| 737 | + end - beg - start - len - 1); | ||
| 738 | + if (mr <= 0) | ||
| 739 | + { | ||
| 740 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 741 | + rword_match = 1; | ||
| 742 | + } | ||
| 743 | + else if (!iswalnum (nwc) && nwc != L'_') | ||
| 744 | + rword_match = 1; | ||
| 745 | + } | ||
| 746 | + else | ||
| 747 | +#endif /* MBS_SUPPORT */ | ||
| 748 | + if (!WCHAR ((unsigned char) beg[start + len])) | ||
| 749 | + rword_match = 1; | ||
| 750 | + } | ||
| 751 | + | ||
| 752 | + if (rword_match) | ||
| 753 | + { | ||
| 754 | + if (!exact) | ||
| 755 | + /* Returns the whole line. */ | ||
| 756 | + goto success_in_beg_and_end; | ||
| 757 | + else | ||
| 758 | + /* Returns just this word match. */ | ||
| 759 | + goto success_in_start_and_len; | ||
| 760 | + } | ||
| 761 | + } | ||
| 762 | if (len > 0) | ||
| 763 | { | ||
| 764 | /* Try a shorter length anchored at the same place. */ | ||
| 765 | @@ -461,26 +649,154 @@ EGexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 766 | } | ||
| 767 | } /* for Regex patterns. */ | ||
| 768 | } /* for (beg = end ..) */ | ||
| 769 | -#ifdef MBS_SUPPORT | ||
| 770 | - if (MB_CUR_MAX > 1 && mb_properties) | ||
| 771 | - free (mb_properties); | ||
| 772 | -#endif /* MBS_SUPPORT */ | ||
| 773 | + | ||
| 774 | + failure: | ||
| 775 | return (size_t) -1; | ||
| 776 | |||
| 777 | - success: | ||
| 778 | -#ifdef MBS_SUPPORT | ||
| 779 | - if (MB_CUR_MAX > 1 && mb_properties) | ||
| 780 | - free (mb_properties); | ||
| 781 | -#endif /* MBS_SUPPORT */ | ||
| 782 | - *match_size = end - beg; | ||
| 783 | - return beg - buf; | ||
| 784 | + success_in_beg_and_end: | ||
| 785 | + len = end - beg; | ||
| 786 | + start = beg - buf; | ||
| 787 | + /* FALLTHROUGH */ | ||
| 788 | + | ||
| 789 | + success_in_start_and_len: | ||
| 790 | + *match_size = len; | ||
| 791 | + return start; | ||
| 792 | } | ||
| 793 | |||
| 794 | +#ifdef MBS_SUPPORT | ||
| 795 | +static int f_i_multibyte; /* whether we're using the new -Fi MB method */ | ||
| 796 | +static struct | ||
| 797 | +{ | ||
| 798 | + wchar_t **patterns; | ||
| 799 | + size_t count, maxlen; | ||
| 800 | + unsigned char *match; | ||
| 801 | +} Fimb; | ||
| 802 | +#endif | ||
| 803 | + | ||
| 804 | static void | ||
| 805 | Fcompile (char const *pattern, size_t size) | ||
| 806 | { | ||
| 807 | + int mb_cur_max = MB_CUR_MAX; | ||
| 808 | char const *beg, *lim, *err; | ||
| 809 | |||
| 810 | + check_utf8 (); | ||
| 811 | +#ifdef MBS_SUPPORT | ||
| 812 | + /* Support -F -i for UTF-8 input. */ | ||
| 813 | + if (match_icase && mb_cur_max > 1) | ||
| 814 | + { | ||
| 815 | + mbstate_t mbs; | ||
| 816 | + wchar_t *wcpattern = xmalloc ((size + 1) * sizeof (wchar_t)); | ||
| 817 | + const char *patternend = pattern; | ||
| 818 | + size_t wcsize; | ||
| 819 | + kwset_t fimb_kwset = NULL; | ||
| 820 | + char *starts = NULL; | ||
| 821 | + wchar_t *wcbeg, *wclim; | ||
| 822 | + size_t allocated = 0; | ||
| 823 | + | ||
| 824 | + memset (&mbs, '\0', sizeof (mbs)); | ||
| 825 | +# ifdef __GNU_LIBRARY__ | ||
| 826 | + wcsize = mbsnrtowcs (wcpattern, &patternend, size, size, &mbs); | ||
| 827 | + if (patternend != pattern + size) | ||
| 828 | + wcsize = (size_t) -1; | ||
| 829 | +# else | ||
| 830 | + { | ||
| 831 | + char *patterncopy = xmalloc (size + 1); | ||
| 832 | + | ||
| 833 | + memcpy (patterncopy, pattern, size); | ||
| 834 | + patterncopy[size] = '\0'; | ||
| 835 | + patternend = patterncopy; | ||
| 836 | + wcsize = mbsrtowcs (wcpattern, &patternend, size, &mbs); | ||
| 837 | + if (patternend != patterncopy + size) | ||
| 838 | + wcsize = (size_t) -1; | ||
| 839 | + free (patterncopy); | ||
| 840 | + } | ||
| 841 | +# endif | ||
| 842 | + if (wcsize + 2 <= 2) | ||
| 843 | + { | ||
| 844 | +fimb_fail: | ||
| 845 | + free (wcpattern); | ||
| 846 | + free (starts); | ||
| 847 | + if (fimb_kwset) | ||
| 848 | + kwsfree (fimb_kwset); | ||
| 849 | + free (Fimb.patterns); | ||
| 850 | + Fimb.patterns = NULL; | ||
| 851 | + } | ||
| 852 | + else | ||
| 853 | + { | ||
| 854 | + if (!(fimb_kwset = kwsalloc (NULL))) | ||
| 855 | + error (2, 0, _("memory exhausted")); | ||
| 856 | + | ||
| 857 | + starts = xmalloc (mb_cur_max * 3); | ||
| 858 | + wcbeg = wcpattern; | ||
| 859 | + do | ||
| 860 | + { | ||
| 861 | + int i; | ||
| 862 | + size_t wclen; | ||
| 863 | + | ||
| 864 | + if (Fimb.count >= allocated) | ||
| 865 | + { | ||
| 866 | + if (allocated == 0) | ||
| 867 | + allocated = 128; | ||
| 868 | + else | ||
| 869 | + allocated *= 2; | ||
| 870 | + Fimb.patterns = xrealloc (Fimb.patterns, | ||
| 871 | + sizeof (wchar_t *) * allocated); | ||
| 872 | + } | ||
| 873 | + Fimb.patterns[Fimb.count++] = wcbeg; | ||
| 874 | + for (wclim = wcbeg; | ||
| 875 | + wclim < wcpattern + wcsize && *wclim != L'\n'; ++wclim) | ||
| 876 | + *wclim = towlower (*wclim); | ||
| 877 | + *wclim = L'\0'; | ||
| 878 | + wclen = wclim - wcbeg; | ||
| 879 | + if (wclen > Fimb.maxlen) | ||
| 880 | + Fimb.maxlen = wclen; | ||
| 881 | + if (wclen > 3) | ||
| 882 | + wclen = 3; | ||
| 883 | + if (wclen == 0) | ||
| 884 | + { | ||
| 885 | + if ((err = kwsincr (fimb_kwset, "", 0)) != 0) | ||
| 886 | + error (2, 0, err); | ||
| 887 | + } | ||
| 888 | + else | ||
| 889 | + for (i = 0; i < (1 << wclen); i++) | ||
| 890 | + { | ||
| 891 | + char *p = starts; | ||
| 892 | + int j, k; | ||
| 893 | + | ||
| 894 | + for (j = 0; j < wclen; ++j) | ||
| 895 | + { | ||
| 896 | + wchar_t wc = wcbeg[j]; | ||
| 897 | + if (i & (1 << j)) | ||
| 898 | + { | ||
| 899 | + wc = towupper (wc); | ||
| 900 | + if (wc == wcbeg[j]) | ||
| 901 | + continue; | ||
| 902 | + } | ||
| 903 | + k = wctomb (p, wc); | ||
| 904 | + if (k <= 0) | ||
| 905 | + goto fimb_fail; | ||
| 906 | + p += k; | ||
| 907 | + } | ||
| 908 | + if ((err = kwsincr (fimb_kwset, starts, p - starts)) != 0) | ||
| 909 | + error (2, 0, err); | ||
| 910 | + } | ||
| 911 | + if (wclim < wcpattern + wcsize) | ||
| 912 | + ++wclim; | ||
| 913 | + wcbeg = wclim; | ||
| 914 | + } | ||
| 915 | + while (wcbeg < wcpattern + wcsize); | ||
| 916 | + f_i_multibyte = 1; | ||
| 917 | + kwset = fimb_kwset; | ||
| 918 | + free (starts); | ||
| 919 | + Fimb.match = xmalloc (Fimb.count); | ||
| 920 | + if ((err = kwsprep (kwset)) != 0) | ||
| 921 | + error (2, 0, err); | ||
| 922 | + return; | ||
| 923 | + } | ||
| 924 | + } | ||
| 925 | +#endif /* MBS_SUPPORT */ | ||
| 926 | + | ||
| 927 | + | ||
| 928 | kwsinit (); | ||
| 929 | beg = pattern; | ||
| 930 | do | ||
| 931 | @@ -499,6 +815,76 @@ Fcompile (char const *pattern, size_t size) | ||
| 932 | error (2, 0, err); | ||
| 933 | } | ||
| 934 | |||
| 935 | +#ifdef MBS_SUPPORT | ||
| 936 | +static int | ||
| 937 | +Fimbexec (const char *buf, size_t size, size_t *plen, int exact) | ||
| 938 | +{ | ||
| 939 | + size_t len, letter, i; | ||
| 940 | + int ret = -1; | ||
| 941 | + mbstate_t mbs; | ||
| 942 | + wchar_t wc; | ||
| 943 | + int patterns_left; | ||
| 944 | + | ||
| 945 | + assert (match_icase && f_i_multibyte == 1); | ||
| 946 | + assert (MB_CUR_MAX > 1); | ||
| 947 | + | ||
| 948 | + memset (&mbs, '\0', sizeof (mbs)); | ||
| 949 | + memset (Fimb.match, '\1', Fimb.count); | ||
| 950 | + letter = len = 0; | ||
| 951 | + patterns_left = 1; | ||
| 952 | + while (patterns_left && len <= size) | ||
| 953 | + { | ||
| 954 | + size_t c; | ||
| 955 | + | ||
| 956 | + patterns_left = 0; | ||
| 957 | + if (len < size) | ||
| 958 | + { | ||
| 959 | + c = mbrtowc (&wc, buf + len, size - len, &mbs); | ||
| 960 | + if (c + 2 <= 2) | ||
| 961 | + return ret; | ||
| 962 | + | ||
| 963 | + wc = towlower (wc); | ||
| 964 | + } | ||
| 965 | + else | ||
| 966 | + { | ||
| 967 | + c = 1; | ||
| 968 | + wc = L'\0'; | ||
| 969 | + } | ||
| 970 | + | ||
| 971 | + for (i = 0; i < Fimb.count; i++) | ||
| 972 | + { | ||
| 973 | + if (Fimb.match[i]) | ||
| 974 | + { | ||
| 975 | + if (Fimb.patterns[i][letter] == L'\0') | ||
| 976 | + { | ||
| 977 | + /* Found a match. */ | ||
| 978 | + *plen = len; | ||
| 979 | + if (!exact && !match_words) | ||
| 980 | + return 0; | ||
| 981 | + else | ||
| 982 | + { | ||
| 983 | + /* For -w or exact look for longest match. */ | ||
| 984 | + ret = 0; | ||
| 985 | + Fimb.match[i] = '\0'; | ||
| 986 | + continue; | ||
| 987 | + } | ||
| 988 | + } | ||
| 989 | + | ||
| 990 | + if (Fimb.patterns[i][letter] == wc) | ||
| 991 | + patterns_left = 1; | ||
| 992 | + else | ||
| 993 | + Fimb.match[i] = '\0'; | ||
| 994 | + } | ||
| 995 | + } | ||
| 996 | + | ||
| 997 | + len += c; | ||
| 998 | + letter++; | ||
| 999 | + } | ||
| 1000 | + | ||
| 1001 | + return ret; | ||
| 1002 | +} | ||
| 1003 | +#endif /* MBS_SUPPORT */ | ||
| 1004 | + | ||
| 1005 | static size_t | ||
| 1006 | Fexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 1007 | { | ||
| 1008 | @@ -506,88 +892,268 @@ Fexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 1009 | register size_t len; | ||
| 1010 | char eol = eolbyte; | ||
| 1011 | struct kwsmatch kwsmatch; | ||
| 1012 | + size_t ret_val; | ||
| 1013 | #ifdef MBS_SUPPORT | ||
| 1014 | - char *mb_properties; | ||
| 1015 | - if (MB_CUR_MAX > 1) | ||
| 1016 | - mb_properties = check_multibyte_string (buf, size); | ||
| 1017 | + int mb_cur_max = MB_CUR_MAX; | ||
| 1018 | + mbstate_t mbs; | ||
| 1019 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1020 | + const char *last_char = NULL; | ||
| 1021 | #endif /* MBS_SUPPORT */ | ||
| 1022 | |||
| 1023 | - for (beg = buf; beg <= buf + size; ++beg) | ||
| 1024 | + for (beg = buf; beg < buf + size; ++beg) | ||
| 1025 | { | ||
| 1026 | - size_t offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); | ||
| 1027 | + size_t offset; | ||
| 1028 | + offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); | ||
| 1029 | + | ||
| 1030 | if (offset == (size_t) -1) | ||
| 1031 | - { | ||
| 1032 | + goto failure; | ||
| 1033 | #ifdef MBS_SUPPORT | ||
| 1034 | - if (MB_CUR_MAX > 1) | ||
| 1035 | - free(mb_properties); | ||
| 1036 | -#endif /* MBS_SUPPORT */ | ||
| 1037 | - return offset; | ||
| 1038 | + if (mb_cur_max > 1 && !using_utf8) | ||
| 1039 | + { | ||
| 1040 | + size_t bytes_left = offset; | ||
| 1041 | + while (bytes_left) | ||
| 1042 | + { | ||
| 1043 | + size_t mlen = mbrlen (beg, bytes_left, &mbs); | ||
| 1044 | + | ||
| 1045 | + last_char = beg; | ||
| 1046 | + if (mlen == (size_t) -1 || mlen == 0) | ||
| 1047 | + { | ||
| 1048 | + /* Incomplete character: treat as single-byte. */ | ||
| 1049 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1050 | + beg++; | ||
| 1051 | + bytes_left--; | ||
| 1052 | + continue; | ||
| 1053 | + } | ||
| 1054 | + | ||
| 1055 | + if (mlen == (size_t) -2) | ||
| 1056 | + /* Offset points inside multibyte character: no good. */ | ||
| 1057 | + break; | ||
| 1058 | + | ||
| 1059 | + beg += mlen; | ||
| 1060 | + bytes_left -= mlen; | ||
| 1061 | + } | ||
| 1062 | + | ||
| 1063 | + if (bytes_left) | ||
| 1064 | + continue; | ||
| 1065 | } | ||
| 1066 | -#ifdef MBS_SUPPORT | ||
| 1067 | - if (MB_CUR_MAX > 1 && mb_properties[offset+beg-buf] == 0) | ||
| 1068 | - continue; /* It is a part of multibyte character. */ | ||
| 1069 | + else | ||
| 1070 | #endif /* MBS_SUPPORT */ | ||
| 1071 | beg += offset; | ||
| 1072 | - len = kwsmatch.size[0]; | ||
| 1073 | - if (exact) | ||
| 1074 | - { | ||
| 1075 | - *match_size = len; | ||
| 1076 | #ifdef MBS_SUPPORT | ||
| 1077 | - if (MB_CUR_MAX > 1) | ||
| 1078 | - free (mb_properties); | ||
| 1079 | + /* For f_i_multibyte, the string at beg now matches first 3 chars of | ||
| 1080 | + one of the search strings (less if there are shorter search strings). | ||
| 1081 | + See if this is a real match. */ | ||
| 1082 | + if (f_i_multibyte | ||
| 1083 | + && Fimbexec (beg, buf + size - beg, &kwsmatch.size[0], exact)) | ||
| 1084 | + goto next_char; | ||
| 1085 | #endif /* MBS_SUPPORT */ | ||
| 1086 | - return beg - buf; | ||
| 1087 | - } | ||
| 1088 | + len = kwsmatch.size[0]; | ||
| 1089 | + if (exact && !match_words) | ||
| 1090 | + goto success_in_beg_and_len; | ||
| 1091 | if (match_lines) | ||
| 1092 | { | ||
| 1093 | if (beg > buf && beg[-1] != eol) | ||
| 1094 | - continue; | ||
| 1095 | + goto next_char; | ||
| 1096 | if (beg + len < buf + size && beg[len] != eol) | ||
| 1097 | - continue; | ||
| 1098 | + goto next_char; | ||
| 1099 | goto success; | ||
| 1100 | } | ||
| 1101 | else if (match_words) | ||
| 1102 | - for (try = beg; len; ) | ||
| 1103 | - { | ||
| 1104 | - if (try > buf && WCHAR((unsigned char) try[-1])) | ||
| 1105 | - break; | ||
| 1106 | - if (try + len < buf + size && WCHAR((unsigned char) try[len])) | ||
| 1107 | - { | ||
| 1108 | - offset = kwsexec (kwset, beg, --len, &kwsmatch); | ||
| 1109 | - if (offset == (size_t) -1) | ||
| 1110 | - { | ||
| 1111 | + { | ||
| 1112 | + while (len) | ||
| 1113 | + { | ||
| 1114 | + int word_match = 0; | ||
| 1115 | + if (beg > buf) | ||
| 1116 | + { | ||
| 1117 | #ifdef MBS_SUPPORT | ||
| 1118 | - if (MB_CUR_MAX > 1) | ||
| 1119 | - free (mb_properties); | ||
| 1120 | + if (mb_cur_max > 1) | ||
| 1121 | + { | ||
| 1122 | + const char *s; | ||
| 1123 | + int mr; | ||
| 1124 | + wchar_t pwc; | ||
| 1125 | + | ||
| 1126 | + if (using_utf8) | ||
| 1127 | + { | ||
| 1128 | + s = beg - 1; | ||
| 1129 | + while (s > buf | ||
| 1130 | + && (unsigned char) *s >= 0x80 | ||
| 1131 | + && (unsigned char) *s <= 0xbf) | ||
| 1132 | + --s; | ||
| 1133 | + } | ||
| 1134 | + else | ||
| 1135 | + s = last_char; | ||
| 1136 | + mr = mbtowc (&pwc, s, beg - s); | ||
| 1137 | + if (mr <= 0) | ||
| 1138 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1139 | + else if ((iswalnum (pwc) || pwc == L'_') | ||
| 1140 | + && mr == (int) (beg - s)) | ||
| 1141 | + goto next_char; | ||
| 1142 | + } | ||
| 1143 | + else | ||
| 1144 | #endif /* MBS_SUPPORT */ | ||
| 1145 | - return offset; | ||
| 1146 | - } | ||
| 1147 | - try = beg + offset; | ||
| 1148 | - len = kwsmatch.size[0]; | ||
| 1149 | - } | ||
| 1150 | - else | ||
| 1151 | - goto success; | ||
| 1152 | - } | ||
| 1153 | + if (WCHAR ((unsigned char) beg[-1])) | ||
| 1154 | + goto next_char; | ||
| 1155 | + } | ||
| 1156 | +#ifdef MBS_SUPPORT | ||
| 1157 | + if (mb_cur_max > 1) | ||
| 1158 | + { | ||
| 1159 | + wchar_t nwc; | ||
| 1160 | + int mr; | ||
| 1161 | + | ||
| 1162 | + mr = mbtowc (&nwc, beg + len, buf + size - beg - len); | ||
| 1163 | + if (mr <= 0) | ||
| 1164 | + { | ||
| 1165 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1166 | + word_match = 1; | ||
| 1167 | + } | ||
| 1168 | + else if (!iswalnum (nwc) && nwc != L'_') | ||
| 1169 | + word_match = 1; | ||
| 1170 | + } | ||
| 1171 | + else | ||
| 1172 | +#endif /* MBS_SUPPORT */ | ||
| 1173 | + if (beg + len >= buf + size || !WCHAR ((unsigned char) beg[len])) | ||
| 1174 | + word_match = 1; | ||
| 1175 | + if (word_match) | ||
| 1176 | + { | ||
| 1177 | + if (!exact) | ||
| 1178 | + /* Returns the whole line now we know there's a word match. */ | ||
| 1179 | + goto success; | ||
| 1180 | + else | ||
| 1181 | + /* Returns just this word match. */ | ||
| 1182 | + goto success_in_beg_and_len; | ||
| 1183 | + } | ||
| 1184 | + if (len > 0) | ||
| 1185 | + { | ||
| 1186 | + /* Try a shorter length anchored at the same place. */ | ||
| 1187 | + --len; | ||
| 1188 | + offset = kwsexec (kwset, beg, len, &kwsmatch); | ||
| 1189 | + | ||
| 1190 | + if (offset == -1) | ||
| 1191 | + goto next_char; /* Try a different anchor. */ | ||
| 1192 | +#ifdef MBS_SUPPORT | ||
| 1193 | + if (mb_cur_max > 1 && !using_utf8) | ||
| 1194 | + { | ||
| 1195 | + size_t bytes_left = offset; | ||
| 1196 | + while (bytes_left) | ||
| 1197 | + { | ||
| 1198 | + size_t mlen = mbrlen (beg, bytes_left, &mbs); | ||
| 1199 | + | ||
| 1200 | + last_char = beg; | ||
| 1201 | + if (mlen == (size_t) -1 || mlen == 0) | ||
| 1202 | + { | ||
| 1203 | + /* Incomplete character: treat as single-byte. */ | ||
| 1204 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1205 | + beg++; | ||
| 1206 | + bytes_left--; | ||
| 1207 | + continue; | ||
| 1208 | + } | ||
| 1209 | + | ||
| 1210 | + if (mlen == (size_t) -2) | ||
| 1211 | + { | ||
| 1212 | + /* Offset points inside multibyte character: | ||
| 1213 | + * no good. */ | ||
| 1214 | + break; | ||
| 1215 | + } | ||
| 1216 | + | ||
| 1217 | + beg += mlen; | ||
| 1218 | + bytes_left -= mlen; | ||
| 1219 | + } | ||
| 1220 | + | ||
| 1221 | + if (bytes_left) | ||
| 1222 | + { | ||
| 1223 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1224 | + goto next_char; /* Try a different anchor. */ | ||
| 1225 | + } | ||
| 1226 | + } | ||
| 1227 | + else | ||
| 1228 | +#endif /* MBS_SUPPORT */ | ||
| 1229 | + beg += offset; | ||
| 1230 | +#ifdef MBS_SUPPORT | ||
| 1231 | + /* The string at beg now matches first 3 chars of one of | ||
| 1232 | + the search strings (less if there are shorter search | ||
| 1233 | + strings). See if this is a real match. */ | ||
| 1234 | + if (f_i_multibyte | ||
| 1235 | + && Fimbexec (beg, len - offset, &kwsmatch.size[0], | ||
| 1236 | + exact)) | ||
| 1237 | + goto next_char; | ||
| 1238 | +#endif /* MBS_SUPPORT */ | ||
| 1239 | + len = kwsmatch.size[0]; | ||
| 1240 | + } | ||
| 1241 | + } | ||
| 1242 | + } | ||
| 1243 | else | ||
| 1244 | goto success; | ||
| 1245 | - } | ||
| 1246 | - | ||
| 1247 | +next_char:; | ||
| 1248 | #ifdef MBS_SUPPORT | ||
| 1249 | - if (MB_CUR_MAX > 1) | ||
| 1250 | - free (mb_properties); | ||
| 1251 | + /* Advance to next character. For MB_CUR_MAX == 1 case this is handled | ||
| 1252 | + by ++beg above. */ | ||
| 1253 | + if (mb_cur_max > 1) | ||
| 1254 | + { | ||
| 1255 | + if (using_utf8) | ||
| 1256 | + { | ||
| 1257 | + unsigned char c = *beg; | ||
| 1258 | + if (c >= 0xc2) | ||
| 1259 | + { | ||
| 1260 | + if (c < 0xe0) | ||
| 1261 | + ++beg; | ||
| 1262 | + else if (c < 0xf0) | ||
| 1263 | + beg += 2; | ||
| 1264 | + else if (c < 0xf8) | ||
| 1265 | + beg += 3; | ||
| 1266 | + else if (c < 0xfc) | ||
| 1267 | + beg += 4; | ||
| 1268 | + else if (c < 0xfe) | ||
| 1269 | + beg += 5; | ||
| 1270 | + } | ||
| 1271 | + } | ||
| 1272 | + else | ||
| 1273 | + { | ||
| 1274 | + size_t l = mbrlen (beg, buf + size - beg, &mbs); | ||
| 1275 | + | ||
| 1276 | + last_char = beg; | ||
| 1277 | + if (l + 2 >= 2) | ||
| 1278 | + beg += l - 1; | ||
| 1279 | + else | ||
| 1280 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1281 | + } | ||
| 1282 | + } | ||
| 1283 | #endif /* MBS_SUPPORT */ | ||
| 1284 | + } | ||
| 1285 | + | ||
| 1286 | + failure: | ||
| 1287 | return -1; | ||
| 1288 | |||
| 1289 | success: | ||
| 1290 | +#ifdef MBS_SUPPORT | ||
| 1291 | + if (mb_cur_max > 1 && !using_utf8) | ||
| 1292 | + { | ||
| 1293 | + end = beg + len; | ||
| 1294 | + while (end < buf + size) | ||
| 1295 | + { | ||
| 1296 | + size_t mlen = mbrlen (end, buf + size - end, &mbs); | ||
| 1297 | + if (mlen == (size_t) -1 || mlen == (size_t) -2 || mlen == 0) | ||
| 1298 | + { | ||
| 1299 | + memset (&mbs, '\0', sizeof (mbstate_t)); | ||
| 1300 | + mlen = 1; | ||
| 1301 | + } | ||
| 1302 | + if (mlen == 1 && *end == eol) | ||
| 1303 | + break; | ||
| 1304 | + | ||
| 1305 | + end += mlen; | ||
| 1306 | + } | ||
| 1307 | + } | ||
| 1308 | + else | ||
| 1309 | +#endif /* MBS_SUPPORT */ | ||
| 1310 | end = memchr (beg + len, eol, (buf + size) - (beg + len)); | ||
| 1311 | + | ||
| 1312 | end++; | ||
| 1313 | while (buf < beg && beg[-1] != eol) | ||
| 1314 | --beg; | ||
| 1315 | - *match_size = end - beg; | ||
| 1316 | -#ifdef MBS_SUPPORT | ||
| 1317 | - if (MB_CUR_MAX > 1) | ||
| 1318 | - free (mb_properties); | ||
| 1319 | -#endif /* MBS_SUPPORT */ | ||
| 1320 | + len = end - beg; | ||
| 1321 | + /* FALLTHROUGH */ | ||
| 1322 | + | ||
| 1323 | + success_in_beg_and_len: | ||
| 1324 | + *match_size = len; | ||
| 1325 | return beg - buf; | ||
| 1326 | } | ||
| 1327 | |||
| 1328 | @@ -701,8 +1267,9 @@ Pexecute (char const *buf, size_t size, size_t *match_size, int exact) | ||
| 1329 | char eol = eolbyte; | ||
| 1330 | if (!exact) | ||
| 1331 | { | ||
| 1332 | - end = memchr (end, eol, buflim - end); | ||
| 1333 | - end++; | ||
| 1334 | + while (end < buflim) | ||
| 1335 | + if (*end++ == eol) | ||
| 1336 | + break; | ||
| 1337 | while (buf < beg && beg[-1] != eol) | ||
| 1338 | --beg; | ||
| 1339 | } | ||
| 1340 | -- | ||
| 1341 | 1.8.4.2 | ||
| 1342 | |||
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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 4 | |||
| 5 | this patch avoids these kinds of errors: | ||
| 6 | |||
| 7 | | configure.in:33: error: automatic de-ANSI-fication support has been removed | ||
| 8 | | /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... | ||
| 9 | | configure.in:33: the top level | ||
| 10 | | autom4te: m4 failed with exit status: 1 | ||
| 11 | ... | ||
| 12 | | lib/Makefile.am:2: error: automatic de-ANSI-fication support has been removed | ||
| 13 | | src/Makefile.am:2: error: automatic de-ANSI-fication support has been removed | ||
| 14 | | autoreconf: automake failed with exit status: 1 | ||
| 15 | |||
| 16 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 17 | 2012/05/04 | ||
| 18 | |||
| 19 | Index: grep-2.5.1a/configure.in | ||
| 20 | =================================================================== | ||
| 21 | --- grep-2.5.1a.orig/configure.in | ||
| 22 | +++ grep-2.5.1a/configure.in | ||
| 23 | @@ -30,7 +30,6 @@ AC_PROG_RANLIB | ||
| 24 | |||
| 25 | dnl Checks for typedefs, structures, and compiler characteristics. | ||
| 26 | AC_SYS_LARGEFILE | ||
| 27 | -AM_C_PROTOTYPES | ||
| 28 | AC_TYPE_SIZE_T | ||
| 29 | AC_CHECK_TYPE(ssize_t, int) | ||
| 30 | AC_C_CONST | ||
| 31 | Index: grep-2.5.1a/lib/Makefile.am | ||
| 32 | =================================================================== | ||
| 33 | --- grep-2.5.1a.orig/lib/Makefile.am | ||
| 34 | +++ grep-2.5.1a/lib/Makefile.am | ||
| 35 | @@ -1,5 +1,5 @@ | ||
| 36 | # | ||
| 37 | -AUTOMAKE_OPTIONS = ../src/ansi2knr | ||
| 38 | +AUTOMAKE_OPTIONS = | ||
| 39 | |||
| 40 | SUBDIRS = posix | ||
| 41 | |||
| 42 | Index: grep-2.5.1a/src/Makefile.am | ||
| 43 | =================================================================== | ||
| 44 | --- grep-2.5.1a.orig/src/Makefile.am | ||
| 45 | +++ grep-2.5.1a/src/Makefile.am | ||
| 46 | @@ -1,5 +1,5 @@ | ||
| 47 | ## Process this file with automake to create Makefile.in | ||
| 48 | -AUTOMAKE_OPTIONS = ansi2knr no-dependencies | ||
| 49 | +AUTOMAKE_OPTIONS = no-dependencies | ||
| 50 | |||
| 51 | LN = ln | ||
| 52 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | # Fix to use mempcpy instead of __mempcpy. This is needed for uclibc which | ||
| 4 | # doesn't define __mempcpy, only mempcpy. Since both uclibc and glibc have | ||
| 5 | # mempcpy, we'll just use that instead. | ||
| 6 | # Patch source: OpenEmbedded | ||
| 7 | |||
| 8 | Index: grep-2.5.1/intl/localealias.c | ||
| 9 | =================================================================== | ||
| 10 | --- grep-2.5.1.orig/intl/localealias.c 2002-03-14 00:39:06.000000000 +1100 | ||
| 11 | +++ grep-2.5.1/intl/localealias.c 2007-05-17 13:53:58.000000000 +1000 | ||
| 12 | @@ -65,7 +65,7 @@ | ||
| 13 | # define strcasecmp __strcasecmp | ||
| 14 | |||
| 15 | # ifndef mempcpy | ||
| 16 | -# define mempcpy __mempcpy | ||
| 17 | +# error "mempcpy not detected" | ||
| 18 | # endif | ||
| 19 | # define HAVE_MEMPCPY 1 | ||
| 20 | # define HAVE___FSETLOCKING 1 | ||
| 21 | Index: grep-2.5.1/lib/getopt.c | ||
| 22 | =================================================================== | ||
| 23 | --- grep-2.5.1.orig/lib/getopt.c 2001-03-04 16:33:12.000000000 +1100 | ||
| 24 | +++ grep-2.5.1/lib/getopt.c 2007-05-17 13:51:44.000000000 +1000 | ||
| 25 | @@ -326,7 +326,7 @@ | ||
| 26 | nonoption_flags_len = nonoption_flags_max_len = 0; | ||
| 27 | else | ||
| 28 | { | ||
| 29 | - memset (__mempcpy (new_str, __getopt_nonoption_flags, | ||
| 30 | + memset (mempcpy (new_str, __getopt_nonoption_flags, | ||
| 31 | nonoption_flags_max_len), | ||
| 32 | '\0', top + 1 - nonoption_flags_max_len); | ||
| 33 | nonoption_flags_max_len = top + 1; | ||
| 34 | @@ -437,7 +437,7 @@ | ||
| 35 | if (__getopt_nonoption_flags == NULL) | ||
| 36 | nonoption_flags_max_len = -1; | ||
| 37 | else | ||
| 38 | - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), | ||
| 39 | + memset (mempcpy (__getopt_nonoption_flags, orig_str, len), | ||
| 40 | '\0', nonoption_flags_max_len - len); | ||
| 41 | } | ||
| 42 | } | ||
| 43 | Index: grep-2.5.1/lib/regex.c | ||
| 44 | =================================================================== | ||
| 45 | --- grep-2.5.1.orig/lib/regex.c 2001-04-03 04:04:45.000000000 +1000 | ||
| 46 | +++ grep-2.5.1/lib/regex.c 2007-05-17 13:51:48.000000000 +1000 | ||
| 47 | @@ -7842,7 +7842,7 @@ | ||
| 48 | if (msg_size > errbuf_size) | ||
| 49 | { | ||
| 50 | #if defined HAVE_MEMPCPY || defined _LIBC | ||
| 51 | - *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; | ||
| 52 | + *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; | ||
| 53 | #else | ||
| 54 | memcpy (errbuf, msg, errbuf_size - 1); | ||
| 55 | 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 @@ | |||
| 1 | SUMMARY = "Pattern matching utilities" | ||
| 2 | DESCRIPTION = "The GNU versions of commonly used grep utilities. The grep command searches one or more input \ | ||
| 3 | files for lines containing a match to a specified pattern." | ||
| 4 | SECTION = "console/utils" | ||
| 5 | LICENSE = "GPLv2" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" | ||
| 7 | |||
| 8 | PR = "r2" | ||
| 9 | |||
| 10 | SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \ | ||
| 11 | file://uclibc-fix.patch \ | ||
| 12 | file://grep_fix_for_automake-1.12.patch \ | ||
| 13 | file://gettext.patch \ | ||
| 14 | file://fix64-int-to-pointer.patch \ | ||
| 15 | file://Makevars \ | ||
| 16 | file://grep-CVE-2012-5667.patch \ | ||
| 17 | file://fix-for-texinfo-5.1.patch \ | ||
| 18 | file://grep-egrep-fgrep-Fix-LSB-NG-cases.patch \ | ||
| 19 | " | ||
| 20 | |||
| 21 | SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" | ||
| 22 | SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132" | ||
| 23 | |||
| 24 | inherit autotools gettext texinfo | ||
| 25 | |||
| 26 | EXTRA_OECONF_INCLUDED_REGEX = "--without-included-regex" | ||
| 27 | EXTRA_OECONF_INCLUDED_REGEX_libc-musl = "--with-included-regex" | ||
| 28 | |||
| 29 | EXTRA_OECONF = "--disable-perl-regexp \ | ||
| 30 | ${EXTRA_OECONF_INCLUDED_REGEX}" | ||
| 31 | |||
| 32 | CFLAGS += "-D PROTOTYPES" | ||
| 33 | do_configure_prepend () { | ||
| 34 | rm -f ${S}/m4/init.m4 | ||
| 35 | cp -f ${WORKDIR}/Makevars ${S}/po/ | ||
| 36 | } | ||
| 37 | |||
| 38 | do_install () { | ||
| 39 | autotools_do_install | ||
| 40 | install -d ${D}${base_bindir} | ||
| 41 | mv ${D}${bindir}/grep ${D}${base_bindir}/grep | ||
| 42 | mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep | ||
| 43 | mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep | ||
| 44 | rmdir ${D}${bindir}/ | ||
| 45 | } | ||
| 46 | |||
| 47 | inherit update-alternatives | ||
| 48 | |||
| 49 | ALTERNATIVE_PRIORITY = "100" | ||
| 50 | |||
| 51 | ALTERNATIVE_${PN} = "grep egrep fgrep" | ||
| 52 | ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" | ||
| 53 | ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" | ||
| 54 | ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" | ||
| 55 | |||
| 56 | 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 @@ | |||
| 1 | From fc289ab69c6d7e4ad489172509a85f68afec43ea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Fri, 29 Jul 2016 03:19:39 -0400 | ||
| 4 | Subject: [PATCH] fix narrowing conversion error | ||
| 5 | |||
| 6 | While gcc6 used, build old groff (for anti-GPLv3 reasons) failed: | ||
| 7 | ..... | ||
| 8 | |groff-1.18.1.4/src/devices/grolbp/charset.h:69:1: error: narrowing | ||
| 9 | conversion of '130' from 'int' to 'char' inside { } [-Wnarrowing] | ||
| 10 | ...... | ||
| 11 | |||
| 12 | In upstream git://git.savannah.gnu.org/groff.git, | ||
| 13 | the following commit fix the issue, but the license is GPLV3, | ||
| 14 | we could not backport it to the old groff which license is GPLV2. | ||
| 15 | ... | ||
| 16 | commit d180038ae0da19655bc2760ae2043efa0550a76c | ||
| 17 | Author: Werner LEMBERG <wl@gnu.org> | ||
| 18 | Date: Wed Apr 16 21:11:07 2003 +0000 | ||
| 19 | * src/devices/grolbp/charset.h (symset): Use `unsigned char'. | ||
| 20 | ... | ||
| 21 | |||
| 22 | We use another different way to fix the issue. | ||
| 23 | |||
| 24 | Upstream-Status: Pending | ||
| 25 | |||
| 26 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 27 | --- | ||
| 28 | src/devices/grolbp/charset.h | 2 +- | ||
| 29 | src/devices/grolbp/lbp.cc | 4 ++-- | ||
| 30 | 2 files changed, 3 insertions(+), 3 deletions(-) | ||
| 31 | |||
| 32 | diff --git a/src/devices/grolbp/charset.h b/src/devices/grolbp/charset.h | ||
| 33 | index adc76f4..e9c6c5b 100644 | ||
| 34 | --- a/src/devices/grolbp/charset.h | ||
| 35 | +++ b/src/devices/grolbp/charset.h | ||
| 36 | @@ -1,6 +1,6 @@ | ||
| 37 | // Definition of the WP54 character set | ||
| 38 | |||
| 39 | -char symset[] = { | ||
| 40 | +int symset[] = { | ||
| 41 | 0x57,0x50,0x35,0x34,0x00,0x41,0x76,0x61,0x6e,0x74,0x47,0x61, | ||
| 42 | 0x72,0x64,0x65,0x2d,0x42,0x6f,0x6f,0x6b,0x00,0x41,0x76, | ||
| 43 | 0x61,0x6e,0x74,0x47,0x61,0x72,0x64,0x65,0x2d,0x44,0x65, | ||
| 44 | diff --git a/src/devices/grolbp/lbp.cc b/src/devices/grolbp/lbp.cc | ||
| 45 | index 76db32a..00d4ca7 100644 | ||
| 46 | --- a/src/devices/grolbp/lbp.cc | ||
| 47 | +++ b/src/devices/grolbp/lbp.cc | ||
| 48 | @@ -152,8 +152,8 @@ static void wp54charset() | ||
| 49 | { | ||
| 50 | unsigned int i; | ||
| 51 | lbpputs("\033[714;100;29;0;32;120.}"); | ||
| 52 | - for (i = 0; i < sizeof(symset); i++) | ||
| 53 | - lbpputc(symset[i]); | ||
| 54 | + for (i = 0; i < sizeof(symset)/sizeof(symset[0]); i++) | ||
| 55 | + lbpputc((char)symset[i]&0xFF); | ||
| 56 | lbpputs("\033[100;0 D"); | ||
| 57 | return; | ||
| 58 | } | ||
| 59 | -- | ||
| 60 | 2.8.1 | ||
| 61 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [embedded] | ||
| 2 | |||
| 3 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
| 4 | --- | ||
| 5 | Makefile.sub | 10 +++++----- | ||
| 6 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
| 7 | |||
| 8 | --- a/contrib/groffer/Makefile.sub | ||
| 9 | +++ b/contrib/groffer/Makefile.sub | ||
| 10 | @@ -38,16 +38,16 @@ groffer: groffer.sh groffer2.sh version. | ||
| 11 | $(RM) $@; | ||
| 12 | sed \ | ||
| 13 | -e "s|@g@|$(g)|g" \ | ||
| 14 | - -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \ | ||
| 15 | + -e "s|@BINDIR@|$(bindir)|g" \ | ||
| 16 | -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \ | ||
| 17 | -e "s|@VERSION@|$(version)$(revision)|g" \ | ||
| 18 | $(srcdir)/groffer.sh >$@; | ||
| 19 | chmod +x $@ | ||
| 20 | |||
| 21 | install_data: groffer | ||
| 22 | - -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir) | ||
| 23 | - -$(RM) $(DESTDIR)$(bindir)/groffer | ||
| 24 | - $(INSTALL_SCRIPT) groffer $(DESTDIR)$(bindir)/groffer | ||
| 25 | + -test -d $(bindir) || $(mkinstalldirs) $(bindir) | ||
| 26 | + -$(RM) $(bindir)/groffer | ||
| 27 | + $(INSTALL_SCRIPT) groffer $(bindir)/groffer | ||
| 28 | -test -d $(DESTDIR)$(libdir)/groff/groffer || \ | ||
| 29 | $(mkinstalldirs) $(DESTDIR)$(libdir)/groff/groffer | ||
| 30 | -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh | ||
| 31 | @@ -58,7 +58,7 @@ install_data: groffer | ||
| 32 | $(DESTDIR)$(libdir)/groff/groffer/version.sh | ||
| 33 | |||
| 34 | uninstall_sub: | ||
| 35 | - -$(RM) $(DESTDIR)$(bindir)/groffer | ||
| 36 | + -$(RM) $(bindir)/groffer | ||
| 37 | -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh | ||
| 38 | -$(RM) $(DESTDIR)$(libdir)/groff/groffer/version.sh | ||
| 39 | -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 @@ | |||
| 1 | |||
| 2 | Upstream-Status: Inappropriate [embedded] | ||
| 3 | |||
| 4 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 5 | --- | ||
| 6 | groff-1.18.1.4/Makefile.in | 7 +------ | ||
| 7 | 1 file changed, 1 insertion(+), 6 deletions(-) | ||
| 8 | |||
| 9 | --- a/Makefile.in | ||
| 10 | +++ b/Makefile.in | ||
| 11 | @@ -460,27 +460,22 @@ OTHERDIRS=\ | ||
| 12 | src/roff/grog \ | ||
| 13 | src/roff/nroff \ | ||
| 14 | contrib/mm \ | ||
| 15 | contrib/pic2graph \ | ||
| 16 | contrib/eqn2graph \ | ||
| 17 | - contrib/groffer \ | ||
| 18 | - contrib/mom \ | ||
| 19 | - doc | ||
| 20 | + contrib/groffer | ||
| 21 | ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \ | ||
| 22 | $(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS) | ||
| 23 | EXTRADIRS=\ | ||
| 24 | font/devps/generate \ | ||
| 25 | font/devdvi/generate \ | ||
| 26 | font/devlj4/generate \ | ||
| 27 | - src/xditview \ | ||
| 28 | doc | ||
| 29 | NOMAKEDIRS=\ | ||
| 30 | arch/djgpp \ | ||
| 31 | contrib/mm/examples \ | ||
| 32 | contrib/mm/mm \ | ||
| 33 | - contrib/mom/examples \ | ||
| 34 | - contrib/mom/momdoc \ | ||
| 35 | src/libs/snprintf | ||
| 36 | DISTDIRS=\ | ||
| 37 | $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDEVDIRS) \ | ||
| 38 | $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS) | ||
| 39 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [embedded] | ||
| 2 | |||
| 3 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 4 | |||
| 5 | Index: groff-1.18.1.4/tmac/man.local | ||
| 6 | =================================================================== | ||
| 7 | --- groff-1.18.1.4.orig/tmac/man.local 2000-10-26 22:15:17.000000000 +0800 | ||
| 8 | +++ groff-1.18.1.4/tmac/man.local 2010-08-24 14:17:52.070006664 +0800 | ||
| 9 | @@ -1,2 +1,27 @@ | ||
| 10 | .\" This file is loaded after an-old.tmac. | ||
| 11 | .\" Put any local modifications to an-old.tmac here. | ||
| 12 | +. | ||
| 13 | +.if n \{\ | ||
| 14 | +. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other | ||
| 15 | +. \" than utf8. | ||
| 16 | +. if !'\*[.T]'utf8' \ | ||
| 17 | +. tr \[oq]' | ||
| 18 | +. | ||
| 19 | +. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by | ||
| 20 | +. \" grotty. | ||
| 21 | +. if '\V[GROFF_SGR]'' \ | ||
| 22 | +. output x X tty: sgr 0 | ||
| 23 | +. | ||
| 24 | +. \" Debian: Map \- to the Unicode HYPHEN-MINUS character, to make | ||
| 25 | +. \" searching in man pages easier. | ||
| 26 | +. if '\*[.T]'utf8' \ | ||
| 27 | +. char \- \N'45' | ||
| 28 | +. | ||
| 29 | +. \" Debian: Many UTF-8 man pages use "-" instead of "\-" for dashes such | ||
| 30 | +. \" as those in command-line options. This is a bug in those pages, but | ||
| 31 | +. \" too many fonts are missing the Unicode HYPHEN character, so we render | ||
| 32 | +. \" this as the ASCII-compatible HYPHEN-MINUS instead. | ||
| 33 | +. if '\*[.T]'utf8' \ | ||
| 34 | +. char - \N'45' | ||
| 35 | +.\} | ||
| 36 | + | ||
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 @@ | |||
| 1 | |||
| 2 | Upstream-Status: Inappropriate [embedded] | ||
| 3 | |||
| 4 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 5 | |||
| 6 | Index: groff-1.18.1.4/tmac/mdoc.local | ||
| 7 | =================================================================== | ||
| 8 | --- groff-1.18.1.4.orig/tmac/mdoc.local 2001-03-23 08:17:51.000000000 +0800 | ||
| 9 | +++ groff-1.18.1.4/tmac/mdoc.local 2010-08-24 14:20:22.014006846 +0800 | ||
| 10 | @@ -1,2 +1,26 @@ | ||
| 11 | .\" This file is loaded after doc.tmac. | ||
| 12 | .\" Put any local modifications to doc.tmac here. | ||
| 13 | +. | ||
| 14 | +.if n \{\ | ||
| 15 | +. \" Debian: Map \(oq to ' rather than ` in nroff mode for devices other | ||
| 16 | +. \" than utf8. | ||
| 17 | +. if !'\*[.T]'utf8' \ | ||
| 18 | +. tr \[oq]' | ||
| 19 | +. | ||
| 20 | +. \" Debian: Disable the use of SGR (ANSI colour) escape sequences by | ||
| 21 | +. \" grotty. | ||
| 22 | +. if '\V[GROFF_SGR]'' \ | ||
| 23 | +. output x X tty: sgr 0 | ||
| 24 | +. | ||
| 25 | +. \" Debian: Map \- to the Unicode HYPHEN-MINUS character, to make | ||
| 26 | +. \" searching in man pages easier. | ||
| 27 | +. if '\*[.T]'utf8' \ | ||
| 28 | +. char \- \N'45' | ||
| 29 | +. | ||
| 30 | +. \" Debian: Many UTF-8 man pages use "-" instead of "\-" for dashes such | ||
| 31 | +. \" as those in command-line options. This is a bug in those pages, but | ||
| 32 | +. \" too many fonts are missing the Unicode HYPHEN character, so we render | ||
| 33 | +. \" this as the ASCII-compatible HYPHEN-MINUS instead. | ||
| 34 | +. if '\*[.T]'utf8' \ | ||
| 35 | +. char - \N'45' | ||
| 36 | +.\} | ||
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 @@ | |||
| 1 | SUMMARY = "GNU Troff software" | ||
| 2 | DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \ | ||
| 3 | formatting commands and produces formatted output." | ||
| 4 | SECTION = "console/utils" | ||
| 5 | HOMEPAGE = "http://www.gnu.org/software/groff/" | ||
| 6 | LICENSE = "GPLv2" | ||
| 7 | PR = "r1" | ||
| 8 | |||
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=e43fc16fccd8519fba405f0a0ff6e8a3" | ||
| 10 | |||
| 11 | SRC_URI = "${GNU_MIRROR}/${BPN}/old/${BP}.tar.gz \ | ||
| 12 | file://groff-1.18.1.4-remove-mom.patch;striplevel=1 \ | ||
| 13 | file://man-local.patch \ | ||
| 14 | file://mdoc-local.patch \ | ||
| 15 | file://groff-1.18.1.4-fix-bindir.patch \ | ||
| 16 | file://fix-narrowing-conversion-error.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | inherit autotools texinfo | ||
| 20 | |||
| 21 | 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}" | ||
| 22 | |||
| 23 | SRC_URI[md5sum] = "ceecb81533936d251ed015f40e5f7287" | ||
| 24 | SRC_URI[sha256sum] = "ff3c7c3b6cae5e8cc5062a144de5eff0022e8e970e1774529cc2d5dde46ce50d" | ||
| 25 | PARALLEL_MAKE = "" | ||
| 26 | |||
| 27 | do_configure (){ | ||
| 28 | oe_runconf | ||
| 29 | } | ||
| 30 | |||
| 31 | do_install_append() { | ||
| 32 | # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location | ||
| 33 | # for target as /usr/bin/perl, so fix it to /usr/bin/perl. | ||
| 34 | for i in afmtodit mmroff; do | ||
| 35 | if [ -f ${D}${bindir}/$i ]; then | ||
| 36 | sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i | ||
| 37 | fi | ||
| 38 | done | ||
| 39 | |||
| 40 | mkdir -p ${D}${sysconfdir}/groff | ||
| 41 | cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${sysconfdir}/groff/ | ||
| 42 | cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${datadir}/groff/${PV}/tmac/ | ||
| 43 | } | ||
| 44 | |||
| 45 | pkg_postinst_${PN}() { | ||
| 46 | ln -s tbl $D${bindir}/gtbl | ||
| 47 | echo "export GROFF_FONT_PATH=/usr/share/groff/${PV}/font" >> $D${sysconfdir}/profile | ||
| 48 | echo "export GROFF_TMAC_PATH=/usr/share/groff/${PV}/tmac" >> $D${sysconfdir}/profile | ||
| 49 | } | ||
| 50 | |||
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 @@ | |||
| 1 | gzip uses gnulib, whose header conflict with glibc. This patch rename some function to avoid conflict. | ||
| 2 | |||
| 3 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [licensing] | ||
| 6 | |||
| 7 | Index: gzip-1.3.12/gzip.c | ||
| 8 | =================================================================== | ||
| 9 | --- gzip-1.3.12.orig/gzip.c 2010-08-13 10:29:38.000000000 +0800 | ||
| 10 | +++ gzip-1.3.12/gzip.c 2010-08-13 10:29:44.000000000 +0800 | ||
| 11 | @@ -1637,7 +1637,7 @@ | ||
| 12 | } | ||
| 13 | } | ||
| 14 | |||
| 15 | - if (futimens (ofd, ofname, timespec) != 0) | ||
| 16 | + if (futimens_gnulib (ofd, ofname, timespec) != 0) | ||
| 17 | { | ||
| 18 | int e = errno; | ||
| 19 | WARN ((stderr, "%s: ", program_name)); | ||
| 20 | Index: gzip-1.3.12/lib/utimens.c | ||
| 21 | =================================================================== | ||
| 22 | --- gzip-1.3.12.orig/lib/utimens.c 2010-08-13 10:33:47.000000000 +0800 | ||
| 23 | +++ gzip-1.3.12/lib/utimens.c 2010-08-13 10:34:02.000000000 +0800 | ||
| 24 | @@ -75,7 +75,7 @@ | ||
| 25 | Return 0 on success, -1 (setting errno) on failure. */ | ||
| 26 | |||
| 27 | int | ||
| 28 | -futimens (int fd ATTRIBUTE_UNUSED, | ||
| 29 | +futimens_gnulib (int fd ATTRIBUTE_UNUSED, | ||
| 30 | char const *file, struct timespec const timespec[2]) | ||
| 31 | { | ||
| 32 | /* Some Linux-based NFS clients are buggy, and mishandle time stamps | ||
| 33 | @@ -185,5 +185,5 @@ | ||
| 34 | int | ||
| 35 | utimens (char const *file, struct timespec const timespec[2]) | ||
| 36 | { | ||
| 37 | - return futimens (-1, file, timespec); | ||
| 38 | + return futimens_gnulib (-1, file, timespec); | ||
| 39 | } | ||
| 40 | Index: gzip-1.3.12/lib/utimens.h | ||
| 41 | =================================================================== | ||
| 42 | --- gzip-1.3.12.orig/lib/utimens.h 2010-08-13 10:14:57.000000000 +0800 | ||
| 43 | +++ gzip-1.3.12/lib/utimens.h 2010-08-13 10:21:45.000000000 +0800 | ||
| 44 | @@ -1,3 +1,3 @@ | ||
| 45 | #include <time.h> | ||
| 46 | -int futimens (int, char const *, struct timespec const [2]); | ||
| 47 | +int futimens_gnulib (int, char const *, struct timespec const [2]); | ||
| 48 | 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 @@ | |||
| 1 | remove AC_USE_SYSTEM_EXTENSIONS to fix the autoconf error "AC_REQUIRE: circular | ||
| 2 | dependency of AC_GNU_SOURCE" | ||
| 3 | |||
| 4 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [licensing] | ||
| 7 | |||
| 8 | Index: gzip-1.3.12/m4/extensions.m4 | ||
| 9 | =================================================================== | ||
| 10 | --- gzip-1.3.12.orig/m4/extensions.m4 2010-08-16 14:18:16.000000000 +0800 | ||
| 11 | +++ gzip-1.3.12/m4/extensions.m4 2010-08-16 14:21:54.000000000 +0800 | ||
| 12 | @@ -12,44 +12,6 @@ | ||
| 13 | # enough in this area it's likely we'll need to redefine | ||
| 14 | # AC_USE_SYSTEM_EXTENSIONS for quite some time. | ||
| 15 | |||
| 16 | -# AC_USE_SYSTEM_EXTENSIONS | ||
| 17 | -# ------------------------ | ||
| 18 | -# Enable extensions on systems that normally disable them, | ||
| 19 | -# typically due to standards-conformance issues. | ||
| 20 | -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 21 | -[ | ||
| 22 | - AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 23 | - AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
| 24 | - | ||
| 25 | - AC_REQUIRE([AC_GNU_SOURCE]) | ||
| 26 | - AC_REQUIRE([AC_AIX]) | ||
| 27 | - AC_REQUIRE([AC_MINIX]) | ||
| 28 | - | ||
| 29 | - AH_VERBATIM([__EXTENSIONS__], | ||
| 30 | -[/* Enable extensions on Solaris. */ | ||
| 31 | -#ifndef __EXTENSIONS__ | ||
| 32 | -# undef __EXTENSIONS__ | ||
| 33 | -#endif | ||
| 34 | -#ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 35 | -# undef _POSIX_PTHREAD_SEMANTICS | ||
| 36 | -#endif | ||
| 37 | -#ifndef _TANDEM_SOURCE | ||
| 38 | -# undef _TANDEM_SOURCE | ||
| 39 | -#endif]) | ||
| 40 | - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | ||
| 41 | - [ac_cv_safe_to_define___extensions__], | ||
| 42 | - [AC_COMPILE_IFELSE( | ||
| 43 | - [AC_LANG_PROGRAM([ | ||
| 44 | -# define __EXTENSIONS__ 1 | ||
| 45 | - AC_INCLUDES_DEFAULT])], | ||
| 46 | - [ac_cv_safe_to_define___extensions__=yes], | ||
| 47 | - [ac_cv_safe_to_define___extensions__=no])]) | ||
| 48 | - test $ac_cv_safe_to_define___extensions__ = yes && | ||
| 49 | - AC_DEFINE([__EXTENSIONS__]) | ||
| 50 | - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 51 | - AC_DEFINE([_TANDEM_SOURCE]) | ||
| 52 | -]) | ||
| 53 | - | ||
| 54 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 55 | # ------------------------ | ||
| 56 | # 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 @@ | |||
| 1 | require gzip.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
| 5 | file://gzip.h;endline=22;md5=c0934ad1900d927f86556153d4c76d23 \ | ||
| 6 | file://lzw.h;endline=19;md5=c273e09a02edd9801cc74d39683049e9 " | ||
| 7 | |||
| 8 | SRC_URI = "${GNU_MIRROR}/gzip/gzip-${PV}.tar.gz \ | ||
| 9 | file://m4-extensions-fix.patch \ | ||
| 10 | file://dup-def-fix.patch" | ||
| 11 | |||
| 12 | SRC_URI[md5sum] = "b5bac2d21840ae077e0217bc5e4845b1" | ||
| 13 | SRC_URI[sha256sum] = "3f565be05f7f3d1aff117c030eb7c738300510b7d098cedea796ca8e4cd587af" | ||
| 14 | |||
| 15 | 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 @@ | |||
| 1 | SUMMARY = "Internationalized Domain Name support library" | ||
| 2 | DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." | ||
| 3 | HOMEPAGE = "http://www.gnu.org/software/libidn/" | ||
| 4 | SECTION = "libs" | ||
| 5 | LICENSE = "LGPLv2.1+ & GPLv2+" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ | ||
| 7 | file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
| 8 | file://lib/idna.h;beginline=6;endline=18;md5=1336e848ca7b8e25767c3c7e8fa38a89 \ | ||
| 9 | file://src/idn.c;beginline=6;endline=18;md5=56c89e359652a71cda128d75f0ffdac4" | ||
| 10 | PR = "r1" | ||
| 11 | |||
| 12 | inherit pkgconfig autotools gettext texinfo | ||
| 13 | |||
| 14 | SRC_URI = "http://alpha.gnu.org/gnu/libidn/${BPN}-${PV}.tar.gz" | ||
| 15 | |||
| 16 | SRC_URI[md5sum] = "040f012a45feb56168853998bb87ad4d" | ||
| 17 | SRC_URI[sha256sum] = "98910c2ad664bdf4eed2c2fff88e24f8882636ec9d26669366ff03b469c05ae3" | ||
| 18 | |||
| 19 | do_configure_prepend() { | ||
| 20 | # this version of libidn copies AC_USE_SYSTEM_EXTENSIONS from | ||
| 21 | # autoconf CVS because atm the autoconf it uses is a bit old | ||
| 22 | # now with cross autotool, that macro is already there and this | ||
| 23 | # local definition causes circular dependency. Actually AC_GNU_SOURCE | ||
| 24 | # is identical to AC_USE_SYSTEM_EXTENSIONS. So remove all local | ||
| 25 | # references to the latter here. | ||
| 26 | sed -i -e "/AC_REQUIRE(\[gl_USE_SYSTEM_EXTENSIONS/d" ${S}/lib/gl/m4/gnulib-comp.m4 | ||
| 27 | rm -f ${S}/lib/gl/m4/extensions.m4 | ||
| 28 | } | ||
| 29 | |||
| 30 | do_install_append() { | ||
| 31 | rm -rf ${D}${libdir}/Libidn.dll | ||
| 32 | rm -rf ${D}${datadir}/emacs | ||
| 33 | } | ||
| 34 | |||
| 35 | BBCLASSEXTEND = "native nativesdk" | ||
| 36 | |||
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 @@ | |||
| 1 | Fix build with musl by ensuring CTRL is defined. | ||
| 2 | |||
| 3 | musl does not define CTRL in <termios.h>, we could include <sys/ttydefaults.h> | ||
| 4 | explicitly but it's easier just to ensure CTRL is defined. | ||
| 5 | |||
| 6 | This patch is taken from Sabotage Linux, the license statement for patches and | ||
| 7 | build scripts in Sabotage Linux says: | ||
| 8 | |||
| 9 | To the extent possible under law, Christian Neukirchen has waived | ||
| 10 | all copyright and related or neighboring rights to this work. | ||
| 11 | |||
| 12 | http://creativecommons.org/publicdomain/zero/1.0/ | ||
| 13 | |||
| 14 | Therefore this should be good to include in OpenEmbedded. | ||
| 15 | |||
| 16 | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> | ||
| 17 | |||
| 18 | Upstream-Status: Accepted (should be included in v4.8.14) | ||
| 19 | |||
| 20 | diff -u mc-4.8.1.7.org/lib/tty/tty-ncurses.c mc-4.8.1.7/lib/tty/tty-ncurses.c | ||
| 21 | --- mc-4.8.1.7.org/lib/tty/tty-ncurses.c | ||
| 22 | +++ mc-4.8.1.7/lib/tty/tty-ncurses.c | ||
| 23 | @@ -65,7 +65,7 @@ | ||
| 24 | |||
| 25 | /*** file scope macro definitions ****************************************************************/ | ||
| 26 | |||
| 27 | -#if defined(_AIX) && !defined(CTRL) | ||
| 28 | +#if !defined(CTRL) | ||
| 29 | #define CTRL(x) ((x) & 0x1f) | ||
| 30 | #endif | ||
| 31 | |||
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 @@ | |||
| 1 | SUMMARY = "Midnight Commander is an ncurses based file manager" | ||
| 2 | HOMEPAGE = "http://www.midnight-commander.org/" | ||
| 3 | LICENSE = "GPLv2" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
| 5 | SECTION = "console/utils" | ||
| 6 | DEPENDS = "ncurses glib-2.0" | ||
| 7 | RDEPENDS_${PN} = "ncurses-terminfo" | ||
| 8 | |||
| 9 | PR = "r3" | ||
| 10 | |||
| 11 | SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ | ||
| 12 | file://mc-CTRL.patch \ | ||
| 13 | " | ||
| 14 | |||
| 15 | SRC_URI[md5sum] = "bdae966244496cd4f6d282d80c9cf3c6" | ||
| 16 | SRC_URI[sha256sum] = "a68338862bb30017eb65ed569a58e80ab66ae8cef11c886440c9e9f4d1efc6ab" | ||
| 17 | |||
| 18 | inherit autotools gettext pkgconfig | ||
| 19 | |||
| 20 | EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --without-samba" | ||
| 21 | |||
| 22 | do_install_append () { | ||
| 23 | sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/* | ||
| 24 | sed -i -e '1s,#!.*python,#!${bindir}/env python,' ${D}${libexecdir}/mc/extfs.d/* | ||
| 25 | } | ||
| 26 | |||
| 27 | PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers-python ${BPN}-helpers ${BPN}-fish" | ||
| 28 | |||
| 29 | SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts" | ||
| 30 | FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \ | ||
| 31 | ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \ | ||
| 32 | ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \ | ||
| 33 | ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \ | ||
| 34 | ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \ | ||
| 35 | ${libexecdir}/mc/extfs.d/uzip" | ||
| 36 | RDEPENDS_${BPN}-helpers-perl = "perl" | ||
| 37 | |||
| 38 | SUMMARY_${BPN}-helpers-python = "Midnight Commander Python-based helper scripts" | ||
| 39 | FILES_${BPN}-helpers-python = "${libexecdir}/mc/extfs.d/s3+ ${libexecdir}/mc/extfs.d/uc1541" | ||
| 40 | RDEPENDS_${BPN}-helpers-python = "python" | ||
| 41 | |||
| 42 | SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts" | ||
| 43 | FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*" | ||
| 44 | |||
| 45 | SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts" | ||
| 46 | FILES_${BPN}-fish = "${libexecdir}/mc/fish" | ||
| 47 | |||
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 @@ | |||
| 1 | # Makefile variables for PO directory in any package using GNU gettext. | ||
| 2 | |||
| 3 | # Usually the message domain is the same as the package name. | ||
| 4 | DOMAIN = $(PACKAGE) | ||
| 5 | |||
| 6 | # These two variables depend on the location of this directory. | ||
| 7 | subdir = po | ||
| 8 | top_builddir = .. | ||
| 9 | |||
| 10 | # These options get passed to xgettext. | ||
| 11 | XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ | ||
| 12 | |||
| 13 | # This is the copyright holder that gets inserted into the header of the | ||
| 14 | # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding | ||
| 15 | # package. (Note that the msgstr strings, extracted from the package's | ||
| 16 | # sources, belong to the copyright holder of the package.) Translators are | ||
| 17 | # expected to transfer the copyright for their translations to this person | ||
| 18 | # or entity, or to disclaim their copyright. The empty string stands for | ||
| 19 | # the public domain; in this case the translators are expected to disclaim | ||
| 20 | # their copyright. | ||
| 21 | COPYRIGHT_HOLDER = Free Software Foundation, Inc. | ||
| 22 | |||
| 23 | # This is the list of locale categories, beyond LC_MESSAGES, for which the | ||
| 24 | # message catalogs shall be used. It is usually empty. | ||
| 25 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Change the getline return type to match its declaration. | ||
| 4 | |||
| 5 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
| 6 | |||
| 7 | diff -urN sed-4.1.2-orig/lib/getline.c sed-4.1.2/lib/getline.c | ||
| 8 | --- sed-4.1.2-orig/lib/getline.c 2010-08-31 08:47:50.070094024 +0800 | ||
| 9 | +++ sed-4.1.2/lib/getline.c 2010-08-31 08:48:50.982178172 +0800 | ||
| 10 | @@ -30,7 +30,7 @@ | ||
| 11 | necessary. Returns the number of characters read (not including the | ||
| 12 | null terminator), or -1 on error or EOF. */ | ||
| 13 | |||
| 14 | -size_t | ||
| 15 | +ssize_t | ||
| 16 | getline (lineptr, n, stream) | ||
| 17 | char **lineptr; | ||
| 18 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | automake-1.12.x has deprecated use of @mkdir_p@, fix the issue by using @MKDIR_P@ instead. | ||
| 4 | |||
| 5 | Avoid this build issue: | ||
| 6 | | make[1]: mkdir_p@: Command not found | ||
| 7 | | make[1]: *** [install-data-yes] Error 127 | ||
| 8 | |||
| 9 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 10 | 2012/07/13 | ||
| 11 | |||
| 12 | Index: sed-4.1.2/intl/Makefile.in | ||
| 13 | =================================================================== | ||
| 14 | --- sed-4.1.2.orig/intl/Makefile.in | ||
| 15 | +++ sed-4.1.2/intl/Makefile.in | ||
| 16 | @@ -40,7 +40,7 @@ subdir = intl | ||
| 17 | INSTALL = @INSTALL@ | ||
| 18 | INSTALL_DATA = @INSTALL_DATA@ | ||
| 19 | mkinstalldirs = $(mkdir_p) | ||
| 20 | -mkdir_p = @mkdir_p@ | ||
| 21 | +mkdir_p = @MKDIR_P@ | ||
| 22 | |||
| 23 | l = @INTL_LIBTOOL_SUFFIX_PREFIX@ | ||
| 24 | |||
| 25 | Index: sed-4.1.2/po/Makefile.in.in | ||
| 26 | =================================================================== | ||
| 27 | --- sed-4.1.2.orig/po/Makefile.in.in | ||
| 28 | +++ sed-4.1.2/po/Makefile.in.in | ||
| 29 | @@ -29,7 +29,7 @@ gettextsrcdir = $(datadir)/gettext/po | ||
| 30 | INSTALL = /srv/home/nitin/builds2/build0/tmp/sysroots/x86_64-linux/usr/bin/install -c | ||
| 31 | INSTALL_DATA = ${INSTALL} -m 644 | ||
| 32 | mkinstalldirs = $(mkdir_p) | ||
| 33 | -mkdir_p = @mkdir_p@ | ||
| 34 | +mkdir_p = @MKDIR_P@ | ||
| 35 | |||
| 36 | CC = i586-poky-linux-gcc -m32 -march=i586 --sysroot=/srv/home/nitin/builds2/build0/tmp/sysroots/qemux86 | ||
| 37 | 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 @@ | |||
| 1 | SUMMARY = "Stream EDitor (text filtering utility)" | ||
| 2 | HOMEPAGE = "http://www.gnu.org/software/sed/" | ||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
| 5 | file://sed/sed.h;beginline=1;endline=17;md5=e00ffd1837f298439a214fd197f6a407" | ||
| 6 | SECTION = "console/utils" | ||
| 7 | PR = "r7" | ||
| 8 | |||
| 9 | SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.gz \ | ||
| 10 | file://fix_return_type.patch \ | ||
| 11 | file://sed-4.1.2_fix_for_automake-1.12.patch \ | ||
| 12 | file://Makevars" | ||
| 13 | |||
| 14 | SRC_URI[md5sum] = "928f0e06422f414091917401f1a834d0" | ||
| 15 | SRC_URI[sha256sum] = "638e837ba765d5da0a30c98b57c2953cecea96827882f594612acace93ceeeab" | ||
| 16 | |||
| 17 | inherit autotools texinfo update-alternatives gettext | ||
| 18 | |||
| 19 | do_configure_prepend () { | ||
| 20 | cp ${WORKDIR}/Makevars ${S}/po/ | ||
| 21 | } | ||
| 22 | |||
| 23 | do_install () { | ||
| 24 | autotools_do_install | ||
| 25 | install -d ${D}${base_bindir} | ||
| 26 | if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then | ||
| 27 | mv ${D}${bindir}/sed ${D}${base_bindir}/sed | ||
| 28 | rmdir ${D}${bindir}/ | ||
| 29 | fi | ||
| 30 | } | ||
| 31 | |||
| 32 | ALTERNATIVE_${PN} = "sed" | ||
| 33 | ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed" | ||
| 34 | ALTERNATIVE_PRIORITY = "100" | ||
| 35 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [bugfix: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624] | ||
| 2 | CVE: CVE-2010-0624 | ||
| 3 | |||
| 4 | This patch avoids heap overflow reported by : | ||
| 5 | http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624 | ||
| 6 | |||
| 7 | This is a clean patch for the GPLv2 tar recipe. | ||
| 8 | |||
| 9 | Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/25 | ||
| 10 | |||
| 11 | Index: tar-1.17/lib/rtapelib.c | ||
| 12 | =================================================================== | ||
| 13 | --- tar-1.17.orig/lib/rtapelib.c | ||
| 14 | +++ tar-1.17/lib/rtapelib.c | ||
| 15 | @@ -570,7 +570,7 @@ rmt_read__ (int handle, char *buffer, si | ||
| 16 | |||
| 17 | sprintf (command_buffer, "R%lu\n", (unsigned long) length); | ||
| 18 | if (do_command (handle, command_buffer) == -1 | ||
| 19 | - || (status = get_status (handle)) == SAFE_READ_ERROR) | ||
| 20 | + || ((status = get_status (handle)) == SAFE_READ_ERROR) || (status > length)) | ||
| 21 | return SAFE_READ_ERROR; | ||
| 22 | |||
| 23 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | # Fix errors when built with gcc 4.3 | ||
| 4 | # Patch taken from Debian bug #452096 | ||
| 5 | |||
| 6 | diff -urN tar-1.17.orig/lib/argp-fmtstream.h tar-1.17/lib/argp-fmtstream.h | ||
| 7 | --- tar-1.17.orig/lib/argp-fmtstream.h 2006-01-11 12:24:05.000000000 -0800 | ||
| 8 | +++ tar-1.17/lib/argp-fmtstream.h 2010-07-22 22:36:12.000000000 -0700 | ||
| 9 | @@ -198,7 +198,11 @@ | ||
| 10 | #endif | ||
| 11 | |||
| 12 | #ifndef ARGP_FS_EI | ||
| 13 | -#define ARGP_FS_EI extern inline | ||
| 14 | + #if defined __GNUC_STDC_INLINE__ | ||
| 15 | + #define ARGP_FS_EI extern inline __attribute__((__gnu_inline__)) | ||
| 16 | + #else | ||
| 17 | + #define ARGP_FS_EI extern inline | ||
| 18 | + #endif | ||
| 19 | #endif | ||
| 20 | |||
| 21 | ARGP_FS_EI size_t | ||
| 22 | diff -urN tar-1.17.orig/lib/argp.h tar-1.17/lib/argp.h | ||
| 23 | --- tar-1.17.orig/lib/argp.h 2007-03-30 00:09:11.000000000 -0700 | ||
| 24 | +++ tar-1.17/lib/argp.h 2010-07-22 22:38:44.000000000 -0700 | ||
| 25 | @@ -580,7 +580,11 @@ | ||
| 26 | # endif | ||
| 27 | |||
| 28 | # ifndef ARGP_EI | ||
| 29 | -# define ARGP_EI extern __inline__ | ||
| 30 | +# if defined __GNUC_STDC_INLINE__ | ||
| 31 | +# define ARGP_EI extern __inline__ __attribute__((__gnu_inline__)) | ||
| 32 | +# else | ||
| 33 | +# define ARGP_EI extern __inline__ | ||
| 34 | +# endif | ||
| 35 | # endif | ||
| 36 | |||
| 37 | 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 @@ | |||
| 1 | Upstream-Status: Inappropriate [licensing] | ||
| 2 | |||
| 3 | # Define AC_USE_SYSTEM_EXTENSIONS only if it was previously undefined. | ||
| 4 | # This is needed to configure correctly with newer versions of autoconf. | ||
| 5 | |||
| 6 | --- tar-1.17/m4/extensions.m4.orig 2010-07-22 22:21:35.000000000 -0700 | ||
| 7 | +++ tar-1.17/m4/extensions.m4 2010-07-22 22:23:41.000000000 -0700 | ||
| 8 | @@ -1,4 +1,4 @@ | ||
| 9 | -# serial 4 -*- Autoconf -*- | ||
| 10 | +# serial 5 -*- Autoconf -*- | ||
| 11 | # Enable extensions on systems that normally disable them. | ||
| 12 | |||
| 13 | # Copyright (C) 2003, 2006 Free Software Foundation, Inc. | ||
| 14 | @@ -16,6 +16,7 @@ | ||
| 15 | # ------------------------ | ||
| 16 | # Enable extensions on systems that normally disable them, | ||
| 17 | # typically due to standards-conformance issues. | ||
| 18 | +m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [], [ | ||
| 19 | AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], | ||
| 20 | [ | ||
| 21 | AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
| 22 | @@ -48,7 +49,7 @@ | ||
| 23 | AC_DEFINE([__EXTENSIONS__]) | ||
| 24 | AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | ||
| 25 | AC_DEFINE([_TANDEM_SOURCE]) | ||
| 26 | -]) | ||
| 27 | +])]) | ||
| 28 | |||
| 29 | # gl_USE_SYSTEM_EXTENSIONS | ||
| 30 | # ------------------------ | ||
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 @@ | |||
| 1 | require tar.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
| 5 | |||
| 6 | PR = "r3" | ||
| 7 | |||
| 8 | SRC_URI += "file://m4extensions.patch \ | ||
| 9 | file://gcc43build.patch \ | ||
| 10 | file://avoid_heap_overflow.patch \ | ||
| 11 | " | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "c6c4f1c075dbf0f75c29737faa58f290" | ||
| 14 | 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 @@ | |||
| 1 | fix the macro check | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | |||
| 5 | configure does not check if locale.h exists, but check setlocale, | ||
| 6 | if setlocale exist, the locale.h should exist. | ||
| 7 | |||
| 8 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
| 9 | --- | ||
| 10 | lib/system.h | 2 +- | ||
| 11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 12 | |||
| 13 | diff --git a/lib/system.h b/lib/system.h | ||
| 14 | index 946eb3c..c70037b 100644 | ||
| 15 | --- a/lib/system.h | ||
| 16 | +++ b/lib/system.h | ||
| 17 | @@ -42,7 +42,7 @@ extern char *substring (const char *, const char *); | ||
| 18 | #include <ctype.h> | ||
| 19 | |||
| 20 | /* All systems nowadays probably have these functions, but ... */ | ||
| 21 | -#ifdef HAVE_LOCALE_H | ||
| 22 | +#ifdef HAVE_SETLOCALE | ||
| 23 | #include <locale.h> | ||
| 24 | #endif | ||
| 25 | #ifndef HAVE_SETLOCALE | ||
| 26 | -- | ||
| 27 | 1.7.10.4 | ||
| 28 | |||
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 @@ | |||
| 1 | From 458e9450cecf703f55536e609365162719585900 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Roy.Li" <rongqing.li@windriver.com> | ||
| 3 | Date: Wed, 10 Sep 2014 17:03:29 +0800 | ||
| 4 | Subject: [PATCH] do not compile host tools, since we have native | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
| 9 | --- | ||
| 10 | configure.ac | 23 +---------------------- | ||
| 11 | 1 file changed, 1 insertion(+), 22 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/configure.ac b/configure.ac | ||
| 14 | index b46130d..cf58654 100644 | ||
| 15 | --- a/configure.ac | ||
| 16 | +++ b/configure.ac | ||
| 17 | @@ -90,28 +90,7 @@ AC_CANONICAL_BUILD | ||
| 18 | # $native_tools is also added to SUBDIRS in the main Makefile.am, | ||
| 19 | # so that make compiles the native tools first. | ||
| 20 | # | ||
| 21 | -if test "$cross_compiling" = no; then | ||
| 22 | - native_tools= | ||
| 23 | -else | ||
| 24 | - native_tools=tools | ||
| 25 | - test -d "$native_tools" || mkdir "$native_tools" | ||
| 26 | - confdir=`(cd "$srcdir";pwd)` | ||
| 27 | - # Make sure the secondary configure won't fail with | ||
| 28 | - # "error: source directory already configured". | ||
| 29 | - rm -f config.status | ||
| 30 | - AC_MSG_NOTICE([[Doing configure of native tools (${build}).]]) | ||
| 31 | - cd "$native_tools" || exit 1 | ||
| 32 | - # Run secondary configure in alternate environment or | ||
| 33 | - # it gets the wrong CC etc. env -i gives this build host configure | ||
| 34 | - # a clean environment. | ||
| 35 | - env -i CC="${BUILD_CC}" AR="${BUILD_AR}" RANLIB="${BUILD_RANLIB}" \ | ||
| 36 | - PATH="${PATH}" \ | ||
| 37 | - tools_only=1 \ | ||
| 38 | - ${confdir}/configure --build=${build} --host=${build} \ | ||
| 39 | - --disable-rpath --disable-nls | ||
| 40 | - cd .. || exit 1 | ||
| 41 | - AC_MSG_NOTICE([[Continuing with main configure (${host}).]]) | ||
| 42 | -fi | ||
| 43 | +native_tools= | ||
| 44 | AC_SUBST(native_tools) | ||
| 45 | AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]]) | ||
| 46 | |||
| 47 | -- | ||
| 48 | 1.9.1 | ||
| 49 | |||
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 @@ | |||
| 1 | From 9b0df7d6d3c18cfac82c291d60a5357d1bc8d9d0 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Roy.Li" <rongqing.li@windriver.com> | ||
| 3 | Date: Wed, 10 Sep 2014 17:10:03 +0800 | ||
| 4 | Subject: [PATCH] using native makeinfo | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
| 9 | --- | ||
| 10 | doc/Makefile.am | 2 +- | ||
| 11 | |||
| 12 | diff --git a/doc/Makefile.am b/doc/Makefile.am | ||
| 13 | index 63df818..b6ceb34 100644 | ||
| 14 | --- a/doc/Makefile.am | ||
| 15 | +++ b/doc/Makefile.am | ||
| 16 | @@ -19,7 +19,7 @@ man_MANS = info.1 infokey.1 install-info.1 makeinfo.1 texindex.1 texi2dvi.1 \ | ||
| 17 | |||
| 18 | # Use the programs built in our distribution, taking account of possible | ||
| 19 | # cross-compiling. | ||
| 20 | -MAKEINFO = $(top_builddir)/$(native_tools)/makeinfo/makeinfo | ||
| 21 | +MAKEINFO = makeinfo | ||
| 22 | INSTALL_INFO = $(top_builddir)/$(native_tools)/util/install-info | ||
| 23 | |||
| 24 | 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 @@ | |||
| 1 | SUMMARY = "Documentation system for on-line information and printed output" | ||
| 2 | DESCRIPTION = "Texinfo is a documentation system that can produce both \ | ||
| 3 | online information and printed output from a single source file. The \ | ||
| 4 | GNU Project uses the Texinfo file format for most of its documentation." | ||
| 5 | HOMEPAGE = "http://www.gnu.org/software/texinfo/" | ||
| 6 | SECTION = "console/utils" | ||
| 7 | LICENSE = "GPLv2" | ||
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 9 | |||
| 10 | PROVIDES_append_class-native = " texinfo-4.8-replacement-native" | ||
| 11 | |||
| 12 | DEPENDS = "zlib ncurses texinfo-4.8-replacement-native" | ||
| 13 | DEPENDS_class-native = "zlib-native ncurses-native" | ||
| 14 | |||
| 15 | TARGET_PATCH = "file://use_host_makedoc.patch \ | ||
| 16 | file://using-native-makeinfo.patch \ | ||
| 17 | " | ||
| 18 | TARGET_PATCH_class-native = "" | ||
| 19 | |||
| 20 | SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ | ||
| 21 | file://check-locale-h.patch \ | ||
| 22 | file://do-compile-native-tools.patch \ | ||
| 23 | ${TARGET_PATCH} \ | ||
| 24 | " | ||
| 25 | |||
| 26 | SRC_URI[md5sum] = "4e9a1a591ed236003d0d4b008bf07eef" | ||
| 27 | SRC_URI[sha256sum] = "1f3cdeebe65fdf510f55d765ab1031b54416aa5bc2635b6a54ef9bcb2367c917" | ||
| 28 | |||
| 29 | tex_texinfo = "texmf/tex/texinfo" | ||
| 30 | |||
| 31 | inherit gettext autotools | ||
| 32 | |||
| 33 | do_install_append() { | ||
| 34 | mkdir -p ${D}${datadir}/${tex_texinfo} | ||
| 35 | install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo} | ||
| 36 | } | ||
| 37 | |||
| 38 | do_install_append_class-native() { | ||
| 39 | install -m 755 info/makedoc ${D}${bindir} | ||
| 40 | install -m 755 makeinfo/makeinfo ${D}${bindir} | ||
| 41 | } | ||
| 42 | |||
| 43 | PACKAGES += "info info-doc" | ||
| 44 | |||
| 45 | FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" | ||
| 46 | FILES_info-doc = "${infodir}/info.info ${infodir}/dir ${infodir}/info-*.info \ | ||
| 47 | ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ | ||
| 48 | ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" | ||
| 49 | |||
| 50 | FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" | ||
| 51 | FILES_${PN}-doc = "${infodir}/texinfo* \ | ||
| 52 | ${datadir}/${tex_texinfo} \ | ||
| 53 | ${mandir}/man1 ${mandir}/man5" | ||
| 54 | |||
| 55 | 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 @@ | |||
| 1 | Subject: [PATCH] automake foreign strictness | ||
| 2 | |||
| 3 | Use foreign strictness to avoid automake errors. | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [upstream no longer active] | ||
| 6 | |||
| 7 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 8 | --- | ||
| 9 | configure.ac | 5 +++-- | ||
| 10 | 1 files changed, 3 insertions(+), 2 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/configure.ac b/configure.ac | ||
| 13 | index b30b6f5..bd3222c 100644 | ||
| 14 | --- a/configure.ac | ||
| 15 | +++ b/configure.ac | ||
| 16 | @@ -1,6 +1,7 @@ | ||
| 17 | dnl Process this file with autoconf to produce a configure script. | ||
| 18 | -AC_INIT(which.c) | ||
| 19 | -AM_INIT_AUTOMAKE(which, 2.18) | ||
| 20 | +AC_INIT([which],[2.18]) | ||
| 21 | +AC_CONFIG_SRCDIR(which.c) | ||
| 22 | +AM_INIT_AUTOMAKE([foreign]) | ||
| 23 | AM_CONFIG_HEADER(config.h) | ||
| 24 | AM_MAINTAINER_MODE | ||
| 25 | |||
| 26 | -- | ||
| 27 | 1.7.1 | ||
| 28 | |||
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 @@ | |||
| 1 | Upstream-Status: Inappropriate [this is 2.18(GPLv2) specific] | ||
| 2 | |||
| 3 | # glibc also implements the function group_member. To avoid name conflict, | ||
| 4 | # here let us append a "_" to which's version. | ||
| 5 | # | ||
| 6 | # Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>, 2010-08-20 | ||
| 7 | # (this patch is licensed under GPLv2) | ||
| 8 | |||
| 9 | --- which-2.18/bash.c | ||
| 10 | +++ which-2.18/bash.c | ||
| 11 | @@ -45,7 +45,12 @@ | ||
| 12 | * - changed all occurences of 'gid_t' into 'GID_T'. | ||
| 13 | * - exported functions needed in which.c | ||
| 14 | */ | ||
| 15 | -static int group_member (GID_T gid); | ||
| 16 | + | ||
| 17 | +/* | ||
| 18 | + * glibc also implements the function group_member. To avoid name conflict, | ||
| 19 | + * here let us append a "_" to which's version. | ||
| 20 | + */ | ||
| 21 | +static int _group_member (GID_T gid); | ||
| 22 | static char* extract_colon_unit (char const* string, int *p_index); | ||
| 23 | |||
| 24 | /*=========================================================================== | ||
| 25 | @@ -200,8 +205,8 @@ | ||
| 26 | |||
| 27 | /* From bash-2.05b / general.c / line 805 */ | ||
| 28 | /* Return non-zero if GID is one that we have in our groups list. */ | ||
| 29 | -int | ||
| 30 | -group_member (GID_T gid) | ||
| 31 | +static int | ||
| 32 | +_group_member (GID_T gid) | ||
| 33 | { | ||
| 34 | #if defined (HAVE_GETGROUPS) | ||
| 35 | register int i; | ||
| 36 | @@ -290,7 +295,7 @@ | ||
| 37 | return (X_BIT (u_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS; | ||
| 38 | |||
| 39 | /* Otherwise, if we are in the owning group, the group permissions apply. */ | ||
| 40 | - if (group_member (finfo.st_gid)) | ||
| 41 | + if (_group_member (finfo.st_gid)) | ||
| 42 | return (X_BIT (g_mode_bits (finfo.st_mode))) ? (FS_EXISTS | FS_EXECABLE) : FS_EXISTS; | ||
| 43 | |||
| 44 | /* Otherwise, if we are in the other group, the other permissions apply. */ | ||
| 45 | @@ -331,7 +336,7 @@ | ||
| 46 | /* Given a string containing units of information separated by colons, | ||
| 47 | return the next one pointed to by (P_INDEX), or NULL if there are no more. | ||
| 48 | Advance (P_INDEX) to the character after the colon. */ | ||
| 49 | -char* | ||
| 50 | +static char* | ||
| 51 | extract_colon_unit (char const* string, int* p_index) | ||
| 52 | { | ||
| 53 | 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 @@ | |||
| 1 | SUMMARY = "Displays the full path of shell commands" | ||
| 2 | DESCRIPTION = "Which is a utility that prints out the full path of the \ | ||
| 3 | executables that bash(1) would execute when the passed \ | ||
| 4 | program names would have been entered on the shell prompt. \ | ||
| 5 | It does this by using the exact same algorithm as bash." | ||
| 6 | SECTION = "libs" | ||
| 7 | HOMEPAGE = "http://carlo17.home.xs4all.nl/which/" | ||
| 8 | |||
| 9 | LICENSE = "GPLv2+" | ||
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
| 11 | |||
| 12 | PR = "r2" | ||
| 13 | |||
| 14 | SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/which/which-2.18.tar.gz/42d51938e48b91f6e19fabf216f5c3e9/which-${PV}.tar.gz \ | ||
| 15 | file://fix_name_conflict_group_member.patch \ | ||
| 16 | file://automake-foreign.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | SRC_URI[md5sum] = "42d51938e48b91f6e19fabf216f5c3e9" | ||
| 20 | SRC_URI[sha256sum] = "9445cd7e02ec0c26a44fd56098464ded064ba5d93dd2e15ec12410ba56b2e544" | ||
| 21 | |||
| 22 | DEPENDS = "cwautomacros-native" | ||
| 23 | |||
| 24 | inherit autotools texinfo update-alternatives | ||
| 25 | |||
| 26 | do_configure_prepend() { | ||
| 27 | OLD="@ACLOCAL_CWFLAGS@" | ||
| 28 | NEW="-I ${STAGING_DIR_NATIVE}/${datadir}/cwautomacros/m4" | ||
| 29 | sed -i "s#${OLD}#${NEW}#g" `grep -rl ${OLD} ${S}` | ||
| 30 | } | ||
| 31 | |||
| 32 | ALTERNATIVE_${PN} = "which" | ||
| 33 | ALTERNATIVE_PRIORITY = "100" | ||
| 34 | |||
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 @@ | |||
| 1 | require rxvt-unicode.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
| 5 | file://src/main.C;beginline=1;endline=31;md5=775485398a09fa7aee6f90464af88432" | ||
| 6 | |||
| 7 | SRC_URI[md5sum] = "4a5b823f08d21036f94a6c51e94d025b" | ||
| 8 | 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 @@ | |||
| 1 | Obey LDFLAGS | ||
| 2 | |||
| 3 | Signed-off-by: Christopher Larson <chris_larson@mentor.com> | ||
| 4 | Upstream-Status: Inappropriate [old version] | ||
| 5 | |||
| 6 | --- gdbm-1.8.3.orig/Makefile.in | ||
| 7 | +++ gdbm-1.8.3/Makefile.in | ||
| 8 | @@ -156,12 +156,12 @@ install-compat: | ||
| 9 | |||
| 10 | libgdbm.la: $(LOBJS) gdbm.h | ||
| 11 | rm -f libgdbm.la | ||
| 12 | - $(LIBTOOL) --mode=link $(CC) -o libgdbm.la -rpath $(libdir) \ | ||
| 13 | + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o libgdbm.la -rpath $(libdir) \ | ||
| 14 | -version-info $(SHLIB_VER) $(LOBJS) | ||
| 15 | |||
| 16 | libgdbm_compat.la: $(C_LOBJS) gdbm.h | ||
| 17 | rm -f libgdbm_compat.la | ||
| 18 | - $(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \ | ||
| 19 | + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o libgdbm_compat.la -rpath $(libdir) \ | ||
| 20 | -version-info $(SHLIB_VER) $(C_LOBJS) | ||
| 21 | |||
| 22 | 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | --- gdbm-1.8.3/Makefile.in.orig 2006-02-16 15:17:25.000000000 +0000 | ||
| 4 | +++ gdbm-1.8.3/Makefile.in 2006-02-16 15:18:08.000000000 +0000 | ||
| 5 | @@ -131,7 +131,7 @@ | ||
| 6 | $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ | ||
| 7 | $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \ | ||
| 8 | $(DESTDIR)$(infodir) | ||
| 9 | - $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la | ||
| 10 | + $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la | ||
| 11 | $(INSTALL_DATA) gdbm.h \ | ||
| 12 | $(DESTDIR)$(includedir)/gdbm.h | ||
| 13 | $(INSTALL_DATA) $(srcdir)/gdbm.3 \ | ||
| 14 | @@ -142,7 +142,7 @@ | ||
| 15 | install-compat: | ||
| 16 | $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ | ||
| 17 | $(DESTDIR)$(includedir) | ||
| 18 | - $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ | ||
| 19 | + $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm_compat.la \ | ||
| 20 | $(DESTDIR)$(libdir)/libgdbm_compat.la | ||
| 21 | $(INSTALL_DATA) $(srcdir)/dbm.h \ | ||
| 22 | $(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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | # | ||
| 4 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
| 5 | # | ||
| 6 | |||
| 7 | --- gdbm-1.8.3/Makefile.in~makefile | ||
| 8 | +++ gdbm-1.8.3/Makefile.in | ||
| 9 | @@ -22,6 +22,7 @@ | ||
| 10 | TEXI2DVI = texi2dvi | ||
| 11 | |||
| 12 | DEFS = | ||
| 13 | +DESTDIR = | ||
| 14 | |||
| 15 | # Where the system [n]dbm routines are... | ||
| 16 | LIBS = @LIBS@ -lc | ||
| 17 | @@ -127,26 +128,26 @@ | ||
| 18 | progs: $(PROGS) | ||
| 19 | |||
| 20 | install: libgdbm.la gdbm.h gdbm.info | ||
| 21 | - $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ | ||
| 22 | - $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \ | ||
| 23 | - $(INSTALL_ROOT)$(infodir) | ||
| 24 | - $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la | ||
| 25 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \ | ||
| 26 | - $(INSTALL_ROOT)$(includedir)/gdbm.h | ||
| 27 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \ | ||
| 28 | - $(INSTALL_ROOT)$(man3dir)/gdbm.3 | ||
| 29 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \ | ||
| 30 | - $(INSTALL_ROOT)$(infodir)/gdbm.info | ||
| 31 | + $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ | ||
| 32 | + $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \ | ||
| 33 | + $(DESTDIR)$(infodir) | ||
| 34 | + $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la | ||
| 35 | + $(INSTALL_DATA) gdbm.h \ | ||
| 36 | + $(DESTDIR)$(includedir)/gdbm.h | ||
| 37 | + $(INSTALL_DATA) $(srcdir)/gdbm.3 \ | ||
| 38 | + $(DESTDIR)$(man3dir)/gdbm.3 | ||
| 39 | + $(INSTALL_DATA) $(srcdir)/gdbm.info \ | ||
| 40 | + $(DESTDIR)$(infodir)/gdbm.info | ||
| 41 | |||
| 42 | install-compat: | ||
| 43 | - $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ | ||
| 44 | - $(INSTALL_ROOT)$(includedir) | ||
| 45 | + $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \ | ||
| 46 | + $(DESTDIR)$(includedir) | ||
| 47 | $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ | ||
| 48 | - $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la | ||
| 49 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \ | ||
| 50 | - $(INSTALL_ROOT)$(includedir)/dbm.h | ||
| 51 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \ | ||
| 52 | - $(INSTALL_ROOT)$(includedir)/ndbm.h | ||
| 53 | + $(DESTDIR)$(libdir)/libgdbm_compat.la | ||
| 54 | + $(INSTALL_DATA) $(srcdir)/dbm.h \ | ||
| 55 | + $(DESTDIR)$(includedir)/dbm.h | ||
| 56 | + $(INSTALL_DATA) $(srcdir)/ndbm.h \ | ||
| 57 | + $(DESTDIR)$(includedir)/ndbm.h | ||
| 58 | |||
| 59 | #libgdbm.a: $(OBJS) gdbm.h | ||
| 60 | # 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 @@ | |||
| 1 | SUMMARY = "Key/value database library with extensible hashing" | ||
| 2 | HOMEPAGE = "http://www.gnu.org/software/gdbm/" | ||
| 3 | SECTION = "libs" | ||
| 4 | LICENSE = "GPLv2+" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8e20eece214df8ef953ed5857862150" | ||
| 6 | |||
| 7 | PR = "r4" | ||
| 8 | |||
| 9 | SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \ | ||
| 10 | file://makefile.patch \ | ||
| 11 | file://libtool-mode.patch \ | ||
| 12 | file://ldflags.patch" | ||
| 13 | |||
| 14 | SRC_URI[md5sum] = "1d1b1d5c0245b1c00aff92da751e9aa1" | ||
| 15 | SRC_URI[sha256sum] = "cc340338a2e28b40058ab9eb5354a21d53f88a1582ea21ba0bb185c37a281dc9" | ||
| 16 | |||
| 17 | inherit autotools texinfo | ||
| 18 | |||
| 19 | BBCLASSEXTEND = "native nativesdk" | ||
| 20 | |||
| 21 | do_install_append () { | ||
| 22 | oe_runmake install-compat DESTDIR=${D} | ||
| 23 | install -d ${D}${includedir}/gdbm | ||
| 24 | install -m 0644 ${S}/dbm.h ${D}${includedir}/ | ||
| 25 | install -m 0644 ${S}/ndbm.h ${D}${includedir}/ | ||
| 26 | # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find | ||
| 27 | # these headers | ||
| 28 | ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h | ||
| 29 | ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h | ||
| 30 | } | ||
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 @@ | |||
| 1 | From 3cb33502bafd04b8ad4ca3454fab16d5ff313297 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
| 3 | Date: Tue, 22 Sep 2015 13:16:23 +0300 | ||
| 4 | Subject: [PATCH] Use __gnu_inline__ attribute | ||
| 5 | |||
| 6 | gcc5 uses C11 inline rules. This means the old "extern inline" | ||
| 7 | semantics are not available without a special attribute. | ||
| 8 | |||
| 9 | See: https://gcc.gnu.org/gcc-5/porting_to.html | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [Fixed in current versions] | ||
| 12 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
| 13 | --- | ||
| 14 | gmp-h.in | 5 ++++- | ||
| 15 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/gmp-h.in b/gmp-h.in | ||
| 18 | index eed6fe4..361dd1d 100644 | ||
| 19 | --- a/gmp-h.in | ||
| 20 | +++ b/gmp-h.in | ||
| 21 | @@ -419,8 +419,11 @@ typedef __mpq_struct *mpq_ptr; | ||
| 22 | /* gcc has __inline__ in all modes, including strict ansi. Give a prototype | ||
| 23 | for an inline too, so as to correctly specify "dllimport" on windows, in | ||
| 24 | case the function is called rather than inlined. */ | ||
| 25 | + | ||
| 26 | +/* Use __gnu_inline__ attribute: later gcc uses different "extern inline" | ||
| 27 | + behaviour */ | ||
| 28 | #ifdef __GNUC__ | ||
| 29 | -#define __GMP_EXTERN_INLINE extern __inline__ | ||
| 30 | +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) | ||
| 31 | #define __GMP_INLINE_PROTOTYPES 1 | ||
| 32 | #endif | ||
| 33 | |||
| 34 | -- | ||
| 35 | 2.1.4 | ||
| 36 | |||
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 @@ | |||
| 1 | From d50686de0406a88ef9112f5252103f799982e84a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
| 3 | Date: Thu, 4 Feb 2016 14:00:00 -0800 | ||
| 4 | Subject: [PATCH] avoid h asm constraint for MIPS | ||
| 5 | |||
| 6 | The h asm constrain (to extract the high part of a multiplication | ||
| 7 | result) has not been recognised since gcc 4.4: | ||
| 8 | |||
| 9 | https://gcc.gnu.org/gcc-4.4/changes.html | ||
| 10 | |||
| 11 | Drop the MIPS umul_ppmm() implementations which rely on "=h" and fall | ||
| 12 | back to the older implementations (which use explicit mfhi and mflo | ||
| 13 | instructions to move the high and low parts of the multiplication | ||
| 14 | result into their destinations). | ||
| 15 | |||
| 16 | Upstream-Status: Inappropriate [upstream has a different solution] | ||
| 17 | |||
| 18 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
| 19 | --- | ||
| 20 | longlong.h | 10 ---------- | ||
| 21 | 1 file changed, 10 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/longlong.h b/longlong.h | ||
| 24 | index b53fbee..0193abb 100644 | ||
| 25 | --- a/longlong.h | ||
| 26 | +++ b/longlong.h | ||
| 27 | @@ -1011,27 +1011,17 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype)); | ||
| 28 | #endif /* __m88000__ */ | ||
| 29 | |||
| 30 | #if defined (__mips) && W_TYPE_SIZE == 32 | ||
| 31 | -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 | ||
| 32 | -#define umul_ppmm(w1, w0, u, v) \ | ||
| 33 | - __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) | ||
| 34 | -#else | ||
| 35 | #define umul_ppmm(w1, w0, u, v) \ | ||
| 36 | __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ | ||
| 37 | : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) | ||
| 38 | -#endif | ||
| 39 | #define UMUL_TIME 10 | ||
| 40 | #define UDIV_TIME 100 | ||
| 41 | #endif /* __mips */ | ||
| 42 | |||
| 43 | #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 | ||
| 44 | -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 | ||
| 45 | -#define umul_ppmm(w1, w0, u, v) \ | ||
| 46 | - __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) | ||
| 47 | -#else | ||
| 48 | #define umul_ppmm(w1, w0, u, v) \ | ||
| 49 | __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ | ||
| 50 | : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) | ||
| 51 | -#endif | ||
| 52 | #define UMUL_TIME 20 | ||
| 53 | #define UDIV_TIME 140 | ||
| 54 | #endif /* __mips */ | ||
| 55 | -- | ||
| 56 | 1.9.1 | ||
| 57 | |||
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 @@ | |||
| 1 | automake 1.12 has depricated automatic de-ANSI-fication support | ||
| 2 | |||
| 3 | this patch avoids these kinds of errors: | ||
| 4 | |||
| 5 | | configure.in:2240: error: automatic de-ANSI-fication support has been removed | ||
| 6 | | Makefile.am:28: error: automatic de-ANSI-fication support has been removed | ||
| 7 | |||
| 8 | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 9 | 2012/05/02 | ||
| 10 | |||
| 11 | |||
| 12 | This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly | ||
| 13 | dropped. | ||
| 14 | |||
| 15 | Upstream is not interested in patches for ancient versions. | ||
| 16 | |||
| 17 | Upstream-Status: Inappropriate | ||
| 18 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
| 19 | |||
| 20 | |||
| 21 | Index: gmp-4.2.1/configure.in | ||
| 22 | =================================================================== | ||
| 23 | --- gmp-4.2.1.orig/configure.in | ||
| 24 | +++ gmp-4.2.1/configure.in | ||
| 25 | @@ -67,7 +67,7 @@ dnl | ||
| 26 | dnl Note that there's a copy of these options in the top-level Makefile.am, | ||
| 27 | dnl so update there too if changing anything. | ||
| 28 | dnl | ||
| 29 | -AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr]) | ||
| 30 | +AM_INIT_AUTOMAKE([1.8 gnu no-dependencies]) | ||
| 31 | AM_CONFIG_HEADER(config.h:config.in) | ||
| 32 | AM_MAINTAINER_MODE | ||
| 33 | |||
| 34 | @@ -2022,9 +2022,6 @@ fi | ||
| 35 | echo " MPN_PATH=\"$path\"" | ||
| 36 | |||
| 37 | |||
| 38 | -# Automake ansi2knr support. | ||
| 39 | -AM_C_PROTOTYPES | ||
| 40 | - | ||
| 41 | GMP_PROG_AR | ||
| 42 | GMP_PROG_NM | ||
| 43 | |||
| 44 | Index: gmp-4.2.1/Makefile.am | ||
| 45 | =================================================================== | ||
| 46 | --- gmp-4.2.1.orig/Makefile.am | ||
| 47 | +++ gmp-4.2.1/Makefile.am | ||
| 48 | @@ -27,7 +27,7 @@ | ||
| 49 | # Makefiles in subdirectories, but here we must omit it so automake gives | ||
| 50 | # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr". | ||
| 51 | # | ||
| 52 | -AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr | ||
| 53 | +AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies | ||
| 54 | |||
| 55 | |||
| 56 | # 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 @@ | |||
| 1 | require gmp.inc | ||
| 2 | |||
| 3 | LICENSE = "LGPLv2.1+ & GPLv2+" | ||
| 4 | LICENSE_${PN} = "LGPLv2.1+" | ||
| 5 | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ | ||
| 7 | file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ | ||
| 8 | file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34" | ||
| 9 | |||
| 10 | SRC_URI = "https://gmplib.org/download/${BPN}/archive/${BP}.tar.bz2 \ | ||
| 11 | file://Use-__gnu_inline__-attribute.patch \ | ||
| 12 | file://gmp_fix_for_automake-1.12.patch \ | ||
| 13 | file://avoid-h-asm-constraint-for-MIPS.patch \ | ||
| 14 | " | ||
| 15 | |||
| 16 | SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3" | ||
| 17 | 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 @@ | |||
| 1 | From e2202ff2b704623efc6277fb5256e4e15bac5676 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Werner Koch <wk@gnupg.org> | ||
| 3 | Date: Thu, 25 Jul 2013 11:17:52 +0200 | ||
| 4 | Subject: [PATCH] Mitigate a flush+reload cache attack on RSA secret | ||
| 5 | exponents. | ||
| 6 | |||
| 7 | commit e2202ff2b704623efc6277fb5256e4e15bac5676 from | ||
| 8 | git://git.gnupg.org/libgcrypt.git | ||
| 9 | |||
| 10 | * mpi/mpi-pow.c (gcry_mpi_powm): Always perfrom the mpi_mul for | ||
| 11 | exponents in secure memory. | ||
| 12 | |||
| 13 | Upstream-Status: Backport | ||
| 14 | CVE: CVE-2013-4242 | ||
| 15 | |||
| 16 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
| 17 | -- | ||
| 18 | |||
| 19 | The attack is published as http://eprint.iacr.org/2013/448 : | ||
| 20 | |||
| 21 | Flush+Reload: a High Resolution, Low Noise, L3 Cache Side-Channel | ||
| 22 | Attack by Yuval Yarom and Katrina Falkner. 18 July 2013. | ||
| 23 | |||
| 24 | Flush+Reload is a cache side-channel attack that monitors access to | ||
| 25 | data in shared pages. In this paper we demonstrate how to use the | ||
| 26 | attack to extract private encryption keys from GnuPG. The high | ||
| 27 | resolution and low noise of the Flush+Reload attack enables a spy | ||
| 28 | program to recover over 98% of the bits of the private key in a | ||
| 29 | single decryption or signing round. Unlike previous attacks, the | ||
| 30 | attack targets the last level L3 cache. Consequently, the spy | ||
| 31 | program and the victim do not need to share the execution core of | ||
| 32 | the CPU. The attack is not limited to a traditional OS and can be | ||
| 33 | used in a virtualised environment, where it can attack programs | ||
| 34 | executing in a different VM. | ||
| 35 | |||
| 36 | Index: gnupg-1.4.7/mpi/mpi-pow.c | ||
| 37 | =================================================================== | ||
| 38 | --- gnupg-1.4.7.orig/mpi/mpi-pow.c | ||
| 39 | +++ gnupg-1.4.7/mpi/mpi-pow.c | ||
| 40 | @@ -212,7 +212,13 @@ mpi_powm( MPI res, MPI base, MPI exponen | ||
| 41 | tp = rp; rp = xp; xp = tp; | ||
| 42 | rsize = xsize; | ||
| 43 | |||
| 44 | - if( (mpi_limb_signed_t)e < 0 ) { | ||
| 45 | + /* To mitigate the Yarom/Falkner flush+reload cache | ||
| 46 | + * side-channel attack on the RSA secret exponent, we do | ||
| 47 | + * the multiplication regardless of the value of the | ||
| 48 | + * high-bit of E. But to avoid this performance penalty | ||
| 49 | + * we do it only if the exponent has been stored in secure | ||
| 50 | + * memory and we can thus assume it is a secret exponent. */ | ||
| 51 | + if (esec || (mpi_limb_signed_t)e < 0) { | ||
| 52 | /*mpihelp_mul( xp, rp, rsize, bp, bsize );*/ | ||
| 53 | if( bsize < KARATSUBA_THRESHOLD ) { | ||
| 54 | mpihelp_mul( xp, rp, rsize, bp, bsize ); | ||
| 55 | @@ -227,6 +233,8 @@ mpi_powm( MPI res, MPI base, MPI exponen | ||
| 56 | mpihelp_divrem(xp + msize, 0, xp, xsize, mp, msize); | ||
| 57 | xsize = msize; | ||
| 58 | } | ||
| 59 | + } | ||
| 60 | + if ( (mpi_limb_signed_t)e < 0 ) { | ||
| 61 | |||
| 62 | tp = rp; rp = xp; xp = tp; | ||
| 63 | 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | CVE: CVE-2013-4351 | ||
| 3 | |||
| 4 | Index: gnupg-1.4.7/g10/getkey.c | ||
| 5 | =================================================================== | ||
| 6 | --- gnupg-1.4.7.orig/g10/getkey.c 2007-03-05 16:54:41.000000000 +0800 | ||
| 7 | +++ gnupg-1.4.7/g10/getkey.c 2013-11-28 14:41:59.640212240 +0800 | ||
| 8 | @@ -1454,7 +1454,11 @@ | ||
| 9 | |||
| 10 | if(flags) | ||
| 11 | key_usage |= PUBKEY_USAGE_UNKNOWN; | ||
| 12 | + if (!key_usage) | ||
| 13 | + key_usage |= PUBKEY_USAGE_NONE; | ||
| 14 | } | ||
| 15 | + else if (p) | ||
| 16 | + key_usage |= PUBKEY_USAGE_NONE; | ||
| 17 | |||
| 18 | /* We set PUBKEY_USAGE_UNKNOWN to indicate that this key has a | ||
| 19 | capability that we do not handle. This serves to distinguish | ||
| 20 | Index: gnupg-1.4.7/g10/keygen.c | ||
| 21 | =================================================================== | ||
| 22 | --- gnupg-1.4.7.orig/g10/keygen.c 2007-02-05 00:27:40.000000000 +0800 | ||
| 23 | +++ gnupg-1.4.7/g10/keygen.c 2013-11-28 14:43:05.016670092 +0800 | ||
| 24 | @@ -209,9 +209,6 @@ | ||
| 25 | if (use & PUBKEY_USAGE_AUTH) | ||
| 26 | buf[0] |= 0x20; | ||
| 27 | |||
| 28 | - if (!buf[0]) | ||
| 29 | - return; | ||
| 30 | - | ||
| 31 | build_sig_subpkt (sig, SIGSUBPKT_KEY_FLAGS, buf, 1); | ||
| 32 | } | ||
| 33 | |||
| 34 | Index: gnupg-1.4.7/include/cipher.h | ||
| 35 | =================================================================== | ||
| 36 | --- gnupg-1.4.7.orig/include/cipher.h 2006-04-21 20:39:49.000000000 +0800 | ||
| 37 | +++ gnupg-1.4.7/include/cipher.h 2013-11-28 14:49:24.159322744 +0800 | ||
| 38 | @@ -52,6 +52,7 @@ | ||
| 39 | #define PUBKEY_USAGE_CERT 4 /* key is also good to certify other keys*/ | ||
| 40 | #define PUBKEY_USAGE_AUTH 8 /* key is good for authentication */ | ||
| 41 | #define PUBKEY_USAGE_UNKNOWN 128 /* key has an unknown usage bit */ | ||
| 42 | +#define PUBKEY_USAGE_NONE 256 /* No usage given. */ | ||
| 43 | |||
| 44 | #define DIGEST_ALGO_MD5 1 | ||
| 45 | #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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | CVE: CVE-2013-4576 | ||
| 3 | |||
| 4 | Index: gnupg-1.4.7/cipher/dsa.c | ||
| 5 | =================================================================== | ||
| 6 | --- gnupg-1.4.7.orig/cipher/dsa.c 2006-12-12 02:27:21.000000000 +0800 | ||
| 7 | +++ gnupg-1.4.7/cipher/dsa.c 2014-01-23 11:30:17.300915919 +0800 | ||
| 8 | @@ -287,6 +287,8 @@ | ||
| 9 | MPI kinv; | ||
| 10 | MPI tmp; | ||
| 11 | |||
| 12 | + mpi_normalize (hash); | ||
| 13 | + | ||
| 14 | /* select a random k with 0 < k < q */ | ||
| 15 | k = gen_k( skey->q ); | ||
| 16 | |||
| 17 | Index: gnupg-1.4.7/cipher/elgamal.c | ||
| 18 | =================================================================== | ||
| 19 | --- gnupg-1.4.7.orig/cipher/elgamal.c 2006-12-12 03:08:05.000000000 +0800 | ||
| 20 | +++ gnupg-1.4.7/cipher/elgamal.c 2014-01-23 11:30:17.300915919 +0800 | ||
| 21 | @@ -376,6 +376,9 @@ | ||
| 22 | { | ||
| 23 | MPI t1 = mpi_alloc_secure( mpi_get_nlimbs( skey->p ) ); | ||
| 24 | |||
| 25 | + mpi_normalize (a); | ||
| 26 | + mpi_normalize (b); | ||
| 27 | + | ||
| 28 | /* output = b/(a^x) mod p */ | ||
| 29 | mpi_powm( t1, a, skey->x, skey->p ); | ||
| 30 | mpi_invm( t1, t1, skey->p ); | ||
| 31 | Index: gnupg-1.4.7/cipher/random.c | ||
| 32 | =================================================================== | ||
| 33 | --- gnupg-1.4.7.orig/cipher/random.c 2006-11-03 18:09:39.000000000 +0800 | ||
| 34 | +++ gnupg-1.4.7/cipher/random.c 2014-01-23 11:31:53.993495462 +0800 | ||
| 35 | @@ -273,6 +273,18 @@ | ||
| 36 | } | ||
| 37 | |||
| 38 | |||
| 39 | +/* Randomize the MPI */ | ||
| 40 | +void | ||
| 41 | +randomize_mpi (MPI mpi, size_t nbits, int level) | ||
| 42 | +{ | ||
| 43 | + unsigned char *buffer; | ||
| 44 | + | ||
| 45 | + buffer = get_random_bits (nbits, level, mpi_is_secure (mpi)); | ||
| 46 | + mpi_set_buffer (mpi, buffer, (nbits+7)/8, 0); | ||
| 47 | + xfree (buffer); | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | + | ||
| 51 | int | ||
| 52 | random_is_faked() | ||
| 53 | { | ||
| 54 | Index: gnupg-1.4.7/cipher/random.h | ||
| 55 | =================================================================== | ||
| 56 | --- gnupg-1.4.7.orig/cipher/random.h 2006-02-09 19:29:29.000000000 +0800 | ||
| 57 | +++ gnupg-1.4.7/cipher/random.h 2014-01-23 11:30:17.300915919 +0800 | ||
| 58 | @@ -32,6 +32,7 @@ | ||
| 59 | int random_is_faked(void); | ||
| 60 | void random_disable_locking (void); | ||
| 61 | void randomize_buffer( byte *buffer, size_t length, int level ); | ||
| 62 | +void randomize_mpi (MPI mpi, size_t nbits, int level); | ||
| 63 | byte *get_random_bits( size_t nbits, int level, int secure ); | ||
| 64 | void fast_random_poll( void ); | ||
| 65 | |||
| 66 | Index: gnupg-1.4.7/cipher/rsa.c | ||
| 67 | =================================================================== | ||
| 68 | --- gnupg-1.4.7.orig/cipher/rsa.c 2006-12-12 03:09:00.000000000 +0800 | ||
| 69 | +++ gnupg-1.4.7/cipher/rsa.c 2014-01-23 11:35:04.330639125 +0800 | ||
| 70 | @@ -301,9 +301,26 @@ | ||
| 71 | #if 0 | ||
| 72 | mpi_powm( output, input, skey->d, skey->n ); | ||
| 73 | #else | ||
| 74 | - MPI m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); | ||
| 75 | - MPI m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); | ||
| 76 | - MPI h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); | ||
| 77 | + int nlimbs = mpi_get_nlimbs (skey->n)+1; | ||
| 78 | + MPI m1 = mpi_alloc_secure (nlimbs); | ||
| 79 | + MPI m2 = mpi_alloc_secure (nlimbs); | ||
| 80 | + MPI h = mpi_alloc_secure (nlimbs); | ||
| 81 | +# if 1 | ||
| 82 | + MPI bdata= mpi_alloc_secure (nlimbs); | ||
| 83 | + MPI r = mpi_alloc_secure (nlimbs); | ||
| 84 | +# endif | ||
| 85 | + | ||
| 86 | + /* Remove superfluous leading zeroes from INPUT. */ | ||
| 87 | + mpi_normalize (input); | ||
| 88 | + | ||
| 89 | +# if 1 | ||
| 90 | + /* Blind: bdata = (data * r^e) mod n */ | ||
| 91 | + randomize_mpi (r, mpi_get_nbits (skey->n), 0); | ||
| 92 | + mpi_fdiv_r (r, r, skey->n); | ||
| 93 | + mpi_powm (bdata, r, skey->e, skey->n); | ||
| 94 | + mpi_mulm (bdata, bdata, input, skey->n); | ||
| 95 | + input = bdata; | ||
| 96 | +# endif | ||
| 97 | |||
| 98 | /* m1 = c ^ (d mod (p-1)) mod p */ | ||
| 99 | mpi_sub_ui( h, skey->p, 1 ); | ||
| 100 | @@ -321,8 +338,15 @@ | ||
| 101 | /* m = m2 + h * p */ | ||
| 102 | mpi_mul ( h, h, skey->p ); | ||
| 103 | mpi_add ( output, m1, h ); | ||
| 104 | - /* ready */ | ||
| 105 | - | ||
| 106 | + | ||
| 107 | +# if 1 | ||
| 108 | + mpi_free (bdata); | ||
| 109 | + /* Unblind: output = (output * r^(-1)) mod n */ | ||
| 110 | + mpi_invm (r, r, skey->n); | ||
| 111 | + mpi_mulm (output, output, r, skey->n); | ||
| 112 | + mpi_free (r); | ||
| 113 | +# endif | ||
| 114 | + | ||
| 115 | mpi_free ( h ); | ||
| 116 | mpi_free ( m1 ); | ||
| 117 | mpi_free ( m2 ); | ||
| 118 | @@ -397,6 +421,7 @@ | ||
| 119 | rsa_decrypt( int algo, MPI *result, MPI *data, MPI *skey ) | ||
| 120 | { | ||
| 121 | RSA_secret_key sk; | ||
| 122 | + MPI input; | ||
| 123 | |||
| 124 | if( algo != 1 && algo != 2 ) | ||
| 125 | return G10ERR_PUBKEY_ALGO; | ||
| 126 | @@ -407,8 +432,14 @@ | ||
| 127 | sk.p = skey[3]; | ||
| 128 | sk.q = skey[4]; | ||
| 129 | sk.u = skey[5]; | ||
| 130 | - *result = mpi_alloc_secure( mpi_get_nlimbs( sk.n ) ); | ||
| 131 | - secret( *result, data[0], &sk ); | ||
| 132 | + | ||
| 133 | + /* Mitigates side-channel attacks (CVE-2013-4576). */ | ||
| 134 | + input = mpi_alloc (0); | ||
| 135 | + mpi_normalize (data[0]); | ||
| 136 | + mpi_fdiv_r (input, data[0], sk.n); | ||
| 137 | + *result = mpi_alloc_secure (mpi_get_nlimbs (sk.n)); | ||
| 138 | + secret (*result, input, &sk); | ||
| 139 | + mpi_free (input); | ||
| 140 | return 0; | ||
| 141 | } | ||
| 142 | |||
| 143 | Index: gnupg-1.4.7/g10/gpgv.c | ||
| 144 | =================================================================== | ||
| 145 | --- gnupg-1.4.7.orig/g10/gpgv.c 2006-12-13 19:25:04.000000000 +0800 | ||
| 146 | +++ gnupg-1.4.7/g10/gpgv.c 2014-01-23 11:30:17.300915919 +0800 | ||
| 147 | @@ -390,6 +390,7 @@ | ||
| 148 | void random_dump_stats(void) {} | ||
| 149 | int quick_random_gen( int onoff ) { return -1;} | ||
| 150 | void randomize_buffer( byte *buffer, size_t length, int level ) {} | ||
| 151 | +void randomize_mpi (MPI mpi, size_t nbits, int level) {} | ||
| 152 | int random_is_faked() { return -1;} | ||
| 153 | byte *get_random_bits( size_t nbits, int level, int secure ) { return NULL;} | ||
| 154 | 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 @@ | |||
| 1 | commit f0b33b6fb8e0586e9584a7a409dcc31263776a67 | ||
| 2 | Author: Werner Koch <wk@gnupg.org> | ||
| 3 | Date: Thu Dec 20 09:43:41 2012 +0100 | ||
| 4 | |||
| 5 | gpg: Import only packets which are allowed in a keyblock. | ||
| 6 | |||
| 7 | * g10/import.c (valid_keyblock_packet): New. | ||
| 8 | (read_block): Store only valid packets. | ||
| 9 | -- | ||
| 10 | |||
| 11 | A corrupted key, which for example included a mangled public key | ||
| 12 | encrypted packet, used to corrupt the keyring. This change skips all | ||
| 13 | packets which are not allowed in a keyblock. | ||
| 14 | |||
| 15 | GnuPG-bug-id: 1455 | ||
| 16 | |||
| 17 | (cherry-picked from commit f795a0d59e197455f8723c300eebf59e09853efa) | ||
| 18 | |||
| 19 | Upstream-Status: Backport | ||
| 20 | CVE: CVE-2012-6085 | ||
| 21 | |||
| 22 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 23 | |||
| 24 | diff --git a/g10/import.c b/g10/import.c | ||
| 25 | index bfe02eb..a57b32e 100644 | ||
| 26 | --- a/g10/import.c | ||
| 27 | +++ b/g10/import.c | ||
| 28 | @@ -384,6 +384,27 @@ import_print_stats (void *hd) | ||
| 29 | } | ||
| 30 | |||
| 31 | |||
| 32 | +/* Return true if PKTTYPE is valid in a keyblock. */ | ||
| 33 | +static int | ||
| 34 | +valid_keyblock_packet (int pkttype) | ||
| 35 | +{ | ||
| 36 | + switch (pkttype) | ||
| 37 | + { | ||
| 38 | + case PKT_PUBLIC_KEY: | ||
| 39 | + case PKT_PUBLIC_SUBKEY: | ||
| 40 | + case PKT_SECRET_KEY: | ||
| 41 | + case PKT_SECRET_SUBKEY: | ||
| 42 | + case PKT_SIGNATURE: | ||
| 43 | + case PKT_USER_ID: | ||
| 44 | + case PKT_ATTRIBUTE: | ||
| 45 | + case PKT_RING_TRUST: | ||
| 46 | + return 1; | ||
| 47 | + default: | ||
| 48 | + return 0; | ||
| 49 | + } | ||
| 50 | +} | ||
| 51 | + | ||
| 52 | + | ||
| 53 | /**************** | ||
| 54 | * Read the next keyblock from stream A. | ||
| 55 | * PENDING_PKT should be initialzed to NULL | ||
| 56 | @@ -461,7 +482,7 @@ read_block( IOBUF a, PACKET **pending_pkt, KBNODE *ret_root ) | ||
| 57 | } | ||
| 58 | in_cert = 1; | ||
| 59 | default: | ||
| 60 | - if( in_cert ) { | ||
| 61 | + if (in_cert && valid_keyblock_packet (pkt->pkttype)) { | ||
| 62 | if( !root ) | ||
| 63 | root = new_kbnode( pkt ); | ||
| 64 | 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 @@ | |||
| 1 | |||
| 2 | Upstream-Status: Inappropriate [configuration] | ||
| 3 | |||
| 4 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 5 | |||
| 6 | Index: gnupg-1.4.7/configure.ac | ||
| 7 | =================================================================== | ||
| 8 | --- gnupg-1.4.7.orig/configure.ac | ||
| 9 | +++ gnupg-1.4.7/configure.ac | ||
| 10 | @@ -827,7 +827,6 @@ else | ||
| 11 | AC_SUBST(USE_NLS) | ||
| 12 | AC_SUBST(USE_INCLUDED_LIBINTL) | ||
| 13 | AC_SUBST(BUILD_INCLUDED_LIBINTL) | ||
| 14 | - AM_PO_SUBDIRS | ||
| 15 | fi | ||
| 16 | |||
| 17 | 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 @@ | |||
| 1 | |||
| 2 | This has been discussed in a couple of different bug reported | ||
| 3 | upstream: | ||
| 4 | |||
| 5 | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486250 | ||
| 6 | http://bugs.sourcemage.org/show_bug.cgi?id=14446 | ||
| 7 | |||
| 8 | Fix: | ||
| 9 | http://lists.gnupg.org/pipermail/gnupg-devel/2008-April/024344.html | ||
| 10 | |||
| 11 | Upstream-Status: Backport [Debian] | ||
| 12 | |||
| 13 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
| 14 | |||
| 15 | Index: gnupg-1.4.7/keyserver/gpgkeys_curl.c | ||
| 16 | =================================================================== | ||
| 17 | --- gnupg-1.4.7.orig/keyserver/gpgkeys_curl.c | ||
| 18 | +++ gnupg-1.4.7/keyserver/gpgkeys_curl.c | ||
| 19 | @@ -286,7 +286,7 @@ main(int argc,char *argv[]) | ||
| 20 | curl_easy_setopt(curl,CURLOPT_VERBOSE,1); | ||
| 21 | } | ||
| 22 | |||
| 23 | - curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,opt->flags.check_cert); | ||
| 24 | + curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,(long)opt->flags.check_cert); | ||
| 25 | curl_easy_setopt(curl,CURLOPT_CAINFO,opt->ca_cert_file); | ||
| 26 | |||
| 27 | 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 @@ | |||
| 1 | Orignal Patch came from OpenWrt via OE-Classic | ||
| 2 | https://dev.openwrt.org/browser/packages/utils/gnupg/patches/001-mips_gcc4.4 | ||
| 3 | which is no longer a valid revision! | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [configuration] | ||
| 6 | |||
| 7 | |||
| 8 | --- gnupg/mpi/longlong.h~ 2006-02-14 10:09:55.000000000 +0000 | ||
| 9 | +++ gnupg/mpi/longlong.h 2008-10-27 13:11:09.000000000 +0000 | ||
| 10 | @@ -181,7 +181,7 @@ | ||
| 11 | /*************************************** | ||
| 12 | ************** ARM ****************** | ||
| 13 | ***************************************/ | ||
| 14 | -#if defined (__arm__) && W_TYPE_SIZE == 32 | ||
| 15 | +#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__) | ||
| 16 | #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ | ||
| 17 | __asm__ ("adds %1, %4, %5\n" \ | ||
| 18 | "adc %0, %2, %3" \ | ||
| 19 | |||
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 @@ | |||
| 1 | |||
| 2 | From Openembedded-Classic | ||
| 3 | |||
| 4 | gnupg-1.4.10: Readd the ARM Thumb patch as debian has no thumb support | ||
| 5 | |||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [embedded-specific] | ||
| 8 | |||
| 9 | Index: gnupg-1.4.10/mpi/longlong.h | ||
| 10 | =================================================================== | ||
| 11 | --- gnupg-1.4.10.orig/mpi/longlong.h 2008-12-11 17:39:43.000000000 +0100 | ||
| 12 | +++ gnupg-1.4.10/mpi/longlong.h 2010-03-27 14:27:53.000000000 +0100 | ||
| 13 | @@ -706,18 +706,35 @@ | ||
| 14 | #endif /* __m88110__ */ | ||
| 15 | #endif /* __m88000__ */ | ||
| 16 | |||
| 17 | +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ | ||
| 18 | +#if defined (__GNUC__) && defined (__GNUC_MINOR__) | ||
| 19 | +#define __GNUC_PREREQ(maj, min) \ | ||
| 20 | + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) | ||
| 21 | +#else | ||
| 22 | +#define __GNUC_PREREQ(maj, min) 0 | ||
| 23 | +#endif | ||
| 24 | + | ||
| 25 | /*************************************** | ||
| 26 | ************** MIPS ***************** | ||
| 27 | ***************************************/ | ||
| 28 | #if defined (__mips__) && W_TYPE_SIZE == 32 | ||
| 29 | -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 | ||
| 30 | +#if __GNUC_PREREQ (4,4) | ||
| 31 | +#define umul_ppmm(w1, w0, u, v) \ | ||
| 32 | + do { \ | ||
| 33 | + UDItype __ll = (UDItype)(u) * (v); \ | ||
| 34 | + w1 = __ll >> 32; \ | ||
| 35 | + w0 = __ll; \ | ||
| 36 | + } while (0) | ||
| 37 | +#endif | ||
| 38 | +#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7) | ||
| 39 | #define umul_ppmm(w1, w0, u, v) \ | ||
| 40 | __asm__ ("multu %2,%3" \ | ||
| 41 | : "=l" ((USItype)(w0)), \ | ||
| 42 | "=h" ((USItype)(w1)) \ | ||
| 43 | : "d" ((USItype)(u)), \ | ||
| 44 | "d" ((USItype)(v))) | ||
| 45 | -#else | ||
| 46 | +#endif | ||
| 47 | +#if !defined (umul_ppmm) | ||
| 48 | #define umul_ppmm(w1, w0, u, v) \ | ||
| 49 | __asm__ ("multu %2,%3 \n" \ | ||
| 50 | "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 @@ | |||
| 1 | SUMMARY = "GNU Privacy Guard - encryption and signing tools" | ||
| 2 | HOMEPAGE = "http://www.gnupg.org/" | ||
| 3 | DEPENDS = "zlib bzip2 readline" | ||
| 4 | SECTION = "console/utils" | ||
| 5 | |||
| 6 | LICENSE = "GPLv2" | ||
| 7 | |||
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | ||
| 9 | |||
| 10 | PR = "r9" | ||
| 11 | |||
| 12 | SRC_URI = "${GNUPG_MIRROR}/gnupg/gnupg-${PV}.tar.bz2 \ | ||
| 13 | file://long-long-thumb.patch \ | ||
| 14 | file://configure.patch \ | ||
| 15 | file://mips_gcc4.4.patch \ | ||
| 16 | file://GnuPG1-CVE-2012-6085.patch \ | ||
| 17 | file://curl_typeof_fix_backport.patch \ | ||
| 18 | file://CVE-2013-4351.patch \ | ||
| 19 | file://CVE-2013-4576.patch \ | ||
| 20 | file://CVE-2013-4242.patch \ | ||
| 21 | " | ||
| 22 | |||
| 23 | SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c" | ||
| 24 | SRC_URI[sha256sum] = "69d18b7d193f62ca27ed4febcb4c9044aa0c95305d3258fe902e2fae5fc6468d" | ||
| 25 | |||
| 26 | inherit autotools gettext texinfo | ||
| 27 | |||
| 28 | # --with-egd-socket=NAME use NAME for the EGD socket | ||
| 29 | # --with-photo-viewer=FIXED_VIEWER set a fixed photo ID viewer | ||
| 30 | # --with-included-zlib use the zlib code included here | ||
| 31 | # --with-capabilities use linux capabilities default=no | ||
| 32 | # --with-mailprog=NAME use "NAME -t" for mail transport | ||
| 33 | # --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib | ||
| 34 | # --without-libiconv-prefix don't search for libiconv in includedir and libdir | ||
| 35 | # --with-included-gettext use the GNU gettext library included here | ||
| 36 | # --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib | ||
| 37 | # --without-libintl-prefix don't search for libintl in includedir and libdir | ||
| 38 | # --without-readline do not support fancy command line editing | ||
| 39 | # --with-included-regex use the included GNU regex library | ||
| 40 | # --with-zlib=DIR use libz in DIR | ||
| 41 | # --with-bzip2=DIR look for bzip2 in DIR | ||
| 42 | # --enable-static-rnd=egd|unix|linux|auto | ||
| 43 | # --disable-dev-random disable the use of dev random | ||
| 44 | # --disable-asm do not use assembler modules | ||
| 45 | # --enable-m-guard enable memory guard facility | ||
| 46 | # --enable-selinux-support | ||
| 47 | # enable SELinux support | ||
| 48 | # --disable-card-support disable OpenPGP card support | ||
| 49 | # --disable-gnupg-iconv disable the new iconv code | ||
| 50 | # --enable-backsigs enable the experimental backsigs code | ||
| 51 | # --enable-minimal build the smallest gpg binary possible | ||
| 52 | # --disable-rsa disable the RSA public key algorithm | ||
| 53 | # --disable-idea disable the IDEA cipher | ||
| 54 | # --disable-cast5 disable the CAST5 cipher | ||
| 55 | # --disable-blowfish disable the BLOWFISH cipher | ||
| 56 | # --disable-aes disable the AES, AES192, and AES256 ciphers | ||
| 57 | # --disable-twofish disable the TWOFISH cipher | ||
| 58 | # --disable-sha256 disable the SHA-256 digest | ||
| 59 | # --disable-sha512 disable the SHA-384 and SHA-512 digests | ||
| 60 | # --disable-bzip2 disable the BZIP2 compression algorithm | ||
| 61 | # --disable-exec disable all external program execution | ||
| 62 | # --disable-photo-viewers disable photo ID viewers | ||
| 63 | # --disable-keyserver-helpers disable all external keyserver support | ||
| 64 | # --disable-ldap disable LDAP keyserver interface | ||
| 65 | # --disable-hkp disable HKP keyserver interface | ||
| 66 | # --disable-http disable HTTP key fetching interface | ||
| 67 | # --disable-finger disable Finger key fetching interface | ||
| 68 | # --disable-mailto disable email keyserver interface | ||
| 69 | # --disable-keyserver-path disable the exec-path option for keyserver helpers | ||
| 70 | # --enable-key-cache=SIZE Set key cache to SIZE (default 4096) | ||
| 71 | # --disable-largefile omit support for large files | ||
| 72 | # --disable-dns-srv disable the use of DNS SRV in HKP and HTTP | ||
| 73 | # --disable-nls do not use Native Language Support | ||
| 74 | # --disable-regex do not handle regular expressions in trust sigs | ||
| 75 | |||
| 76 | EXTRA_OECONF = "--disable-ldap \ | ||
| 77 | --with-zlib=${STAGING_LIBDIR}/.. \ | ||
| 78 | --with-bzip2=${STAGING_LIBDIR}/.. \ | ||
| 79 | --disable-selinux-support \ | ||
| 80 | --with-readline=${STAGING_LIBDIR}/.. \ | ||
| 81 | ac_cv_sys_symbol_underscore=no \ | ||
| 82 | " | ||
| 83 | |||
| 84 | # Force gcc's traditional handling of inline to avoid issues with gcc 5 | ||
| 85 | CFLAGS += "-fgnu89-inline" | ||
| 86 | |||
| 87 | do_install () { | ||
| 88 | autotools_do_install | ||
| 89 | install -d ${D}${docdir}/${BPN} | ||
| 90 | mv ${D}${datadir}/${BPN}/* ${D}/${docdir}/${BPN}/ || : | ||
| 91 | mv ${D}${prefix}/doc/* ${D}/${docdir}/${BPN}/ || : | ||
| 92 | } | ||
| 93 | |||
| 94 | # split out gpgv from main package | ||
| 95 | RDEPENDS_${PN} = "gpgv" | ||
| 96 | PACKAGES =+ "gpgv" | ||
| 97 | FILES_gpgv = "${bindir}/gpgv" | ||
| 98 | |||
| 99 | # Exclude debug files from the main packages | ||
| 100 | FILES_${PN} = "${bindir}/* ${datadir}/${BPN} ${libexecdir}/${BPN}/*" | ||
| 101 | |||
| 102 | PACKAGECONFIG ??= "" | ||
| 103 | PACKAGECONFIG[curl] = "--with-libcurl=${STAGING_LIBDIR},--without-libcurl,curl" | ||
| 104 | 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 @@ | |||
| 1 | It adds the variables that are needed | ||
| 2 | for autoconf 2.65 to reconfigure libiconv and defines the m4 macros | ||
| 3 | directory. Its imported from OE. | ||
| 4 | |||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 8 | |||
| 9 | Index: libiconv-1.11.1/configure.ac | ||
| 10 | =================================================================== | ||
| 11 | --- libiconv-1.11.1.orig/configure.ac | ||
| 12 | +++ libiconv-1.11.1/configure.ac | ||
| 13 | @@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR(build-aux) | ||
| 14 | AM_INIT_AUTOMAKE(libiconv, 1.11) | ||
| 15 | AC_CONFIG_HEADERS(config.h lib/config.h) | ||
| 16 | AC_PROG_MAKE_SET | ||
| 17 | - | ||
| 18 | +AC_CONFIG_MACRO_DIR([m4]) | ||
| 19 | dnl checks for basic programs | ||
| 20 | |||
| 21 | AC_PROG_CC | ||
| 22 | Index: libiconv-1.11.1/libcharset/configure.ac | ||
| 23 | =================================================================== | ||
| 24 | --- libiconv-1.11.1.orig/libcharset/configure.ac | ||
| 25 | +++ libiconv-1.11.1/libcharset/configure.ac | ||
| 26 | @@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library; | ||
| 27 | dnl write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 28 | dnl Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 29 | |||
| 30 | -AC_PREREQ(2.13) | ||
| 31 | +AC_PREREQ(2.61) | ||
| 32 | +AC_INIT([libcharset],[1.4] ) | ||
| 33 | +AC_CONFIG_SRCDIR([lib/localcharset.c]) | ||
| 34 | |||
| 35 | -PACKAGE=libcharset | ||
| 36 | -VERSION=1.4 | ||
| 37 | - | ||
| 38 | -AC_INIT(lib/localcharset.c) | ||
| 39 | AC_CONFIG_AUX_DIR(build-aux) | ||
| 40 | AC_CONFIG_HEADER(config.h) | ||
| 41 | AC_PROG_MAKE_SET | ||
| 42 | -AC_SUBST(PACKAGE) | ||
| 43 | -AC_SUBST(VERSION) | ||
| 44 | +dnl AC_SUBST(PACKAGE) | ||
| 45 | +dnl AC_SUBST(VERSION) | ||
| 46 | + | ||
| 47 | +AC_CONFIG_MACRO_DIR([m4]) | ||
| 48 | |||
| 49 | dnl checks for basic programs | ||
| 50 | |||
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 @@ | |||
| 1 | With libtool generating shared and static version of libraries needs -fPIC flags | ||
| 2 | without this it will not generate the commands to create shared linked library | ||
| 3 | Its more enforced by libtool 2.4. I have not checked it with older libtool | ||
| 4 | libiconv 1.11.x is relatively old release and libtool 2.4 did not exist when it | ||
| 5 | was released these kind of problem are more likely | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | |||
| 11 | Index: libiconv-1.11.1/lib/Makefile.in | ||
| 12 | =================================================================== | ||
| 13 | --- libiconv-1.11.1.orig/lib/Makefile.in | ||
| 14 | +++ libiconv-1.11.1/lib/Makefile.in | ||
| 15 | @@ -70,9 +70,9 @@ preloadable_libiconv.so : preloadable_li | ||
| 16 | |||
| 17 | preloadable_libiconv_linux.so : $(SOURCES) | ||
| 18 | if test -n "@GCC@"; then \ | ||
| 19 | - $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ | ||
| 20 | + $(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; \ | ||
| 21 | else \ | ||
| 22 | - $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ | ||
| 23 | + $(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; \ | ||
| 24 | fi | ||
| 25 | |||
| 26 | 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 @@ | |||
| 1 | SUMMARY = "Character encoding support library" | ||
| 2 | DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ | ||
| 3 | multiple character encodings, but that support lacks from your system." | ||
| 4 | HOMEPAGE = "http://www.gnu.org/software/libiconv" | ||
| 5 | SECTION = "libs" | ||
| 6 | NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" | ||
| 7 | PROVIDES = "virtual/libiconv" | ||
| 8 | |||
| 9 | LICENSE = "LGPLv2.0" | ||
| 10 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ | ||
| 11 | file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" | ||
| 12 | |||
| 13 | SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ | ||
| 14 | file://autoconf.patch \ | ||
| 15 | file://shared_preloadable_libiconv_linux.patch \ | ||
| 16 | " | ||
| 17 | |||
| 18 | SRC_URI[md5sum] = "d42b97f6ef5dd0ba4469d520ed732fed" | ||
| 19 | SRC_URI[sha256sum] = "e78c347a1a0cb15f2648519e9799151f4b4a934b61ad9ee7424478efe2b8257f" | ||
| 20 | |||
| 21 | S = "${WORKDIR}/libiconv-${PV}" | ||
| 22 | |||
| 23 | inherit autotools pkgconfig gettext | ||
| 24 | |||
| 25 | python __anonymous() { | ||
| 26 | if d.getVar("TCLIBC") == "glibc": | ||
| 27 | raise bb.parse.SkipPackage("libiconv is provided for use with uClibc only - glibc already provides iconv") | ||
| 28 | } | ||
| 29 | |||
| 30 | EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable" | ||
| 31 | |||
| 32 | LEAD_SONAME = "libiconv.so" | ||
| 33 | |||
| 34 | do_configure_prepend () { | ||
| 35 | 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 | ||
| 36 | } | ||
| 37 | |||
| 38 | do_configure_append () { | ||
| 39 | # forcibly remove RPATH from libtool | ||
| 40 | sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool | ||
| 41 | sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool | ||
| 42 | } | ||
| 43 | |||
| 44 | do_install_append () { | ||
| 45 | rm -rf ${D}${libdir}/preloadable_libiconv.so | ||
| 46 | rm -rf ${D}${libdir}/charset.alias | ||
| 47 | } | ||
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | https://git.lysator.liu.se/nettle/nettle/commit/c71d2c9d20eeebb985e3872e4550137209e3ce4d | ||
| 3 | |||
| 4 | CVE: CVE-2015-8803 | ||
| 5 | CVE: CVE-2015-8805 | ||
| 6 | |||
| 7 | Same fix for both. | ||
| 8 | |||
| 9 | Signed-off-by: Armin Kuster <akuster@mvista.com> | ||
| 10 | |||
| 11 | Index: nettle-2.7.1/ecc-256.c | ||
| 12 | =================================================================== | ||
| 13 | --- nettle-2.7.1.orig/ecc-256.c | ||
| 14 | +++ nettle-2.7.1/ecc-256.c | ||
| 15 | @@ -96,9 +96,19 @@ ecc_256_modp (const struct ecc_curve *ec | ||
| 16 | q2 += t + (q1 < t); | ||
| 17 | |||
| 18 | assert (q2 < 2); | ||
| 19 | + /* | ||
| 20 | + n-1 n-2 n-3 n-4 | ||
| 21 | + +---+---+---+---+ | ||
| 22 | + | u1| u0| u low | | ||
| 23 | + +---+---+---+---+ | ||
| 24 | + - | q1(2^96-1)| | ||
| 25 | + +-------+---+ | ||
| 26 | + |q2(2^.)| | ||
| 27 | + +-------+ | ||
| 28 | |||
| 29 | - /* We multiply by two low limbs of p, 2^96 - 1, so we could use | ||
| 30 | - shifts rather than mul. */ | ||
| 31 | + We multiply by two low limbs of p, 2^96 - 1, so we could use | ||
| 32 | + shifts rather than mul. | ||
| 33 | + */ | ||
| 34 | t = mpn_submul_1 (rp + n - 4, ecc->p, 2, q1); | ||
| 35 | t += cnd_sub_n (q2, rp + n - 3, ecc->p, 1); | ||
| 36 | t += (-q2) & 0xffffffff; | ||
| 37 | @@ -108,7 +118,10 @@ ecc_256_modp (const struct ecc_curve *ec | ||
| 38 | u0 -= t; | ||
| 39 | t = (u1 < cy); | ||
| 40 | u1 -= cy; | ||
| 41 | - u1 += cnd_add_n (t, rp + n - 4, ecc->p, 3); | ||
| 42 | + | ||
| 43 | + cy = cnd_add_n (t, rp + n - 4, ecc->p, 2); | ||
| 44 | + u0 += cy; | ||
| 45 | + u1 += (u0 < cy); | ||
| 46 | u1 -= (-t) & 0xffffffff; | ||
| 47 | } | ||
| 48 | rp[2] = u0; | ||
| 49 | @@ -195,7 +208,7 @@ ecc_256_modq (const struct ecc_curve *ec | ||
| 50 | |||
| 51 | /* Conditional add of p */ | ||
| 52 | u1 += t; | ||
| 53 | - u2 += (t<<32) + (u0 < t); | ||
| 54 | + u2 += (t<<32) + (u1 < t); | ||
| 55 | |||
| 56 | t = cnd_add_n (t, rp + n - 4, ecc->q, 2); | ||
| 57 | u1 += t; | ||
| 58 | Index: nettle-2.7.1/ChangeLog | ||
| 59 | =================================================================== | ||
| 60 | --- nettle-2.7.1.orig/ChangeLog | ||
| 61 | +++ nettle-2.7.1/ChangeLog | ||
| 62 | @@ -1,3 +1,9 @@ | ||
| 63 | +2015-12-10 Niels Möller <nisse@lysator.liu.se> | ||
| 64 | + | ||
| 65 | + * ecc-256.c (ecc_256_modp): Fixed carry propagation bug. Problem | ||
| 66 | + reported by Hanno Böck. | ||
| 67 | + (ecc_256_modq): Fixed another carry propagation bug. | ||
| 68 | + | ||
| 69 | 2013-05-28 Niels Möller <nisse@lysator.liu.se> | ||
| 70 | |||
| 71 | * 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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | https://git.lysator.liu.se/nettle/nettle/commit/fa269b6ad06dd13c901dbd84a12e52b918a09cd7 | ||
| 3 | |||
| 4 | CVE: CVE-2015-8804 | ||
| 5 | Signed-off-by: Armin Kuster <akuster@mvista.com> | ||
| 6 | |||
| 7 | Index: nettle-2.7.1/ChangeLog | ||
| 8 | =================================================================== | ||
| 9 | --- nettle-2.7.1.orig/ChangeLog | ||
| 10 | +++ nettle-2.7.1/ChangeLog | ||
| 11 | @@ -1,3 +1,11 @@ | ||
| 12 | +2015-12-15 Niels Möller <nisse@lysator.liu.se> | ||
| 13 | + | ||
| 14 | + * x86_64/ecc-384-modp.asm: Fixed carry propagation bug. Problem | ||
| 15 | + reported by Hanno Böck. Simplified the folding to always use | ||
| 16 | + non-negative carry, the old code attempted to add in a carry which | ||
| 17 | + could be either positive or negative, but didn't get that case | ||
| 18 | + right. | ||
| 19 | + | ||
| 20 | 2015-12-10 Niels Möller <nisse@lysator.liu.se> | ||
| 21 | |||
| 22 | * ecc-256.c (ecc_256_modp): Fixed carry propagation bug. Problem | ||
| 23 | Index: nettle-2.7.1/x86_64/ecc-384-modp.asm | ||
| 24 | =================================================================== | ||
| 25 | --- nettle-2.7.1.orig/x86_64/ecc-384-modp.asm | ||
| 26 | +++ nettle-2.7.1/x86_64/ecc-384-modp.asm | ||
| 27 | @@ -20,7 +20,7 @@ C MA 02111-1301, USA. | ||
| 28 | .file "ecc-384-modp.asm" | ||
| 29 | |||
| 30 | define(<RP>, <%rsi>) | ||
| 31 | -define(<D4>, <%rax>) | ||
| 32 | +define(<D5>, <%rax>) | ||
| 33 | define(<T0>, <%rbx>) | ||
| 34 | define(<T1>, <%rcx>) | ||
| 35 | define(<T2>, <%rdx>) | ||
| 36 | @@ -35,8 +35,8 @@ define(<H4>, <%r13>) | ||
| 37 | define(<H5>, <%r14>) | ||
| 38 | define(<C2>, <%r15>) | ||
| 39 | define(<C0>, H5) C Overlap | ||
| 40 | -define(<D0>, RP) C Overlap | ||
| 41 | -define(<TMP>, H4) C Overlap | ||
| 42 | +define(<TMP>, RP) C Overlap | ||
| 43 | + | ||
| 44 | |||
| 45 | PROLOGUE(nettle_ecc_384_modp) | ||
| 46 | W64_ENTRY(2, 0) | ||
| 47 | @@ -48,34 +48,38 @@ PROLOGUE(nettle_ecc_384_modp) | ||
| 48 | push %r14 | ||
| 49 | push %r15 | ||
| 50 | |||
| 51 | - C First get top 2 limbs, which need folding twice | ||
| 52 | + C First get top 2 limbs, which need folding twice. | ||
| 53 | + C B^10 = B^6 + B^4 + 2^32 (B-1)B^4. | ||
| 54 | + C We handle the terms as follow: | ||
| 55 | C | ||
| 56 | - C H5 H4 | ||
| 57 | - C -H5 | ||
| 58 | - C ------ | ||
| 59 | - C H0 D4 | ||
| 60 | + C B^6: Folded immediatly. | ||
| 61 | C | ||
| 62 | - C Then shift right, (H1,H0,D4) <-- (H0,D4) << 32 | ||
| 63 | - C and add | ||
| 64 | + C B^4: Delayed, added in in the next folding. | ||
| 65 | C | ||
| 66 | - C H5 H4 | ||
| 67 | - C H1 H0 | ||
| 68 | - C ---------- | ||
| 69 | - C C2 H1 H0 | ||
| 70 | - | ||
| 71 | - mov 80(RP), D4 | ||
| 72 | - mov 88(RP), H0 | ||
| 73 | - mov D4, H4 | ||
| 74 | - mov H0, H5 | ||
| 75 | - sub H0, D4 | ||
| 76 | - sbb $0, H0 | ||
| 77 | - | ||
| 78 | - mov D4, T2 | ||
| 79 | - mov H0, H1 | ||
| 80 | - shl $32, H0 | ||
| 81 | - shr $32, T2 | ||
| 82 | + C 2^32(B-1) B^4: Low half limb delayed until the next | ||
| 83 | + C folding. Top 1.5 limbs subtracted and shifter now, resulting | ||
| 84 | + C in 2.5 limbs. The low limb saved in D5, high 1.5 limbs added | ||
| 85 | + C in. | ||
| 86 | + | ||
| 87 | + mov 80(RP), H4 | ||
| 88 | + mov 88(RP), H5 | ||
| 89 | + C Shift right 32 bits, into H1, H0 | ||
| 90 | + mov H4, H0 | ||
| 91 | + mov H5, H1 | ||
| 92 | + mov H5, D5 | ||
| 93 | shr $32, H1 | ||
| 94 | - or T2, H0 | ||
| 95 | + shl $32, D5 | ||
| 96 | + shr $32, H0 | ||
| 97 | + or D5, H0 | ||
| 98 | + | ||
| 99 | + C H1 H0 | ||
| 100 | + C - H1 H0 | ||
| 101 | + C -------- | ||
| 102 | + C H1 H0 D5 | ||
| 103 | + mov H0, D5 | ||
| 104 | + neg D5 | ||
| 105 | + sbb H1, H0 | ||
| 106 | + sbb $0, H1 | ||
| 107 | |||
| 108 | xor C2, C2 | ||
| 109 | add H4, H0 | ||
| 110 | @@ -114,118 +118,95 @@ PROLOGUE(nettle_ecc_384_modp) | ||
| 111 | adc H3, T5 | ||
| 112 | adc $0, C0 | ||
| 113 | |||
| 114 | - C H3 H2 H1 H0 0 | ||
| 115 | - C - H4 H3 H2 H1 H0 | ||
| 116 | - C --------------- | ||
| 117 | - C H3 H2 H1 H0 D0 | ||
| 118 | - | ||
| 119 | - mov XREG(D4), XREG(D4) | ||
| 120 | - mov H0, D0 | ||
| 121 | - neg D0 | ||
| 122 | - sbb H1, H0 | ||
| 123 | - sbb H2, H1 | ||
| 124 | - sbb H3, H2 | ||
| 125 | - sbb H4, H3 | ||
| 126 | - sbb $0, D4 | ||
| 127 | - | ||
| 128 | - C Shift right. High bits are sign, to be added to C0. | ||
| 129 | - mov D4, TMP | ||
| 130 | - sar $32, TMP | ||
| 131 | - shl $32, D4 | ||
| 132 | - add TMP, C0 | ||
| 133 | - | ||
| 134 | + C Shift left, including low half of H4 | ||
| 135 | mov H3, TMP | ||
| 136 | + shl $32, H4 | ||
| 137 | shr $32, TMP | ||
| 138 | - shl $32, H3 | ||
| 139 | - or TMP, D4 | ||
| 140 | + or TMP, H4 | ||
| 141 | |||
| 142 | mov H2, TMP | ||
| 143 | + shl $32, H3 | ||
| 144 | shr $32, TMP | ||
| 145 | - shl $32, H2 | ||
| 146 | or TMP, H3 | ||
| 147 | |||
| 148 | mov H1, TMP | ||
| 149 | + shl $32, H2 | ||
| 150 | shr $32, TMP | ||
| 151 | - shl $32, H1 | ||
| 152 | or TMP, H2 | ||
| 153 | |||
| 154 | mov H0, TMP | ||
| 155 | + shl $32, H1 | ||
| 156 | shr $32, TMP | ||
| 157 | - shl $32, H0 | ||
| 158 | or TMP, H1 | ||
| 159 | |||
| 160 | - mov D0, TMP | ||
| 161 | - shr $32, TMP | ||
| 162 | - shl $32, D0 | ||
| 163 | - or TMP, H0 | ||
| 164 | + shl $32, H0 | ||
| 165 | + | ||
| 166 | + C H4 H3 H2 H1 H0 0 | ||
| 167 | + C - H4 H3 H2 H1 H0 | ||
| 168 | + C --------------- | ||
| 169 | + C H4 H3 H2 H1 H0 TMP | ||
| 170 | |||
| 171 | - add D0, T0 | ||
| 172 | + mov H0, TMP | ||
| 173 | + neg TMP | ||
| 174 | + sbb H1, H0 | ||
| 175 | + sbb H2, H1 | ||
| 176 | + sbb H3, H2 | ||
| 177 | + sbb H4, H3 | ||
| 178 | + sbb $0, H4 | ||
| 179 | + | ||
| 180 | + add TMP, T0 | ||
| 181 | adc H0, T1 | ||
| 182 | adc H1, T2 | ||
| 183 | adc H2, T3 | ||
| 184 | adc H3, T4 | ||
| 185 | - adc D4, T5 | ||
| 186 | + adc H4, T5 | ||
| 187 | adc $0, C0 | ||
| 188 | |||
| 189 | C Remains to add in C2 and C0 | ||
| 190 | - C C0 C0<<32 (-2^32+1)C0 | ||
| 191 | - C C2 C2<<32 (-2^32+1)C2 | ||
| 192 | - C where C2 is always positive, while C0 may be -1. | ||
| 193 | + C Set H1, H0 = (2^96 - 2^32 + 1) C0 | ||
| 194 | mov C0, H0 | ||
| 195 | mov C0, H1 | ||
| 196 | - mov C0, H2 | ||
| 197 | - sar $63, C0 C Get sign | ||
| 198 | shl $32, H1 | ||
| 199 | - sub H1, H0 C Gives borrow iff C0 > 0 | ||
| 200 | + sub H1, H0 | ||
| 201 | sbb $0, H1 | ||
| 202 | - add C0, H2 | ||
| 203 | |||
| 204 | + C Set H3, H2 = (2^96 - 2^32 + 1) C2 | ||
| 205 | + mov C2, H2 | ||
| 206 | + mov C2, H3 | ||
| 207 | + shl $32, H3 | ||
| 208 | + sub H3, H2 | ||
| 209 | + sbb $0, H3 | ||
| 210 | + add C0, H2 C No carry. Could use lea trick | ||
| 211 | + | ||
| 212 | + xor C0, C0 | ||
| 213 | add H0, T0 | ||
| 214 | adc H1, T1 | ||
| 215 | - adc $0, H2 | ||
| 216 | - adc $0, C0 | ||
| 217 | - | ||
| 218 | - C Set (H1 H0) <-- C2 << 96 - C2 << 32 + 1 | ||
| 219 | - mov C2, H0 | ||
| 220 | - mov C2, H1 | ||
| 221 | - shl $32, H1 | ||
| 222 | - sub H1, H0 | ||
| 223 | - sbb $0, H1 | ||
| 224 | - | ||
| 225 | - add H2, H0 | ||
| 226 | - adc C0, H1 | ||
| 227 | - adc C2, C0 | ||
| 228 | - mov C0, H2 | ||
| 229 | - sar $63, C0 | ||
| 230 | - add H0, T2 | ||
| 231 | - adc H1, T3 | ||
| 232 | - adc H2, T4 | ||
| 233 | - adc C0, T5 | ||
| 234 | - sbb C0, C0 | ||
| 235 | + adc H2, T2 | ||
| 236 | + adc H3, T3 | ||
| 237 | + adc C2, T4 | ||
| 238 | + adc D5, T5 C Value delayed from initial folding | ||
| 239 | + adc $0, C0 C Use sbb and switch sign? | ||
| 240 | |||
| 241 | C Final unlikely carry | ||
| 242 | mov C0, H0 | ||
| 243 | mov C0, H1 | ||
| 244 | - mov C0, H2 | ||
| 245 | - sar $63, C0 | ||
| 246 | shl $32, H1 | ||
| 247 | sub H1, H0 | ||
| 248 | sbb $0, H1 | ||
| 249 | - add C0, H2 | ||
| 250 | |||
| 251 | pop RP | ||
| 252 | |||
| 253 | - sub H0, T0 | ||
| 254 | + add H0, T0 | ||
| 255 | mov T0, (RP) | ||
| 256 | - sbb H1, T1 | ||
| 257 | + adc H1, T1 | ||
| 258 | mov T1, 8(RP) | ||
| 259 | - sbb H2, T2 | ||
| 260 | + adc C0, T2 | ||
| 261 | mov T2, 16(RP) | ||
| 262 | - sbb C0, T3 | ||
| 263 | + adc $0, T3 | ||
| 264 | mov T3, 24(RP) | ||
| 265 | - sbb C0, T4 | ||
| 266 | + adc $0, T4 | ||
| 267 | mov T4, 32(RP) | ||
| 268 | - sbb C0, T5 | ||
| 269 | + adc $0, T5 | ||
| 270 | mov T5, 40(RP) | ||
| 271 | |||
| 272 | 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 @@ | |||
| 1 | From c369dd7049f5a198f8b6c96fde6e294ce5146c2f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Haiqing Bai <Haiqing.Bai@windriver.com> | ||
| 3 | Date: Fri, 9 Dec 2016 16:16:45 +0800 | ||
| 4 | Subject: [PATCH] nettle: check header files of openssl only if | ||
| 5 | 'enable_openssl=yes'. | ||
| 6 | |||
| 7 | The original configure script checks openssl header files to generate | ||
| 8 | config.h even if 'enable_openssl' is not set to yes, this made inconsistent | ||
| 9 | building for nettle. | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> | ||
| 13 | --- | ||
| 14 | configure.ac | 8 +++++--- | ||
| 15 | 1 file changed, 5 insertions(+), 3 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/configure.ac b/configure.ac | ||
| 18 | index 78a3d4e..4f16a98 100644 | ||
| 19 | --- a/configure.ac | ||
| 20 | +++ b/configure.ac | ||
| 21 | @@ -603,9 +603,11 @@ AC_CHECK_ALIGNOF(uint64_t) | ||
| 22 | ALIGNOF_UINT64_T="$ac_cv_alignof_uint64_t" | ||
| 23 | AC_SUBST(ALIGNOF_UINT64_T) | ||
| 24 | |||
| 25 | -AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h],, | ||
| 26 | -[enable_openssl=no | ||
| 27 | - break]) | ||
| 28 | +if test "x$enable_openssl" = "xyes"; then | ||
| 29 | + AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h],, | ||
| 30 | + [enable_openssl=no | ||
| 31 | + break]) | ||
| 32 | +fi | ||
| 33 | |||
| 34 | LSH_FUNC_ALLOCA | ||
| 35 | LSH_FUNC_STRERROR | ||
| 36 | -- | ||
| 37 | 1.9.1 | ||
| 38 | |||
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 @@ | |||
| 1 | require nettle.inc | ||
| 2 | |||
| 3 | LICENSE = "LGPLv2.1+ & GPLv2" | ||
| 4 | LICENSE_${PN} = "LGPLv2.1+" | ||
| 5 | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | ||
| 7 | file://serpent-decrypt.c;beginline=53;endline=67;md5=bcfd4745d53ca57f82907089898e390d \ | ||
| 8 | file://serpent-set-key.c;beginline=56;endline=70;md5=bcfd4745d53ca57f82907089898e390d" | ||
| 9 | |||
| 10 | SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5" | ||
| 11 | SRC_URI[sha256sum] = "bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40" | ||
| 12 | |||
| 13 | SRC_URI += "\ | ||
| 14 | file://CVE-2015-8803_8805.patch \ | ||
| 15 | file://CVE-2015-8804.patch \ | ||
| 16 | file://check-header-files-of-openssl-only-if-enable_.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | DISABLE_STATIC = "" | ||
