From 4596f460207d5c11a363c20745e5a7b56a0600c0 Mon Sep 17 00:00:00 2001 From: Austin Foxley Date: Sat, 17 Oct 2009 11:41:26 -0700 Subject: linuxthreads: check TLS_DTV_AT_TP define correctly Signed-off-by: Austin Foxley --- libpthread/linuxthreads/manager.c | 8 ++++---- libpthread/linuxthreads/pthread.c | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'libpthread/linuxthreads') diff --git a/libpthread/linuxthreads/manager.c b/libpthread/linuxthreads/manager.c index b068d6c66..4293741ac 100644 --- a/libpthread/linuxthreads/manager.c +++ b/libpthread/linuxthreads/manager.c @@ -601,7 +601,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, new_thread = _dl_allocate_tls (NULL); if (new_thread == NULL) return EAGAIN; -# if TLS_DTV_AT_TP +# if defined(TLS_DTV_AT_TP) /* pthread_descr is below TP. */ new_thread = (pthread_descr) ((char *) new_thread - TLS_PRE_TCB_SIZE); # endif @@ -622,7 +622,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, if (sseg >= PTHREAD_THREADS_MAX) { #ifdef USE_TLS -# if TLS_DTV_AT_TP +# if defined(TLS_DTV_AT_TP) new_thread = (pthread_descr) ((char *) new_thread + TLS_PRE_TCB_SIZE); # endif _dl_deallocate_tls (new_thread, true); @@ -824,7 +824,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, #endif } #ifdef USE_TLS -# if TLS_DTV_AT_TP +# if defined(TLS_DTV_AT_TP) new_thread = (pthread_descr) ((char *) new_thread + TLS_PRE_TCB_SIZE); # endif _dl_deallocate_tls (new_thread, true); @@ -917,7 +917,7 @@ static void pthread_free(pthread_descr th) } #ifdef USE_TLS -# if TLS_DTV_AT_TP +# if defined(TLS_DTV_AT_TP) th = (pthread_descr) ((char *) th + TLS_PRE_TCB_SIZE); # endif _dl_deallocate_tls (th, true); diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c index 4d1d9062a..6ae9a10d9 100644 --- a/libpthread/linuxthreads/pthread.c +++ b/libpthread/linuxthreads/pthread.c @@ -474,10 +474,10 @@ __libc_dl_error_tsd (void) static __inline__ void __attribute__((always_inline)) init_one_static_tls (pthread_descr descr, struct link_map *map) { -# if TLS_TCB_AT_TP +# if defined(TLS_TCB_AT_TP) dtv_t *dtv = GET_DTV (descr); void *dest = (char *) descr - map->l_tls_offset; -# elif TLS_DTV_AT_TP +# elif defined(TLS_DTV_AT_TP) dtv_t *dtv = GET_DTV ((pthread_descr) ((char *) descr + TLS_PRE_TCB_SIZE)); void *dest = (char *) descr + map->l_tls_offset + TLS_PRE_TCB_SIZE; # else @@ -669,9 +669,9 @@ int __pthread_initialize_manager(void) return -1; } -# if TLS_TCB_AT_TP +# if defined(TLS_TCB_AT_TP) mgr = (pthread_descr) tcbp; -# elif TLS_DTV_AT_TP +# elif defined(TLS_DTV_AT_TP) /* pthread_descr is located right below tcbhead_t which _dl_allocate_tls returns. */ mgr = (pthread_descr) ((char *) tcbp - TLS_PRE_TCB_SIZE); @@ -996,7 +996,7 @@ static void pthread_onexit_process(int retcode, void *arg) For mtrace, we'd like to print something though. */ /* #ifdef USE_TLS tcbhead_t *tcbp = (tcbhead_t *) manager_thread; - # if TLS_DTV_AT_TP + # if defined(TLS_DTV_AT_TP) tcbp = (tcbhead_t) ((char *) tcbp + TLS_PRE_TCB_SIZE); # endif _dl_deallocate_tls (tcbp, true); -- cgit v1.2.3