am 9d0a4a6e: am 5f3ed7dd: am 80bc4f93: Merge "Refresh 64-bit headers/libs (WW20)"

* commit '9d0a4a6eca86933e9cd1fd60ba8cc0abae351b2a':
  Refresh 64-bit headers/libs (WW20)
diff --git a/ndk/platforms/android-20/arch-arm/include/asm/byteorder.h b/ndk/platforms/android-20/arch-arm/include/asm/byteorder.h
index 0d2bdf3..6f17a48 100644
--- a/ndk/platforms/android-20/arch-arm/include/asm/byteorder.h
+++ b/ndk/platforms/android-20/arch-arm/include/asm/byteorder.h
@@ -18,11 +18,6 @@
  ****************************************************************************/
 #ifndef __ASM_ARM_BYTEORDER_H
 #define __ASM_ARM_BYTEORDER_H
-#ifdef __ARMEB__
-#include <linux/byteorder/big_endian.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#else
 #include <linux/byteorder/little_endian.h>
 #endif
-#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
diff --git a/ndk/platforms/android-20/arch-arm/include/asm/stat.h b/ndk/platforms/android-20/arch-arm/include/asm/stat.h
index d8188bf..b3425dd 100644
--- a/ndk/platforms/android-20/arch-arm/include/asm/stat.h
+++ b/ndk/platforms/android-20/arch-arm/include/asm/stat.h
@@ -37,68 +37,55 @@
 #define STAT_HAVE_NSEC
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct stat {
-#ifdef __ARMEB__
- unsigned short st_dev;
- unsigned short __pad1;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#else
  unsigned long st_dev;
-#endif
  unsigned long st_ino;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned short st_mode;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned short st_nlink;
  unsigned short st_uid;
  unsigned short st_gid;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#ifdef __ARMEB__
- unsigned short st_rdev;
- unsigned short __pad2;
-#else
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_rdev;
-#endif
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_size;
  unsigned long st_blksize;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_blocks;
  unsigned long st_atime;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_atime_nsec;
  unsigned long st_mtime;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_mtime_nsec;
  unsigned long st_ctime;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_ctime_nsec;
  unsigned long __unused4;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long __unused5;
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct stat64 {
  unsigned long long st_dev;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned char __pad0[4];
 #define STAT64_HAS_BROKEN_ST_INO 1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long __st_ino;
  unsigned int st_mode;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned int st_nlink;
  unsigned long st_uid;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_gid;
  unsigned long long st_rdev;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned char __pad3[4];
  long long st_size;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_blksize;
  unsigned long long st_blocks;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_atime;
  unsigned long st_atime_nsec;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_mtime;
  unsigned long st_mtime_nsec;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long st_ctime;
  unsigned long st_ctime_nsec;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned long long st_ino;
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif
diff --git a/ndk/platforms/android-20/arch-arm/include/asm/unistd.h b/ndk/platforms/android-20/arch-arm/include/asm/unistd.h
index f99bfb1..4ce108c 100644
--- a/ndk/platforms/android-20/arch-arm/include/asm/unistd.h
+++ b/ndk/platforms/android-20/arch-arm/include/asm/unistd.h
@@ -19,12 +19,7 @@
 #ifndef _UAPI__ASM_ARM_UNISTD_H
 #define _UAPI__ASM_ARM_UNISTD_H
 #define __NR_OABI_SYSCALL_BASE 0x900000
-#if defined(__thumb__) || defined(__ARM_EABI__)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define __NR_SYSCALL_BASE 0
-#else
-#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
-#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define __NR_restart_syscall (__NR_SYSCALL_BASE+ 0)
 #define __NR_exit (__NR_SYSCALL_BASE+ 1)
@@ -468,22 +463,19 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define __ARM_NR_usr32 (__ARM_NR_BASE+4)
 #define __ARM_NR_set_tls (__ARM_NR_BASE+5)
-#ifdef __ARM_EABI__
 #undef __NR_time
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_umount
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_stime
 #undef __NR_alarm
 #undef __NR_utime
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_getrlimit
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_select
 #undef __NR_readdir
 #undef __NR_mmap
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_socketcall
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #undef __NR_syscall
 #undef __NR_ipc
 #endif
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
diff --git a/ndk/platforms/android-20/arch-arm/lib/libc.a b/ndk/platforms/android-20/arch-arm/lib/libc.a
index 6951548..e8b7397 100644
--- a/ndk/platforms/android-20/arch-arm/lib/libc.a
+++ b/ndk/platforms/android-20/arch-arm/lib/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm/lib/libm.a b/ndk/platforms/android-20/arch-arm/lib/libm.a
index b9aa024..e807a64 100644
--- a/ndk/platforms/android-20/arch-arm/lib/libm.a
+++ b/ndk/platforms/android-20/arch-arm/lib/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm/lib/libstdc++.a b/ndk/platforms/android-20/arch-arm/lib/libstdc++.a
index 463cc80..d8bf32f 100644
--- a/ndk/platforms/android-20/arch-arm/lib/libstdc++.a
+++ b/ndk/platforms/android-20/arch-arm/lib/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm/lib/libz.a b/ndk/platforms/android-20/arch-arm/lib/libz.a
index 42e397d..f58767f 100644
--- a/ndk/platforms/android-20/arch-arm/lib/libz.a
+++ b/ndk/platforms/android-20/arch-arm/lib/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt
index a8b292e..9844e68 100644
--- a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt
@@ -29,6 +29,7 @@
 ___Unwind_RaiseException
 ___Unwind_Resume
 ___Unwind_Resume_or_Rethrow
+__accept
 __adddf3
 __addsf3
 __aeabi_atexit
@@ -98,17 +99,17 @@
 __ashrdi3
 __assert
 __assert2
+__atexit_register_cleanup
 __atomic_cmpxchg
 __atomic_dec
 __atomic_inc
 __atomic_swap
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __brk
 __cmpdf2
+__connect
 __cxa_atexit
 __cxa_finalize
 __divdf3
@@ -668,6 +669,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -716,6 +718,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -723,6 +727,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -864,6 +872,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt
index 121f8f4..3d7161c 100644
--- a/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt
@@ -9,6 +9,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -32,8 +33,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/arch-arm64/lib/libc.a b/ndk/platforms/android-20/arch-arm64/lib/libc.a
index 737b48d..ea9ec46 100644
--- a/ndk/platforms/android-20/arch-arm64/lib/libc.a
+++ b/ndk/platforms/android-20/arch-arm64/lib/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm64/lib/libm.a b/ndk/platforms/android-20/arch-arm64/lib/libm.a
index 2c5d4f8..5e95ceb 100644
--- a/ndk/platforms/android-20/arch-arm64/lib/libm.a
+++ b/ndk/platforms/android-20/arch-arm64/lib/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a b/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a
index 35b02d5..25d4657 100644
--- a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a
+++ b/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm64/lib/libz.a b/ndk/platforms/android-20/arch-arm64/lib/libz.a
index c6b60b0..b41e0fb 100644
--- a/ndk/platforms/android-20/arch-arm64/lib/libz.a
+++ b/ndk/platforms/android-20/arch-arm64/lib/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt
index 046333d..b6b8c9f 100644
--- a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt
@@ -27,14 +27,12 @@
 __FD_CLR_chk
 __FD_ISSET_chk
 __FD_SET_chk
-__android_fatal
+__android_set_abort_message
 __arc4_getbyte
 __assert
 __assert2
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __cxa_atexit
 __cxa_finalize
@@ -512,6 +510,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -558,6 +557,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -565,6 +566,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -702,6 +707,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt
index 4f1f739..fc7f9d8 100644
--- a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt
@@ -6,6 +6,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -27,8 +28,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/arch-mips/include/asm/byteorder.h b/ndk/platforms/android-20/arch-mips/include/asm/byteorder.h
index 477c93d..965fd8f 100644
--- a/ndk/platforms/android-20/arch-mips/include/asm/byteorder.h
+++ b/ndk/platforms/android-20/arch-mips/include/asm/byteorder.h
@@ -18,13 +18,6 @@
  ****************************************************************************/
 #ifndef _ASM_BYTEORDER_H
 #define _ASM_BYTEORDER_H
-#ifdef __MIPSEB__
-#include <linux/byteorder/big_endian.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#elif defined(__MIPSEL__)
 #include <linux/byteorder/little_endian.h>
-#else
-#error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???"
+#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
-#endif
diff --git a/ndk/platforms/android-20/arch-mips/include/asm/inst.h b/ndk/platforms/android-20/arch-mips/include/asm/inst.h
index 379286c..43e9a50 100644
--- a/ndk/platforms/android-20/arch-mips/include/asm/inst.h
+++ b/ndk/platforms/android-20/arch-mips/include/asm/inst.h
@@ -434,453 +434,446 @@
  MIPS16e_swrasp_func = 02,
 };
 #define MM_NOP16 0x0c00
-#ifdef __MIPSEB__
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define BITFIELD_FIELD(field, more)   field;   more
-#elif defined(__MIPSEL__)
 #define BITFIELD_FIELD(field, more)   more   field;
-#else
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
-#endif
 struct j_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int target : 26,
  ;))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct i_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(signed int simmediate : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct u_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rs : 5,
  BITFIELD_FIELD(unsigned int rt : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int uimmediate : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct c_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int c_op : 3,
  BITFIELD_FIELD(unsigned int cache : 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int simmediate : 16,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct r_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int rd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int re : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct p_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rs : 5,
  BITFIELD_FIELD(unsigned int rt : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rd : 5,
  BITFIELD_FIELD(unsigned int re : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct f_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 4,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rd : 5,
  BITFIELD_FIELD(unsigned int re : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ma_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int fr : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ft : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 2,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct b_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int code : 20,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ps_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ft : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct v_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int sel : 4,
  BITFIELD_FIELD(unsigned int fmt : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int vt : 5,
  BITFIELD_FIELD(unsigned int vs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int vd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fb_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int bc : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int flag : 2,
  BITFIELD_FIELD(signed int simmediate : 16,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fp0_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 5,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp0_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int op : 2,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fp1_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int op : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_fp1_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 2,
  BITFIELD_FIELD(unsigned int op : 8,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp2_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int fd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int zero : 2,
  BITFIELD_FIELD(unsigned int fmt : 2,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int op : 3,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_fp3_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int op : 7,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp4_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int cond : 4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp5_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int index : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int op : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fp6_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fr : 5,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp6_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fr : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_i_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int rs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_m_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int func : 4,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 12,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_x_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int index : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int rd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 11,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_b0_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(signed int simmediate : 10,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int : 16,
  ;)))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_b1_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 7,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_m_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 4,
  BITFIELD_FIELD(unsigned int rlist : 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 4,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_rb_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 3,
  BITFIELD_FIELD(unsigned int base : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 4,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_r3_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 3,
  BITFIELD_FIELD(signed int simmediate : 7,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm16_r5_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 5,
  BITFIELD_FIELD(unsigned int : 16,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_rr {
  BITFIELD_FIELD(unsigned int opcode : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rx : 3,
  BITFIELD_FIELD(unsigned int nd : 1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int l : 1,
  BITFIELD_FIELD(unsigned int ra : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 5,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_jal {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int x : 1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm20_16 : 5,
  BITFIELD_FIELD(signed int imm25_21 : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_i64 {
  BITFIELD_FIELD(unsigned int opcode : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int imm : 8,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_ri64 {
  BITFIELD_FIELD(unsigned int opcode : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int ry : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 5,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_ri {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int rx : 3,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 8,
  ;)))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_rri {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int rx : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ry : 3,
  BITFIELD_FIELD(unsigned int imm : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_i8 {
  BITFIELD_FIELD(unsigned int opcode : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int imm : 8,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 union mips_instruction {
  unsigned int word;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned short halfword[2];
  unsigned char byte[4];
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct j_format j_format;
  struct i_format i_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct u_format u_format;
  struct c_format c_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct r_format r_format;
  struct p_format p_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct f_format f_format;
  struct ma_format ma_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct b_format b_format;
  struct ps_format ps_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct v_format v_format;
  struct fb_format fb_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp0_format fp0_format;
  struct mm_fp0_format mm_fp0_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp1_format fp1_format;
  struct mm_fp1_format mm_fp1_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_fp2_format mm_fp2_format;
  struct mm_fp3_format mm_fp3_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_fp4_format mm_fp4_format;
  struct mm_fp5_format mm_fp5_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp6_format fp6_format;
  struct mm_fp6_format mm_fp6_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_i_format mm_i_format;
  struct mm_m_format mm_m_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_x_format mm_x_format;
  struct mm_b0_format mm_b0_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_b1_format mm_b1_format;
  struct mm16_m_format mm16_m_format ;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm16_rb_format mm16_rb_format;
  struct mm16_r3_format mm16_r3_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm16_r5_format mm16_r5_format;
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 union mips16e_instruction {
  unsigned int full : 16;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_rr rr;
  struct m16e_jal jal;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_i64 i64;
  struct m16e_ri64 ri64;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_ri ri;
  struct m16e_rri rri;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_i8 i8;
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif
diff --git a/ndk/platforms/android-20/arch-mips/lib/libc.a b/ndk/platforms/android-20/arch-mips/lib/libc.a
index e23dea8..2ac27e8 100644
--- a/ndk/platforms/android-20/arch-mips/lib/libc.a
+++ b/ndk/platforms/android-20/arch-mips/lib/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips/lib/libm.a b/ndk/platforms/android-20/arch-mips/lib/libm.a
index 4a6295f..d7b72eb 100644
--- a/ndk/platforms/android-20/arch-mips/lib/libm.a
+++ b/ndk/platforms/android-20/arch-mips/lib/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips/lib/libstdc++.a
index ac81c8f..30eba74 100644
--- a/ndk/platforms/android-20/arch-mips/lib/libstdc++.a
+++ b/ndk/platforms/android-20/arch-mips/lib/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips/lib/libz.a b/ndk/platforms/android-20/arch-mips/lib/libz.a
index fdc10ae..7ef7336 100644
--- a/ndk/platforms/android-20/arch-mips/lib/libz.a
+++ b/ndk/platforms/android-20/arch-mips/lib/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt
index 6573be2..84a081f 100644
--- a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt
@@ -27,16 +27,16 @@
 __FD_CLR_chk
 __FD_ISSET_chk
 __FD_SET_chk
-__android_fatal
+__accept
+__android_set_abort_message
 __arc4_getbyte
 __assert
 __assert2
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __brk
+__connect
 __cxa_atexit
 __cxa_finalize
 __deregister_frame
@@ -222,7 +222,6 @@
 __sched_getaffinity
 __sclose
 __set_errno
-__set_thread_area
 __set_tid_address
 __set_tls
 __sflags
@@ -559,6 +558,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -607,6 +607,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -614,6 +616,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -755,6 +761,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt
index ca98c87..2d0130c 100644
--- a/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt
@@ -7,6 +7,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -30,8 +31,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/arch-mips64/include/asm/byteorder.h b/ndk/platforms/android-20/arch-mips64/include/asm/byteorder.h
index 477c93d..965fd8f 100644
--- a/ndk/platforms/android-20/arch-mips64/include/asm/byteorder.h
+++ b/ndk/platforms/android-20/arch-mips64/include/asm/byteorder.h
@@ -18,13 +18,6 @@
  ****************************************************************************/
 #ifndef _ASM_BYTEORDER_H
 #define _ASM_BYTEORDER_H
-#ifdef __MIPSEB__
-#include <linux/byteorder/big_endian.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#elif defined(__MIPSEL__)
 #include <linux/byteorder/little_endian.h>
-#else
-#error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???"
+#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
-#endif
diff --git a/ndk/platforms/android-20/arch-mips64/include/asm/inst.h b/ndk/platforms/android-20/arch-mips64/include/asm/inst.h
index 379286c..43e9a50 100644
--- a/ndk/platforms/android-20/arch-mips64/include/asm/inst.h
+++ b/ndk/platforms/android-20/arch-mips64/include/asm/inst.h
@@ -434,453 +434,446 @@
  MIPS16e_swrasp_func = 02,
 };
 #define MM_NOP16 0x0c00
-#ifdef __MIPSEB__
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define BITFIELD_FIELD(field, more)   field;   more
-#elif defined(__MIPSEL__)
 #define BITFIELD_FIELD(field, more)   more   field;
-#else
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
-#endif
 struct j_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int target : 26,
  ;))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct i_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(signed int simmediate : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct u_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rs : 5,
  BITFIELD_FIELD(unsigned int rt : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int uimmediate : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct c_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int c_op : 3,
  BITFIELD_FIELD(unsigned int cache : 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int simmediate : 16,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct r_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int rd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int re : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct p_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rs : 5,
  BITFIELD_FIELD(unsigned int rt : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rd : 5,
  BITFIELD_FIELD(unsigned int re : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct f_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 4,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rd : 5,
  BITFIELD_FIELD(unsigned int re : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ma_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int fr : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ft : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 2,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct b_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int code : 20,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ps_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ft : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct v_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int sel : 4,
  BITFIELD_FIELD(unsigned int fmt : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int vt : 5,
  BITFIELD_FIELD(unsigned int vs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int vd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fb_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int bc : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int flag : 2,
  BITFIELD_FIELD(signed int simmediate : 16,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fp0_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 5,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp0_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int op : 2,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fp1_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int op : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fd : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_fp1_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 2,
  BITFIELD_FIELD(unsigned int op : 8,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp2_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int fd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int zero : 2,
  BITFIELD_FIELD(unsigned int fmt : 2,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int op : 3,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_fp3_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int fs : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int op : 7,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp4_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int cc : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fmt : 3,
  BITFIELD_FIELD(unsigned int cond : 4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;)))))))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp5_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int index : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int op : 5,
  BITFIELD_FIELD(unsigned int func : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fp6_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fr : 5,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 6,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_fp6_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int ft : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fs : 5,
  BITFIELD_FIELD(unsigned int fd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int fr : 5,
  BITFIELD_FIELD(unsigned int func : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm_i_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 5,
  BITFIELD_FIELD(unsigned int rs : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_m_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rd : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int func : 4,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 12,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_x_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int index : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int base : 5,
  BITFIELD_FIELD(unsigned int rd : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 11,
  ;)))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_b0_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(signed int simmediate : 10,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int : 16,
  ;)))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm_b1_format {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rs : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 7,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_m_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 4,
  BITFIELD_FIELD(unsigned int rlist : 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 4,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_rb_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 3,
  BITFIELD_FIELD(unsigned int base : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 4,
  BITFIELD_FIELD(unsigned int : 16,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct mm16_r3_format {
  BITFIELD_FIELD(unsigned int opcode : 6,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rt : 3,
  BITFIELD_FIELD(signed int simmediate : 7,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int : 16,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct mm16_r5_format {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 6,
  BITFIELD_FIELD(unsigned int rt : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(signed int simmediate : 5,
  BITFIELD_FIELD(unsigned int : 16,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_rr {
  BITFIELD_FIELD(unsigned int opcode : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int rx : 3,
  BITFIELD_FIELD(unsigned int nd : 1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int l : 1,
  BITFIELD_FIELD(unsigned int ra : 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 5,
  ;))))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_jal {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int x : 1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm20_16 : 5,
  BITFIELD_FIELD(signed int imm25_21 : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_i64 {
  BITFIELD_FIELD(unsigned int opcode : 5,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int imm : 8,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_ri64 {
  BITFIELD_FIELD(unsigned int opcode : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int ry : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 5,
  ;))))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_ri {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int rx : 3,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int imm : 8,
  ;)))
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct m16e_rri {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int opcode : 5,
  BITFIELD_FIELD(unsigned int rx : 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int ry : 3,
  BITFIELD_FIELD(unsigned int imm : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;))))
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct m16e_i8 {
  BITFIELD_FIELD(unsigned int opcode : 5,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  BITFIELD_FIELD(unsigned int func : 3,
  BITFIELD_FIELD(unsigned int imm : 8,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  ;)))
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 union mips_instruction {
  unsigned int word;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned short halfword[2];
  unsigned char byte[4];
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct j_format j_format;
  struct i_format i_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct u_format u_format;
  struct c_format c_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct r_format r_format;
  struct p_format p_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct f_format f_format;
  struct ma_format ma_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct b_format b_format;
  struct ps_format ps_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct v_format v_format;
  struct fb_format fb_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp0_format fp0_format;
  struct mm_fp0_format mm_fp0_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp1_format fp1_format;
  struct mm_fp1_format mm_fp1_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_fp2_format mm_fp2_format;
  struct mm_fp3_format mm_fp3_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_fp4_format mm_fp4_format;
  struct mm_fp5_format mm_fp5_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct fp6_format fp6_format;
  struct mm_fp6_format mm_fp6_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_i_format mm_i_format;
  struct mm_m_format mm_m_format;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_x_format mm_x_format;
  struct mm_b0_format mm_b0_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm_b1_format mm_b1_format;
  struct mm16_m_format mm16_m_format ;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm16_rb_format mm16_rb_format;
  struct mm16_r3_format mm16_r3_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct mm16_r5_format mm16_r5_format;
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 union mips16e_instruction {
  unsigned int full : 16;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_rr rr;
  struct m16e_jal jal;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_i64 i64;
  struct m16e_ri64 ri64;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_ri ri;
  struct m16e_rri rri;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct m16e_i8 i8;
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif
diff --git a/ndk/platforms/android-20/arch-mips64/lib/libc.a b/ndk/platforms/android-20/arch-mips64/lib/libc.a
index 277ae8d..afb02c8 100644
--- a/ndk/platforms/android-20/arch-mips64/lib/libc.a
+++ b/ndk/platforms/android-20/arch-mips64/lib/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips64/lib/libm.a b/ndk/platforms/android-20/arch-mips64/lib/libm.a
index e2bd16d..81baa14 100644
--- a/ndk/platforms/android-20/arch-mips64/lib/libm.a
+++ b/ndk/platforms/android-20/arch-mips64/lib/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a
index e1df123..09f242e 100644
--- a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a
+++ b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips64/lib/libz.a b/ndk/platforms/android-20/arch-mips64/lib/libz.a
index 7363542..7da18ce 100644
--- a/ndk/platforms/android-20/arch-mips64/lib/libz.a
+++ b/ndk/platforms/android-20/arch-mips64/lib/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt
index 15fa5b7..953f808 100644
--- a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt
@@ -32,10 +32,9 @@
 __ashlti3
 __assert
 __assert2
+__atexit_register_cleanup
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __cxa_atexit
 __cxa_finalize
@@ -199,7 +198,6 @@
 __sched_cpucount
 __sched_cpufree
 __sclose
-__set_tls
 __sflags
 __sflush
 __sflush_locked
@@ -516,6 +514,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -562,6 +561,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -569,6 +570,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -706,6 +711,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt
index 8ebbedd..e632995 100644
--- a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt
@@ -6,6 +6,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -28,8 +29,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/arch-x86/lib/libc.a b/ndk/platforms/android-20/arch-x86/lib/libc.a
index d95fcdf..414fa30 100644
--- a/ndk/platforms/android-20/arch-x86/lib/libc.a
+++ b/ndk/platforms/android-20/arch-x86/lib/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86/lib/libm.a b/ndk/platforms/android-20/arch-x86/lib/libm.a
index 7ed4ff4..aa36ce4 100644
--- a/ndk/platforms/android-20/arch-x86/lib/libm.a
+++ b/ndk/platforms/android-20/arch-x86/lib/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86/lib/libstdc++.a b/ndk/platforms/android-20/arch-x86/lib/libstdc++.a
index dd3139a..bab8fa8 100644
--- a/ndk/platforms/android-20/arch-x86/lib/libstdc++.a
+++ b/ndk/platforms/android-20/arch-x86/lib/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86/lib/libz.a b/ndk/platforms/android-20/arch-x86/lib/libz.a
index 4241f34..c2c417e 100644
--- a/ndk/platforms/android-20/arch-x86/lib/libz.a
+++ b/ndk/platforms/android-20/arch-x86/lib/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt
index e7265bd..0f67218 100644
--- a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt
@@ -27,16 +27,16 @@
 __FD_CLR_chk
 __FD_ISSET_chk
 __FD_SET_chk
+__accept
 __android_set_abort_message
 __arc4_getbyte
 __assert
 __assert2
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __brk
+__connect
 __cxa_atexit
 __cxa_finalize
 __deregister_frame
@@ -555,6 +555,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -603,6 +604,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -610,6 +613,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -751,6 +758,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt
index ca98c87..2d0130c 100644
--- a/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt
@@ -7,6 +7,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -30,8 +31,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a
index f26b0ef..bd52a5f 100644
--- a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a
+++ b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a
index a3f8af6..f719483 100644
--- a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a
+++ b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a b/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a
index b54d0f9..fdc3580 100644
--- a/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a
+++ b/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a
index 55f47cb..3b2c4f2 100644
--- a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a
+++ b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a
Binary files differ
diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt
index 07af058..b6b8c9f 100644
--- a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt
+++ b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt
@@ -27,14 +27,12 @@
 __FD_CLR_chk
 __FD_ISSET_chk
 __FD_SET_chk
-__android_fatal
+__android_set_abort_message
 __arc4_getbyte
 __assert
 __assert2
 __b64_ntop
 __b64_pton
-__bionic_clone
-__bionic_clone_entry
 __bionic_name_mem
 __cxa_atexit
 __cxa_finalize
@@ -306,6 +304,7 @@
 bsd_signal
 bsearch
 btowc
+bzero
 calloc
 capget
 capset
@@ -511,6 +510,7 @@
 getline
 getlogin
 getmntent
+getmntent_r
 getnameinfo
 getnetbyaddr
 getnetbyname
@@ -557,6 +557,8 @@
 gmtime_r
 herror
 hstrerror
+htonl
+htons
 if_indextoname
 if_nametoindex
 imaxabs
@@ -564,6 +566,10 @@
 index
 inet_addr
 inet_aton
+inet_lnaof
+inet_makeaddr
+inet_netof
+inet_network
 inet_nsap_addr
 inet_nsap_ntoa
 inet_ntoa
@@ -701,6 +707,8 @@
 nice
 nrand48
 nsdispatch
+ntohl
+ntohs
 open
 open64
 openat
diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt
index 4f1f739..fc7f9d8 100644
--- a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt
+++ b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt
@@ -6,6 +6,7 @@
 __isthreaded
 __libc_malloc_default_dispatch
 __libc_malloc_dispatch
+__netdClientDispatch
 __p_cert_syms
 __p_class_syms
 __p_key_syms
@@ -27,8 +28,10 @@
 _toupper_tab_
 daylight
 environ
-gMallocDebugBacklog
-gMallocDebugLevel
+g_allocations_mutex
+g_hash_table
+g_malloc_debug_backlog
+g_malloc_debug_level
 h_errlist
 h_nerr
 optarg
diff --git a/ndk/platforms/android-20/include/arpa/inet.h b/ndk/platforms/android-20/include/arpa/inet.h
index b008812..067be1f 100644
--- a/ndk/platforms/android-20/include/arpa/inet.h
+++ b/ndk/platforms/android-20/include/arpa/inet.h
@@ -36,19 +36,18 @@
 
 typedef uint32_t in_addr_t;
 
-extern uint32_t      inet_addr(const char *);
-
-extern int           inet_aton(const char *, struct in_addr *);
-extern char*         inet_ntoa(struct in_addr);
-
-extern int           inet_pton(int, const char *, void *);
-extern const char*   inet_ntop(int, const void *, char *, socklen_t);
-
-extern unsigned int  inet_nsap_addr(const char *, unsigned char *, int);
-extern char*         inet_nsap_ntoa(int, const unsigned char *, char *);
+in_addr_t inet_addr(const char*);
+int inet_aton(const char*, struct in_addr*);
+in_addr_t inet_lnaof(struct in_addr);
+struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
+in_addr_t inet_netof(struct in_addr);
+in_addr_t inet_network(const char*);
+char* inet_ntoa(struct in_addr);
+const char* inet_ntop(int, const void*, char*, socklen_t);
+unsigned int inet_nsap_addr(const char*, unsigned char*, int);
+char* inet_nsap_ntoa(int, const unsigned char*, char*);
+int inet_pton(int, const char*, void*);
 
 __END_DECLS
 
 #endif /* _ARPA_INET_H_ */
-
-
diff --git a/ndk/platforms/android-20/include/dirent.h b/ndk/platforms/android-20/include/dirent.h
index bfe4ea4..71eb2e7 100644
--- a/ndk/platforms/android-20/include/dirent.h
+++ b/ndk/platforms/android-20/include/dirent.h
@@ -56,6 +56,8 @@
 struct dirent { __DIRENT64_BODY };
 struct dirent64 { __DIRENT64_BODY };
 
+#undef __DIRENT64_BODY
+
 #define d_fileno d_ino
 
 typedef struct DIR DIR;
diff --git a/ndk/platforms/android-20/include/mntent.h b/ndk/platforms/android-20/include/mntent.h
index 6cc0b18..de285d0 100644
--- a/ndk/platforms/android-20/include/mntent.h
+++ b/ndk/platforms/android-20/include/mntent.h
@@ -35,23 +35,21 @@
 #define MOUNTED _PATH_MOUNTED
 #define MNTTYPE_IGNORE "ignore"
 
-struct mntent
-{
-    char* mnt_fsname;
-    char* mnt_dir;
-    char* mnt_type;
-    char* mnt_opts;
-    int mnt_freq;
-    int mnt_passno;
+struct mntent {
+  char* mnt_fsname;
+  char* mnt_dir;
+  char* mnt_type;
+  char* mnt_opts;
+  int mnt_freq;
+  int mnt_passno;
 };
 
-
 __BEGIN_DECLS
 
-
-struct mntent* getmntent(FILE*);
-FILE* setmntent(const char*, const char*);
 int endmntent(FILE*);
+struct mntent* getmntent(FILE*);
+struct mntent* getmntent_r(FILE*, struct mntent*, char*, int);
+FILE* setmntent(const char*, const char*);
 
 __END_DECLS
 
diff --git a/ndk/platforms/android-20/include/nsswitch.h b/ndk/platforms/android-20/include/nsswitch.h
index d19d055..e03844b 100644
--- a/ndk/platforms/android-20/include/nsswitch.h
+++ b/ndk/platforms/android-20/include/nsswitch.h
@@ -54,7 +54,7 @@
 /*
  * Layout of:
  *	uint32_t ns_src.flags
- */ 
+ */
 	/* nsswitch.conf status codes and nsdispatch(3) return values */
 #define	NS_SUCCESS	(1<<0)		/* entry was found */
 #define	NS_UNAVAIL	(1<<1)		/* source not responding, or corrupt */
@@ -125,7 +125,7 @@
  */
 #define NS_FILES_CB(F,C)	{ NSSRC_FILES,	F,	__UNCONST(C) },
 #define NS_COMPAT_CB(F,C)	{ NSSRC_COMPAT,	F,	__UNCONST(C) },
- 
+
 #ifdef HESIOD
 #   define NS_DNS_CB(F,C)	{ NSSRC_DNS,	F,	__UNCONST(C) },
 #else
@@ -149,6 +149,7 @@
 } ns_src;
 
 
+#if 0
 /*
  * Default sourcelists (if nsswitch.conf is missing, corrupt,
  * or the requested database doesn't have an entry)
@@ -160,7 +161,7 @@
 extern const ns_src __nsdefaultfiles_forceall[];
 extern const ns_src __nsdefaultnis[];
 extern const ns_src __nsdefaultnis_forceall[];
-
+#endif
 
 /*
  * ns_mtab - `nsswitch method table'
diff --git a/ndk/platforms/android-20/include/pthread.h b/ndk/platforms/android-20/include/pthread.h
index 7b8de81..49f943a 100644
--- a/ndk/platforms/android-20/include/pthread.h
+++ b/ndk/platforms/android-20/include/pthread.h
@@ -35,7 +35,7 @@
 #include <limits.h>
 #include <sys/types.h>
 
-#ifdef __LP64__
+#if defined(__LP64__)
   #define __RESERVED_INITIALIZER , {0}
 #else
   #define __RESERVED_INITIALIZER
@@ -112,7 +112,11 @@
 
 #define PTHREAD_ONCE_INIT 0
 
+#if defined(__LP64__)
+#define PTHREAD_STACK_MIN (4 * PAGE_SIZE)
+#else
 #define PTHREAD_STACK_MIN (2 * PAGE_SIZE)
+#endif
 
 #define PTHREAD_CREATE_DETACHED  0x00000001
 #define PTHREAD_CREATE_JOINABLE  0x00000000
diff --git a/ndk/platforms/android-20/include/pwd.h b/ndk/platforms/android-20/include/pwd.h
index 6f3fad5..6d483c0 100644
--- a/ndk/platforms/android-20/include/pwd.h
+++ b/ndk/platforms/android-20/include/pwd.h
@@ -100,12 +100,15 @@
 
 struct passwd
 {
-    char* pw_name;
-    char* pw_passwd;
-    uid_t pw_uid;
-    gid_t pw_gid;
-    char* pw_dir;
-    char* pw_shell;
+  char* pw_name;
+  char* pw_passwd;
+  uid_t pw_uid;
+  gid_t pw_gid;
+#ifdef __LP64__
+  char* pw_gecos;
+#endif
+  char* pw_dir;
+  char* pw_shell;
 };
 
 __BEGIN_DECLS
diff --git a/ndk/platforms/android-20/include/sched.h b/ndk/platforms/android-20/include/sched.h
index 68115bb..e43b6cc 100644
--- a/ndk/platforms/android-20/include/sched.h
+++ b/ndk/platforms/android-20/include/sched.h
@@ -59,10 +59,10 @@
 extern int sched_getcpu(void);
 extern int setns(int, int);
 
-#ifdef __LP32__
-#define CPU_SETSIZE 32
-#else
+#ifdef __LP64__
 #define CPU_SETSIZE 1024
+#else
+#define CPU_SETSIZE 32
 #endif
 
 #define __CPU_BITTYPE  unsigned long int  /* mandated by the kernel  */
diff --git a/ndk/platforms/android-20/include/sys/endian.h b/ndk/platforms/android-20/include/sys/endian.h
index cbde121..be4c905 100644
--- a/ndk/platforms/android-20/include/sys/endian.h
+++ b/ndk/platforms/android-20/include/sys/endian.h
@@ -39,6 +39,8 @@
 #include <sys/cdefs.h>
 #include <machine/endian.h>
 
+#include <stdint.h>
+
 #define _LITTLE_ENDIAN	1234
 #define _BIG_ENDIAN	4321
 #define _PDP_ENDIAN	3412
@@ -186,14 +188,22 @@
 #define letoh64(x) (x)
 #endif /* __BSD_VISIBLE */
 
-#define htons(x) __swap16(x)
+/* glibc compatibility. */
+__BEGIN_DECLS
+uint32_t htonl(uint32_t) __pure2;
+uint16_t htons(uint16_t) __pure2;
+uint32_t ntohl(uint32_t) __pure2;
+uint16_t ntohs(uint16_t) __pure2;
+__END_DECLS
+
 #define htonl(x) __swap32(x)
-#define ntohs(x) __swap16(x)
+#define htons(x) __swap16(x)
 #define ntohl(x) __swap32(x)
+#define ntohs(x) __swap16(x)
 
 /* Bionic additions */
-#define ntohq(x) __swap64(x)
 #define htonq(x) __swap64(x)
+#define ntohq(x) __swap64(x)
 
 #define __LITTLE_ENDIAN_BITFIELD
 
diff --git a/ndk/platforms/android-20/include/sys/stat.h b/ndk/platforms/android-20/include/sys/stat.h
index e62e76d..c0c168b 100644
--- a/ndk/platforms/android-20/include/sys/stat.h
+++ b/ndk/platforms/android-20/include/sys/stat.h
@@ -130,6 +130,8 @@
 struct stat { __STAT64_BODY };
 struct stat64 { __STAT64_BODY };
 
+#undef __STAT64_BODY
+
 #define st_atimensec st_atime_nsec
 #define st_mtimensec st_mtime_nsec
 #define st_ctimensec st_ctime_nsec
diff --git a/ndk/platforms/android-20/include/sys/statvfs.h b/ndk/platforms/android-20/include/sys/statvfs.h
index 3d8179e..3495546 100644
--- a/ndk/platforms/android-20/include/sys/statvfs.h
+++ b/ndk/platforms/android-20/include/sys/statvfs.h
@@ -23,6 +23,12 @@
 
 __BEGIN_DECLS
 
+#ifdef __LP64__
+#define __STATVFS64_RESERVED uint32_t __f_reserved[6];
+#else
+#define __STATVFS64_RESERVED
+#endif
+
 #define __STATVFS64_BODY \
   unsigned long f_bsize; \
   unsigned long f_frsize; \
@@ -35,10 +41,14 @@
   unsigned long f_fsid; \
   unsigned long f_flag; \
   unsigned long f_namemax; \
+  __STATVFS64_RESERVED
 
 struct statvfs { __STATVFS64_BODY };
 struct statvfs64 { __STATVFS64_BODY };
 
+#undef __STATVFS64_BODY
+#undef __STATVFS64_RESERVED
+
 #define ST_RDONLY      0x0001
 #define ST_NOSUID      0x0002
 #define ST_NODEV       0x0004
diff --git a/ndk/platforms/android-20/include/sys/ucontext.h b/ndk/platforms/android-20/include/sys/ucontext.h
index 3737cbe..f150ac7 100644
--- a/ndk/platforms/android-20/include/sys/ucontext.h
+++ b/ndk/platforms/android-20/include/sys/ucontext.h
@@ -150,7 +150,8 @@
   stack_t uc_stack;
   mcontext_t uc_mcontext;
   sigset_t uc_sigmask;
-  /* TODO: __fpregs_mem? */
+  char __padding[128 - sizeof(sigset_t)];
+  struct _libc_fpstate __fpregs_mem;
 } ucontext_t;
 
 #elif defined(__mips__)
@@ -238,7 +239,31 @@
 typedef long greg_t;
 typedef greg_t gregset_t[NGREG];
 
-typedef struct user_i387_struct* fpregset_t;
+struct _libc_fpxreg {
+  unsigned short significand[4];
+  unsigned short exponent;
+  unsigned short padding[3];
+};
+
+struct _libc_xmmreg {
+  uint32_t element[4];
+};
+
+struct _libc_fpstate {
+  uint16_t cwd;
+  uint16_t swd;
+  uint16_t ftw;
+  uint16_t fop;
+  uint64_t rip;
+  uint64_t rdp;
+  uint32_t mxcsr;
+  uint32_t mxcr_mask;
+  struct _libc_fpxreg _st[8];
+  struct _libc_xmmreg _xmm[16];
+  uint32_t padding[24];
+};
+
+typedef struct _libc_fpstate* fpregset_t;
 
 typedef struct {
   gregset_t gregs;
@@ -252,7 +277,8 @@
   stack_t uc_stack;
   mcontext_t uc_mcontext;
   sigset_t uc_sigmask;
-  /* TODO: __fpregs_mem? */
+  char __padding[128 - sizeof(sigset_t)];
+  struct _libc_fpstate __fpregs_mem;
 } ucontext_t;
 
 #endif
diff --git a/ndk/platforms/android-20/include/sys/user.h b/ndk/platforms/android-20/include/sys/user.h
index c578a6f..705e0e9 100644
--- a/ndk/platforms/android-20/include/sys/user.h
+++ b/ndk/platforms/android-20/include/sys/user.h
@@ -103,7 +103,7 @@
 struct user_fpregs_struct {
   unsigned short cwd;
   unsigned short swd;
-  unsigned short twd;
+  unsigned short ftw;
   unsigned short fop;
   __u64 rip;
   __u64 rdp;
diff --git a/ndk/platforms/android-20/include/sys/vfs.h b/ndk/platforms/android-20/include/sys/vfs.h
index cd6044d..5358ffb 100644
--- a/ndk/platforms/android-20/include/sys/vfs.h
+++ b/ndk/platforms/android-20/include/sys/vfs.h
@@ -107,6 +107,8 @@
 struct statfs { __STATFS64_BODY };
 struct statfs64 { __STATFS64_BODY };
 
+#undef __STATFS64_BODY
+
 /* Declare that we have the f_namelen, f_frsize, and f_flags fields. */
 #define _STATFS_F_NAMELEN
 #define _STATFS_F_FRSIZE