diff options
-rw-r--r-- | elf/dl-reloc.c | 4 | ||||
-rw-r--r-- | elf/dl-support.c | 6 | ||||
-rw-r--r-- | elf/dl-tls.c | 6 | ||||
-rw-r--r-- | elf/dl-tls_init_tp.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 11 |
5 files changed, 16 insertions, 13 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index e13a672..6c95745 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -141,7 +141,7 @@ cannot allocate memory in static TLS block")); } } -#if !THREAD_GSCOPE_IN_TCB +#if !PTHREAD_IN_LIBC /* Initialize static TLS area and DTV for current (only) thread. libpthread implementations should provide their own hook to handle all threads. */ @@ -160,7 +160,7 @@ _dl_nothread_init_static_tls (struct link_map *map) memset (__mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size), '\0', map->l_tls_blocksize - map->l_tls_initimage_size); } -#endif /* !THREAD_GSCOPE_IN_TCB */ +#endif /* !PTHREAD_IN_LIBC */ void _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], diff --git a/elf/dl-support.c b/elf/dl-support.c index 0155718..a317459 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -183,7 +183,7 @@ uint64_t _dl_hwcap_mask; * executable but this isn't true for all platforms. */ ElfW(Word) _dl_stack_flags = DEFAULT_STACK_PERMS; -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC list_t _dl_stack_used; list_t _dl_stack_user; list_t _dl_stack_cache; @@ -195,9 +195,11 @@ int _dl_stack_cache_lock; when it was not, we do it by calling this function. It returns an errno code or zero on success. */ int (*_dl_make_stack_executable_hook) (void **) = _dl_make_stack_executable; -int _dl_thread_gscope_count; void (*_dl_init_static_tls) (struct link_map *) = &_dl_nothread_init_static_tls; #endif +#if !THREAD_GSCOPE_IN_TCB +int _dl_thread_gscope_count; +#endif struct dl_scope_free_list *_dl_scope_free_list; #ifdef NEED_DL_SYSINFO diff --git a/elf/dl-tls.c b/elf/dl-tls.c index 423e380..d554ae4 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -29,7 +29,7 @@ #include <dl-tls.h> #include <ldsodefs.h> -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC # include <list.h> #endif @@ -1058,7 +1058,7 @@ cannot create TLS data structures")); } } -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC static inline void __attribute__((always_inline)) init_one_static_tls (struct pthread *curp, struct link_map *map) { @@ -1091,4 +1091,4 @@ _dl_init_static_tls (struct link_map *map) lll_unlock (GL (dl_stack_cache_lock), LLL_PRIVATE); } -#endif /* THREAD_GSCOPE_IN_TCB */ +#endif /* PTHREAD_IN_LIBC */ diff --git a/elf/dl-tls_init_tp.c b/elf/dl-tls_init_tp.c index d84adc9..e482f3c 100644 --- a/elf/dl-tls_init_tp.c +++ b/elf/dl-tls_init_tp.c @@ -36,7 +36,7 @@ rtld_lock_default_unlock_recursive (void *lock) void __tls_pre_init_tp (void) { -#if !THREAD_GSCOPE_IN_TCB +#if !PTHREAD_IN_LIBC GL(dl_init_static_tls) = &_dl_nothread_init_static_tls; #endif diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 9c15259..02bd579 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -456,7 +456,7 @@ struct rtld_global /* Generation counter for the dtv. */ EXTERN size_t _dl_tls_generation; -#if !THREAD_GSCOPE_IN_TCB +#if !PTHREAD_IN_LIBC EXTERN void (*_dl_init_static_tls) (struct link_map *); #endif @@ -466,7 +466,7 @@ struct rtld_global size_t count; void *list[50]; } *_dl_scope_free_list; -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC /* List of active thread stacks, with memory managed by glibc. */ EXTERN list_t _dl_stack_used; @@ -486,7 +486,8 @@ struct rtld_global /* Mutex protecting the stack lists. */ EXTERN int _dl_stack_cache_lock; -#else +#endif +#if !THREAD_GSCOPE_IN_TCB EXTERN int _dl_thread_gscope_count; #endif #ifdef SHARED @@ -1297,13 +1298,13 @@ extern void _dl_aux_init (ElfW(auxv_t) *av) /* Initialize the static TLS space for the link map in all existing threads. */ -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC void _dl_init_static_tls (struct link_map *map) attribute_hidden; #endif static inline void dl_init_static_tls (struct link_map *map) { -#if THREAD_GSCOPE_IN_TCB +#if PTHREAD_IN_LIBC /* The stack list is available to ld.so, so the initialization can be handled within ld.so directly. */ _dl_init_static_tls (map); |