Implement some of the missing LFS64 support.
This gives us:
* <dirent.h>
struct dirent64
readdir64, readdir64_r, alphasort64, scandir64
* <fcntl.h>
creat64, openat64, open64.
* <sys/stat.h>
struct stat64
fstat64, fstatat64, lstat64, stat64.
* <sys/statvfs.h>
struct statvfs64
statvfs64, fstatvfs64.
* <sys/vfs.h>
struct statfs64
statfs64, fstatfs64.
This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).
Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
diff --git a/libc/bionic/dirent.cpp b/libc/bionic/dirent.cpp
index 0565698..0f9b26a 100644
--- a/libc/bionic/dirent.cpp
+++ b/libc/bionic/dirent.cpp
@@ -105,6 +105,7 @@
ScopedPthreadMutexLocker locker(&d->mutex_);
return __readdir_locked(d);
}
+__strong_alias(readdir64, readdir);
int readdir_r(DIR* d, dirent* entry, dirent** result) {
ErrnoRestorer errno_restorer;
@@ -125,6 +126,7 @@
}
return 0;
}
+__strong_alias(readdir64_r, readdir_r);
int closedir(DIR* d) {
if (d == NULL) {
@@ -147,3 +149,4 @@
int alphasort(const dirent** a, const dirent** b) {
return strcoll((*a)->d_name, (*b)->d_name);
}
+__strong_alias(alphasort64, alphasort);