summary refs log tree commit diff stats
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-26 19:44:02 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-26 19:44:02 +0000
commit4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7 (patch)
tree704572756ba55ed1631f64d1efc9511cec24560f /linux-user/syscall.c
parentf658b4db792285d0ddc044d7532451b8ec3c4a08 (diff)
downloadfocaccia-qemu-4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7.tar.gz
focaccia-qemu-4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7.zip
amd64 port (Jocelyn Mayer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@762 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 95806454d7..79d239ffa2 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2402,9 +2402,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
         goto unimplemented;
     case TARGET_NR__llseek:
         {
+#if defined (__x86_64__)
+            ret = get_errno(lseek(arg1, ((uint64_t )arg2 << 32) | arg3, arg5));
+            *(int64_t *)arg4 = ret;
+#else
             int64_t res;
             ret = get_errno(_llseek(arg1, arg2, arg3, &res, arg5));
             *(int64_t *)arg4 = tswap64(res);
+#endif
         }
         break;
     case TARGET_NR_getdents: