[PATCH] getdents: Fix mips64 build
Atsushi Nemoto
anemo at mba.ocn.ne.jp
Mon Jan 18 14:09:29 UTC 2010
Some archs (such as mips64) do not have getdents64 syscall but have
getdents syscall. Define alias for it.
This fixes regression from 0.9.30.1.
Backgrounds:
This is once done by commit e8b1c674. But after the commit 33bcf733
("Use getdents syscall if kernel provide supports for this instead of
relying upon getdents64."), if __ASSUME_GETDENTS32_D_TYPE was defined
the alias for getdents64 is not defined. The macro
__ASSUME_GETDENTS32_D_TYPE had been effectively ignored until 0.9.30.1
but the commit 0f0f20ab ("Move kernel-features.h header from the
linuxthread directory to a common one...") really enables it.
Signed-off-by: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
---
libc/sysdeps/linux/common/getdents.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/libc/sysdeps/linux/common/getdents.c b/libc/sysdeps/linux/common/getdents.c
index 6a38772..d21ed9c 100644
--- a/libc/sysdeps/linux/common/getdents.c
+++ b/libc/sysdeps/linux/common/getdents.c
@@ -76,6 +76,10 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)
return retval;
}
+#if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64
+attribute_hidden strong_alias(__getdents,__getdents64)
+#endif
+
#elif ! defined __UCLIBC_HAS_LFS__ || ! defined __NR_getdents64
ssize_t __getdents (int fd, char *buf, size_t nbytes)
--
1.5.6.5
More information about the uClibc
mailing list