Commit 408321b61f290b91aca74dce6ab71b8fea2a5469
1 parent
f0f72ffe
Add fadvise64 stubs
Since these are only hints, we happily fake them for now to make applications not barf on ENOSYS. Signed-off-by: Riku Voipio <riku.voipio@iki.fi> Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5386 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
21 additions
and
0 deletions
linux-user/syscall.c
| @@ -5578,6 +5578,27 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | @@ -5578,6 +5578,27 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | ||
| 5578 | case TARGET_NR_mincore: | 5578 | case TARGET_NR_mincore: |
| 5579 | goto unimplemented; | 5579 | goto unimplemented; |
| 5580 | #endif | 5580 | #endif |
| 5581 | +#ifdef TARGET_NR_arm_fadvise64_64 | ||
| 5582 | + case TARGET_NR_arm_fadvise64_64: | ||
| 5583 | + { | ||
| 5584 | + /* | ||
| 5585 | + * arm_fadvise64_64 looks like fadvise64_64 but | ||
| 5586 | + * with different argument order | ||
| 5587 | + */ | ||
| 5588 | + abi_long temp; | ||
| 5589 | + temp = arg3; | ||
| 5590 | + arg3 = arg4; | ||
| 5591 | + arg4 = temp; | ||
| 5592 | + } | ||
| 5593 | +#endif | ||
| 5594 | +#if defined(TARGET_NR_fadvise64_64) || defined(TARGET_NR_arm_fadvise64_64) | ||
| 5595 | +#ifdef TARGET_NR_fadvise64_64 | ||
| 5596 | + case TARGET_NR_fadvise64_64: | ||
| 5597 | +#endif | ||
| 5598 | + /* This is a hint, so ignoring and returning success is ok. */ | ||
| 5599 | + ret = get_errno(0); | ||
| 5600 | + break; | ||
| 5601 | +#endif | ||
| 5581 | #ifdef TARGET_NR_madvise | 5602 | #ifdef TARGET_NR_madvise |
| 5582 | case TARGET_NR_madvise: | 5603 | case TARGET_NR_madvise: |
| 5583 | /* A straight passthrough may not be safe because qemu sometimes | 5604 | /* A straight passthrough may not be safe because qemu sometimes |