Fix types of POSIX struct fields for MIPS[64]

Tets: success on mma libbionic_tests_headers_posix
Change-Id: I7721634ee51801bc33877adf723ebd06491b344c
diff --git a/tests/headers/posix/sys_stat_h.c b/tests/headers/posix/sys_stat_h.c
index 9ddbe21..5764dfb 100644
--- a/tests/headers/posix/sys_stat_h.c
+++ b/tests/headers/posix/sys_stat_h.c
@@ -37,7 +37,7 @@
 #else
   STRUCT_MEMBER(struct stat, dev_t, st_dev);
 #endif
-#if defined(__BIONIC__) && (defined(__arm__) || defined(__i386__))
+#if defined(__BIONIC__) && !defined(__LP64__)
   STRUCT_MEMBER(struct stat, unsigned long long, st_ino);
 #else
   STRUCT_MEMBER(struct stat, ino_t, st_ino);
@@ -60,7 +60,7 @@
 #else
   STRUCT_MEMBER(struct stat, dev_t, st_rdev);
 #endif
-#if defined(__BIONIC__) && (defined(__arm__) || defined(__i386__))
+#if defined(__BIONIC__) && !defined(__LP64__)
   STRUCT_MEMBER(struct stat, long long, st_size);
 #else
   STRUCT_MEMBER(struct stat, off_t, st_size);
@@ -69,8 +69,10 @@
   STRUCT_MEMBER(struct stat, struct timespec, st_mtim);
   STRUCT_MEMBER(struct stat, struct timespec, st_ctim);
 #if defined(__BIONIC__)
-#if defined(__aarch64__)
+#if defined(__aarch64__) || (defined(__mips__) && defined(__LP64__))
   STRUCT_MEMBER(struct stat, int, st_blksize);
+#elif defined(__mips__) && !defined(__LP64__)
+  STRUCT_MEMBER(struct stat, unsigned int, st_blksize);
 #elif defined(__x86_64__)
   STRUCT_MEMBER(struct stat, long, st_blksize);
 #else
@@ -80,7 +82,7 @@
   STRUCT_MEMBER(struct stat, blksize_t, st_blksize);
 #endif
 #if defined(__BIONIC__)
-#if defined(__aarch64__) || defined(__x86_64__)
+#if defined(__LP64__)
   STRUCT_MEMBER(struct stat, long, st_blocks);
 #else
   STRUCT_MEMBER(struct stat, unsigned long long, st_blocks);