diff options
Diffstat (limited to 'meta/packages/qemu/qemu-0.9.1/31_syscalls.patch')
| -rw-r--r-- | meta/packages/qemu/qemu-0.9.1/31_syscalls.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/packages/qemu/qemu-0.9.1/31_syscalls.patch b/meta/packages/qemu/qemu-0.9.1/31_syscalls.patch new file mode 100644 index 0000000000..95a7332ee8 --- /dev/null +++ b/meta/packages/qemu/qemu-0.9.1/31_syscalls.patch | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | #DPATCHLEVEL=0 | ||
| 2 | --- | ||
| 3 | # linux-user/syscall.c | 11 ++++++++--- | ||
| 4 | # 1 file changed, 8 insertions(+), 3 deletions(-) | ||
| 5 | # | ||
| 6 | Index: linux-user/syscall.c | ||
| 7 | =================================================================== | ||
| 8 | --- linux-user/syscall.c.orig 2007-12-03 19:32:56.000000000 +0000 | ||
| 9 | +++ linux-user/syscall.c 2007-12-03 19:33:41.000000000 +0000 | ||
| 10 | @@ -250,6 +250,7 @@ extern int getresuid(uid_t *, uid_t *, u | ||
| 11 | extern int setresgid(gid_t, gid_t, gid_t); | ||
| 12 | extern int getresgid(gid_t *, gid_t *, gid_t *); | ||
| 13 | extern int setgroups(int, gid_t *); | ||
| 14 | +extern int uselib(const char*); | ||
| 15 | |||
| 16 | #define ERRNO_TABLE_SIZE 1200 | ||
| 17 | |||
| 18 | @@ -4024,7 +4025,8 @@ abi_long do_syscall(void *cpu_env, int n | ||
| 19 | #endif | ||
| 20 | #ifdef TARGET_NR_uselib | ||
| 21 | case TARGET_NR_uselib: | ||
| 22 | - goto unimplemented; | ||
| 23 | + ret = get_errno(uselib(path((const char*)arg1))); | ||
| 24 | + break; | ||
| 25 | #endif | ||
| 26 | #ifdef TARGET_NR_swapon | ||
| 27 | case TARGET_NR_swapon: | ||
| 28 | @@ -5289,7 +5291,9 @@ abi_long do_syscall(void *cpu_env, int n | ||
| 29 | goto unimplemented; | ||
| 30 | #ifdef TARGET_NR_mincore | ||
| 31 | case TARGET_NR_mincore: | ||
| 32 | - goto unimplemented; | ||
| 33 | + /*page_unprotect_range((void*)arg3, ((size_t)arg2 + TARGET_PAGE_SIZE - 1) / TARGET_PAGE_SIZE);*/ | ||
| 34 | + ret = get_errno(mincore((void*)arg1, (size_t)arg2, (unsigned char*)arg3)); | ||
| 35 | + break; | ||
| 36 | #endif | ||
| 37 | #ifdef TARGET_NR_madvise | ||
| 38 | case TARGET_NR_madvise: | ||
| 39 | @@ -5429,7 +5433,8 @@ abi_long do_syscall(void *cpu_env, int n | ||
| 40 | break; | ||
| 41 | #ifdef TARGET_NR_readahead | ||
| 42 | case TARGET_NR_readahead: | ||
| 43 | - goto unimplemented; | ||
| 44 | + ret = get_errno(readahead((int)arg1, (off64_t)arg2, (size_t)arg3)); | ||
| 45 | + break; | ||
| 46 | #endif | ||
| 47 | #ifdef TARGET_NR_setxattr | ||
| 48 | case TARGET_NR_setxattr: | ||
