2014-11-24 Siddhesh Poyarekar <siddhesh@redhat.com>
+ * nptl/lowlevellock.c: Use IS_IN instead of IS_IN_libpthread.
+ * nptl/pthreadP.h: Likewise.
+ * nptl_db/structs.def: Likewise.
+ * sysdeps/arm/sysdep.h: Likewise.
+ * sysdeps/nptl/bits/libc-lock.h: Likewise.
+ * sysdeps/nptl/bits/libc-lockP.h: Likewise.
+ * sysdeps/sparc/sparc32/lowlevellock.c: Likewise.
+ * sysdeps/unix/alpha/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/not-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
+
* include/mqueue.h: Use IS_IN instead of IS_IN_librt.
* nptl/pthreadP.h: Likewise.
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise.
/* These functions don't get included in libc.so */
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
void
__lll_lock_wait (int *futex, int private)
{
extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
__cleanup_fct_attribute __attribute ((__noreturn__))
-#if !defined SHARED && !defined IS_IN_libpthread
+#if !defined SHARED && !IS_IN (libpthread)
weak_function
#endif
;
__cleanup_fct_attribute;
extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
__cleanup_fct_attribute;
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
hidden_proto (__pthread_unwind)
hidden_proto (__pthread_unwind_next)
hidden_proto (__pthread_register_cancel)
# define LIBC_CANCEL_HANDLED() \
__asm (".globl " __SYMBOL_PREFIX "__libc_enable_asynccancel"); \
__asm (".globl " __SYMBOL_PREFIX "__libc_disable_asynccancel")
-#elif defined IS_IN_libpthread
+#elif IS_IN (libpthread)
# define LIBC_CANCEL_ASYNC() CANCEL_ASYNC ()
# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
# define LIBC_CANCEL_HANDLED() \
/* longjmp handling. */
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
hidden_proto (__pthread_cleanup_upto)
#endif
extern void __pthread_disable_asynccancel (int oldtype)
internal_function attribute_hidden;
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
hidden_proto (__pthread_mutex_init)
hidden_proto (__pthread_mutex_destroy)
hidden_proto (__pthread_mutex_lock)
extern void __librt_disable_asynccancel (int oldtype)
internal_function attribute_hidden;
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
/* Special versions which use non-exported functions. */
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
void (*routine) (void *), void *arg)
DB_STRUCT_ARRAY_FIELD (dtv, dtv)
#define pointer_val pointer.val /* Field of anonymous struct in dtv_t. */
DB_STRUCT_FIELD (dtv_t, pointer_val)
-#if !defined IS_IN_libpthread || TLS_TCB_AT_TP
+#if !IS_IN (libpthread) || TLS_TCB_AT_TP
DB_STRUCT_FIELD (pthread, dtvp)
#endif
/* Pointer mangling support. */
#if (defined IS_IN_rtld || \
- (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread)))
+ (!defined SHARED && (!defined NOT_IN_libc || IS_IN (libpthread))))
# ifdef __ASSEMBLER__
# define PTR_MANGLE_LOAD(guard, tmp) \
LDR_HIDDEN (guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local), 0)
/* Mutex type. */
#if defined _LIBC || defined _IO_MTSAFE_IO
-# if (defined NOT_IN_libc && !defined IS_IN_libpthread) || !defined _LIBC
+# if (defined NOT_IN_libc && !IS_IN (libpthread)) || !defined _LIBC
typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
# else
typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t;
/* Define an initialized recursive lock variable NAME with storage
class CLASS. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
# define __libc_lock_define_initialized_recursive(CLASS, NAME) \
CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
# define _LIBC_LOCK_RECURSIVE_INITIALIZER \
#endif
/* Initialize a recursive mutex. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
# define __libc_lock_init_recursive(NAME) \
((void) ((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER))
#else
#endif
/* Finalize recursive named lock. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
# define __libc_lock_fini_recursive(NAME) ((void) 0)
#else
# define __libc_lock_fini_recursive(NAME) \
#endif
/* Lock the recursive named lock variable. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
# define __libc_lock_lock_recursive(NAME) \
do { \
void *self = THREAD_SELF; \
#endif
/* Try to lock the recursive named lock variable. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
# define __libc_lock_trylock_recursive(NAME) \
({ \
int result = 0; \
#endif
/* Unlock the recursive named lock variable. */
-#if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+#if defined _LIBC && (!defined NOT_IN_libc || IS_IN (libpthread))
/* We do no error checking here. */
# define __libc_lock_unlock_recursive(NAME) \
do { \
#include <pthread-functions.h>
/* Mutex type. */
-#if defined NOT_IN_libc && !defined IS_IN_libpthread
+#if defined NOT_IN_libc && !IS_IN (libpthread)
typedef pthread_mutex_t __libc_lock_t;
#else
typedef int __libc_lock_t;
initialized locks must be set to one due to the lack of normal
atomic operations.) */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# if LLL_LOCK_INITIALIZER == 0
# define __libc_lock_define_initialized(CLASS,NAME) \
CLASS __libc_lock_t NAME;
/* Initialize the named lock variable, leaving it in a consistent, unlocked
state. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# define __libc_lock_init(NAME) \
((void) ((NAME) = LLL_LOCK_INITIALIZER))
#else
/* Finalize the named lock variable, which must be locked. It cannot be
used again until __libc_lock_init is called again on it. This must be
called on a lock variable before the containing storage is reused. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# define __libc_lock_fini(NAME) ((void) 0)
#else
# define __libc_lock_fini(NAME) \
#endif
/* Lock the named lock variable. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# ifndef __libc_lock_lock
# define __libc_lock_lock(NAME) \
({ lll_lock (NAME, LLL_PRIVATE); 0; })
__libc_ptf_call (__pthread_rwlock_wrlock, (&(NAME)), 0)
/* Try to lock the named lock variable. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# ifndef __libc_lock_trylock
# define __libc_lock_trylock(NAME) \
lll_trylock (NAME)
__libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
/* Unlock the named lock variable. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread
+#if !defined NOT_IN_libc || IS_IN (libpthread)
# define __libc_lock_unlock(NAME) \
lll_unlock (NAME, LLL_PRIVATE)
#else
/* These functions don't get included in libc.so */
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
void
__lll_lock_wait (int *futex, int private)
{
# include <stdint.h>
# if (defined IS_IN_rtld \
|| (!defined SHARED && (!defined NOT_IN_libc \
- || defined IS_IN_libpthread)))
+ || IS_IN (libpthread))))
extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
# define PTR_MANGLE(var) \
(var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
# define UNDOCARGS_5 UNDOCARGS_3; ldp x3, x4, [sp, 32]
# define UNDOCARGS_6 UNDOCARGS_4; ldp x4, x5, [sp, 40]
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE bl __pthread_enable_asynccancel
# define CDISABLE bl __pthread_disable_asynccancel
# define __local_multiple_threads __pthread_multiple_threads
# error Unsupported library
# endif
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
/* Pointer mangling is supported for AArch64. */
#if (defined IS_IN_rtld || \
(!defined SHARED && (!defined NOT_IN_libc \
- || defined IS_IN_libpthread)))
+ || IS_IN (libpthread))))
# ifdef __ASSEMBLER__
# define PTR_MANGLE(dst, src, guard, tmp) \
LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END
besides "ret". */
# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp)
# define LOAD_ARGS_6 LOAD_ARGS_5; ldq a5, 48(sp)
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define __local_enable_asynccancel __pthread_enable_asynccancel
# define __local_disable_asynccancel __pthread_disable_asynccancel
# define __local_multiple_threads __pthread_multiple_threads
# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp)
# endif
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P \
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
/* NOTE: We do mark syscalls with unwind annotations, for the benefit of
cancellation; but they're really only accurate at the point of the
# define RESTORE_LR_6 \
RESTORE_LR_0
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
# define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
# define __local_multiple_threads __pthread_multiple_threads
# error Unsupported library
# endif
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# ifndef NO_ERROR
# define NO_ERROR -0x1000
# define POPARGS_6 POPARGS_5 ldw -56(%sr0,%sp), %r21 ASM_LINE_SEP \
.cfi_restore 21 ASM_LINE_SEP
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# ifdef PIC
# define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \
bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP
# error Unsupported library
# endif
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define __local_multiple_threads __pthread_multiple_threads
# elif !defined NOT_IN_libc
# define __local_multiple_threads __libc_multiple_threads
# define NO_CANCELLATION 1
#endif
-/* !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt) */
+/* !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt) */
#ifndef __ASSEMBLER__
# define RTLD_SINGLE_THREAD_P \
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
# define _POPCARGS_6 _POPCARGS_5; popl %ebp; \
cfi_adjust_cfa_offset (-4); cfi_restore (ebp);
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE call __pthread_enable_asynccancel;
# define CDISABLE call __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
#define SYS_ify(syscall_name) __NR_##syscall_name
#if defined USE_DL_SYSINFO \
- && (!defined NOT_IN_libc || defined IS_IN_libpthread)
+ && (!defined NOT_IN_libc || IS_IN (libpthread))
# define I386_USE_SYSENTER 1
#else
# undef I386_USE_SYSENTER
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# undef PSEUDO_END
# define PSEUDO_END(name) .endp
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE br.call.sptk.many b0 = __pthread_enable_asynccancel
# define CDISABLE br.call.sptk.many b0 = __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
#if defined USE_DL_SYSINFO \
&& (!defined NOT_IN_libc \
- || defined IS_IN_libpthread || IS_IN (librt))
+ || IS_IN (libpthread) || IS_IN (librt))
# define IA64_USE_NEW_STUB
#else
# undef IA64_USE_NEW_STUB
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
# define PSEUDO_JMP(sym) jbsr sym
# endif
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# if !IS_IN (librt) || !defined(PIC)
# define AC_STACK_SIZE 16 /* space for r15, async_cancel arg and 2 temp words */
# define PSEUDO_JMP(sym) brlid r15, sym; addk r0, r0, r0
# endif
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
# define __local_multiple_threads __pthread_multiple_threads
# endif
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
happen before any instructions. So we use cfi_same_value instead of
cfi_restore. */
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
#ifdef __PIC__
# undef PSEUDO
# define PSEUDO_JMP(sym) jal sym
# endif
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
# elif IS_IN (librt)
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# ifdef __PIC__
# define PSEUDO_CPLOAD .cpload t9;
# define PSEUDO_JMP(sym) jal sym;
# endif
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
# elif IS_IN (librt)
#include <sysdep.h>
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
extern int __open_nocancel (const char *, int, ...) attribute_hidden;
extern int __close_nocancel (int) attribute_hidden;
extern int __read_nocancel (int, void *, size_t) attribute_hidden;
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
# define DOCARGS_6 stw 8,40(1); DOCARGS_5
# define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE bl __pthread_enable_asynccancel@local
# define CDISABLE bl __pthread_disable_asynccancel@local
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# ifdef HAVE_ASM_GLOBAL_DOT_NAME
# define DASHDASHPFX(str) .__##str
# define DOCARGS_6 std 8,CANCEL_PARM_SAVE+40(1); DOCARGS_5
# define UNDOCARGS_6 ld 8,CANCEL_PARM_SAVE+40(1); UNDOCARGS_5
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# ifdef SHARED
# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
L(pseudo_end):
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE __pthread_enable_asynccancel
# define CDISABLE __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
L(pseudo_end):
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE __pthread_enable_asynccancel
# define CDISABLE __pthread_disable_asynccancel
# define __local_multiple_threads __pthread_multiple_threads
#define LR7_6 lg %r7,56+160(%r15); \
cfi_restore (%r7);
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P \
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# define _IMM12 #-12
# define _IMM16 #-16
# define LOAD_ARGS_5 LOAD_ARGS_4
# define LOAD_ARGS_6 LOAD_ARGS_5
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define __local_enable_asynccancel __pthread_enable_asynccancel
# define __local_disable_asynccancel __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
restore %g0, %l1, %o0;
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE call __pthread_enable_asynccancel
# define CDISABLE call __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
# undef PSEUDO
# define PSEUDO(name, syscall_name, args) \
2: jmpl %i7 + 8, %g0; \
restore %g0, %l1, %o0;
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE call __pthread_enable_asynccancel
# define CDISABLE call __pthread_disable_asynccancel
# elif !defined NOT_IN_libc
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
/* Allow hacking in some extra code if desired. */
#ifndef PSEUDO_EXTRA
# define STKSPACE (13 * REGSIZE)
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE jal __pthread_enable_asynccancel
# define CDISABLE jal __pthread_disable_asynccancel
# elif IS_IN (librt)
#ifndef PIC
/* For static code, on error jump to __syscall_error directly. */
# define SYSCALL_ERROR_NAME __syscall_error
-#elif !defined NOT_IN_libc || defined IS_IN_libpthread
+#elif !defined NOT_IN_libc || IS_IN (libpthread)
/* Use the internal name for libc/libpthread shared objects. */
# define SYSCALL_ERROR_NAME __GI___syscall_error
#else
/*
extern pid_t __waitpid_nocancel (pid_t, int *, int) attribute_hidden;
*/
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
/* Call __NR_wait4, providing fourth argument (struct rusage *) as NULL. */
#define PSEUDO_EXTRA move r3, zero;
#include <kernel-features.h>
#include "lowlevellock.h"
-#ifdef IS_IN_libpthread
+#if IS_IN (libpthread)
# if defined SHARED && !defined NO_HIDDEN
# define __pthread_unwind __GI___pthread_unwind
# endif
# include <nptl/pthreadP.h>
#endif
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt)
+#if !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt)
/* The code to disable cancellation depends on the fact that the called
functions are special. They don't modify registers other than %rax
jae SYSCALL_ERROR_LABEL
-# ifdef IS_IN_libpthread
+# if IS_IN (libpthread)
# define CENABLE call __pthread_enable_asynccancel;
# define CDISABLE call __pthread_disable_asynccancel;
# define __local_multiple_threads __pthread_multiple_threads
# error Unsupported library
# endif
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
+# if IS_IN (libpthread) || !defined NOT_IN_libc
# ifndef __ASSEMBLER__
extern int __local_multiple_threads attribute_hidden;
# define SINGLE_THREAD_P \