diff --git a/libc/Android.mk b/libc/Android.mk
index 72a655c..20f190a 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -151,34 +151,38 @@
 	bionic/usleep.c \
 	bionic/utmp.c \
 	bionic/wcscoll.c \
-	netbsd/gethnamaddr.c \
-	netbsd/inet/nsap_addr.c \
-	netbsd/resolv/__dn_comp.c \
-	netbsd/resolv/__res_close.c \
-	netbsd/resolv/__res_send.c \
-	netbsd/resolv/herror.c \
-	netbsd/resolv/res_comp.c \
-	netbsd/resolv/res_data.c \
-	netbsd/resolv/res_debug.c \
-	netbsd/resolv/res_init.c \
-	netbsd/resolv/res_mkquery.c \
-	netbsd/resolv/res_query.c \
-	netbsd/resolv/res_send.c \
-	netbsd/resolv/res_state.c \
-	netbsd/resolv/res_cache.c \
-	netbsd/net/nsdispatch.c \
-	netbsd/net/getaddrinfo.c \
-	netbsd/net/getnameinfo.c \
-	netbsd/net/getservbyname.c \
-	netbsd/net/getservent.c \
-	netbsd/net/base64.c \
-	netbsd/net/getservbyport.c \
-	netbsd/nameser/ns_name.c \
-	netbsd/nameser/ns_parse.c \
-	netbsd/nameser/ns_ttl.c \
-	netbsd/nameser/ns_netint.c \
-	netbsd/nameser/ns_print.c \
-	netbsd/nameser/ns_samedomain.c \
+
+
+libc_dns_src_files += \
+    netbsd/gethnamaddr.c \
+    netbsd/inet/nsap_addr.c \
+    netbsd/nameser/ns_name.c \
+    netbsd/nameser/ns_netint.c \
+    netbsd/nameser/ns_parse.c \
+    netbsd/nameser/ns_print.c \
+    netbsd/nameser/ns_samedomain.c \
+    netbsd/nameser/ns_ttl.c \
+    netbsd/net/base64.c \
+    netbsd/net/getaddrinfo.c \
+    netbsd/net/getnameinfo.c \
+    netbsd/net/getservbyname.c \
+    netbsd/net/getservbyport.c \
+    netbsd/net/getservent.c \
+    netbsd/net/nsdispatch.c \
+    netbsd/resolv/__dn_comp.c \
+    netbsd/resolv/herror.c \
+    netbsd/resolv/res_cache.c \
+    netbsd/resolv/__res_close.c \
+    netbsd/resolv/res_comp.c \
+    netbsd/resolv/res_data.c \
+    netbsd/resolv/res_debug.c \
+    netbsd/resolv/res_init.c \
+    netbsd/resolv/res_mkquery.c \
+    netbsd/resolv/res_query.c \
+    netbsd/resolv/__res_send.c \
+    netbsd/resolv/res_send.c \
+    netbsd/resolv/res_state.c \
+
 
 # These are shared by all the 32-bit targets, but not the 64-bit ones.
 ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86))
@@ -254,6 +258,7 @@
     bionic/stubs.cpp \
     bionic/sysconf.cpp \
     bionic/tdestroy.cpp \
+    bionic/__thread_entry.cpp \
     bionic/tmpfile.cpp \
     bionic/wait.cpp \
     bionic/wchar.cpp \
@@ -504,10 +509,10 @@
 	upstream-freebsd/lib/libc/string/wmemcmp.c \
 
 libc_common_src_files += \
-	bionic/pthread-atfork.c \
-	bionic/pthread-rwlocks.c \
-	bionic/pthread-timers.c \
-	bionic/ptrace.c
+    bionic/pthread-atfork.c \
+    bionic/pthread-rwlocks.c \
+    bionic/pthread-timers.c \
+    bionic/ptrace.c \
 
 libc_static_common_src_files += \
     bionic/pthread.c \
@@ -549,8 +554,8 @@
     $(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk
 include $(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk
 
-libc_common_src_files += $(_LIBC_ARCH_COMMON_SRC_FILES)
-libc_common_src_files += $(_LIBC_ARCH_CPU_VARIANT_SRC_FILES)
+libc_bionic_src_files += $(_LIBC_ARCH_COMMON_SRC_FILES)
+libc_bionic_src_files += $(_LIBC_ARCH_CPU_VARIANT_SRC_FILES)
 libc_arch_static_src_files := $(_LIBC_ARCH_STATIC_SRC_FILES)
 libc_arch_dynamic_src_files := $(_LIBC_ARCH_DYNAMIC_SRC_FILES)
 libc_common_additional_dependencies += $(_LIBC_ARCH_ADDITIONAL_DEPENDENCIES)
@@ -560,9 +565,6 @@
 libc_common_cflags := \
     -DANDROID_CHANGES \
     -D_LIBC=1 \
-    -DINET6 \
-    -I$(LOCAL_PATH)/private \
-    -DPOSIX_MISTAKE \
     -Wall -Wextra \
 
 # Try to catch typical 32-bit assumptions that break with 64-bit pointers.
@@ -616,7 +618,8 @@
 # crtbrand.c needs <stdint.h> and a #define for the platform SDK version.
 libc_crt_target_cflags += \
     -I$(LOCAL_PATH)/include  \
-    -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
+    -I$(LOCAL_PATH)/arch-$(TARGET_ARCH)/include \
+    -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
 
 # Define some common conlyflags
 libc_common_conlyflags := \
@@ -634,12 +637,6 @@
 		$(LOCAL_PATH)/stdio   \
 		external/safe-iop/include
 
-# Needed to access private/__dso_handle.h from
-# crtbegin_xxx.S and crtend_xxx.S
-libc_crt_target_cflags += \
-    -I$(LOCAL_PATH)/private \
-    -I$(LOCAL_PATH)/arch-$(TARGET_ARCH)/include
-
 # Define the libc run-time (crt) support object files that must be built,
 # which are needed to build all other objects (shared/static libs and
 # executables)
@@ -809,6 +806,29 @@
 
 
 # ========================================================
+# libc_dns.a - modified NetBSD DNS code
+# ========================================================
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(libc_dns_src_files)
+LOCAL_CFLAGS := \
+    $(libc_common_cflags) \
+    -DINET6 \
+    -I$(LOCAL_PATH)/private \
+    -I$(LOCAL_PATH)/upstream-netbsd/libc/include # for NetBSD private headers
+
+LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
+LOCAL_CPPFLAGS := $(libc_common_cppflags)
+LOCAL_C_INCLUDES := $(libc_common_c_includes)
+LOCAL_MODULE := libc_dns
+LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
+LOCAL_SYSTEM_SHARED_LIBRARIES :=
+
+include $(BUILD_STATIC_LIBRARY)
+
+
+# ========================================================
 # libc_freebsd.a - upstream FreeBSD C library code
 # ========================================================
 #
@@ -845,6 +865,7 @@
 LOCAL_SRC_FILES := $(libc_upstream_netbsd_src_files)
 LOCAL_CFLAGS := \
     $(libc_common_cflags) \
+    -DPOSIX_MISTAKE \
     -I$(LOCAL_PATH)/upstream-netbsd \
     -I$(LOCAL_PATH)/upstream-netbsd/libc/include \
     -include upstream-netbsd/netbsd-compat.h
@@ -883,8 +904,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := $(libc_common_src_files)
-LOCAL_CFLAGS := $(libc_common_cflags) \
-    -I$(LOCAL_PATH)/upstream-netbsd/libc/include # for netbsd private headers
+LOCAL_CFLAGS := $(libc_common_cflags)
 LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
 LOCAL_CPPFLAGS := $(libc_common_cppflags)
 LOCAL_C_INCLUDES := $(libc_common_c_includes)
@@ -893,9 +913,11 @@
 LOCAL_WHOLE_STATIC_LIBRARIES := \
     libbionic_ssp \
     libc_bionic \
+    libc_dns \
     libc_freebsd \
     libc_netbsd \
-    libc_tzcode
+    libc_tzcode \
+
 LOCAL_SYSTEM_SHARED_LIBRARIES :=
 
 # TODO: split out the asflags.
diff --git a/libc/arch-arm/bionic/atexit_legacy.c b/libc/arch-arm/bionic/atexit_legacy.c
index f35c68d..2162c37 100644
--- a/libc/arch-arm/bionic/atexit_legacy.c
+++ b/libc/arch-arm/bionic/atexit_legacy.c
@@ -27,9 +27,10 @@
  */
 
 #include <sys/types.h>
-#include <private/libc_logging.h>
 #include <stdio.h>
 
+#include "private/libc_logging.h"
+
 /*
  * This source file should only be included by libc.so, its purpose is
  * to support legacy ARM binaries by exporting a publicly visible
diff --git a/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S b/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
index efa9595..51f858e 100644
--- a/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
+++ b/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
 
diff --git a/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S b/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
index cd91dfc..782792f 100644
--- a/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
 
diff --git a/libc/arch-arm/cortex-a15/bionic/memcpy.S b/libc/arch-arm/cortex-a15/bionic/memcpy.S
index a1ef6f5..dae39c3 100644
--- a/libc/arch-arm/cortex-a15/bionic/memcpy.S
+++ b/libc/arch-arm/cortex-a15/bionic/memcpy.S
@@ -56,7 +56,7 @@
 // Prototype: void *memcpy (void *dst, const void *src, size_t count).
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
         .text
         .syntax unified
diff --git a/libc/arch-arm/cortex-a15/bionic/memset.S b/libc/arch-arm/cortex-a15/bionic/memset.S
index 72e83cc..8775ee8 100644
--- a/libc/arch-arm/cortex-a15/bionic/memset.S
+++ b/libc/arch-arm/cortex-a15/bionic/memset.S
@@ -28,7 +28,7 @@
 
 #include <machine/cpu-features.h>
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
         /*
          * Optimized memset() for ARM.
diff --git a/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S b/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
index daea34c..d6ae0f3 100644
--- a/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
+++ b/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
     .fpu    neon
diff --git a/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S b/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
index d4e0c0a..55926c1 100644
--- a/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
     .fpu    neon
diff --git a/libc/arch-arm/cortex-a9/bionic/memcpy.S b/libc/arch-arm/cortex-a9/bionic/memcpy.S
index 9faea96..8904534 100644
--- a/libc/arch-arm/cortex-a9/bionic/memcpy.S
+++ b/libc/arch-arm/cortex-a9/bionic/memcpy.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
 /*
  * This code assumes it is running on a processor that supports all arm v7
diff --git a/libc/arch-arm/cortex-a9/bionic/memset.S b/libc/arch-arm/cortex-a9/bionic/memset.S
index 9609db9..6eb2b4a 100644
--- a/libc/arch-arm/cortex-a9/bionic/memset.S
+++ b/libc/arch-arm/cortex-a9/bionic/memset.S
@@ -28,7 +28,7 @@
 
 #include <machine/cpu-features.h>
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
 /*
  * This code assumes it is running on a processor that supports all arm v7
diff --git a/libc/arch-arm/generic/bionic/memcpy.S b/libc/arch-arm/generic/bionic/memcpy.S
index c5168d6..5d55aae 100644
--- a/libc/arch-arm/generic/bionic/memcpy.S
+++ b/libc/arch-arm/generic/bionic/memcpy.S
@@ -28,7 +28,7 @@
 
 #include <machine/cpu-features.h>
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
         /*
          * Optimized memcpy() for ARM.
diff --git a/libc/arch-arm/generic/bionic/memset.S b/libc/arch-arm/generic/bionic/memset.S
index 47dcedd..435d83c 100644
--- a/libc/arch-arm/generic/bionic/memset.S
+++ b/libc/arch-arm/generic/bionic/memset.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
         /*
          * Optimized memset() for ARM.
diff --git a/libc/arch-arm/krait/bionic/__strcat_chk.S b/libc/arch-arm/krait/bionic/__strcat_chk.S
index 00fd01e..7111540 100644
--- a/libc/arch-arm/krait/bionic/__strcat_chk.S
+++ b/libc/arch-arm/krait/bionic/__strcat_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
 
diff --git a/libc/arch-arm/krait/bionic/__strcpy_chk.S b/libc/arch-arm/krait/bionic/__strcpy_chk.S
index 3c802b5..f02a32d 100644
--- a/libc/arch-arm/krait/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/krait/bionic/__strcpy_chk.S
@@ -27,7 +27,7 @@
  */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
     .syntax unified
 
diff --git a/libc/arch-arm/krait/bionic/memcpy.S b/libc/arch-arm/krait/bionic/memcpy.S
index d3278d2..44cc144 100644
--- a/libc/arch-arm/krait/bionic/memcpy.S
+++ b/libc/arch-arm/krait/bionic/memcpy.S
@@ -29,7 +29,7 @@
 /* Assumes neon instructions and a cache line size of 32 bytes. */
 
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
 /*
  * This code assumes it is running on a processor that supports all arm v7
diff --git a/libc/arch-arm/krait/bionic/memset.S b/libc/arch-arm/krait/bionic/memset.S
index 6595e1f..b5a9d78 100644
--- a/libc/arch-arm/krait/bionic/memset.S
+++ b/libc/arch-arm/krait/bionic/memset.S
@@ -28,7 +28,7 @@
 
 #include <machine/cpu-features.h>
 #include <machine/asm.h>
-#include "libc_events.h"
+#include "private/libc_events.h"
 
 /*
  * This code assumes it is running on a processor that supports all arm v7
diff --git a/libc/private/__dso_handle.h b/libc/arch-common/bionic/__dso_handle.h
similarity index 100%
rename from libc/private/__dso_handle.h
rename to libc/arch-common/bionic/__dso_handle.h
diff --git a/libc/private/__dso_handle_so.h b/libc/arch-common/bionic/__dso_handle_so.h
similarity index 100%
rename from libc/private/__dso_handle_so.h
rename to libc/arch-common/bionic/__dso_handle_so.h
diff --git a/libc/arch-common/bionic/crtbegin_so.c b/libc/arch-common/bionic/crtbegin_so.c
index bd70edf..641e45a 100644
--- a/libc/arch-common/bionic/crtbegin_so.c
+++ b/libc/arch-common/bionic/crtbegin_so.c
@@ -59,4 +59,3 @@
 #ifdef __i386__
 # include "../../arch-x86/bionic/__stack_chk_fail_local.h"
 #endif
-
diff --git a/libc/arch-mips/bionic/cacheflush.c b/libc/arch-mips/bionic/cacheflush.c
index 97e67d4..2b03eee 100644
--- a/libc/arch-mips/bionic/cacheflush.c
+++ b/libc/arch-mips/bionic/cacheflush.c
@@ -29,7 +29,7 @@
 #include <sys/cachectl.h>
 
 #ifdef DEBUG
-#include <private/libc_logging.h>
+#include "private/libc_logging.h"
 #define  XLOG(...) __libc_format_log(ANDROID_LOG_DEBUG,"libc-cacheflush",__VA_ARGS__)
 #endif
 
diff --git a/libc/arch-mips/bionic/crtbegin.c b/libc/arch-mips/bionic/crtbegin.c
index d3a3401..28e8817 100644
--- a/libc/arch-mips/bionic/crtbegin.c
+++ b/libc/arch-mips/bionic/crtbegin.c
@@ -90,5 +90,5 @@
 "       .set pop                    \n"
 );
 
-#include "__dso_handle.h"
+#include "../../arch-common/bionic/__dso_handle.h"
 #include "atexit.h"
diff --git a/libc/arch-mips/bionic/crtbegin_so.c b/libc/arch-mips/bionic/crtbegin_so.c
index 925dc8c..d664ce6 100644
--- a/libc/arch-mips/bionic/crtbegin_so.c
+++ b/libc/arch-mips/bionic/crtbegin_so.c
@@ -34,5 +34,5 @@
   __cxa_finalize(&__dso_handle);
 }
 
-#include "__dso_handle_so.h"
+#include "../../arch-common/bionic/__dso_handle_so.h"
 #include "atexit.h"
diff --git a/libc/bionic/__FD_chk.cpp b/libc/bionic/__FD_chk.cpp
index 23d3084..5c2338d 100644
--- a/libc/bionic/__FD_chk.cpp
+++ b/libc/bionic/__FD_chk.cpp
@@ -28,7 +28,7 @@
 
 #undef _FORTIFY_SOURCE
 #include <sys/select.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern "C" int __FD_ISSET_chk(int fd, fd_set* set, size_t set_size) {
   if (__predict_false(fd < 0)) {
diff --git a/libc/bionic/__errno.cpp b/libc/bionic/__errno.cpp
index 9caa618..c9c1605 100644
--- a/libc/bionic/__errno.cpp
+++ b/libc/bionic/__errno.cpp
@@ -27,9 +27,10 @@
  */
 
 #include <errno.h>
-#include <bionic_tls.h>
 #include <stdint.h>
 
+#include "private/bionic_tls.h"
+
 volatile int*  __errno() {
   return reinterpret_cast<int*>(&(__get_tls()[TLS_SLOT_ERRNO]));
 }
diff --git a/libc/bionic/__fgets_chk.cpp b/libc/bionic/__fgets_chk.cpp
index 7f6b067..fc903e4 100644
--- a/libc/bionic/__fgets_chk.cpp
+++ b/libc/bionic/__fgets_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * __fgets_chk. Called in place of fgets() when we know the
diff --git a/libc/bionic/__memcpy_chk.cpp b/libc/bionic/__memcpy_chk.cpp
index 2839795..9416e49 100644
--- a/libc/bionic/__memcpy_chk.cpp
+++ b/libc/bionic/__memcpy_chk.cpp
@@ -29,7 +29,7 @@
 #undef _FORTIFY_SOURCE
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __memcpy_chk.
diff --git a/libc/bionic/__memmove_chk.cpp b/libc/bionic/__memmove_chk.cpp
index b653968..b52f7c8 100644
--- a/libc/bionic/__memmove_chk.cpp
+++ b/libc/bionic/__memmove_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____memmove_chk.
diff --git a/libc/bionic/__memset_chk.cpp b/libc/bionic/__memset_chk.cpp
index 49a1548..72551f0 100644
--- a/libc/bionic/__memset_chk.cpp
+++ b/libc/bionic/__memset_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____memset_chk.
diff --git a/libc/bionic/__recvfrom_chk.cpp b/libc/bionic/__recvfrom_chk.cpp
index 0c042cc..00de1d9 100644
--- a/libc/bionic/__recvfrom_chk.cpp
+++ b/libc/bionic/__recvfrom_chk.cpp
@@ -30,7 +30,7 @@
 
 #include <stddef.h>
 #include <sys/socket.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern "C"
 ssize_t __recvfrom_chk(int socket, void* buf, size_t len, size_t buflen, unsigned int flags,
diff --git a/libc/bionic/__stack_chk_fail.cpp b/libc/bionic/__stack_chk_fail.cpp
index 8b9ed5e..6e052e3 100644
--- a/libc/bionic/__stack_chk_fail.cpp
+++ b/libc/bionic/__stack_chk_fail.cpp
@@ -28,8 +28,8 @@
 
 #include <stdlib.h>
 
-#include "bionic_ssp.h"
-#include "libc_logging.h"
+#include "private/bionic_ssp.h"
+#include "private/libc_logging.h"
 
 void __stack_chk_fail() {
   __libc_fatal("stack corruption detected");
diff --git a/libc/bionic/__strcat_chk.cpp b/libc/bionic/__strcat_chk.cpp
index 3dda43a..f15cb5c 100644
--- a/libc/bionic/__strcat_chk.cpp
+++ b/libc/bionic/__strcat_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____strcat_chk.
diff --git a/libc/bionic/__strchr_chk.cpp b/libc/bionic/__strchr_chk.cpp
index 3982d60..51d35d0 100644
--- a/libc/bionic/__strchr_chk.cpp
+++ b/libc/bionic/__strchr_chk.cpp
@@ -28,7 +28,7 @@
  */
 
 #include <string.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern "C" char* __strchr_chk(const char* p, int ch, size_t s_len) {
   for (;; ++p, s_len--) {
diff --git a/libc/bionic/__strcpy_chk.cpp b/libc/bionic/__strcpy_chk.cpp
index 41990f9..9b39627 100644
--- a/libc/bionic/__strcpy_chk.cpp
+++ b/libc/bionic/__strcpy_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____strcpy_chk.
diff --git a/libc/bionic/__strlcat_chk.cpp b/libc/bionic/__strlcat_chk.cpp
index 32573c2..783dd84 100644
--- a/libc/bionic/__strlcat_chk.cpp
+++ b/libc/bionic/__strlcat_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * __strlcat_chk. Called in place of strlcat() when we know the
diff --git a/libc/bionic/__strlcpy_chk.cpp b/libc/bionic/__strlcpy_chk.cpp
index 1e482e1..359e918 100644
--- a/libc/bionic/__strlcpy_chk.cpp
+++ b/libc/bionic/__strlcpy_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * __strlcpy_chk. Called in place of strlcpy() when we know the
diff --git a/libc/bionic/__strlen_chk.cpp b/libc/bionic/__strlen_chk.cpp
index 494f7bf..d4c5e43 100644
--- a/libc/bionic/__strlen_chk.cpp
+++ b/libc/bionic/__strlen_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __strlen_chk.
diff --git a/libc/bionic/__strncat_chk.cpp b/libc/bionic/__strncat_chk.cpp
index 296217e..cdb3c80 100644
--- a/libc/bionic/__strncat_chk.cpp
+++ b/libc/bionic/__strncat_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____strncat_chk.
diff --git a/libc/bionic/__strncpy_chk.cpp b/libc/bionic/__strncpy_chk.cpp
index 5e72c2c..d0e9013 100644
--- a/libc/bionic/__strncpy_chk.cpp
+++ b/libc/bionic/__strncpy_chk.cpp
@@ -28,7 +28,7 @@
 
 #include <string.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____strncpy_chk.
diff --git a/libc/bionic/__strrchr_chk.cpp b/libc/bionic/__strrchr_chk.cpp
index e6daf8f..fe56c9a 100644
--- a/libc/bionic/__strrchr_chk.cpp
+++ b/libc/bionic/__strrchr_chk.cpp
@@ -29,7 +29,7 @@
  */
 
 #include <string.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern "C" char* __strrchr_chk(const char *p, int ch, size_t s_len)
 {
diff --git a/libc/bionic/__thread_entry.cpp b/libc/bionic/__thread_entry.cpp
new file mode 100644
index 0000000..8300a64
--- /dev/null
+++ b/libc/bionic/__thread_entry.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <pthread.h>
+
+#include "pthread_internal.h"
+
+#include "private/bionic_tls.h"
+
+// This trampoline is called from the assembly _pthread_clone function.
+// Our 'tls' and __pthread_clone's 'child_stack' are one and the same, just growing in
+// opposite directions.
+extern "C" void __thread_entry(void* (*func)(void*), void* arg, void** tls) {
+  // Wait for our creating thread to release us. This lets it have time to
+  // notify gdb about this thread before we start doing anything.
+  // This also provides the memory barrier needed to ensure that all memory
+  // accesses previously made by the creating thread are visible to us.
+  pthread_mutex_t* start_mutex = (pthread_mutex_t*) &tls[TLS_SLOT_SELF];
+  pthread_mutex_lock(start_mutex);
+  pthread_mutex_destroy(start_mutex);
+
+  pthread_internal_t* thread = (pthread_internal_t*) tls[TLS_SLOT_THREAD_ID];
+  thread->tls = tls;
+  __init_tls(thread);
+
+  if ((thread->internal_flags & PTHREAD_INTERNAL_FLAG_THREAD_INIT_FAILED) != 0) {
+    pthread_exit(NULL);
+  }
+
+  void* result = func(arg);
+  pthread_exit(result);
+}
diff --git a/libc/bionic/__umask_chk.cpp b/libc/bionic/__umask_chk.cpp
index 8fe95a2..7d2a99a 100644
--- a/libc/bionic/__umask_chk.cpp
+++ b/libc/bionic/__umask_chk.cpp
@@ -30,9 +30,10 @@
 
 #include <sys/types.h>
 #include <sys/stat.h>
-#include "libc_logging.h"
 #include <stdlib.h>
 
+#include "private/libc_logging.h"
+
 /*
  * Runtime implementation of __umask_chk.
  *
diff --git a/libc/bionic/__vsnprintf_chk.cpp b/libc/bionic/__vsnprintf_chk.cpp
index 257cf5e..a03d12f 100644
--- a/libc/bionic/__vsnprintf_chk.cpp
+++ b/libc/bionic/__vsnprintf_chk.cpp
@@ -29,7 +29,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____vsnprintf_chk.
diff --git a/libc/bionic/__vsprintf_chk.cpp b/libc/bionic/__vsprintf_chk.cpp
index 290de9b..3810694 100644
--- a/libc/bionic/__vsprintf_chk.cpp
+++ b/libc/bionic/__vsprintf_chk.cpp
@@ -29,7 +29,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * Runtime implementation of __builtin____vsprintf_chk.
diff --git a/libc/bionic/arc4random.c b/libc/bionic/arc4random.c
index d70580a..eac4b0c 100644
--- a/libc/bionic/arc4random.c
+++ b/libc/bionic/arc4random.c
@@ -41,7 +41,7 @@
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/time.h>
-#include "thread_private.h"
+#include "private/thread_private.h"
 
 /* BIONIC-BEGIN */
 /* this lock should protect the global variables in this file */
diff --git a/libc/bionic/assert.cpp b/libc/bionic/assert.cpp
index 84024c7..ba67143 100644
--- a/libc/bionic/assert.cpp
+++ b/libc/bionic/assert.cpp
@@ -30,7 +30,7 @@
 
 #include <assert.h>
 
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 void __assert(const char* file, int line, const char* failed_expression) {
   __libc_fatal("%s:%d: assertion \"%s\" failed", file, line, failed_expression);
diff --git a/libc/private/cpuacct.h b/libc/bionic/cpuacct.h
similarity index 100%
rename from libc/private/cpuacct.h
rename to libc/bionic/cpuacct.h
diff --git a/libc/bionic/debug_stacktrace.cpp b/libc/bionic/debug_stacktrace.cpp
index 26d5c6a..5ddc00c 100644
--- a/libc/bionic/debug_stacktrace.cpp
+++ b/libc/bionic/debug_stacktrace.cpp
@@ -35,7 +35,7 @@
 #include <sys/types.h>
 
 #include "debug_mapinfo.h"
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /* depends how the system includes define this */
 #ifdef HAVE_UNWIND_CONTEXT_STRUCT
diff --git a/libc/bionic/fork.c b/libc/bionic/fork.c
index d83c535..d30b41b 100644
--- a/libc/bionic/fork.c
+++ b/libc/bionic/fork.c
@@ -27,9 +27,10 @@
  */
 #include <unistd.h>
 #include "pthread_internal.h"
-#include "bionic_pthread.h"
 #include "cpuacct.h"
 
+#include "private/bionic_pthread.h"
+
 extern int  __fork(void);
 
 int  fork(void)
diff --git a/libc/bionic/libc_init_common.cpp b/libc/bionic/libc_init_common.cpp
index 714d0bc..479cadf 100644
--- a/libc/bionic/libc_init_common.cpp
+++ b/libc/bionic/libc_init_common.cpp
@@ -28,8 +28,6 @@
 
 #include "libc_init_common.h"
 
-#include <asm/page.h>
-#include <bionic_tls.h>
 #include <elf.h>
 #include <errno.h>
 #include <stddef.h>
@@ -44,6 +42,7 @@
 #include "atexit.h"
 #include "private/bionic_auxv.h"
 #include "private/bionic_ssp.h"
+#include "private/bionic_tls.h"
 #include "private/KernelArgumentBlock.h"
 #include "pthread_internal.h"
 
@@ -57,7 +56,7 @@
 // Declared in <unistd.h>.
 char** environ;
 
-// Declared in <private/bionic_ssp.h>.
+// Declared in "private/bionic_ssp.h".
 uintptr_t __stack_chk_guard = 0;
 
 static size_t get_main_thread_stack_size() {
diff --git a/libc/bionic/libc_init_dynamic.cpp b/libc/bionic/libc_init_dynamic.cpp
index 4e1374e..61fb887 100644
--- a/libc/bionic/libc_init_dynamic.cpp
+++ b/libc/bionic/libc_init_dynamic.cpp
@@ -49,9 +49,10 @@
 #include <stdint.h>
 #include <elf.h>
 #include "atexit.h"
-#include "KernelArgumentBlock.h"
 #include "libc_init_common.h"
-#include <bionic_tls.h>
+
+#include "private/bionic_tls.h"
+#include "private/KernelArgumentBlock.h"
 
 extern "C" {
   extern void pthread_debug_init(void);
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp
index a60e414..1825167 100644
--- a/libc/bionic/libc_init_static.cpp
+++ b/libc/bionic/libc_init_static.cpp
@@ -47,11 +47,12 @@
 #include <sys/mman.h>
 
 #include "atexit.h"
-#include "bionic_tls.h"
-#include "KernelArgumentBlock.h"
 #include "libc_init_common.h"
 #include "pthread_internal.h"
 
+#include "private/bionic_tls.h"
+#include "private/KernelArgumentBlock.h"
+
 // Returns the address of the page containing address 'x'.
 #define PAGE_START(x)  ((x) & PAGE_MASK)
 
diff --git a/libc/bionic/libc_logging.cpp b/libc/bionic/libc_logging.cpp
index 635f8d1..c7eca8a 100644
--- a/libc/bionic/libc_logging.cpp
+++ b/libc/bionic/libc_logging.cpp
@@ -26,8 +26,8 @@
  * SUCH DAMAGE.
  */
 
-#include <../private/libc_logging.h> // Relative path so we can #include this .cpp file for testing.
-#include <../private/ScopedPthreadMutexLocker.h>
+#include "../private/libc_logging.h" // Relative path so we can #include this .cpp file for testing.
+#include "../private/ScopedPthreadMutexLocker.h"
 
 #include <assert.h>
 #include <errno.h>
diff --git a/libc/bionic/libgen.cpp b/libc/bionic/libgen.cpp
index f7181e7..d8df494 100644
--- a/libc/bionic/libgen.cpp
+++ b/libc/bionic/libgen.cpp
@@ -34,7 +34,7 @@
 #include <sys/cdefs.h>
 #include <sys/param.h>
 
-#include "ThreadLocalBuffer.h"
+#include "private/ThreadLocalBuffer.h"
 
 GLOBAL_INIT_THREAD_LOCAL_BUFFER(basename);
 GLOBAL_INIT_THREAD_LOCAL_BUFFER(dirname);
diff --git a/libc/bionic/malloc_debug_check.cpp b/libc/bionic/malloc_debug_check.cpp
index a5d49cb..7dd8e3c 100644
--- a/libc/bionic/malloc_debug_check.cpp
+++ b/libc/bionic/malloc_debug_check.cpp
@@ -48,9 +48,9 @@
 #include "debug_mapinfo.h"
 #include "debug_stacktrace.h"
 #include "dlmalloc.h"
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 #include "malloc_debug_common.h"
-#include "ScopedPthreadMutexLocker.h"
+#include "private/ScopedPthreadMutexLocker.h"
 
 /* libc.debug.malloc.backlog */
 extern unsigned int gMallocDebugBacklog;
diff --git a/libc/bionic/malloc_debug_common.cpp b/libc/bionic/malloc_debug_common.cpp
index e33405e..85f7791 100644
--- a/libc/bionic/malloc_debug_common.cpp
+++ b/libc/bionic/malloc_debug_common.cpp
@@ -47,7 +47,7 @@
 #include <unistd.h>
 
 #include "dlmalloc.h"
-#include "ScopedPthreadMutexLocker.h"
+#include "private/ScopedPthreadMutexLocker.h"
 
 /*
  * In a VM process, this is set to 1 after fork()ing out of zygote.
@@ -250,7 +250,7 @@
 #include <sys/system_properties.h>
 #include <dlfcn.h>
 #include <stdio.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /* Table for dispatching malloc calls, depending on environment. */
 static MallocDebug gMallocUse __attribute__((aligned(32))) = {
diff --git a/libc/bionic/malloc_debug_common.h b/libc/bionic/malloc_debug_common.h
index a3f9909..28be042 100644
--- a/libc/bionic/malloc_debug_common.h
+++ b/libc/bionic/malloc_debug_common.h
@@ -35,7 +35,7 @@
 
 #include <stdlib.h>
 
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 #define HASHTABLE_SIZE      1543
 #define BACKTRACE_SIZE      32
diff --git a/libc/bionic/malloc_debug_leak.cpp b/libc/bionic/malloc_debug_leak.cpp
index 45b45c2..3397def 100644
--- a/libc/bionic/malloc_debug_leak.cpp
+++ b/libc/bionic/malloc_debug_leak.cpp
@@ -47,9 +47,10 @@
 
 #include "debug_stacktrace.h"
 #include "dlmalloc.h"
-#include "libc_logging.h"
 #include "malloc_debug_common.h"
-#include "ScopedPthreadMutexLocker.h"
+
+#include "private/libc_logging.h"
+#include "private/ScopedPthreadMutexLocker.h"
 
 // This file should be included into the build only when
 // MALLOC_LEAK_CHECK, or MALLOC_QEMU_INSTRUMENT, or both
diff --git a/libc/bionic/malloc_debug_qemu.cpp b/libc/bionic/malloc_debug_qemu.cpp
index 4d00066..5a91daa 100644
--- a/libc/bionic/malloc_debug_qemu.cpp
+++ b/libc/bionic/malloc_debug_qemu.cpp
@@ -51,7 +51,7 @@
 #include <unistd.h>
 #include <errno.h>
 #include "dlmalloc.h"
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 #include "malloc_debug_common.h"
 
 /* This file should be included into the build only when
diff --git a/libc/bionic/open.c b/libc/bionic/open.c
index 424573f..cde3029 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/open.c
@@ -29,7 +29,7 @@
 #include <fcntl.h>
 #include <stdarg.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern int  __open(const char*, int, int);
 
diff --git a/libc/bionic/openat.c b/libc/bionic/openat.c
index 2d09d17..b8c887e 100644
--- a/libc/bionic/openat.c
+++ b/libc/bionic/openat.c
@@ -29,7 +29,7 @@
 #include <fcntl.h>
 #include <stdarg.h>
 #include <stdlib.h>
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 extern int  __openat(int, const char*, int, int);
 
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c
index ab806c0..32812b4 100644
--- a/libc/bionic/pthread.c
+++ b/libc/bionic/pthread.c
@@ -34,12 +34,13 @@
 #include <sys/mman.h>
 #include <unistd.h>
 
-#include "bionic_atomic_inline.h"
-#include "bionic_futex.h"
-#include "bionic_pthread.h"
-#include "bionic_tls.h"
 #include "pthread_internal.h"
-#include "thread_private.h"
+
+#include "private/bionic_atomic_inline.h"
+#include "private/bionic_futex.h"
+#include "private/bionic_pthread.h"
+#include "private/bionic_tls.h"
+#include "private/thread_private.h"
 
 extern void pthread_debug_mutex_lock_check(pthread_mutex_t *mutex);
 extern void pthread_debug_mutex_unlock_check(pthread_mutex_t *mutex);
diff --git a/libc/bionic/pthread_create.cpp b/libc/bionic/pthread_create.cpp
index 9e06afc..8338ad5 100644
--- a/libc/bionic/pthread_create.cpp
+++ b/libc/bionic/pthread_create.cpp
@@ -52,8 +52,6 @@
 
 extern "C" int __set_tls(void* ptr);
 
-static const int kPthreadInitFailed = 1;
-
 static pthread_mutex_t gPthreadStackCreationLock = PTHREAD_MUTEX_INITIALIZER;
 
 static pthread_mutex_t gDebuggerNotificationLock = PTHREAD_MUTEX_INITIALIZER;
@@ -84,30 +82,6 @@
   }
 }
 
-// This trampoline is called from the assembly _pthread_clone function.
-// Our 'tls' and __pthread_clone's 'child_stack' are one and the same, just growing in
-// opposite directions.
-extern "C" void __thread_entry(void* (*func)(void*), void* arg, void** tls) {
-  // Wait for our creating thread to release us. This lets it have time to
-  // notify gdb about this thread before we start doing anything.
-  // This also provides the memory barrier needed to ensure that all memory
-  // accesses previously made by the creating thread are visible to us.
-  pthread_mutex_t* start_mutex = (pthread_mutex_t*) &tls[TLS_SLOT_SELF];
-  pthread_mutex_lock(start_mutex);
-  pthread_mutex_destroy(start_mutex);
-
-  pthread_internal_t* thread = (pthread_internal_t*) tls[TLS_SLOT_THREAD_ID];
-  thread->tls = tls;
-  __init_tls(thread);
-
-  if ((thread->internal_flags & kPthreadInitFailed) != 0) {
-    pthread_exit(NULL);
-  }
-
-  void* result = func(arg);
-  pthread_exit(result);
-}
-
 __LIBC_ABI_PRIVATE__
 int _init_thread(pthread_internal_t* thread, bool add_to_thread_list) {
   int error = 0;
@@ -240,7 +214,7 @@
   if (init_errno != 0) {
     // Mark the thread detached and let its __thread_entry run to
     // completion. (It'll just exit immediately, cleaning up its resources.)
-    thread->internal_flags |= kPthreadInitFailed;
+    thread->internal_flags |= PTHREAD_INTERNAL_FLAG_THREAD_INIT_FAILED;
     thread->attr.flags |= PTHREAD_ATTR_FLAG_DETACHED;
     return init_errno;
   }
diff --git a/libc/bionic/pthread_debug.cpp b/libc/bionic/pthread_debug.cpp
index 94c23de..79a193d 100644
--- a/libc/bionic/pthread_debug.cpp
+++ b/libc/bionic/pthread_debug.cpp
@@ -31,7 +31,6 @@
 #include <sys/system_properties.h>
 #include <sys/mman.h>
 
-//#include <dlfcn.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -40,10 +39,10 @@
 #include <unwind.h>
 #include <unistd.h>
 
-#include "bionic_tls.h"
+#include "private/bionic_tls.h"
 #include "debug_mapinfo.h"
 #include "debug_stacktrace.h"
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 /*
  * ===========================================================================
diff --git a/libc/bionic/pthread_getschedparam.cpp b/libc/bionic/pthread_getschedparam.cpp
index 03fa5f2..2cdc11a 100644
--- a/libc/bionic/pthread_getschedparam.cpp
+++ b/libc/bionic/pthread_getschedparam.cpp
@@ -28,7 +28,7 @@
 
 #include <errno.h>
 
-#include "ErrnoRestorer.h"
+#include "private/ErrnoRestorer.h"
 #include "pthread_accessor.h"
 
 int pthread_getschedparam(pthread_t t, int* policy, sched_param* param) {
diff --git a/libc/bionic/pthread_internal.h b/libc/bionic/pthread_internal.h
index 6fe2a98..6b009d4 100644
--- a/libc/bionic/pthread_internal.h
+++ b/libc/bionic/pthread_internal.h
@@ -77,6 +77,8 @@
 /* Has the thread already exited but not been joined? */
 #define PTHREAD_ATTR_FLAG_ZOMBIE        0x00000008
 
+#define PTHREAD_INTERNAL_FLAG_THREAD_INIT_FAILED 1
+
 /*
  * Traditionally we give threads a 1MiB stack. When we started
  * allocating per-thread alternate signal stacks to ease debugging of
diff --git a/libc/bionic/pthread_internals.cpp b/libc/bionic/pthread_internals.cpp
index 59c6e48..01ecd5f 100644
--- a/libc/bionic/pthread_internals.cpp
+++ b/libc/bionic/pthread_internals.cpp
@@ -28,8 +28,8 @@
 
 #include "pthread_internal.h"
 
-#include "bionic_tls.h"
-#include "ScopedPthreadMutexLocker.h"
+#include "private/bionic_tls.h"
+#include "private/ScopedPthreadMutexLocker.h"
 
 __LIBC_HIDDEN__ pthread_internal_t* gThreadList = NULL;
 __LIBC_HIDDEN__ pthread_mutex_t gThreadListLock = PTHREAD_MUTEX_INITIALIZER;
diff --git a/libc/bionic/pthread_key.cpp b/libc/bionic/pthread_key.cpp
index 706758b..440a715 100644
--- a/libc/bionic/pthread_key.cpp
+++ b/libc/bionic/pthread_key.cpp
@@ -28,7 +28,7 @@
 
 #include <pthread.h>
 
-#include "bionic_tls.h"
+#include "private/bionic_tls.h"
 #include "pthread_internal.h"
 
 /* A technical note regarding our thread-local-storage (TLS) implementation:
diff --git a/libc/bionic/pthread_kill.cpp b/libc/bionic/pthread_kill.cpp
index 54f71ee..163317e 100644
--- a/libc/bionic/pthread_kill.cpp
+++ b/libc/bionic/pthread_kill.cpp
@@ -29,7 +29,7 @@
 #include <errno.h>
 #include <unistd.h>
 
-#include "ErrnoRestorer.h"
+#include "private/ErrnoRestorer.h"
 #include "pthread_accessor.h"
 
 extern "C" int tgkill(int tgid, int tid, int sig);
diff --git a/libc/bionic/pthread_setschedparam.cpp b/libc/bionic/pthread_setschedparam.cpp
index c383cca..55ec791 100644
--- a/libc/bionic/pthread_setschedparam.cpp
+++ b/libc/bionic/pthread_setschedparam.cpp
@@ -28,7 +28,7 @@
 
 #include <errno.h>
 
-#include "ErrnoRestorer.h"
+#include "private/ErrnoRestorer.h"
 #include "pthread_accessor.h"
 
 int pthread_setschedparam(pthread_t t, int policy, struct sched_param const* param) {
diff --git a/libc/bionic/semaphore.c b/libc/bionic/semaphore.c
index 9bc8412..28fcb1b 100644
--- a/libc/bionic/semaphore.c
+++ b/libc/bionic/semaphore.c
@@ -30,10 +30,11 @@
 #include <sys/time.h>
 #include <sys/atomics.h>
 #include <time.h>
-#include <bionic_atomic_inline.h>
-#include <bionic_futex.h>
 #include <limits.h>
 
+#include "private/bionic_atomic_inline.h"
+#include "private/bionic_futex.h"
+
 /* In this implementation, a semaphore contains a
  * 31-bit signed value and a 1-bit 'shared' flag
  * (for process-sharing purpose).
diff --git a/libc/bionic/strerror.cpp b/libc/bionic/strerror.cpp
index a50c99f..d1518ff 100644
--- a/libc/bionic/strerror.cpp
+++ b/libc/bionic/strerror.cpp
@@ -27,7 +27,7 @@
  */
 
 #include <string.h>
-#include "ThreadLocalBuffer.h"
+#include "private/ThreadLocalBuffer.h"
 
 extern "C" const char* __strerror_lookup(int);
 
diff --git a/libc/bionic/strsignal.cpp b/libc/bionic/strsignal.cpp
index c549e74..9f0193a 100644
--- a/libc/bionic/strsignal.cpp
+++ b/libc/bionic/strsignal.cpp
@@ -27,7 +27,7 @@
  */
 
 #include <string.h>
-#include "ThreadLocalBuffer.h"
+#include "private/ThreadLocalBuffer.h"
 
 extern "C" const char* __strsignal_lookup(int);
 extern "C" const char* __strsignal(int, char*, size_t);
diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp
index e945fbf..db808c2 100644
--- a/libc/bionic/sysconf.cpp
+++ b/libc/bionic/sysconf.cpp
@@ -26,8 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <asm/page.h>
-#include <bionic_tls.h>
 #include <ctype.h>
 #include <dirent.h>
 #include <errno.h>
@@ -40,6 +38,7 @@
 #include <time.h>
 #include <unistd.h>
 
+#include "private/bionic_tls.h"
 #include "private/ScopedReaddir.h"
 
 /* seems to be the default on Linux, per the GLibc sources and my own digging */
diff --git a/libc/bionic/system_properties.c b/libc/bionic/system_properties.c
index fd56431..9fdb6f5 100644
--- a/libc/bionic/system_properties.c
+++ b/libc/bionic/system_properties.c
@@ -50,7 +50,8 @@
 #include <sys/_system_properties.h>
 
 #include <sys/atomics.h>
-#include <bionic_atomic_inline.h>
+
+#include "private/bionic_atomic_inline.h"
 
 #define ALIGN(x, a) (((x) + (a - 1)) & ~(a - 1))
 
diff --git a/libc/netbsd/resolv/res_cache.c b/libc/netbsd/resolv/res_cache.c
index 7e367ad..1836c80 100644
--- a/libc/netbsd/resolv/res_cache.c
+++ b/libc/netbsd/resolv/res_cache.c
@@ -171,7 +171,7 @@
 
 #undef XLOG
 #if DEBUG
-#  include "libc_logging.h"
+#  include "private/libc_logging.h"
 #  define XLOG(...)  __libc_format_log(ANDROID_LOG_DEBUG,"libc",__VA_ARGS__)
 
 #include <stdio.h>
diff --git a/libc/netbsd/resolv/res_send.c b/libc/netbsd/resolv/res_send.c
index 0bb5b6b..e78a11e 100644
--- a/libc/netbsd/resolv/res_send.c
+++ b/libc/netbsd/resolv/res_send.c
@@ -119,7 +119,7 @@
 #  include <resolv_cache.h>
 #endif
 
-#include "libc_logging.h"
+#include "private/libc_logging.h"
 
 #ifndef DE_CONST
 #define DE_CONST(c,v)   v = ((c) ? \
diff --git a/libc/netbsd/resolv/res_state.c b/libc/netbsd/resolv/res_state.c
index de82e1a..f5d01a1 100644
--- a/libc/netbsd/resolv/res_state.c
+++ b/libc/netbsd/resolv/res_state.c
@@ -42,7 +42,7 @@
 #define DEBUG 0
 
 #if DEBUG
-#  include "libc_logging.h"
+#  include "private/libc_logging.h"
 #  include <unistd.h>  /* for gettid() */
 #  define D(...) __libc_format_log(ANDROID_LOG_DEBUG,"libc", __VA_ARGS__)
 #else
diff --git a/libc/private/arpa_nameser.h b/libc/private/arpa_nameser.h
index 81195b5..421c3ee 100644
--- a/libc/private/arpa_nameser.h
+++ b/libc/private/arpa_nameser.h
@@ -567,7 +567,7 @@
 #endif
 
 #if 0
-#  include "libc_logging.h"
+#  include "private/libc_logging.h"
 #  define XLOG(...)  __libc_format_log(ANDROID_LOG_DEBUG,"libc",__VA_ARGS__)
 #else
 #define  XLOG(...)   do {} while (0)
diff --git a/libc/private/syscommon.h b/libc/private/syscommon.h
deleted file mode 100644
index 4290252..0000000
--- a/libc/private/syscommon.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * syscommon.h
- *
- * Common header file for system call stubs
- */
-
-#define __IN_SYS_COMMON
-#include <errno.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/syscall.h>
-
-#include <poll.h>
-#include <sched.h>
-#include <sys/dirent.h>
-#include <sys/klog.h>
-#include <sys/mman.h>
-#include <sys/resource.h>
-#include <sys/select.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/times.h>
-#include <sys/uio.h>
-#include <sys/utime.h>
-#include <sys/utsname.h>
-#include <sys/vfs.h>
-#include <sys/wait.h>
-#include <unistd.h>
-
-#ifdef __i386__
-# include <sys/vm86.h>
-#endif
diff --git a/libc/stdio/findfp.c b/libc/stdio/findfp.c
index 863235b..943c90a 100644
--- a/libc/stdio/findfp.c
+++ b/libc/stdio/findfp.c
@@ -39,7 +39,7 @@
 #include <string.h>
 #include "local.h"
 #include "glue.h"
-#include "thread_private.h"
+#include "private/thread_private.h"
 
 int	__sdidinit;
 
diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c
index 8f5bd2d..4e14434 100644
--- a/libc/stdlib/atexit.c
+++ b/libc/stdlib/atexit.c
@@ -35,7 +35,7 @@
 #include <string.h>
 #include <unistd.h>
 #include "atexit.h"
-#include "thread_private.h"
+#include "private/thread_private.h"
 
 int __atexit_invalid = 1;
 struct atexit *__atexit;
diff --git a/libc/private/ctype_private.h b/libc/stdlib/ctype_private.h
similarity index 100%
rename from libc/private/ctype_private.h
rename to libc/stdlib/ctype_private.h
diff --git a/libc/stdlib/exit.c b/libc/stdlib/exit.c
index 83fe3d2..923e42e 100644
--- a/libc/stdlib/exit.c
+++ b/libc/stdlib/exit.c
@@ -33,7 +33,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include "atexit.h"
-#include "thread_private.h"
+#include "private/thread_private.h"
 
 /*
  * This variable is zero until a process has created a thread.
diff --git a/libc/tzcode/strftime.c b/libc/tzcode/strftime.c
index 1b223e5..1164a13 100644
--- a/libc/tzcode/strftime.c
+++ b/libc/tzcode/strftime.c
@@ -38,7 +38,7 @@
 #include "locale.h"
 #include <ctype.h>
 #include <time64.h>
-#include <bionic_time.h>  /* for strftime_tz */
+#include "private/bionic_time.h"  /* for strftime_tz */
 
 /* struct lc_time_T is now defined as strftime_locale
  * in <time.h>
diff --git a/libc/upstream-netbsd/port_before.h b/libc/upstream-netbsd/port_before.h
index 9f77f79..5e06e52 100644
--- a/libc/upstream-netbsd/port_before.h
+++ b/libc/upstream-netbsd/port_before.h
@@ -19,7 +19,7 @@
 
 #include "namespace.h"
 #include <sys/cdefs.h>
-#include <arpa_nameser.h>
+#include "private/arpa_nameser.h"
 
 #define ISC_FORMAT_PRINTF(a,b) __printflike(a,b)
 #define ISC_SOCKLEN_T socklen_t
diff --git a/libc/private/rand48.h b/libc/upstream-netbsd/rand48.h
similarity index 100%
rename from libc/private/rand48.h
rename to libc/upstream-netbsd/rand48.h
diff --git a/libstdc++/src/one_time_construction.cpp b/libstdc++/src/one_time_construction.cpp
index 8ba18df..5574311 100644
--- a/libstdc++/src/one_time_construction.cpp
+++ b/libstdc++/src/one_time_construction.cpp
@@ -5,8 +5,9 @@
 #include <stddef.h>
 #include <sys/atomics.h>
 #include <endian.h>
-#include <private/bionic_futex.h>
-#include <private/bionic_atomic_inline.h>
+
+#include "private/bionic_atomic_inline.h"
+#include "private/bionic_futex.h"
 
 // This file contains C++ ABI support functions for one time
 // constructors as defined in the "Run-time ABI for the ARM Architecture"
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index 3553af7..d234787 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -22,9 +22,9 @@
 #include <stdlib.h>
 
 #include <bionic/pthread_internal.h>
-#include <private/bionic_tls.h>
-#include <private/ScopedPthreadMutexLocker.h>
-#include <private/ThreadLocalBuffer.h>
+#include "private/bionic_tls.h"
+#include "private/ScopedPthreadMutexLocker.h"
+#include "private/ThreadLocalBuffer.h"
 
 /* This file hijacks the symbols stubbed out in libdl.so. */
 
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 8f613b1..cabbb99 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -40,9 +40,9 @@
 #include <unistd.h>
 
 // Private C library headers.
-#include <private/bionic_tls.h>
-#include <private/KernelArgumentBlock.h>
-#include <private/ScopedPthreadMutexLocker.h>
+#include "private/bionic_tls.h"
+#include "private/KernelArgumentBlock.h"
+#include "private/ScopedPthreadMutexLocker.h"
 
 #include "linker.h"
 #include "linker_debug.h"
diff --git a/linker/linker_environ.cpp b/linker/linker_environ.cpp
index edc659a..846624b 100644
--- a/linker/linker_environ.cpp
+++ b/linker/linker_environ.cpp
@@ -33,7 +33,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 
-#include <private/KernelArgumentBlock.h>
+#include "private/KernelArgumentBlock.h"
 
 static char** _envp;
 static bool _AT_SECURE_value = true;
