From 3e9a530aaeb891ed13b8b2c44df7b0d040f1096a Mon Sep 17 00:00:00 2001 From: Brooks Moses Date: Mon, 24 Feb 2014 11:04:49 -0800 Subject: Revert upstream removal of async-safe TLS patches. --- sysdeps/generic/ldsodefs.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'sysdeps/generic/ldsodefs.h') diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 5e7224b..7326e11 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -257,6 +257,11 @@ extern unsigned long int _dl_higher_prime_number (unsigned long int n) /* A stripped down strtoul-like implementation. */ uint64_t _dl_strtoul (const char *, char **) attribute_hidden; +/* Mask every signal, returning the previous sigmask in OLD. */ +extern void _dl_mask_all_signals (sigset_t *old) internal_function; +/* Undo _dl_mask_all_signals. */ +extern void _dl_unmask_signals (sigset_t *old) internal_function; + /* Function used as argument for `_dl_receive_error' function. The arguments are the error code, error string, and the objname the error occurred in. */ @@ -1096,6 +1101,17 @@ extern void *_dl_allocate_tls_storage (void) attribute_hidden; extern void *_dl_allocate_tls_init (void *); rtld_hidden_proto (_dl_allocate_tls_init) +/* Remove all allocated dynamic TLS regions from a DTV + for reuse by new thread. */ +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); rtld_hidden_proto (_dl_deallocate_tls) -- cgit v1.1