diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
commit | a65dd355fb80a05215e15ae97649de52aec885e3 (patch) | |
tree | 81701bb0c6b648630f2bf1729a85d7f5eb49e67b /sysdeps/generic/ldsodefs.h | |
parent | 296a5732f94abe4d5699dc981e4ccfb950b48cee (diff) | |
parent | b4578bab30f72cddd2cf38abfb39f9c8dc892249 (diff) |
Merge branch 'baseline' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'sysdeps/generic/ldsodefs.h')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 51e61a1215..cfd4d8003f 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -76,8 +76,9 @@ typedef struct link_map *lookup_t; # define DL_SYMBOL_ADDRESS(map, ref) \ (void *) (LOOKUP_VALUE_ADDRESS (map) + ref->st_value) # define DL_LOOKUP_ADDRESS(addr) ((ElfW(Addr)) (addr)) -# define DL_DT_INIT_ADDRESS(map, start) (start) -# define DL_DT_FINI_ADDRESS(map, start) (start) +# define DL_CALL_DT_INIT(map, start, argc, argv, env) \ + ((init_t) (start)) (argc, argv, env) +# define DL_CALL_DT_FINI(map, start) ((fini_t) (start)) () #endif /* On some architectures dladdr can't use st_size of all symbols this way. */ @@ -233,6 +234,11 @@ extern int _dl_name_match_p (const char *__name, const struct link_map *__map) extern unsigned long int _dl_higher_prime_number (unsigned long int n) internal_function; +/* 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. */ @@ -984,6 +990,17 @@ extern void *_dl_allocate_tls_storage (void) extern void *_dl_allocate_tls_init (void *) internal_function; 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) internal_function; rtld_hidden_proto (_dl_deallocate_tls) |