Merge "Move _thread_created_hook to where it belongs."

This commit is contained in:
Elliott Hughes 2014-01-15 02:32:47 +00:00 committed by Gerrit Code Review
commit c8d412637a
2 changed files with 4 additions and 19 deletions

View File

@ -43,20 +43,19 @@
extern "C" pid_t __bionic_clone(uint32_t flags, void* child_stack, int* parent_tid, void* tls, int* child_tid, int (*fn)(void*), void* arg);
extern "C" int __set_tls(void*);
// Used by gdb to track thread creation. See libthread_db.
#ifdef __i386__
#define ATTRIBUTES __attribute__((noinline)) __attribute__((fastcall))
extern "C" __attribute__((noinline)) __attribute__((fastcall)) void _thread_created_hook(pid_t) {}
#else
#define ATTRIBUTES __attribute__((noinline))
extern "C" __attribute__((noinline)) void _thread_created_hook(pid_t) {}
#endif
extern "C" void ATTRIBUTES _thread_created_hook(pid_t thread_id);
static pthread_mutex_t gPthreadStackCreationLock = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t gDebuggerNotificationLock = PTHREAD_MUTEX_INITIALIZER;
// This code is used both by each new pthread and the code that initializes the main thread.
void __init_tls(pthread_internal_t* thread) {
void __init_tls(pthread_internal_t* thread) {
// Zero-initialize all the slots after TLS_SLOT_SELF and TLS_SLOT_THREAD_ID.
for (size_t i = TLS_SLOT_ERRNO; i < BIONIC_TLS_SLOTS; ++i) {
thread->tls[i] = NULL;

View File

@ -51,17 +51,3 @@ long ptrace(int request, pid_t pid, void* addr, void* data) {
return __ptrace(request, pid, addr, data);
}
}
/*
* Hook for gdb to get notified when a thread is created
*/
#ifdef __i386__
#define ATTRIBUTES __attribute__((noinline)) __attribute__((fastcall))
#else
#define ATTRIBUTES __attribute__((noinline))
#endif
extern "C" void _thread_created_hook(pid_t) ATTRIBUTES;
void _thread_created_hook(pid_t) {
}