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:
Siddhesh Poyarekar 2014-11-20 21:09:43 +05:30
parent a109996ef9
commit a38484851a
68 changed files with 169 additions and 98 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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!"

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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
}

View File

@ -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)

View File

@ -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) \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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; \

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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 ())

View File

@ -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) */

View File

@ -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) */

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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__

View File

@ -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

View File

@ -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) \

View File

@ -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) \

View File

@ -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. */

View File

@ -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) \

View File

@ -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

View File

@ -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

View File

@ -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) \

View File

@ -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__ */

View File

@ -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

View File

@ -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) \

View File

@ -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

View File

@ -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

View File

@ -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) \

View File

@ -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

View File

@ -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

View File

@ -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) \

View File

@ -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. */

View File

@ -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) \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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) \

View File

@ -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__

View File

@ -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

View File

@ -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