mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
Patch 2/4 of the effort to make TLS access async-signal-safe.
Add a signal-safe malloc replacement. 2013-12-18 Andrew Hunter <ahh@google.com> * sysdeps/generic/ldsodefs.h (__signal_safe_memalign): New prototype. (__signal_safe_malloc, __signal_safe_free): Likewise. (__signal_safe_realloc, __signal_safe_calloc): Likewise. * elf/dl-misc.c (__signal_safe_allocator_header): New struct. (__signal_safe_memalign, __signal_safe_malloc): New function. (__signal_safe_free, __signal_safe_realloc): Likewise. (__signal_safe_calloc): Likewise. * elf/dl-tls.c (allocate_dtv, _dl_clear_dtv): Call signal-safe functions. (_dl_deallocate_tls, _dl_update_slotinfo): Likewise.
This commit is contained in:
@@ -994,6 +994,12 @@ rtld_hidden_proto (_dl_allocate_tls_init)
|
||||
extern void _dl_clear_dtv (dtv_t *dtv) internal_function;
|
||||
rtld_hidden_proto (_dl_clear_dtv)
|
||||
|
||||
extern void *__signal_safe_memalign (size_t boundary, size_t size);
|
||||
extern void *__signal_safe_malloc (size_t size);
|
||||
extern void __signal_safe_free (void *ptr);
|
||||
extern void *__signal_safe_realloc (void *ptr, size_t size);
|
||||
extern void *__signal_safe_calloc (size_t nmemb, size_t size);
|
||||
|
||||
/* Deallocate memory allocated with _dl_allocate_tls. */
|
||||
extern void _dl_deallocate_tls (void *tcb, bool dealloc_tcb) internal_function;
|
||||
rtld_hidden_proto (_dl_deallocate_tls)
|
||||
|
Reference in New Issue
Block a user