diff options
author | Ulrich Hecht <uli@suse.de> | 2009-07-24 19:10:28 +0200 |
---|---|---|
committer | Riku Voipio <riku.voipio@iki.fi> | 2009-08-25 17:15:34 +0300 |
commit | d83c8733b7cf955f3c0b58ecd6e9c58bc35fadad (patch) | |
tree | 3d1489a5a8db34f1c3f2c4a104e3a1953ecc60ad /linux-user/syscall.c | |
parent | 7e22e546028e4ea8336e3dcd44161a216647dcaa (diff) | |
download | qemu-d83c8733b7cf955f3c0b58ecd6e9c58bc35fadad.tar.gz qemu-d83c8733b7cf955f3c0b58ecd6e9c58bc35fadad.tar.bz2 qemu-d83c8733b7cf955f3c0b58ecd6e9c58bc35fadad.zip |
linux-user: enable getdents for > 32-bit systems
works perfectly fine with the example from getdents(2) and passes the LTP
tests (tested with s390x on x86_64 emulation)
Signed-off-by: Ulrich Hecht <uli@suse.de>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r-- | linux-user/syscall.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index e69f0fd6cd..a7de154703 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -196,9 +196,7 @@ static int gettid(void) { return -ENOSYS; } #endif -#if TARGET_ABI_BITS == 32 _syscall3(int, sys_getdents, uint, fd, struct linux_dirent *, dirp, uint, count); -#endif #if defined(TARGET_NR_getdents64) && defined(__NR_getdents64) _syscall3(int, sys_getdents64, uint, fd, struct linux_dirent64 *, dirp, uint, count); #endif @@ -5795,9 +5793,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, break; #endif case TARGET_NR_getdents: -#if TARGET_ABI_BITS != 32 - goto unimplemented; -#elif TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64 +#if TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64 { struct target_dirent *target_dirp; struct linux_dirent *dirp; |