aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic/ldsodefs.h
diff options
context:
space:
mode:
authorBrooks Moses <bmoses@google.com>2014-02-24 11:04:49 -0800
committerFangrui Song <i@maskray.me>2021-08-27 17:23:11 -0700
commit3e9a530aaeb891ed13b8b2c44df7b0d040f1096a (patch)
tree5e04dc382740f9603ae174c8ea2ade8cc5aefc19 /sysdeps/generic/ldsodefs.h
parent74f10c8aad08cc2e687f6f93f7ef17fd0581070e (diff)
downloadglibc-3e9a530aaeb891ed13b8b2c44df7b0d040f1096a.zip
glibc-3e9a530aaeb891ed13b8b2c44df7b0d040f1096a.tar.gz
glibc-3e9a530aaeb891ed13b8b2c44df7b0d040f1096a.tar.bz2
Revert upstream removal of async-safe TLS patches.
Diffstat (limited to 'sysdeps/generic/ldsodefs.h')
-rw-r--r--sysdeps/generic/ldsodefs.h16
1 files changed, 16 insertions, 0 deletions
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)