mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
Remove IS_IN_rtld
Replace with IS_IN (rtld). Generated code is unchanged on x86_64. * elf/Makefile (CPPFLAGS-.os): Remove IS_IN_rtld. * elf/dl-open.c: Use IS_IN (rtld) instead if IS_IN_rtld. * elf/rtld-Rules: Likewise. * elf/setup-vdso.h: Likewise. * include/assert.h: Likewise. * include/bits/stdlib-float.h: Likewise. * include/errno.h: Likewise. * include/sys/stat.h: Likewise. * include/unistd.h: Likewise. * sysdeps/aarch64/setjmp.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/arm/__longjmp.S: Likewise. * sysdeps/arm/aeabi_unwind_cpp_pr1.c: Likewise. * sysdeps/arm/setjmp.S: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/generic/_itoa.h: Likewise. * sysdeps/generic/dl-sysdep.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/i386/dl-tls.h: Likewise. * sysdeps/i386/setjmp.S: Likewise. * sysdeps/m68k/setjmp.c: Likewise. * sysdeps/mach/hurd/dl-execstack.c: Likewise. * sysdeps/mach/hurd/opendir.c: Likewise. * sysdeps/posix/getcwd.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/posix/profil.c: Likewise. * sysdeps/powerpc/dl-procinfo.h: Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/s390/dl-tls.h: Likewise. * sysdeps/s390/s390-32/setjmp.S: Likewise. * sysdeps/s390/s390-64/setjmp.S: Likewise. * sysdeps/sh/sh3/setjmp.S: Likewise. * sysdeps/sh/sh4/setjmp.S: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/arm/sysdep.S: Likewise. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise. * sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/x86_64/setjmp.S: Likewise.
This commit is contained in:
parent
a109996ef9
commit
a38484851a
71
ChangeLog
71
ChangeLog
@ -1,5 +1,76 @@
|
||||
2014-11-24 Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
|
||||
* elf/Makefile (CPPFLAGS-.os): Remove IS_IN_rtld.
|
||||
* elf/dl-open.c: Use IS_IN (rtld) instead if IS_IN_rtld.
|
||||
* elf/rtld-Rules: Likewise.
|
||||
* elf/setup-vdso.h: Likewise.
|
||||
* include/assert.h: Likewise.
|
||||
* include/bits/stdlib-float.h: Likewise.
|
||||
* include/errno.h: Likewise.
|
||||
* include/sys/stat.h: Likewise.
|
||||
* include/unistd.h: Likewise.
|
||||
* sysdeps/aarch64/setjmp.S: Likewise.
|
||||
* sysdeps/alpha/setjmp.S: Likewise.
|
||||
* sysdeps/arm/__longjmp.S: Likewise.
|
||||
* sysdeps/arm/aeabi_unwind_cpp_pr1.c: Likewise.
|
||||
* sysdeps/arm/setjmp.S: Likewise.
|
||||
* sysdeps/arm/sysdep.h: Likewise.
|
||||
* sysdeps/generic/_itoa.h: Likewise.
|
||||
* sysdeps/generic/dl-sysdep.h: Likewise.
|
||||
* sysdeps/generic/ldsodefs.h: Likewise.
|
||||
* sysdeps/i386/dl-tls.h: Likewise.
|
||||
* sysdeps/i386/setjmp.S: Likewise.
|
||||
* sysdeps/m68k/setjmp.c: Likewise.
|
||||
* sysdeps/mach/hurd/dl-execstack.c: Likewise.
|
||||
* sysdeps/mach/hurd/opendir.c: Likewise.
|
||||
* sysdeps/posix/getcwd.c: Likewise.
|
||||
* sysdeps/posix/opendir.c: Likewise.
|
||||
* sysdeps/posix/profil.c: Likewise.
|
||||
* sysdeps/powerpc/dl-procinfo.h: Likewise.
|
||||
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
|
||||
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
|
||||
* sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h: Likewise.
|
||||
* sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.
|
||||
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
|
||||
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
|
||||
* sysdeps/s390/dl-tls.h: Likewise.
|
||||
* sysdeps/s390/s390-32/setjmp.S: Likewise.
|
||||
* sysdeps/s390/s390-64/setjmp.S: Likewise.
|
||||
* sysdeps/sh/sh3/setjmp.S: Likewise.
|
||||
* sysdeps/sh/sh4/setjmp.S: Likewise.
|
||||
* sysdeps/unix/alpha/sysdep.h: Likewise.
|
||||
* sysdeps/unix/arm/sysdep.S: Likewise.
|
||||
* sysdeps/unix/i386/sysdep.S: Likewise.
|
||||
* sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise.
|
||||
* sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
|
||||
* sysdeps/unix/x86_64/sysdep.S: Likewise.
|
||||
* sysdeps/x86_64/setjmp.S: Likewise.
|
||||
|
||||
* include/math.h: Use IS_IN instead of IS_IN_libm.
|
||||
* sysdeps/alpha/fpu/s_copysign.c: Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise.
|
||||
|
@ -444,7 +444,7 @@ CFLAGS-cache.c = $(SYSCONF-FLAGS)
|
||||
CFLAGS-rtld.c = $(SYSCONF-FLAGS)
|
||||
|
||||
CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
|
||||
-DNOT_IN_libc=1 -DIS_IN_rtld=1)
|
||||
-DNOT_IN_libc=1)
|
||||
|
||||
cpp-srcs-left := $(all-rtld-routines:=.os)
|
||||
lib := rtld
|
||||
|
@ -737,7 +737,7 @@ _dl_show_scope (struct link_map *l, int from)
|
||||
_dl_debug_printf ("\n");
|
||||
}
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* Return non-zero if ADDR lies within one of L's segments. */
|
||||
int
|
||||
internal_function
|
||||
|
@ -144,6 +144,6 @@ lib := rtld
|
||||
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
||||
|
||||
# This here is the whole point of all the shenanigans.
|
||||
rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1
|
||||
rtld-CPPFLAGS := -DNOT_IN_libc=1
|
||||
|
||||
endif
|
||||
|
@ -99,7 +99,7 @@ setup_vdso (struct link_map *main_map __attribute__ ((unused)),
|
||||
/* Add the vDSO to the object list. */
|
||||
_dl_add_to_namespace_list (l, LM_ID_BASE);
|
||||
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* Rearrange the list so this DSO appears after rtld_map. */
|
||||
assert (l->l_next == NULL);
|
||||
assert (l->l_prev == main_map);
|
||||
|
@ -20,7 +20,7 @@ extern void __assert_fail_base (const char *fmt, const char *assertion,
|
||||
const char *function)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
|
||||
# if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
# if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
hidden_proto (__assert_fail)
|
||||
hidden_proto (__assert_perror_fail)
|
||||
# endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* No floating-point inline functions in rtld. */
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
# include <stdlib/bits/stdlib-float.h>
|
||||
#endif
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
#if defined _ERRNO_H && !defined _ISOMAC && !defined __cplusplus
|
||||
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# include <dl-sysdep.h>
|
||||
# ifndef RTLD_PRIVATE_ERRNO
|
||||
# error "dl-sysdep.h must define RTLD_PRIVATE_ERRNO!"
|
||||
|
@ -12,7 +12,7 @@ extern __mode_t __umask (__mode_t __mask);
|
||||
extern int __mkdir (const char *__path, __mode_t __mode);
|
||||
extern int __mknod (const char *__path,
|
||||
__mode_t __mode, __dev_t __dev);
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
hidden_proto (__fxstat)
|
||||
hidden_proto (__fxstat64)
|
||||
hidden_proto (__lxstat)
|
||||
|
@ -63,7 +63,7 @@ ENTRY (__sigsetjmp)
|
||||
mov x2, sp
|
||||
str x2, [x0, #JB_SP<<3]
|
||||
#endif
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask */
|
||||
mov w0, #0
|
||||
RET
|
||||
|
@ -86,7 +86,7 @@ $sigsetjmp_local:
|
||||
ldq ra, 0(sp)
|
||||
addq sp, 16, sp
|
||||
ret
|
||||
#elif defined IS_IN_rtld
|
||||
#elif IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
mov 0, v0
|
||||
ret
|
||||
|
@ -76,7 +76,7 @@ ENTRY (__longjmp)
|
||||
#endif
|
||||
|
||||
#ifdef NEED_HWCAP
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
LDST_PCREL (ldr, a4, a3, \
|
||||
C_SYMBOL_NAME(_rtld_local_ro) \
|
||||
+ RTLD_GLOBAL_RO_DL_HWCAP_OFFSET)
|
||||
|
@ -27,7 +27,7 @@ attribute_hidden
|
||||
void
|
||||
__aeabi_unwind_cpp_pr0 (void)
|
||||
{
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
@ -36,7 +36,7 @@ attribute_hidden
|
||||
void
|
||||
__aeabi_unwind_cpp_pr1 (void)
|
||||
{
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
@ -45,7 +45,7 @@ attribute_hidden
|
||||
void
|
||||
__aeabi_unwind_cpp_pr2 (void)
|
||||
{
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ ENTRY (__sigsetjmp)
|
||||
|
||||
#ifdef NEED_HWCAP
|
||||
/* Check if we have a VFP unit. */
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
LDST_PCREL (ldr, a3, a4, \
|
||||
C_SYMBOL_NAME(_rtld_local_ro) \
|
||||
+ RTLD_GLOBAL_RO_DL_HWCAP_OFFSET)
|
||||
|
@ -343,7 +343,7 @@
|
||||
#endif
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#if (defined IS_IN_rtld || \
|
||||
#if (IS_IN (rtld) || \
|
||||
(!defined SHARED && (!defined NOT_IN_libc || IS_IN (libpthread))))
|
||||
# ifdef __ASSEMBLER__
|
||||
# define PTR_MANGLE_LOAD(guard, tmp) \
|
||||
|
@ -46,7 +46,7 @@ extern char *_itoa (unsigned long long int value, char *buflim,
|
||||
|
||||
extern const char _itoa_upper_digits[];
|
||||
extern const char _itoa_lower_digits[];
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
hidden_proto (_itoa_upper_digits)
|
||||
hidden_proto (_itoa_lower_digits)
|
||||
#endif
|
||||
|
@ -27,7 +27,7 @@
|
||||
all the libc functions that ld.so uses are called without PLT and always
|
||||
get the versions linked into ld.so rather than the libc ones. */
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# define RTLD_PRIVATE_ERRNO 1
|
||||
#else
|
||||
# define RTLD_PRIVATE_ERRNO 0
|
||||
|
@ -250,7 +250,7 @@ typedef void (*receiver_fct) (int, const char *, const char *);
|
||||
# define GL(name) _##name
|
||||
#else
|
||||
# define EXTERN
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# define GL(name) _rtld_local._##name
|
||||
# else
|
||||
# define GL(name) _rtld_global._##name
|
||||
@ -409,7 +409,7 @@ struct rtld_global
|
||||
#ifdef SHARED
|
||||
};
|
||||
# define __rtld_global_attribute__
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# ifdef HAVE_SDATA_SECTION
|
||||
# define __rtld_local_attribute__ \
|
||||
__attribute__ ((visibility ("hidden"), section (".sdata")))
|
||||
@ -428,7 +428,7 @@ extern struct rtld_global _rtld_global __rtld_global_attribute__;
|
||||
#ifndef SHARED
|
||||
# define GLRO(name) _##name
|
||||
#else
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# define GLRO(name) _rtld_local_ro._##name
|
||||
# else
|
||||
# define GLRO(name) _rtld_global_ro._##name
|
||||
@ -587,7 +587,7 @@ struct rtld_global_ro
|
||||
EXTERN int _dl_pointer_guard;
|
||||
};
|
||||
# define __rtld_global_attribute__
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# define __rtld_local_attribute__ __attribute__ ((visibility ("hidden")))
|
||||
extern struct rtld_global_ro _rtld_local_ro
|
||||
attribute_relro __rtld_local_attribute__;
|
||||
@ -610,7 +610,7 @@ extern const ElfW(Phdr) *_dl_phdr;
|
||||
extern size_t _dl_phnum;
|
||||
#endif
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* This is the initial value of GL(dl_error_catch_tsd).
|
||||
A non-TLS libpthread will change it. */
|
||||
extern void **_dl_initial_error_catch_tsd (void) __attribute__ ((const))
|
||||
@ -642,7 +642,7 @@ extern char **_dl_argv
|
||||
#endif
|
||||
;
|
||||
rtld_hidden_proto (_dl_argv)
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
extern unsigned int _dl_skip_args attribute_hidden
|
||||
# ifndef DL_ARGV_NOT_RELRO
|
||||
attribute_relro
|
||||
|
@ -32,7 +32,7 @@ extern void *___tls_get_addr (tls_index *ti)
|
||||
extern void *___tls_get_addr_internal (tls_index *ti)
|
||||
__attribute__ ((__regparm__ (1))) attribute_hidden;
|
||||
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* The special thing about the x86 TLS ABI is that we have two
|
||||
variants of the __tls_get_addr function with different calling
|
||||
conventions. The GNU version, which we are mostly concerned here,
|
||||
|
@ -46,7 +46,7 @@ ENTRY (__sigsetjmp)
|
||||
movl %ecx, (JB_PC*4)(%eax)
|
||||
movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer. */
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
xorl %eax, %eax
|
||||
ret
|
||||
|
@ -57,7 +57,7 @@ __sigsetjmp (jmp_buf env, int savemask)
|
||||
: : "m" (env[0].__jmpbuf[0].__fpregs[0]));
|
||||
#endif
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
return 0;
|
||||
#else
|
||||
|
@ -34,7 +34,7 @@ _dl_make_stack_executable (void **stack_endp)
|
||||
return EPERM;
|
||||
*stack_endp = NULL;
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
if (__mprotect ((void *)_dl_hurd_data->stack_base, _dl_hurd_data->stack_size,
|
||||
PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
|
||||
return errno;
|
||||
|
@ -82,7 +82,7 @@ __opendirat (int dfd, const char *name)
|
||||
|
||||
int flags = O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC;
|
||||
int fd;
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
assert (dfd == AT_FDCWD);
|
||||
fd = open_not_cancel_2 (name, flags);
|
||||
#else
|
||||
|
@ -210,7 +210,7 @@ extern char *alloca ();
|
||||
|
||||
#ifdef __ASSUME_ATFCTS
|
||||
# define __have_atfcts 1
|
||||
#elif defined IS_IN_rtld
|
||||
#elif IS_IN (rtld)
|
||||
static int __rtld_have_atfcts;
|
||||
# define __have_atfcts __rtld_have_atfcts
|
||||
#endif
|
||||
|
@ -122,7 +122,7 @@ __opendirat (int dfd, const char *name)
|
||||
flags |= O_CLOEXEC;
|
||||
#endif
|
||||
int fd;
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
assert (dfd == AT_FDCWD);
|
||||
fd = open_not_cancel_2 (name, flags);
|
||||
#else
|
||||
|
@ -64,7 +64,7 @@ __profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale)
|
||||
{
|
||||
struct sigaction act;
|
||||
struct itimerval timer;
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
static struct sigaction oact;
|
||||
static struct itimerval otimer;
|
||||
# define oact_ptr &oact
|
||||
|
@ -166,7 +166,7 @@ _dl_string_platform (const char *str)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
static inline int
|
||||
__attribute__ ((unused))
|
||||
_dl_procinfo (unsigned int type, unsigned long int word)
|
||||
|
@ -35,7 +35,7 @@ ENTRY (__longjmp_symbol)
|
||||
addis r5,r5,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||
addi r5,r5,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||
# ifdef SHARED
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* Inside ld.so we use the local alias to avoid runtime GOT
|
||||
relocations. */
|
||||
lwz r5,_rtld_local_ro@got(r5)
|
||||
|
@ -91,7 +91,7 @@ ENTRY (__sigsetjmp_symbol)
|
||||
mtlr r6
|
||||
cfi_same_value (lr)
|
||||
# ifdef SHARED
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* Inside ld.so we use the local alias to avoid runtime GOT
|
||||
relocations. */
|
||||
lwz r5,_rtld_local_ro@got(r5)
|
||||
|
@ -21,7 +21,7 @@
|
||||
the dl_hwcap field. The assembly is to make the compiler not optimize the
|
||||
test (&_rtld_global_ro != NULL), which is always true in ISO C (but not
|
||||
in that case since _rtld_global_ro might not been realocated yet). */
|
||||
#if defined(SHARED) && !defined(IS_IN_rtld)
|
||||
#if defined(SHARED) && !IS_IN (rtld)
|
||||
# define __GLRO(value) \
|
||||
({ volatile void **__p = (volatile void**)(&_rtld_global_ro); \
|
||||
unsigned long int __ret; \
|
||||
|
@ -69,7 +69,7 @@ ENTRY (__sigsetjmp_symbol)
|
||||
SAVE_GP (29)
|
||||
SAVE_GP (30)
|
||||
SAVE_GP (31)
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
li r3,0
|
||||
blr
|
||||
#else
|
||||
|
@ -30,7 +30,7 @@
|
||||
.section ".toc","aw"
|
||||
.LC__dl_hwcap:
|
||||
# ifdef SHARED
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* Inside ld.so we use the local alias to avoid runtime GOT
|
||||
relocations. */
|
||||
.tc _rtld_local_ro[TC],_rtld_local_ro
|
||||
@ -130,7 +130,7 @@ L(no_vmx):
|
||||
ld r0,(JB_LR*8)(r3)
|
||||
ld r14,((JB_GPRS+0)*8)(r3)
|
||||
lfd fp14,((JB_FPRS+0)*8)(r3)
|
||||
#if defined SHARED && !defined IS_IN_rtld
|
||||
#if defined SHARED && !IS_IN (rtld)
|
||||
std r2,FRAME_TOC_SAVE(r1) /* Restore the callers TOC save area. */
|
||||
#endif
|
||||
ld r15,((JB_GPRS+1)*8)(r3)
|
||||
|
@ -29,7 +29,7 @@
|
||||
.section ".toc","aw"
|
||||
.LC__dl_hwcap:
|
||||
# ifdef SHARED
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* Inside ld.so we use the local alias to avoid runtime GOT
|
||||
relocations. */
|
||||
.tc _rtld_local_ro[TC],_rtld_local_ro
|
||||
@ -49,7 +49,7 @@ ENTRY (setjmp_symbol)
|
||||
b JUMPTARGET (GLUE(__sigsetjmp_symbol,_ent))
|
||||
END (setjmp_symbol)
|
||||
|
||||
#if defined SHARED && !defined IS_IN_rtld && !defined __NO_VMX__
|
||||
#if defined SHARED && !IS_IN (rtld) && !defined __NO_VMX__
|
||||
/* When called from within libc we need a special version of _setjmp
|
||||
that saves r2 since the call won't go via a plt call stub. See
|
||||
bugz #269. __GI__setjmp is used in csu/libc-start.c when
|
||||
@ -80,7 +80,7 @@ JUMPTARGET(GLUE(__sigsetjmp_symbol,_ent)):
|
||||
std r1,(JB_GPR1*8)(3)
|
||||
#endif
|
||||
mflr r0
|
||||
#if defined SHARED && !defined IS_IN_rtld
|
||||
#if defined SHARED && !IS_IN (rtld)
|
||||
ld r5,FRAME_TOC_SAVE(r1) /* Retrieve the callers TOC. */
|
||||
std r5,(JB_GPR2*8)(3)
|
||||
#else
|
||||
@ -213,7 +213,7 @@ L(no_vmx):
|
||||
#else
|
||||
li r6,0
|
||||
#endif
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
li r3,0
|
||||
blr
|
||||
#elif defined SHARED
|
||||
|
@ -29,7 +29,7 @@ typedef struct
|
||||
|
||||
extern unsigned long __tls_get_offset (unsigned long got_offset);
|
||||
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
|
||||
# include <shlib-compat.h>
|
||||
|
||||
@ -78,9 +78,9 @@ __tls_get_offset:\n\
|
||||
1: .long __tls_get_addr - 0b\n\
|
||||
");
|
||||
# endif
|
||||
# else /* IS_IN_rtld */
|
||||
# else /* IS_IN (rtld) */
|
||||
extern void *__tls_get_addr_internal (tls_index *ti);
|
||||
# endif /* !IS_IN_rtld */
|
||||
# endif /* !IS_IN (rtld) */
|
||||
|
||||
# define GET_ADDR_OFFSET \
|
||||
(ti->ti_offset - (unsigned long) __builtin_thread_pointer ())
|
||||
|
@ -24,12 +24,12 @@
|
||||
#include <shlib-compat.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
#if !defined IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
|
||||
/* we need a unique name in case of symbol versioning. */
|
||||
# define __sigsetjmp __v1__sigsetjmp
|
||||
# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */
|
||||
#endif /* !defined IS_IN_rtld */
|
||||
#endif /* !IS_IN (rtld) */
|
||||
|
||||
/* We include the BSD entry points here as well but we make
|
||||
them weak. */
|
||||
@ -69,7 +69,7 @@ ENTRY(__sigsetjmp)
|
||||
#endif
|
||||
std %f4,40(%r2)
|
||||
std %f6,48(%r2)
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
lhi %r2,0
|
||||
br %r14
|
||||
@ -91,7 +91,7 @@ ENTRY(__sigsetjmp)
|
||||
#endif
|
||||
END (__sigsetjmp)
|
||||
|
||||
#if !defined IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
|
||||
/* In glibc release 2.19 new versions of setjmp-functions were introduced,
|
||||
but were reverted before 2.20. Thus both versions are the same function. */
|
||||
@ -112,4 +112,4 @@ strong_alias (__v1__sigsetjmp, __v2__sigsetjmp);
|
||||
versioned_symbol (libc, __v1__sigsetjmp, __sigsetjmp, GLIBC_2_0);
|
||||
compat_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19);
|
||||
# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */
|
||||
#endif /* if !defined IS_IN_rtld */
|
||||
#endif /* if !IS_IN (rtld) */
|
||||
|
@ -24,12 +24,12 @@
|
||||
#include <shlib-compat.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
#if !defined IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
|
||||
/* we need a unique name in case of symbol versioning. */
|
||||
# define __sigsetjmp __v1__sigsetjmp
|
||||
# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */
|
||||
#endif /* !defined IS_IN_rtld */
|
||||
#endif /* !IS_IN (rtld) */
|
||||
|
||||
/* We include the BSD entry points here as well but we make
|
||||
them weak. */
|
||||
@ -75,7 +75,7 @@ ENTRY(__sigsetjmp)
|
||||
std %f13,120(%r2)
|
||||
std %f14,128(%r2)
|
||||
std %f15,136(%r2)
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
lghi %r2,0
|
||||
br %r14
|
||||
@ -86,7 +86,7 @@ ENTRY(__sigsetjmp)
|
||||
#endif
|
||||
END (__sigsetjmp)
|
||||
|
||||
#if !defined IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20)
|
||||
/* In glibc release 2.19 new versions of setjmp-functions were introduced,
|
||||
but were reverted before 2.20. Thus both versions are the same function. */
|
||||
@ -107,4 +107,4 @@ strong_alias (__v1__sigsetjmp, __v2__sigsetjmp);
|
||||
versioned_symbol (libc, __v1__sigsetjmp, __sigsetjmp, GLIBC_2_0);
|
||||
compat_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19);
|
||||
# endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */
|
||||
#endif /* if !defined IS_IN_rtld */
|
||||
#endif /* if !IS_IN (rtld) */
|
||||
|
@ -46,7 +46,7 @@ ENTRY (__sigsetjmp)
|
||||
mov.l r9, @-r4
|
||||
mov.l r8, @-r4
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
rts
|
||||
mov #0, r0
|
||||
|
@ -55,7 +55,7 @@ ENTRY (__sigsetjmp)
|
||||
mov.l r9, @-r4
|
||||
mov.l r8, @-r4
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
rts
|
||||
mov #0, r0
|
||||
|
@ -26,7 +26,7 @@
|
||||
# include <regdef.h>
|
||||
#endif
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
|
||||
@ -349,7 +349,7 @@ __LABEL(name) \
|
||||
we don't deoptimize things by placing the pointer check value there. */
|
||||
|
||||
#ifdef __ASSEMBLER__
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# define PTR_MANGLE(dst, src, tmp) \
|
||||
ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
|
||||
ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
|
||||
@ -371,7 +371,7 @@ __LABEL(name) \
|
||||
# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
#else
|
||||
# include <stdint.h>
|
||||
# if (defined IS_IN_rtld \
|
||||
# if (IS_IN (rtld) \
|
||||
|| (!defined SHARED && (!defined NOT_IN_libc \
|
||||
|| IS_IN (libpthread))))
|
||||
extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||
|
@ -19,7 +19,7 @@
|
||||
#define _ERRNO_H
|
||||
#include <bits/errno.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
|
||||
@ -36,7 +36,7 @@ __syscall_error:
|
||||
moveq r0, $EAGAIN /* Yes; translate it to EAGAIN. */
|
||||
#endif
|
||||
|
||||
#ifndef IS_IN_rtld
|
||||
#if !IS_IN (rtld)
|
||||
mov r1, r0
|
||||
GET_TLS (r2)
|
||||
ldr r2, 1f
|
||||
|
@ -19,7 +19,7 @@
|
||||
#define _ERRNO_H
|
||||
#include <bits/errno.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
|
||||
|
@ -309,7 +309,7 @@
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
/* Pointer mangling is supported for AArch64. */
|
||||
#if (defined IS_IN_rtld || \
|
||||
#if (IS_IN (rtld) || \
|
||||
(!defined SHARED && (!defined NOT_IN_libc \
|
||||
|| IS_IN (libpthread))))
|
||||
# ifdef __ASSEMBLER__
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
/* If we compile the file for use in ld.so we don't need the feature
|
||||
that getcwd() allocates the buffers itself. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# define NO_ALLOCATION 1
|
||||
#endif
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
/* Initialize locks to zero. */
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -71,7 +71,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -519,7 +519,7 @@ asm (".L__X'%ebx = 1\n\t"
|
||||
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. Using a global variable
|
||||
is too complicated here since we have no PC-relative addressing mode. */
|
||||
|
@ -52,7 +52,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -178,7 +178,7 @@ ENTRY(__sigsetjmp)
|
||||
;;
|
||||
st8.nta [r2]=r25 // ar.unat
|
||||
st8.nta [r3]=in0 // &__jmp_buf
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
;;
|
||||
#else
|
||||
|
@ -364,7 +364,7 @@
|
||||
#endif /* not __ASSEMBLER__ */
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -49,7 +49,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#ifdef SHARED
|
||||
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
# define M68K_VDSO_SYMBOL(name) __rtld_##name
|
||||
# define STR_M68K_VDSO_SYMBOL(name) "__rtld_" #name
|
||||
# else
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
/* We define __rtld_* copies for rtld.
|
||||
We need them visible in libc to initialize. */
|
||||
# if defined IS_IN_rtld || !defined NOT_IN_libc
|
||||
# if IS_IN (rtld) || !defined NOT_IN_libc
|
||||
extern void *__rtld___vdso_read_tp;
|
||||
extern void *__rtld___vdso_atomic_cmpxchg_32;
|
||||
extern void *__rtld___vdso_atomic_barrier;
|
||||
@ -44,14 +44,14 @@ extern void *__rtld___vdso_atomic_barrier;
|
||||
extern void __vdso_read_tp_stub (void);
|
||||
extern void __vdso_atomic_cmpxchg_32_stub (void);
|
||||
extern void __vdso_atomic_barrier_stub (void);
|
||||
# endif /* IS_IN_rtld || !NOT_IN_libc */
|
||||
# endif /* IS_IN (rtld) || !NOT_IN_libc */
|
||||
|
||||
/* RTLD should only use its own copies. */
|
||||
# ifndef IS_IN_rtld
|
||||
# if !IS_IN (rtld)
|
||||
extern void *__vdso_read_tp;
|
||||
extern void *__vdso_atomic_cmpxchg_32;
|
||||
extern void *__vdso_atomic_barrier;
|
||||
# endif /* !IS_IN_rtld */
|
||||
# endif /* !IS_IN (rtld) */
|
||||
|
||||
# endif /* !__ASSEMBLER__ */
|
||||
|
||||
|
@ -51,7 +51,7 @@ END (__vdso_read_tp_stub)
|
||||
equivalent helper function (which clobbers fewer registers than
|
||||
a normal function call) in a vdso; tail call to the
|
||||
helper. */
|
||||
# ifdef IS_IN_rtld
|
||||
# if IS_IN (rtld)
|
||||
/* rtld gets a hidden copy of __m68k_read_tp. */
|
||||
.hidden __m68k_read_tp
|
||||
# endif
|
||||
|
@ -52,7 +52,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -272,7 +272,7 @@
|
||||
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -282,7 +282,7 @@
|
||||
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -51,7 +51,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -366,7 +366,7 @@
|
||||
_ret; })
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -372,7 +372,7 @@
|
||||
_ret; })
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -49,7 +49,7 @@
|
||||
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||||
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -338,7 +338,7 @@
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. Using a global variable
|
||||
is too complicated here since we have no PC-relative addressing mode. */
|
||||
|
@ -57,7 +57,7 @@ extern void __cpu_relax (void);
|
||||
#define BUSY_WAIT_NOP __cpu_relax ()
|
||||
#endif
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
#include <tls.h>
|
||||
@ -125,7 +125,7 @@ ENTRY(name); \
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
#include <tls.h>
|
||||
@ -140,7 +140,7 @@ ENTRY(name); \
|
||||
#define STACK_BIAS 2047
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -264,7 +264,7 @@
|
||||
#endif /* not __ASSEMBLER__ */
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
#else
|
||||
|
@ -72,7 +72,7 @@
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
#if !defined NOT_IN_libc || IS_IN (rtld)
|
||||
/* In libc.so or ld.so all futexes are private. */
|
||||
# ifdef __ASSUME_PRIVATE_FUTEX
|
||||
# define __lll_private_flag(fl, private) \
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <sysdeps/unix/x86_64/sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
|
||||
@ -393,7 +393,7 @@
|
||||
|
||||
|
||||
/* Pointer mangling support. */
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* We cannot use the thread descriptor because in ld.so we use setjmp
|
||||
earlier than the descriptor is initialized. */
|
||||
# ifdef __ASSEMBLER__
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <bits/errno.h>
|
||||
#include <tls.h>
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
|
||||
#endif
|
||||
|
||||
|
@ -54,7 +54,7 @@ ENTRY (__sigsetjmp)
|
||||
#endif
|
||||
movq %rax, (JB_PC*8)(%rdi)
|
||||
|
||||
#ifdef IS_IN_rtld
|
||||
#if IS_IN (rtld)
|
||||
/* In ld.so we never save the signal mask. */
|
||||
xorl %eax, %eax
|
||||
retq
|
||||
|
Loading…
Reference in New Issue
Block a user