diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-07 08:44:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-07 08:44:37 +0000 |
commit | cd30b01ee9cdefd2e6f81b1c25ee6897243706fc (patch) | |
tree | 39d460bf6b86baf4199f85a9f26d64913b82992e /linuxthreads/internals.h | |
parent | 8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d (diff) | |
download | glibc-cd30b01ee9cdefd2e6f81b1c25ee6897243706fc.zip glibc-cd30b01ee9cdefd2e6f81b1c25ee6897243706fc.tar.gz glibc-cd30b01ee9cdefd2e6f81b1c25ee6897243706fc.tar.bz2 |
Update.
2002-02-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
alignment of the TCB and store total size and alignment of static
TLS block in _dl_tls_static_size and _dl_tls_static_align.
tls_index is a typedef.
* sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
_dl_tls_static_align.
* sysdeps/i386/dl-tls.h: tls_index is a typedef.
* elf/dl-support.c: Define _dl_tls_static_size and
_dl_tls_static_align.
Diffstat (limited to 'linuxthreads/internals.h')
-rw-r--r-- | linuxthreads/internals.h | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h index e1768b4..056e36d 100644 --- a/linuxthreads/internals.h +++ b/linuxthreads/internals.h @@ -110,30 +110,10 @@ extern int __pthread_sig_debug; extern struct pthread_handle_struct __pthread_handles[PTHREAD_THREADS_MAX]; -/* Descriptor of the initial thread */ - -extern struct _pthread_descr_struct __pthread_initial_thread; - -/* Descriptor of the manager thread */ - -extern struct _pthread_descr_struct __pthread_manager_thread; - /* Descriptor of the main thread */ extern pthread_descr __pthread_main_thread; -/* Limit between the stack of the initial thread (above) and the - stacks of other threads (below). Aligned on a STACK_SIZE boundary. - Initially 0, meaning that the current thread is (by definition) - the initial thread. */ - -extern char *__pthread_initial_thread_bos; - -/* Indicate whether at least one thread has a user-defined stack (if 1), - or all threads have stacks supplied by LinuxThreads (if 0). */ - -extern int __pthread_nonstandard_stacks; - /* File descriptor for sending requests to the thread manager. Initially -1, meaning that __pthread_initialize_manager must be called. */ @@ -143,11 +123,6 @@ extern int __pthread_manager_request; extern int __pthread_manager_reader; -/* Limits of the thread manager stack. */ - -extern char *__pthread_manager_thread_bos; -extern char *__pthread_manager_thread_tos; - #ifdef FLOATING_STACKS /* Maximum stack size. */ extern size_t __pthread_max_stacksize; @@ -202,13 +177,6 @@ static inline int nonexisting_handle(pthread_handle h, pthread_t id) #define PAGE_SIZE (sysconf (_SC_PAGE_SIZE)) #endif -/* The max size of the thread stack segments. If the default - THREAD_SELF implementation is used, this must be a power of two and - a multiple of PAGE_SIZE. */ -#ifndef STACK_SIZE -#define STACK_SIZE (2 * 1024 * 1024) -#endif - /* The initial size of the thread stack. Must be a multiple of PAGE_SIZE. */ #ifndef INITIAL_STACK_SIZE #define INITIAL_STACK_SIZE (4 * PAGE_SIZE) @@ -227,39 +195,6 @@ static inline int nonexisting_handle(pthread_handle h, pthread_t id) #define THREAD_STACK_START_ADDRESS __pthread_initial_thread_bos #endif -/* Get some notion of the current stack. Need not be exactly the top - of the stack, just something somewhere in the current frame. */ -#ifndef CURRENT_STACK_FRAME -#define CURRENT_STACK_FRAME ({ char __csf; &__csf; }) -#endif - -/* Recover thread descriptor for the current thread */ - -extern pthread_descr __pthread_find_self (void) __attribute__ ((const)); - -static inline pthread_descr thread_self (void) __attribute__ ((const)); -static inline pthread_descr thread_self (void) -{ -#ifdef THREAD_SELF - return THREAD_SELF; -#else - char *sp = CURRENT_STACK_FRAME; - if (sp >= __pthread_initial_thread_bos) - return &__pthread_initial_thread; - else if (sp >= __pthread_manager_thread_bos - && sp < __pthread_manager_thread_tos) - return &__pthread_manager_thread; - else if (__pthread_nonstandard_stacks) - return __pthread_find_self(); - else -#ifdef _STACK_GROWS_DOWN - return (pthread_descr)(((unsigned long)sp | (STACK_SIZE-1))+1) - 1; -#else - return (pthread_descr)((unsigned long)sp &~ (STACK_SIZE-1)); -#endif -#endif -} - /* If MEMORY_BARRIER isn't defined in pt-machine.h, assume the architecture doesn't need a memory barrier instruction (e.g. Intel x86). Some architectures distinguish between full, read and write barriers. */ |