mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
2002-08-15 Ulrich Drepper <drepper@redhat.com> * csu/Makefile: Define elide-routines.os not static-only-routines. * include/sched.h (__clone): Add varargs at the end. * elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that case. (TLS_INIT_HELPER): If defined use it. * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise. * locale/loadarchive.c (archfname): Add missing slash. * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def. * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
This commit is contained in:
11
elf/rtld.c
11
elf/rtld.c
@ -117,6 +117,11 @@ static hp_timing_t relocate_time;
|
||||
static hp_timing_t load_time;
|
||||
#endif
|
||||
|
||||
/* Additional definitions needed by TLS initialization. */
|
||||
#ifdef TLS_INIT_HELPER
|
||||
TLS_INIT_HELPER
|
||||
#endif
|
||||
|
||||
static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
|
||||
hp_timing_t start_time);
|
||||
|
||||
@ -257,10 +262,12 @@ _dl_start (void *arg)
|
||||
INSTALL_DTV ((char *) tlsblock + bootstrap_map.l_tls_offset,
|
||||
initdtv);
|
||||
|
||||
TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset);
|
||||
if (TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset) != 0)
|
||||
_dl_fatal_printf ("cannot setup thread-local storage\n");
|
||||
# elif TLS_DTV_AT_TP
|
||||
INSTALL_DTV (tlsblock, initdtv);
|
||||
TLS_INIT_TP (tlsblock);
|
||||
if (TLS_INIT_TP (tlsblock) != 0)
|
||||
_dl_fatal_printf ("cannot setup thread-local storage\n");
|
||||
# else
|
||||
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
|
||||
# endif
|
||||
|
Reference in New Issue
Block a user