diff options
| author | Peter S. Mazinger <ps.m@gmx.net> | 2011-05-08 00:23:14 +0200 | 
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2012-06-15 14:00:44 +0200 | 
| commit | 1d2dbb9eb220f313ebc712f1c69c611f6867da54 (patch) | |
| tree | 32a61cc34674d13ba7b1c3e0aaf22ae8af178644 | |
| parent | 27cfef649da3b51dd37f63a15797f7ba26bd2d95 (diff) | |
linuxthreads: guard *tsd* related stuff correctly
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| -rw-r--r-- | libpthread/linuxthreads.old/sysdeps/pthread/bits/libc-tsd.h | 7 | ||||
| -rw-r--r-- | libpthread/linuxthreads/internals.h | 2 | ||||
| -rw-r--r-- | libpthread/linuxthreads/pthread.c | 2 | ||||
| -rw-r--r-- | libpthread/linuxthreads/specific.c | 2 | ||||
| -rw-r--r-- | libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h | 2 | 
5 files changed, 9 insertions, 6 deletions
| diff --git a/libpthread/linuxthreads.old/sysdeps/pthread/bits/libc-tsd.h b/libpthread/linuxthreads.old/sysdeps/pthread/bits/libc-tsd.h index 31d859ec3..bee7eb1be 100644 --- a/libpthread/linuxthreads.old/sysdeps/pthread/bits/libc-tsd.h +++ b/libpthread/linuxthreads.old/sysdeps/pthread/bits/libc-tsd.h @@ -30,12 +30,11 @@ enum __libc_tsd_key_t { _LIBC_TSD_KEY_MALLOC = 0,  			_LIBC_TSD_KEY_CTYPE_TOUPPER,  			_LIBC_TSD_KEY_N }; -#include <sys/cdefs.h> -#include <tls.h> - +#include <features.h>  #include <linuxthreads.old/internals.h> -#if defined(USE_TLS) && USE_TLS && HAVE___THREAD +#ifdef __UCLIBC_HAS_TLS__ +#include <tls.h>  /* When __thread works, the generic definition is what we want.  */  # include <sysdeps/generic/bits/libc-tsd.h> diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h index e855f5062..4ce39fb4b 100644 --- a/libpthread/linuxthreads/internals.h +++ b/libpthread/linuxthreads/internals.h @@ -438,10 +438,12 @@ extern void __linuxthreads_reap_event (void);  extern void __pthread_initialize (void);  /* TSD.  */ +#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_RPC__  extern int __pthread_internal_tsd_set (int key, const void * pointer);  extern void * __pthread_internal_tsd_get (int key);  extern void ** __attribute__ ((__const__))    __pthread_internal_tsd_address (int key); +#endif  /* Sighandler wrappers.  */  extern void __pthread_sighandler(int signo, SIGCONTEXT ctx); diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c index 043146bfa..5dccd939f 100644 --- a/libpthread/linuxthreads/pthread.c +++ b/libpthread/linuxthreads/pthread.c @@ -230,7 +230,7 @@ extern void __libc_setup_tls (size_t tcbsize, size_t tcbalign);  struct pthread_functions __pthread_functions =    { -#ifndef __UCLIBC_HAS_TLS__ +#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_RPC__      .ptr_pthread_internal_tsd_set = __pthread_internal_tsd_set,      .ptr_pthread_internal_tsd_get = __pthread_internal_tsd_get,      .ptr_pthread_internal_tsd_address = __pthread_internal_tsd_address, diff --git a/libpthread/linuxthreads/specific.c b/libpthread/linuxthreads/specific.c index 4a6dad308..0daad83f5 100644 --- a/libpthread/linuxthreads/specific.c +++ b/libpthread/linuxthreads/specific.c @@ -212,7 +212,7 @@ void __pthread_destroy_specifics()    __pthread_unlock(THREAD_GETMEM(self, p_lock));  } -#ifndef __UCLIBC_HAS_TLS__ +#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_RPC__  /* Thread-specific data for libc. */ diff --git a/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h b/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h index 44677e886..04d45467c 100644 --- a/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h +++ b/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h @@ -72,10 +72,12 @@ struct pthread_functions    void (*ptr_pthread_cleanup_upto) (__jmp_buf target,  				    char *targetframe);    pthread_descr (*ptr_pthread_thread_self) (void); +#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_RPC__    int (*ptr_pthread_internal_tsd_set) (int key, const void *pointer);    void * (*ptr_pthread_internal_tsd_get) (int key);    void ** __attribute__ ((__const__))      (*ptr_pthread_internal_tsd_address) (int key); +#endif    int (*ptr_pthread_sigaction) (int sig, const struct sigaction * act,  				struct sigaction *oact);    int (*ptr_pthread_sigwait) (const sigset_t *set, int *sig); | 
