uclibc  

[PATCH] getdents: Fix mips64 build

Atsushi Nemoto
Mon, 18 Jan 2010 06:27:10 -0800

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 <an...@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

_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc