From 33bcf733559a1108049c1d33ea8fafce0150e5f8 Mon Sep 17 00:00:00 2001 From: Carmelo Amoroso Date: Tue, 9 Sep 2008 12:01:37 +0000 Subject: Use getdents syscall if kernel provide supports for this instead of relying upon getdents64. Signed-off-by: Filippo Arcidiacono Signed-off-by: Carmelo Amoroso --- libpthread/linuxthreads/sysdeps/pthread/kernel-features.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libpthread') diff --git a/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h b/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h index 424922ec0..88a71828b 100644 --- a/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h +++ b/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h @@ -62,6 +62,14 @@ # define __ASSUME_VFORK_SYSCALL 1 #endif +/* Starting with version 2.6.4-rc1 the getdents syscall returns d_type + * information as well and in between 2.6.5 and 2.6.8 most compat wrappers + * were fixed too. Except s390{,x} which was fixed in 2.6.11. */ +#if (__LINUX_KERNEL_VERSION >= 0x020608 && !defined __s390__) \ + || (__LINUX_KERNEL_VERSION >= 0x02060b && defined __s390__) +# define __ASSUME_GETDENTS32_D_TYPE 1 +#endif + /* These features were surely available with 2.4.12. */ #if __LINUX_KERNEL_VERSION >= 132108 && defined __mc68000__ # define __ASSUME_MMAP2_SYSCALL 1 -- cgit v1.2.3