diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-08-20 10:14:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-08-20 10:14:15 +0000 |
commit | d78ce054e2a3b23fed53f42ea7aa6e1c2ff6d748 (patch) | |
tree | a7d903d9e969eaa9cc6cfcf812c3f075dea7c6ca /sysdeps/generic | |
parent | 58d2d09bde3578bd25d55df03e962764ba81bd13 (diff) | |
download | glibc-d78ce054e2a3b23fed53f42ea7aa6e1c2ff6d748.tar.gz glibc-d78ce054e2a3b23fed53f42ea7aa6e1c2ff6d748.tar.xz glibc-d78ce054e2a3b23fed53f42ea7aa6e1c2ff6d748.zip |
Update.
* elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP. (dl_main): Padd extra argument 0 to TLS_INIT_TP. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra argument 1 to TLS_INIT_TP. * sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter. * locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/libc-tls.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/tls.h | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/generic/libc-tls.c b/sysdeps/generic/libc-tls.c index 51b85ef28f..88b0ccf8fc 100644 --- a/sysdeps/generic/libc-tls.c +++ b/sysdeps/generic/libc-tls.c @@ -137,10 +137,10 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign) INSTALL_DTV ((char *) tlsblock + tcb_offset, static_dtv); - TLS_INIT_TP ((char *) tlsblock + tcb_offset); + TLS_INIT_TP ((char *) tlsblock + tcb_offset, 1); # elif TLS_DTV_AT_TP INSTALL_DTV (tlsblock, static_dtv); - TLS_INIT_TP (tlsblock); + TLS_INIT_TP (tlsblock, 1); # else # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" # endif diff --git a/sysdeps/generic/tls.h b/sysdeps/generic/tls.h index 38f84acd46..6a23ec05e1 100644 --- a/sysdeps/generic/tls.h +++ b/sysdeps/generic/tls.h @@ -65,10 +65,12 @@ use the value. - TLS_INIT_TP(tcb) + TLS_INIT_TP(tcb, firstcall) This macro must initialize the thread pointer to enable normal TLS - operation. The parameter is a pointer to the thread control block. + operation. The first parameter is a pointer to the thread control + block. The second parameter specifies whether this is the first + call for the TCB. ld.so calls this macro more than once. THREAD_DTV() |