2003-02-26  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Set
	GL(dl_error_catch_tsd) to __libc_dl_error_tsd.
	* Versions (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd.
This commit is contained in:
Ulrich Drepper 2003-02-27 04:12:53 +00:00
parent d4a763f922
commit b1531183c5
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2003-02-26 Ulrich Drepper <drepper@redhat.com>
* init.c (__pthread_initialize_minimal_internal): Set
GL(dl_error_catch_tsd) to __libc_dl_error_tsd.
* Versions (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd.
2003-02-24 Ulrich Drepper <drepper@redhat.com>
* sem_open.c (sem_open): Fix handling of O_CREAT without O_EXCL.

View File

@ -160,6 +160,10 @@ sigcancel_handler (int sig __attribute ((unused)))
}
/* When using __thread for this, we do it in libc so as not
to give libpthread its own TLS segment just for this. */
extern void **__libc_dl_error_tsd (void) __attribute__ ((const));
void
__pthread_initialize_minimal_internal (void)
@ -231,6 +235,12 @@ __pthread_initialize_minimal_internal (void)
__static_tls_align = STACK_ALIGN;
__static_tls_size = roundup (__static_tls_size, __static_tls_align);
#ifdef SHARED
/* Transfer the old value from the dynamic linker's internal location. */
*__libc_dl_error_tsd () = *(*GL(dl_error_catch_tsd)) ();
GL(dl_error_catch_tsd) = &__libc_dl_error_tsd;
#endif
/* Register the fork generation counter with the libc. */
__libc_pthread_init (&__fork_generation, __reclaim_stacks,
ptr_pthread_functions);