Fix MIPS' struct stat
In NDK r9c MIPS' struct stat was incorrectly set to its 64-bit
counterpart for API >= 12
Change-Id: I75db78ac7654fad982430e6adbe4480828776051
diff --git a/ndk/platforms/android-12/include/sys/stat.h b/ndk/platforms/android-12/include/sys/stat.h
index 497f404..7d20326 100644
--- a/ndk/platforms/android-12/include/sys/stat.h
+++ b/ndk/platforms/android-12/include/sys/stat.h
@@ -41,6 +41,39 @@
* Note: The kernel zero's the padded region because glibc might read them
* in the hope that the kernel has stretched to using larger sizes.
*/
+#ifdef __mips__
+struct stat {
+ unsigned long st_dev;
+ unsigned long __pad0[3];
+
+ unsigned long long st_ino;
+
+ unsigned int st_mode;
+ unsigned int st_nlink;
+
+ unsigned long st_uid;
+ unsigned long st_gid;
+
+ unsigned long st_rdev;
+ unsigned long __pad1[3];
+
+ long long st_size;
+
+ unsigned long st_atime;
+ unsigned long st_atime_nsec;
+
+ unsigned long st_mtime;
+ unsigned long st_mtime_nsec;
+
+ unsigned long st_ctime;
+ unsigned long st_ctime_nsec;
+
+ unsigned long st_blksize;
+ unsigned long __pad2;
+
+ unsigned long long st_blocks;
+};
+#else
struct stat {
unsigned long long st_dev;
unsigned char __pad0[4];
@@ -70,6 +103,7 @@
unsigned long long st_ino;
};
+#endif
/* For compatibility with GLibc, we provide macro aliases
* for the non-Posix nano-seconds accessors.
diff --git a/ndk/platforms/android-19/include/sys/stat.h b/ndk/platforms/android-19/include/sys/stat.h
index c156f43..54c6b5b 100644
--- a/ndk/platforms/android-19/include/sys/stat.h
+++ b/ndk/platforms/android-19/include/sys/stat.h
@@ -41,6 +41,39 @@
* Note: The kernel zero's the padded region because glibc might read them
* in the hope that the kernel has stretched to using larger sizes.
*/
+#ifdef __mips__
+struct stat {
+ unsigned long st_dev;
+ unsigned long __pad0[3];
+
+ unsigned long long st_ino;
+
+ unsigned int st_mode;
+ unsigned int st_nlink;
+
+ unsigned long st_uid;
+ unsigned long st_gid;
+
+ unsigned long st_rdev;
+ unsigned long __pad1[3];
+
+ long long st_size;
+
+ unsigned long st_atime;
+ unsigned long st_atime_nsec;
+
+ unsigned long st_mtime;
+ unsigned long st_mtime_nsec;
+
+ unsigned long st_ctime;
+ unsigned long st_ctime_nsec;
+
+ unsigned long st_blksize;
+ unsigned long __pad2;
+
+ unsigned long long st_blocks;
+};
+#else
struct stat {
unsigned long long st_dev;
unsigned char __pad0[4];
@@ -70,6 +103,7 @@
unsigned long long st_ino;
};
+#endif
/* For compatibility with GLibc, we provide macro aliases
* for the non-Posix nano-seconds accessors.
diff --git a/ndk/platforms/android-9/arch-mips/include/sys/stat.h b/ndk/platforms/android-9/include/sys/stat.h
similarity index 100%
rename from ndk/platforms/android-9/arch-mips/include/sys/stat.h
rename to ndk/platforms/android-9/include/sys/stat.h