[MIPS64] libc/libm support

libc/libm support for MIPS64 targets

Change-Id: I8271941d418612a286be55495f0e95822f90004f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
diff --git a/libc/include/sys/vfs.h b/libc/include/sys/vfs.h
index 10fe502..10afbc3 100644
--- a/libc/include/sys/vfs.h
+++ b/libc/include/sys/vfs.h
@@ -38,7 +38,7 @@
 typedef struct { int __val[2]; } __fsid_t;
 typedef __fsid_t fsid_t;
 
-#if defined(__LP64__)
+#if defined(__aarch64__) || defined(__x86_64__)
 struct statfs {
   uint64_t f_type;
   uint64_t f_bsize;
@@ -53,6 +53,22 @@
   uint64_t f_flags;
   uint64_t f_spare[4];
 };
+#elif defined(__mips__) && defined(__LP64__)
+/* 64-bit MIPS. */
+struct statfs {
+  uint64_t f_type;
+  uint64_t f_bsize;
+  uint64_t f_frsize; /* Fragment size - unsupported. */
+  uint64_t f_blocks;
+  uint64_t f_bfree;
+  uint64_t f_files;
+  uint64_t f_ffree;
+  uint64_t f_bavail;
+  fsid_t f_fsid;
+  uint64_t f_namelen;
+  uint64_t f_flags;
+  uint64_t f_spare[5];
+};
 #elif defined(__mips__)
 /* 32-bit MIPS (corresponds to the kernel's statfs64 type). */
 struct statfs {