diff options
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 = "" | ||