diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-02 12:04:08 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-07 20:05:31 +0000 |
commit | 2345af9b4829ed3eed5abf60f2483055649f8af7 (patch) | |
tree | 96a9a31e4b1957b93c4fe3eb669117d2752caf0d /meta | |
parent | c4901328fe5cf912c0965e5b011b64a95a9bcb9d (diff) | |
download | poky-2345af9b4829ed3eed5abf60f2483055649f8af7.tar.gz |
recipes: Move out stale GPLv2 versions to a seperate layeruninative-1.5
These are recipes where the upstream has moved to GPLv3 and these old
versions are the last ones under the GPLv2 license.
There are several reasons for making this move. There is a different
quality of service with these recipes in that they don't get security
fixes and upstream no longer care about them, in fact they're actively
hostile against people using old versions. The recipes tend to need a
different kind of maintenance to work with changes in the wider ecosystem
and there needs to be isolation between changes made in the v3 versions
and those in the v2 versions.
There are probably better ways to handle a "non-GPLv3" system but right
now having these in OE-Core makes them look like a first class citizen
when I believe they have potential for a variety of undesireable issues.
Moving them into a separate layer makes their different needs clearer, it
also makes it clear how many of these there are. Some are probably not
needed (e.g. mc), I also wonder whether some are useful (e.g. gmp)
since most things that use them are GPLv3 only already. Someone could
now more clearly see how to streamline the list of recipes here.
I'm proposing we mmove to this separate layer for 2.3 with its future
maintinership and testing to be determined in 2.4 and beyond.
(From OE-Core rev: 19b7e950346fb1dde6505c45236eba6cd9b33b4b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
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 = "" | ||