mirror of
git://sourceware.org/git/glibc.git
synced 2026-10-03 22:52:07 +08:00
Update.
2002-07-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-tls.c: New file. * csu/Makefile (routines): Add libc-tls. (static-only-routines): Add libc-tls. * elf/dl-support.c (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. * sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code for !SHARED. First look through auxiliary vector. If TLS always call __pthread_initialize_minimal. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument in mmap call is never zero.
This commit is contained in:
+14
-1
@@ -394,13 +394,26 @@ extern void *__dso_handle __attribute__ ((weak));
|
||||
#endif
|
||||
|
||||
|
||||
#if defined USE_TLS && !defined SHARED
|
||||
extern void __libc_setup_tls (size_t tcbsize, size_t tcbalign);
|
||||
#endif
|
||||
|
||||
|
||||
/* Do some minimal initialization which has to be done during the
|
||||
startup of the C library. */
|
||||
void
|
||||
__pthread_initialize_minimal(void)
|
||||
{
|
||||
#ifdef USE_TLS
|
||||
pthread_descr self = THREAD_SELF;
|
||||
pthread_descr self;
|
||||
|
||||
# ifndef SHARED
|
||||
/* Unlike in the dynamically linked case the dynamic linker has not
|
||||
taken care of initializing the TLS data structures. */
|
||||
__libc_setup_tls (TLS_TCB_SIZE, TLS_TCB_ALIGN);
|
||||
# endif
|
||||
|
||||
self = THREAD_SELF;
|
||||
|
||||
/* The memory for the thread descriptor was allocated elsewhere as
|
||||
part of the TLS allocation. We have to initialize the data
|
||||
|
||||
Reference in New Issue
Block a user