diff options
author | Carmelo Amoroso <carmelo.amoroso@st.com> | 2008-09-09 12:01:37 +0000 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2008-09-09 12:01:37 +0000 |
commit | 33bcf733559a1108049c1d33ea8fafce0150e5f8 (patch) | |
tree | 571fd5ac0719f1a2fa010427085b1582df25e764 /libpthread/linuxthreads/sysdeps | |
parent | 1cf466022bd863dd8f529d6da52480f445fceb96 (diff) |
Use getdents syscall if kernel provide supports for this
instead of relying upon getdents64.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libpthread/linuxthreads/sysdeps')
-rw-r--r-- | libpthread/linuxthreads/sysdeps/pthread/kernel-features.h | 8 |
1 files changed, 8 insertions, 0 deletions
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 |