diff --git a/docs/status.md b/docs/status.md
index d4ca913..8cef5b7 100644
--- a/docs/status.md
+++ b/docs/status.md
@@ -48,10 +48,12 @@
   * `hcreate`/`hcreate_r`/`hdestroy`/`hdestroy_r`/`hsearch`/`hsearch_r` (completing <search.h>)
   * `iconv`/`iconv_close`/`iconv_open` (adding <iconv.h>)
   * `pthread_attr_getinheritsched`/`pthread_attr_setinheritsched`/`pthread_setschedprio`
+  * `pthread_mutexattr_getprotocol`/`pthread_mutexattr_setprotocol` (mutex priority inheritance)
   * <spawn.h>
   * `swab`
   * `syncfs`
-  * %C and %S support in the printf family (previously only the wprintf family supported these).
+  * `%C` and `%S` support in the printf family (previously only the wprintf family supported these).
+  * `%mc`/`%ms`/`%m[` support in the scanf family.
 
 New libc functions in O:
   * `sendto` FORTIFY support
diff --git a/tests/headers/posix/pthread_h.c b/tests/headers/posix/pthread_h.c
index 4fa5b9d..4be822c 100644
--- a/tests/headers/posix/pthread_h.c
+++ b/tests/headers/posix/pthread_h.c
@@ -57,9 +57,9 @@
 
   MACRO(PTHREAD_ONCE_INIT);
 
-#if !defined(__BIONIC__) // No robust mutexes on Android.
   MACRO(PTHREAD_PRIO_INHERIT);
   MACRO(PTHREAD_PRIO_NONE);
+#if !defined(__BIONIC__)
   MACRO(PTHREAD_PRIO_PROTECT);
 #endif
 
@@ -158,8 +158,8 @@
   FUNCTION(pthread_mutexattr_destroy, int (*f)(pthread_mutexattr_t*));
 #if !defined(__BIONIC__) // No robust mutexes on Android.
   FUNCTION(pthread_mutexattr_getprioceiling, int (*f)(const pthread_mutexattr_t*, int*));
-  FUNCTION(pthread_mutexattr_getprotocol, int (*f)(const pthread_mutexattr_t*, int*));
 #endif
+  FUNCTION(pthread_mutexattr_getprotocol, int (*f)(const pthread_mutexattr_t*, int*));
   FUNCTION(pthread_mutexattr_getpshared, int (*f)(const pthread_mutexattr_t*, int*));
 #if !defined(__BIONIC__) // No robust mutexes on Android.
   FUNCTION(pthread_mutexattr_getrobust, int (*f)(const pthread_mutexattr_t*, int*));
@@ -168,8 +168,8 @@
   FUNCTION(pthread_mutexattr_init, int (*f)(pthread_mutexattr_t*));
 #if !defined(__BIONIC__) // No robust mutexes on Android.
   FUNCTION(pthread_mutexattr_setprioceiling, int (*f)(pthread_mutexattr_t*, int));
-  FUNCTION(pthread_mutexattr_setprotocol, int (*f)(pthread_mutexattr_t*, int));
 #endif
+  FUNCTION(pthread_mutexattr_setprotocol, int (*f)(pthread_mutexattr_t*, int));
   FUNCTION(pthread_mutexattr_setpshared, int (*f)(pthread_mutexattr_t*, int));
 #if !defined(__BIONIC__) // No robust mutexes on Android.
   FUNCTION(pthread_mutexattr_setrobust, int (*f)(pthread_mutexattr_t*, int));
