aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-21 02:31:19 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-21 02:31:19 +0000
commit872ea0c098f63a36de8c49eb2cf348cd111292b9 (patch)
tree54d2468ce804efff32def58ce831f333993c969c
parentf0d5e47183fa0cbea650944b41e0241e336b697b (diff)
Enable same-arch consistency check on x86-64, print syscall name on error.
Also disable testing instructions unsupported by 64-bit binutils in test-i386.c git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5277 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--linux-user/syscall.c9
-rw-r--r--tests/test-i386.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0260756c23..64d700d8f3 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3075,10 +3075,11 @@ void syscall_init(void)
target_to_host_errno_table[host_to_target_errno_table[i]] = i;
/* automatic consistency check if same arch */
-#if defined(__i386__) && defined(TARGET_I386) && defined(TARGET_ABI32)
- if (ie->target_cmd != ie->host_cmd) {
- fprintf(stderr, "ERROR: ioctl: target=0x%x host=0x%x\n",
- ie->target_cmd, ie->host_cmd);
+#if (defined(__i386__) && defined(TARGET_I386) && defined(TARGET_ABI32)) || \
+ (defined(__x86_64__) && defined(TARGET_X86_64))
+ if (unlikely(ie->target_cmd != ie->host_cmd)) {
+ fprintf(stderr, "ERROR: ioctl(%s): target=0x%x host=0x%x\n",
+ ie->name, ie->target_cmd, ie->host_cmd);
}
#endif
ie++;
diff --git a/tests/test-i386.c b/tests/test-i386.c
index 9ebfa80cd7..43b17285f9 100644
--- a/tests/test-i386.c
+++ b/tests/test-i386.c
@@ -489,10 +489,12 @@ void test_loop(void)
};
int i, res;
+#if !defined(__x86_64__)
TEST_LOOP("jcxz");
TEST_LOOP("loopw");
TEST_LOOP("loopzw");
TEST_LOOP("loopnzw");
+#endif
TEST_LOOP("jecxz");
TEST_LOOP("loopl");