Merge "Better backwards compatibility for stat64."
This commit is contained in:
commit
f99b7a34c8
4 changed files with 18 additions and 9 deletions
|
@ -33,6 +33,7 @@ libc_common_src_files_32 = [
|
|||
|
||||
libc_common_flags = [
|
||||
"-D_LIBC=1",
|
||||
"-D__BIONIC_LP32_USE_STAT64",
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Wunused",
|
||||
|
|
|
@ -56,11 +56,9 @@ struct FTW {
|
|||
|
||||
__BEGIN_DECLS
|
||||
int ftw(const char* __dir_path, int (*__callback)(const char*, const struct stat*, int), int __max_fd_count) __INTRODUCED_IN(17);
|
||||
int nftw(const char* __dir_path, int (*__callback)(const char*, const struct stat*, int, struct FTW*), int __max_fd_count, int __flags)
|
||||
__INTRODUCED_IN(17);
|
||||
int ftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int), int __max_fd_count) __INTRODUCED_IN(21);
|
||||
int nftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int, struct FTW*), int __max_fd_count, int __flags)
|
||||
__INTRODUCED_IN(21);
|
||||
int nftw(const char* __dir_path, int (*__callback)(const char*, const struct stat*, int, struct FTW*), int __max_fd_count, int __flags) __INTRODUCED_IN(17);
|
||||
int ftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int), int __max_fd_count) __RENAME_STAT64(ftw, 17, 21);
|
||||
int nftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int, struct FTW*), int __max_fd_count, int __flags) __RENAME_STAT64(nftw, 17, 21);
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
|
|
|
@ -245,6 +245,16 @@
|
|||
#define __RENAME_LDBL(rewrite,rewrite_api_level,regular_api_level) __RENAME(rewrite) __INTRODUCED_IN(rewrite_api_level)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* On all architectures, `struct stat` == `struct stat64`, but LP32 didn't gain the *64 functions
|
||||
* until API level 21.
|
||||
*/
|
||||
#if defined(__LP64__) || defined(__BIONIC_LP32_USE_STAT64)
|
||||
#define __RENAME_STAT64(rewrite,rewrite_api_level,regular_api_level) __INTRODUCED_IN(regular_api_level)
|
||||
#else
|
||||
#define __RENAME_STAT64(rewrite,rewrite_api_level,regular_api_level) __RENAME(rewrite) __INTRODUCED_IN(rewrite_api_level)
|
||||
#endif
|
||||
|
||||
/* glibc compatibility. */
|
||||
#if defined(__LP64__)
|
||||
#define __WORDSIZE 64
|
||||
|
|
|
@ -156,13 +156,13 @@ int fchmod(int __fd, mode_t __mode);
|
|||
int mkdir(const char* __path, mode_t __mode);
|
||||
|
||||
int fstat(int __fd, struct stat* __buf);
|
||||
int fstat64(int __fd, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
|
||||
int fstatat(int __dir_fd, const char* __path, struct stat* __buf, int __flags);
|
||||
int fstatat64(int __dir_fd, const char* __path, struct stat64* __buf, int __flags) __INTRODUCED_IN(21);
|
||||
int fstatat64(int __dir_fd, const char* __path, struct stat64* __buf, int __flags) __RENAME_STAT64(fstatat, 3, 21);
|
||||
int lstat(const char* __path, struct stat* __buf);
|
||||
int lstat64(const char* __path, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int lstat64(const char* __path, struct stat64* __buf) __RENAME_STAT64(lstat, 3, 21);
|
||||
int stat(const char* __path, struct stat* __buf);
|
||||
int stat64(const char* __path, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int stat64(const char* __path, struct stat64* __buf) __RENAME_STAT64(stat, 3, 21);
|
||||
|
||||
int mknod(const char* __path, mode_t __mode, dev_t __dev);
|
||||
mode_t umask(mode_t __mask);
|
||||
|
|
Loading…
Reference in a new issue