diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9d1c8b2fe2d6d13cc66f2ff2277e8ccfff74e4a2..fdd49b1940bfb03b966ef4d3c4d5c82c06b0f979 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -8485,7 +8485,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, #endif /* CONFIG_EVENTFD */ #if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate) case TARGET_NR_fallocate: +#if TARGET_ABI_BITS == 32 + ret = get_errno(fallocate(arg1, arg2, target_offset64(arg3, arg4), + target_offset64(arg5, arg6))); +#else ret = get_errno(fallocate(arg1, arg2, arg3, arg4)); +#endif break; #endif #if defined(CONFIG_SYNC_FILE_RANGE)