Switch pthread_create over to __bionic_clone.
Bug: 8206355
Bug: 11693195
Change-Id: I04aadbc36c87e1b7e33324b9a930a1e441fbfed6
diff --git a/libc/bionic/pthread_internal.h b/libc/bionic/pthread_internal.h
index 8cca83a..52cfbce 100644
--- a/libc/bionic/pthread_internal.h
+++ b/libc/bionic/pthread_internal.h
@@ -42,6 +42,9 @@
__pthread_cleanup_t* cleanup_stack;
void** tls; /* thread-local storage area */
+ void* (*start_routine)(void*);
+ void* start_routine_arg;
+
void* alternate_signal_stack;
/*
@@ -52,8 +55,12 @@
char dlerror_buffer[__BIONIC_DLERROR_BUFFER_SIZE];
};
+extern "C" {
+ __LIBC_HIDDEN__ int __thread_entry(void* arg); // Called from assembler.
+}
__LIBC_HIDDEN__ int _init_thread(pthread_internal_t* thread, bool add_to_thread_list);
__LIBC_HIDDEN__ void __init_tls(pthread_internal_t* thread);
+__LIBC_HIDDEN__ void __init_alternate_signal_stack(pthread_internal_t*);
__LIBC_HIDDEN__ void _pthread_internal_add(pthread_internal_t* thread);
__LIBC_HIDDEN__ pthread_internal_t* __get_thread(void);