From 9a1eb38e4e9319036f37c1efbf5288a169e23324 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 20 Aug 2002 07:22:11 +0000 Subject: Update. 2002-08-20 Ulrich Drepper * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv memory allocation to... (allocate_dtv): ...here. New function. (_dl_allocate_tls): Change to take parameter. If parameter is non-NULL call allocate_dtv instead of _dl_allocate_tls_storage. (_dl_deallocate_tls): New parameter. Deallocate TCB only if true. (_dl_get_tls_static_info): New function. * sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls and _dl_deallocate_tls. Add prototype for _dl_get_tls_static_info. --- sysdeps/generic/ldsodefs.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'sysdeps/generic/ldsodefs.h') diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index cd499f61b7..361cb0b72d 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -724,8 +724,12 @@ extern size_t _dl_next_tls_modid (void) internal_function; /* Calculate offset of the TLS blocks in the static TLS block. */ extern void _dl_determine_tlsoffset (void) internal_function; -/* Allocate memory for static TLS block and dtv. */ -extern void *_dl_allocate_tls (void) internal_function; +/* Allocate memory for static TLS block (unless MEM is nonzero) and dtv. */ +extern void *_dl_allocate_tls (void *mem) internal_function; + +/* Get size and alignment requirements of the static TLS block. */ +extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp) + internal_function; /* These are internal entry points to the two halves of _dl_allocate_tls, only used within rtld.c itself at startup time. */ @@ -735,7 +739,7 @@ extern void *_dl_allocate_tls_init (void *) internal_function attribute_hidden; /* Deallocate memory allocated with _dl_allocate_tls. */ -extern void _dl_deallocate_tls (void *tcb) internal_function; +extern void _dl_deallocate_tls (void *tcb, bool dealloc_tcb) internal_function; /* Return the symbol address given the map of the module it is in and the symbol record. */ -- cgit v1.2.3