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