summaryrefslogtreecommitdiffstats
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorbellard2004-04-26 21:44:02 +0200
committerbellard2004-04-26 21:44:02 +0200
commit4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7 (patch)
tree704572756ba55ed1631f64d1efc9511cec24560f /linux-user/syscall.c
parentisa bridge endianness fixes (diff)
downloadqemu-4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7.tar.gz
qemu-4f2ac237840677ffcb1b3ca30d04a4c2d360f7c7.tar.xz
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: