Move errno to a pthread_internal_t field.
This change is intended to allow native-bridge to use independent
TLS memory for host and guest environments, while still sharing a
thread-local errno between the two.
Bug: http://b/78026329
Test: bionic unit tests
Change-Id: I838cd321e159add60760bc12a8aa7e9ddc960c33
diff --git a/libc/bionic/__errno.cpp b/libc/bionic/__errno.cpp
index 32e7a52..15089a4 100644
--- a/libc/bionic/__errno.cpp
+++ b/libc/bionic/__errno.cpp
@@ -29,8 +29,8 @@
#include <errno.h>
#include <stdint.h>
-#include "private/bionic_tls.h"
+#include "pthread_internal.h"
int* __errno() {
- return reinterpret_cast<int*>(&(__get_tls()[TLS_SLOT_ERRNO]));
+ return &__get_thread()->errno_value;
}