about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-20 10:14:15 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-20 10:14:15 +0000
commitd78ce054e2a3b23fed53f42ea7aa6e1c2ff6d748 (patch)
treea7d903d9e969eaa9cc6cfcf812c3f075dea7c6ca /elf/rtld.c
parent58d2d09bde3578bd25d55df03e962764ba81bd13 (diff)
downloadglibc-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 'elf/rtld.c')
-rw-r--r--elf/rtld.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 5c426000ad..ab02a71ea3 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -262,11 +262,12 @@ _dl_start (void *arg)
 	INSTALL_DTV ((char *) tlsblock + bootstrap_map.l_tls_offset,
 		     initdtv);
 
-	if (TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset) != 0)
+	if (TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset, 1)
+	    != 0)
 	  _dl_fatal_printf ("cannot setup thread-local storage\n");
 # elif TLS_DTV_AT_TP
 	INSTALL_DTV (tlsblock, initdtv);
-	if (TLS_INIT_TP (tlsblock) != 0)
+	if (TLS_INIT_TP (tlsblock, 1) != 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"
@@ -1475,7 +1476,7 @@ cannot allocate TLS data structures for initial thread");
       _dl_allocate_tls_init (tcbp);
 
       /* And finally install it for the main thread.  */
-      TLS_INIT_TP (tcbp);
+      TLS_INIT_TP (tcbp, 0);
     }
 #endif