diff --git a/qemu.spec b/qemu.spec diff --git a/qemu/linux-user/syscall.c b/qemu/linux-user/syscall.c index 33778aa..8b0f845 100644 --- a/qemu/linux-user/syscall.c +++ b/qemu/linux-user/syscall.c @@ -3528,12 +3528,24 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, break; #ifdef TARGET_NR_pread case TARGET_NR_pread: +#ifdef TARGET_ARM + if (((CPUARMState *)cpu_env)->eabi) + { + arg4 = arg5; + } +#endif page_unprotect_range(arg2, arg3); p = lock_user(arg2, arg3, 0); ret = get_errno(pread(arg1, p, arg3, arg4)); unlock_user(p, arg2, ret); break; case TARGET_NR_pwrite: +#ifdef TARGET_ARM + if (((CPUARMState *)cpu_env)->eabi) + { + arg4 = arg5; + } +#endif p = lock_user(arg2, arg3, 1); ret = get_errno(pwrite(arg1, p, arg3, arg4)); unlock_user(p, arg2, 0);