Merge "Add various benchmarks."
diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp
index b915382..b0346d4 100644
--- a/libc/bionic/ndk_cruft.cpp
+++ b/libc/bionic/ndk_cruft.cpp
@@ -29,6 +29,7 @@
 // This file perpetuates the mistakes of the past, but only for 32-bit targets.
 #if !defined(__LP64__)
 
+#include <pthread.h>
 #include <stdlib.h>
 #include <sys/resource.h>
 #include <sys/time.h>
@@ -73,4 +74,17 @@
   }
 }
 
+extern "C" int pthread_attr_setstackaddr(pthread_attr_t*, void*) {
+  // This was removed from POSIX.1-2008, and is not implemented on bionic.
+  // Needed for ABI compatibility with the NDK.
+  return ENOSYS;
+}
+
+extern "C" int pthread_attr_getstackaddr(const pthread_attr_t* attr, void** stack_addr) {
+  // This was removed from POSIX.1-2008.
+  // Needed for ABI compatibility with the NDK.
+  *stack_addr = (char*)attr->stack_base + attr->stack_size;
+  return 0;
+}
+
 #endif
diff --git a/libc/bionic/pthread_attr.cpp b/libc/bionic/pthread_attr.cpp
index d597c7e..e1cd853 100644
--- a/libc/bionic/pthread_attr.cpp
+++ b/libc/bionic/pthread_attr.cpp
@@ -94,22 +94,6 @@
   return 0;
 }
 
-#if !defined(__LP64__)
-// TODO: this exists only for backward binary compatibility on 32 bit platforms.
-extern "C" int pthread_attr_setstackaddr(pthread_attr_t*, void*) {
-  // This was removed from POSIX.1-2008, and is not implemented on bionic.
-  // Needed for ABI compatibility with the NDK.
-  return ENOSYS;
-}
-
-extern "C" int pthread_attr_getstackaddr(const pthread_attr_t* attr, void** stack_addr) {
-  // This was removed from POSIX.1-2008.
-  // Needed for ABI compatibility with the NDK.
-  *stack_addr = (char*)attr->stack_base + attr->stack_size;
-  return 0;
-}
-#endif // !defined(__LP64__)
-
 int pthread_attr_setstack(pthread_attr_t* attr, void* stack_base, size_t stack_size) {
   if ((stack_size & (PAGE_SIZE - 1) || stack_size < PTHREAD_STACK_MIN)) {
     return EINVAL;
diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp
index 233e57c..46874cc 100644
--- a/libc/bionic/sysconf.cpp
+++ b/libc/bionic/sysconf.cpp
@@ -317,12 +317,10 @@
 #ifdef _POSIX_THREADS
     case _SC_THREADS:             return _POSIX_THREADS;
 #endif
-#ifdef _POSIX_THREAD_ATTR_STACKADDR
-    case _SC_THREAD_ATTR_STACKADDR:   return _POSIX_THREAD_ATTR_STACKADDR;
-#endif
-#ifdef _POSIX_THREAD_ATTR_STACKSIZE
-    case _SC_THREAD_ATTR_STACKSIZE:   return _POSIX_THREAD_ATTR_STACKSIZE;
-#endif
+
+    case _SC_THREAD_ATTR_STACKADDR:   return -1; // Removed in POSIX 2008
+    case _SC_THREAD_ATTR_STACKSIZE:   return -1; // Removed in POSIX 2008
+
 #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
     case _SC_THREAD_PRIORITY_SCHEDULING:  return _POSIX_THREAD_PRIORITY_SCHEDULING;
 #endif
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index a2a6789..f93f9e9 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -234,10 +234,6 @@
 
 #if !defined(__LP64__)
 
-/* Deprecated by POSIX. TODO: support for LP64 but add deprecated attribute instead? */
-int pthread_attr_getstackaddr(const pthread_attr_t*, void**) __nonnull((1, 2)); /* deprecated */
-int pthread_attr_setstackaddr(pthread_attr_t*, void*) __nonnull((1)); /* deprecated */
-
 // Bionic additions that are deprecated even in the 32-bit ABI.
 //
 // TODO: Remove them once chromium_org / NFC have switched over.