aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elf/dl-reloc.c4
-rw-r--r--elf/dl-support.c6
-rw-r--r--elf/dl-tls.c6
-rw-r--r--elf/dl-tls_init_tp.c2
-rw-r--r--sysdeps/generic/ldsodefs.h11
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);