diff options
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/ldconfig.h | 39 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 21 | ||||
-rw-r--r-- | sysdeps/generic/math_private.h | 6 | ||||
-rw-r--r-- | sysdeps/generic/stackguard-macros.h | 8 | ||||
-rw-r--r-- | sysdeps/generic/sys/swap.h | 2 |
5 files changed, 51 insertions, 25 deletions
diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h index d96089d492..037f959954 100644 --- a/sysdeps/generic/ldconfig.h +++ b/sysdeps/generic/ldconfig.h @@ -21,24 +21,27 @@ #include <stdint.h> -#define FLAG_ANY -1 -#define FLAG_TYPE_MASK 0x00ff -#define FLAG_LIBC4 0x0000 -#define FLAG_ELF 0x0001 -#define FLAG_ELF_LIBC5 0x0002 -#define FLAG_ELF_LIBC6 0x0003 -#define FLAG_REQUIRED_MASK 0xff00 -#define FLAG_SPARC_LIB64 0x0100 -#define FLAG_IA64_LIB64 0x0200 -#define FLAG_X8664_LIB64 0x0300 -#define FLAG_S390_LIB64 0x0400 -#define FLAG_POWERPC_LIB64 0x0500 -#define FLAG_MIPS64_LIBN32 0x0600 -#define FLAG_MIPS64_LIBN64 0x0700 -#define FLAG_X8664_LIBX32 0x0800 -#define FLAG_ARM_LIBHF 0x0900 -#define FLAG_AARCH64_LIB64 0x0a00 -#define FLAG_ARM_LIBSF 0x0b00 +#define FLAG_ANY -1 +#define FLAG_TYPE_MASK 0x00ff +#define FLAG_LIBC4 0x0000 +#define FLAG_ELF 0x0001 +#define FLAG_ELF_LIBC5 0x0002 +#define FLAG_ELF_LIBC6 0x0003 +#define FLAG_REQUIRED_MASK 0xff00 +#define FLAG_SPARC_LIB64 0x0100 +#define FLAG_IA64_LIB64 0x0200 +#define FLAG_X8664_LIB64 0x0300 +#define FLAG_S390_LIB64 0x0400 +#define FLAG_POWERPC_LIB64 0x0500 +#define FLAG_MIPS64_LIBN32 0x0600 +#define FLAG_MIPS64_LIBN64 0x0700 +#define FLAG_X8664_LIBX32 0x0800 +#define FLAG_ARM_LIBHF 0x0900 +#define FLAG_AARCH64_LIB64 0x0a00 +#define FLAG_ARM_LIBSF 0x0b00 +#define FLAG_MIPS_LIB32_NAN2008 0x0c00 +#define FLAG_MIPS64_LIBN32_NAN2008 0x0d00 +#define FLAG_MIPS64_LIBN64_NAN2008 0x0e00 /* Name of auxiliary cache. */ #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache" diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index e7b0516aaf..48bdb6e44b 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. */ @@ -983,6 +989,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) diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index c0fc03d38d..9b881a3e76 100644 --- a/sysdeps/generic/math_private.h +++ b/sysdeps/generic/math_private.h @@ -356,10 +356,8 @@ extern void __dubcos (double __x, double __dx, double __v[]); extern double __halfulp (double __x, double __y); extern double __sin32 (double __x, double __res, double __res1); extern double __cos32 (double __x, double __res, double __res1); -extern double __mpsin (double __x, double __dx); -extern double __mpcos (double __x, double __dx); -extern double __mpsin1 (double __x); -extern double __mpcos1 (double __x); +extern double __mpsin (double __x, double __dx, bool __range_reduce); +extern double __mpcos (double __x, double __dx, bool __range_reduce); extern double __slowexp (double __x); extern double __slowpow (double __x, double __y, double __z); extern void __docos (double __x, double __dx, double __v[]); diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h index ababf65d37..b4a6b23ff8 100644 --- a/sysdeps/generic/stackguard-macros.h +++ b/sysdeps/generic/stackguard-macros.h @@ -2,3 +2,11 @@ extern uintptr_t __stack_chk_guard; #define STACK_CHK_GUARD __stack_chk_guard + +#ifdef PTRGUARD_LOCAL +extern uintptr_t __pointer_chk_guard_local; +# define POINTER_CHK_GUARD __pointer_chk_guard_local +#else +extern uintptr_t __pointer_chk_guard; +# define POINTER_CHK_GUARD __pointer_chk_guard +#endif diff --git a/sysdeps/generic/sys/swap.h b/sysdeps/generic/sys/swap.h index 5299f9b732..52c73c5693 100644 --- a/sysdeps/generic/sys/swap.h +++ b/sysdeps/generic/sys/swap.h @@ -24,7 +24,7 @@ /* Make the block special device PATH available to the system for swapping. This call is restricted to the super-user. */ -extern int swapon (const char *__path) __THROW; +extern int swapon (const char *__path, int __flags) __THROW; /* Stop using block special device PATH for swapping. */ extern int swapoff (const char *__path) __THROW; |