mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Remove IS_IN_libpthread
Replace with IS_IN (libpthread). Generated code unchanged on x86_64. * 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.
This commit is contained in:
parent
016afc75cd
commit
ce9f10f7f0
35
ChangeLog
35
ChangeLog
@ -1,5 +1,40 @@
|
|||||||
2014-11-24 Siddhesh Poyarekar <siddhesh@redhat.com>
|
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.
|
* include/mqueue.h: Use IS_IN instead of IS_IN_librt.
|
||||||
* nptl/pthreadP.h: Likewise.
|
* nptl/pthreadP.h: Likewise.
|
||||||
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise.
|
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise.
|
||||||
|
@ -35,7 +35,7 @@ __lll_lock_wait_private (int *futex)
|
|||||||
|
|
||||||
|
|
||||||
/* These functions don't get included in libc.so */
|
/* These functions don't get included in libc.so */
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
void
|
void
|
||||||
__lll_lock_wait (int *futex, int private)
|
__lll_lock_wait (int *futex, int private)
|
||||||
{
|
{
|
||||||
|
@ -244,7 +244,7 @@ extern int __pthread_debug attribute_hidden;
|
|||||||
|
|
||||||
extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
|
extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
|
||||||
__cleanup_fct_attribute __attribute ((__noreturn__))
|
__cleanup_fct_attribute __attribute ((__noreturn__))
|
||||||
#if !defined SHARED && !defined IS_IN_libpthread
|
#if !defined SHARED && !IS_IN (libpthread)
|
||||||
weak_function
|
weak_function
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
@ -258,7 +258,7 @@ extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
|
|||||||
__cleanup_fct_attribute;
|
__cleanup_fct_attribute;
|
||||||
extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
|
extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
|
||||||
__cleanup_fct_attribute;
|
__cleanup_fct_attribute;
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
hidden_proto (__pthread_unwind)
|
hidden_proto (__pthread_unwind)
|
||||||
hidden_proto (__pthread_unwind_next)
|
hidden_proto (__pthread_unwind_next)
|
||||||
hidden_proto (__pthread_register_cancel)
|
hidden_proto (__pthread_register_cancel)
|
||||||
@ -302,7 +302,7 @@ __do_cancel (void)
|
|||||||
# define LIBC_CANCEL_HANDLED() \
|
# define LIBC_CANCEL_HANDLED() \
|
||||||
__asm (".globl " __SYMBOL_PREFIX "__libc_enable_asynccancel"); \
|
__asm (".globl " __SYMBOL_PREFIX "__libc_enable_asynccancel"); \
|
||||||
__asm (".globl " __SYMBOL_PREFIX "__libc_disable_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_ASYNC() CANCEL_ASYNC ()
|
||||||
# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
|
# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
|
||||||
# define LIBC_CANCEL_HANDLED() \
|
# define LIBC_CANCEL_HANDLED() \
|
||||||
@ -347,7 +347,7 @@ extern int __make_stacks_executable (void **stack_endp)
|
|||||||
|
|
||||||
/* longjmp handling. */
|
/* longjmp handling. */
|
||||||
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
|
extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe);
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
hidden_proto (__pthread_cleanup_upto)
|
hidden_proto (__pthread_cleanup_upto)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -492,7 +492,7 @@ extern int __pthread_enable_asynccancel (void) attribute_hidden;
|
|||||||
extern void __pthread_disable_asynccancel (int oldtype)
|
extern void __pthread_disable_asynccancel (int oldtype)
|
||||||
internal_function attribute_hidden;
|
internal_function attribute_hidden;
|
||||||
|
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
hidden_proto (__pthread_mutex_init)
|
hidden_proto (__pthread_mutex_init)
|
||||||
hidden_proto (__pthread_mutex_destroy)
|
hidden_proto (__pthread_mutex_destroy)
|
||||||
hidden_proto (__pthread_mutex_lock)
|
hidden_proto (__pthread_mutex_lock)
|
||||||
@ -531,7 +531,7 @@ extern int __librt_enable_asynccancel (void) attribute_hidden;
|
|||||||
extern void __librt_disable_asynccancel (int oldtype)
|
extern void __librt_disable_asynccancel (int oldtype)
|
||||||
internal_function attribute_hidden;
|
internal_function attribute_hidden;
|
||||||
|
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
/* Special versions which use non-exported functions. */
|
/* Special versions which use non-exported functions. */
|
||||||
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
|
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
|
||||||
void (*routine) (void *), void *arg)
|
void (*routine) (void *), void *arg)
|
||||||
|
@ -74,7 +74,7 @@ DB_STRUCT_FIELD (link_map, l_tls_modid)
|
|||||||
DB_STRUCT_ARRAY_FIELD (dtv, dtv)
|
DB_STRUCT_ARRAY_FIELD (dtv, dtv)
|
||||||
#define pointer_val pointer.val /* Field of anonymous struct in dtv_t. */
|
#define pointer_val pointer.val /* Field of anonymous struct in dtv_t. */
|
||||||
DB_STRUCT_FIELD (dtv_t, pointer_val)
|
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)
|
DB_STRUCT_FIELD (pthread, dtvp)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -344,7 +344,7 @@
|
|||||||
|
|
||||||
/* Pointer mangling support. */
|
/* Pointer mangling support. */
|
||||||
#if (defined IS_IN_rtld || \
|
#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__
|
# ifdef __ASSEMBLER__
|
||||||
# define PTR_MANGLE_LOAD(guard, tmp) \
|
# define PTR_MANGLE_LOAD(guard, tmp) \
|
||||||
LDR_HIDDEN (guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local), 0)
|
LDR_HIDDEN (guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local), 0)
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
/* Mutex type. */
|
/* Mutex type. */
|
||||||
#if defined _LIBC || defined _IO_MTSAFE_IO
|
#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;
|
typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
|
||||||
# else
|
# else
|
||||||
typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t;
|
typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t;
|
||||||
@ -47,7 +47,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
|
|
||||||
/* Define an initialized recursive lock variable NAME with storage
|
/* Define an initialized recursive lock variable NAME with storage
|
||||||
class CLASS. */
|
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) \
|
# define __libc_lock_define_initialized_recursive(CLASS, NAME) \
|
||||||
CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
|
CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
|
||||||
# define _LIBC_LOCK_RECURSIVE_INITIALIZER \
|
# define _LIBC_LOCK_RECURSIVE_INITIALIZER \
|
||||||
@ -60,7 +60,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Initialize a recursive mutex. */
|
/* 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) \
|
# define __libc_lock_init_recursive(NAME) \
|
||||||
((void) ((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER))
|
((void) ((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER))
|
||||||
#else
|
#else
|
||||||
@ -78,7 +78,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Finalize recursive named lock. */
|
/* 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)
|
# define __libc_lock_fini_recursive(NAME) ((void) 0)
|
||||||
#else
|
#else
|
||||||
# define __libc_lock_fini_recursive(NAME) \
|
# define __libc_lock_fini_recursive(NAME) \
|
||||||
@ -86,7 +86,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Lock the recursive named lock variable. */
|
/* 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) \
|
# define __libc_lock_lock_recursive(NAME) \
|
||||||
do { \
|
do { \
|
||||||
void *self = THREAD_SELF; \
|
void *self = THREAD_SELF; \
|
||||||
@ -103,7 +103,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Try to lock the recursive named lock variable. */
|
/* 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) \
|
# define __libc_lock_trylock_recursive(NAME) \
|
||||||
({ \
|
({ \
|
||||||
int result = 0; \
|
int result = 0; \
|
||||||
@ -128,7 +128,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Unlock the recursive named lock variable. */
|
/* 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. */
|
/* We do no error checking here. */
|
||||||
# define __libc_lock_unlock_recursive(NAME) \
|
# define __libc_lock_unlock_recursive(NAME) \
|
||||||
do { \
|
do { \
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
#include <pthread-functions.h>
|
#include <pthread-functions.h>
|
||||||
|
|
||||||
/* Mutex type. */
|
/* 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;
|
typedef pthread_mutex_t __libc_lock_t;
|
||||||
#else
|
#else
|
||||||
typedef int __libc_lock_t;
|
typedef int __libc_lock_t;
|
||||||
@ -69,7 +69,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
initialized locks must be set to one due to the lack of normal
|
initialized locks must be set to one due to the lack of normal
|
||||||
atomic operations.) */
|
atomic operations.) */
|
||||||
|
|
||||||
#if !defined NOT_IN_libc || defined IS_IN_libpthread
|
#if !defined NOT_IN_libc || IS_IN (libpthread)
|
||||||
# if LLL_LOCK_INITIALIZER == 0
|
# if LLL_LOCK_INITIALIZER == 0
|
||||||
# define __libc_lock_define_initialized(CLASS,NAME) \
|
# define __libc_lock_define_initialized(CLASS,NAME) \
|
||||||
CLASS __libc_lock_t NAME;
|
CLASS __libc_lock_t NAME;
|
||||||
@ -125,7 +125,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
|
|
||||||
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
||||||
state. */
|
state. */
|
||||||
#if !defined NOT_IN_libc || defined IS_IN_libpthread
|
#if !defined NOT_IN_libc || IS_IN (libpthread)
|
||||||
# define __libc_lock_init(NAME) \
|
# define __libc_lock_init(NAME) \
|
||||||
((void) ((NAME) = LLL_LOCK_INITIALIZER))
|
((void) ((NAME) = LLL_LOCK_INITIALIZER))
|
||||||
#else
|
#else
|
||||||
@ -144,7 +144,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
/* Finalize the named lock variable, which must be locked. It cannot be
|
/* 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
|
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. */
|
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)
|
# define __libc_lock_fini(NAME) ((void) 0)
|
||||||
#else
|
#else
|
||||||
# define __libc_lock_fini(NAME) \
|
# define __libc_lock_fini(NAME) \
|
||||||
@ -158,7 +158,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Lock the named lock variable. */
|
/* 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
|
# ifndef __libc_lock_lock
|
||||||
# define __libc_lock_lock(NAME) \
|
# define __libc_lock_lock(NAME) \
|
||||||
({ lll_lock (NAME, LLL_PRIVATE); 0; })
|
({ lll_lock (NAME, LLL_PRIVATE); 0; })
|
||||||
@ -174,7 +174,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
__libc_ptf_call (__pthread_rwlock_wrlock, (&(NAME)), 0)
|
__libc_ptf_call (__pthread_rwlock_wrlock, (&(NAME)), 0)
|
||||||
|
|
||||||
/* Try to lock the named lock variable. */
|
/* 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
|
# ifndef __libc_lock_trylock
|
||||||
# define __libc_lock_trylock(NAME) \
|
# define __libc_lock_trylock(NAME) \
|
||||||
lll_trylock (NAME)
|
lll_trylock (NAME)
|
||||||
@ -193,7 +193,7 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
__libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
|
__libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
|
||||||
|
|
||||||
/* Unlock the named lock variable. */
|
/* 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) \
|
# define __libc_lock_unlock(NAME) \
|
||||||
lll_unlock (NAME, LLL_PRIVATE)
|
lll_unlock (NAME, LLL_PRIVATE)
|
||||||
#else
|
#else
|
||||||
|
@ -37,7 +37,7 @@ __lll_lock_wait_private (int *futex)
|
|||||||
|
|
||||||
|
|
||||||
/* These functions don't get included in libc.so */
|
/* These functions don't get included in libc.so */
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
void
|
void
|
||||||
__lll_lock_wait (int *futex, int private)
|
__lll_lock_wait (int *futex, int private)
|
||||||
{
|
{
|
||||||
|
@ -373,7 +373,7 @@ __LABEL(name) \
|
|||||||
# include <stdint.h>
|
# include <stdint.h>
|
||||||
# if (defined IS_IN_rtld \
|
# if (defined IS_IN_rtld \
|
||||||
|| (!defined SHARED && (!defined NOT_IN_libc \
|
|| (!defined SHARED && (!defined NOT_IN_libc \
|
||||||
|| defined IS_IN_libpthread)))
|
|| IS_IN (libpthread))))
|
||||||
extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||||
# define PTR_MANGLE(var) \
|
# define PTR_MANGLE(var) \
|
||||||
(var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
(var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -81,7 +81,7 @@ ENTRY (name); \
|
|||||||
# define UNDOCARGS_5 UNDOCARGS_3; ldp x3, x4, [sp, 32]
|
# define UNDOCARGS_5 UNDOCARGS_3; ldp x3, x4, [sp, 32]
|
||||||
# define UNDOCARGS_6 UNDOCARGS_4; ldp x4, x5, [sp, 40]
|
# 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 CENABLE bl __pthread_enable_asynccancel
|
||||||
# define CDISABLE bl __pthread_disable_asynccancel
|
# define CDISABLE bl __pthread_disable_asynccancel
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -96,7 +96,7 @@ ENTRY (name); \
|
|||||||
# error Unsupported library
|
# error Unsupported library
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
||||||
|
@ -311,7 +311,7 @@
|
|||||||
/* Pointer mangling is supported for AArch64. */
|
/* Pointer mangling is supported for AArch64. */
|
||||||
#if (defined IS_IN_rtld || \
|
#if (defined IS_IN_rtld || \
|
||||||
(!defined SHARED && (!defined NOT_IN_libc \
|
(!defined SHARED && (!defined NOT_IN_libc \
|
||||||
|| defined IS_IN_libpthread)))
|
|| IS_IN (libpthread))))
|
||||||
# ifdef __ASSEMBLER__
|
# ifdef __ASSEMBLER__
|
||||||
# define PTR_MANGLE(dst, src, guard, tmp) \
|
# define PTR_MANGLE(dst, src, guard, tmp) \
|
||||||
LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
|
LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END
|
||||||
besides "ret". */
|
besides "ret". */
|
||||||
@ -113,7 +113,7 @@ __LABEL($multi_error) \
|
|||||||
# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp)
|
# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp)
|
||||||
# define LOAD_ARGS_6 LOAD_ARGS_5; ldq a5, 48(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_enable_asynccancel __pthread_enable_asynccancel
|
||||||
# define __local_disable_asynccancel __pthread_disable_asynccancel
|
# define __local_disable_asynccancel __pthread_disable_asynccancel
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -136,7 +136,7 @@ __LABEL($multi_error) \
|
|||||||
# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp)
|
# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P \
|
# define SINGLE_THREAD_P \
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
/* NOTE: We do mark syscalls with unwind annotations, for the benefit of
|
||||||
cancellation; but they're really only accurate at the point of the
|
cancellation; but they're really only accurate at the point of the
|
||||||
@ -181,7 +181,7 @@
|
|||||||
# define RESTORE_LR_6 \
|
# define RESTORE_LR_6 \
|
||||||
RESTORE_LR_0
|
RESTORE_LR_0
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
|
# define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
|
||||||
# define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
|
# define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -196,7 +196,7 @@
|
|||||||
# error Unsupported library
|
# error Unsupported library
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
# ifndef NO_ERROR
|
||||||
# define NO_ERROR -0x1000
|
# define NO_ERROR -0x1000
|
||||||
@ -204,7 +204,7 @@ L(pre_end): ASM_LINE_SEP \
|
|||||||
# define POPARGS_6 POPARGS_5 ldw -56(%sr0,%sp), %r21 ASM_LINE_SEP \
|
# define POPARGS_6 POPARGS_5 ldw -56(%sr0,%sp), %r21 ASM_LINE_SEP \
|
||||||
.cfi_restore 21 ASM_LINE_SEP
|
.cfi_restore 21 ASM_LINE_SEP
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# ifdef PIC
|
# ifdef PIC
|
||||||
# define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \
|
# define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \
|
||||||
bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP
|
bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP
|
||||||
@ -244,7 +244,7 @@ L(pre_end): ASM_LINE_SEP \
|
|||||||
# error Unsupported library
|
# error Unsupported library
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
# define __local_multiple_threads __libc_multiple_threads
|
# define __local_multiple_threads __libc_multiple_threads
|
||||||
@ -271,7 +271,7 @@ L(pre_end): ASM_LINE_SEP \
|
|||||||
# define NO_CANCELLATION 1
|
# define NO_CANCELLATION 1
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* !defined NOT_IN_libc || defined IS_IN_libpthread || IS_IN (librt) */
|
/* !defined NOT_IN_libc || IS_IN (libpthread) || IS_IN (librt) */
|
||||||
|
|
||||||
#ifndef __ASSEMBLER__
|
#ifndef __ASSEMBLER__
|
||||||
# define RTLD_SINGLE_THREAD_P \
|
# define RTLD_SINGLE_THREAD_P \
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -108,7 +108,7 @@
|
|||||||
# define _POPCARGS_6 _POPCARGS_5; popl %ebp; \
|
# define _POPCARGS_6 _POPCARGS_5; popl %ebp; \
|
||||||
cfi_adjust_cfa_offset (-4); cfi_restore (ebp);
|
cfi_adjust_cfa_offset (-4); cfi_restore (ebp);
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE call __pthread_enable_asynccancel;
|
# define CENABLE call __pthread_enable_asynccancel;
|
||||||
# define CDISABLE call __pthread_disable_asynccancel
|
# define CDISABLE call __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#define SYS_ify(syscall_name) __NR_##syscall_name
|
#define SYS_ify(syscall_name) __NR_##syscall_name
|
||||||
|
|
||||||
#if defined USE_DL_SYSINFO \
|
#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
|
# define I386_USE_SYSENTER 1
|
||||||
#else
|
#else
|
||||||
# undef I386_USE_SYSENTER
|
# undef I386_USE_SYSENTER
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ __GC_##name: \
|
|||||||
# undef PSEUDO_END
|
# undef PSEUDO_END
|
||||||
# define PSEUDO_END(name) .endp
|
# define PSEUDO_END(name) .endp
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE br.call.sptk.many b0 = __pthread_enable_asynccancel
|
# define CENABLE br.call.sptk.many b0 = __pthread_enable_asynccancel
|
||||||
# define CDISABLE br.call.sptk.many b0 = __pthread_disable_asynccancel
|
# define CDISABLE br.call.sptk.many b0 = __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
#if defined USE_DL_SYSINFO \
|
#if defined USE_DL_SYSINFO \
|
||||||
&& (!defined NOT_IN_libc \
|
&& (!defined NOT_IN_libc \
|
||||||
|| defined IS_IN_libpthread || IS_IN (librt))
|
|| IS_IN (libpthread) || IS_IN (librt))
|
||||||
# define IA64_USE_NEW_STUB
|
# define IA64_USE_NEW_STUB
|
||||||
#else
|
#else
|
||||||
# undef IA64_USE_NEW_STUB
|
# undef IA64_USE_NEW_STUB
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -100,7 +100,7 @@
|
|||||||
# define PSEUDO_JMP(sym) jbsr sym
|
# define PSEUDO_JMP(sym) jbsr sym
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
||||||
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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)
|
# if !IS_IN (librt) || !defined(PIC)
|
||||||
# define AC_STACK_SIZE 16 /* space for r15, async_cancel arg and 2 temp words */
|
# define AC_STACK_SIZE 16 /* space for r15, async_cancel arg and 2 temp words */
|
||||||
@ -102,7 +102,7 @@ L(pseudo_cancel): \
|
|||||||
# define PSEUDO_JMP(sym) brlid r15, sym; addk r0, r0, r0
|
# define PSEUDO_JMP(sym) brlid r15, sym; addk r0, r0, r0
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
||||||
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -118,7 +118,7 @@ L(pseudo_cancel): \
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
happen before any instructions. So we use cfi_same_value instead of
|
happen before any instructions. So we use cfi_same_value instead of
|
||||||
cfi_restore. */
|
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__
|
#ifdef __PIC__
|
||||||
# undef PSEUDO
|
# undef PSEUDO
|
||||||
@ -213,7 +213,7 @@
|
|||||||
# define PSEUDO_JMP(sym) jal sym
|
# define PSEUDO_JMP(sym) jal sym
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
||||||
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
||||||
# elif IS_IN (librt)
|
# elif IS_IN (librt)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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__
|
# ifdef __PIC__
|
||||||
# define PSEUDO_CPLOAD .cpload t9;
|
# define PSEUDO_CPLOAD .cpload t9;
|
||||||
@ -154,7 +154,7 @@
|
|||||||
# define PSEUDO_JMP(sym) jal sym;
|
# define PSEUDO_JMP(sym) jal sym;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
# define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
|
||||||
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
# define CDISABLE PSEUDO_JMP (__pthread_disable_asynccancel)
|
||||||
# elif IS_IN (librt)
|
# elif IS_IN (librt)
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#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 __open_nocancel (const char *, int, ...) attribute_hidden;
|
||||||
extern int __close_nocancel (int) attribute_hidden;
|
extern int __close_nocancel (int) attribute_hidden;
|
||||||
extern int __read_nocancel (int, void *, size_t) attribute_hidden;
|
extern int __read_nocancel (int, void *, size_t) attribute_hidden;
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -81,7 +81,7 @@
|
|||||||
# define DOCARGS_6 stw 8,40(1); DOCARGS_5
|
# define DOCARGS_6 stw 8,40(1); DOCARGS_5
|
||||||
# define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_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 CENABLE bl __pthread_enable_asynccancel@local
|
||||||
# define CDISABLE bl __pthread_disable_asynccancel@local
|
# define CDISABLE bl __pthread_disable_asynccancel@local
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
# ifdef HAVE_ASM_GLOBAL_DOT_NAME
|
||||||
# define DASHDASHPFX(str) .__##str
|
# define DASHDASHPFX(str) .__##str
|
||||||
@ -99,7 +99,7 @@
|
|||||||
# define DOCARGS_6 std 8,CANCEL_PARM_SAVE+40(1); DOCARGS_5
|
# define DOCARGS_6 std 8,CANCEL_PARM_SAVE+40(1); DOCARGS_5
|
||||||
# define UNDOCARGS_6 ld 8,CANCEL_PARM_SAVE+40(1); UNDOCARGS_5
|
# define UNDOCARGS_6 ld 8,CANCEL_PARM_SAVE+40(1); UNDOCARGS_5
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# ifdef SHARED
|
# ifdef SHARED
|
||||||
# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
|
# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
|
||||||
# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
|
# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -75,7 +75,7 @@ L(pseudo_check): \
|
|||||||
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
|
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
|
||||||
L(pseudo_end):
|
L(pseudo_end):
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE __pthread_enable_asynccancel
|
# define CENABLE __pthread_enable_asynccancel
|
||||||
# define CDISABLE __pthread_disable_asynccancel
|
# define CDISABLE __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -69,7 +69,7 @@ L(pseudo_check): \
|
|||||||
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
|
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
|
||||||
L(pseudo_end):
|
L(pseudo_end):
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE __pthread_enable_asynccancel
|
# define CENABLE __pthread_enable_asynccancel
|
||||||
# define CDISABLE __pthread_disable_asynccancel
|
# define CDISABLE __pthread_disable_asynccancel
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -111,7 +111,7 @@ L(pseudo_end):
|
|||||||
#define LR7_6 lg %r7,56+160(%r15); \
|
#define LR7_6 lg %r7,56+160(%r15); \
|
||||||
cfi_restore (%r7);
|
cfi_restore (%r7);
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P \
|
# define SINGLE_THREAD_P \
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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 _IMM12 #-12
|
||||||
# define _IMM16 #-16
|
# define _IMM16 #-16
|
||||||
@ -105,7 +105,7 @@
|
|||||||
# define LOAD_ARGS_5 LOAD_ARGS_4
|
# define LOAD_ARGS_5 LOAD_ARGS_4
|
||||||
# define LOAD_ARGS_6 LOAD_ARGS_5
|
# define LOAD_ARGS_6 LOAD_ARGS_5
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define __local_enable_asynccancel __pthread_enable_asynccancel
|
# define __local_enable_asynccancel __pthread_enable_asynccancel
|
||||||
# define __local_disable_asynccancel __pthread_disable_asynccancel
|
# define __local_disable_asynccancel __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -68,7 +68,7 @@ __##syscall_name##_nocancel: \
|
|||||||
restore %g0, %l1, %o0;
|
restore %g0, %l1, %o0;
|
||||||
|
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE call __pthread_enable_asynccancel
|
# define CENABLE call __pthread_enable_asynccancel
|
||||||
# define CDISABLE call __pthread_disable_asynccancel
|
# define CDISABLE call __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
||||||
# define PSEUDO(name, syscall_name, args) \
|
# define PSEUDO(name, syscall_name, args) \
|
||||||
@ -66,7 +66,7 @@ __##syscall_name##_nocancel: \
|
|||||||
2: jmpl %i7 + 8, %g0; \
|
2: jmpl %i7 + 8, %g0; \
|
||||||
restore %g0, %l1, %o0;
|
restore %g0, %l1, %o0;
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE call __pthread_enable_asynccancel
|
# define CENABLE call __pthread_enable_asynccancel
|
||||||
# define CDISABLE call __pthread_disable_asynccancel
|
# define CDISABLE call __pthread_disable_asynccancel
|
||||||
# elif !defined NOT_IN_libc
|
# elif !defined NOT_IN_libc
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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. */
|
/* Allow hacking in some extra code if desired. */
|
||||||
#ifndef PSEUDO_EXTRA
|
#ifndef PSEUDO_EXTRA
|
||||||
@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
# define STKSPACE (13 * REGSIZE)
|
# define STKSPACE (13 * REGSIZE)
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE jal __pthread_enable_asynccancel
|
# define CENABLE jal __pthread_enable_asynccancel
|
||||||
# define CDISABLE jal __pthread_disable_asynccancel
|
# define CDISABLE jal __pthread_disable_asynccancel
|
||||||
# elif IS_IN (librt)
|
# elif IS_IN (librt)
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
#ifndef PIC
|
#ifndef PIC
|
||||||
/* For static code, on error jump to __syscall_error directly. */
|
/* For static code, on error jump to __syscall_error directly. */
|
||||||
# define SYSCALL_ERROR_NAME __syscall_error
|
# 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. */
|
/* Use the internal name for libc/libpthread shared objects. */
|
||||||
# define SYSCALL_ERROR_NAME __GI___syscall_error
|
# define SYSCALL_ERROR_NAME __GI___syscall_error
|
||||||
#else
|
#else
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
extern pid_t __waitpid_nocancel (pid_t, int *, int) attribute_hidden;
|
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. */
|
/* Call __NR_wait4, providing fourth argument (struct rusage *) as NULL. */
|
||||||
#define PSEUDO_EXTRA move r3, zero;
|
#define PSEUDO_EXTRA move r3, zero;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <kernel-features.h>
|
#include <kernel-features.h>
|
||||||
#include "lowlevellock.h"
|
#include "lowlevellock.h"
|
||||||
|
|
||||||
#ifdef IS_IN_libpthread
|
#if IS_IN (libpthread)
|
||||||
# if defined SHARED && !defined NO_HIDDEN
|
# if defined SHARED && !defined NO_HIDDEN
|
||||||
# define __pthread_unwind __GI___pthread_unwind
|
# define __pthread_unwind __GI___pthread_unwind
|
||||||
# endif
|
# endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# include <nptl/pthreadP.h>
|
# include <nptl/pthreadP.h>
|
||||||
#endif
|
#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
|
/* The code to disable cancellation depends on the fact that the called
|
||||||
functions are special. They don't modify registers other than %rax
|
functions are special. They don't modify registers other than %rax
|
||||||
@ -59,7 +59,7 @@
|
|||||||
jae SYSCALL_ERROR_LABEL
|
jae SYSCALL_ERROR_LABEL
|
||||||
|
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# if IS_IN (libpthread)
|
||||||
# define CENABLE call __pthread_enable_asynccancel;
|
# define CENABLE call __pthread_enable_asynccancel;
|
||||||
# define CDISABLE call __pthread_disable_asynccancel;
|
# define CDISABLE call __pthread_disable_asynccancel;
|
||||||
# define __local_multiple_threads __pthread_multiple_threads
|
# define __local_multiple_threads __pthread_multiple_threads
|
||||||
@ -74,7 +74,7 @@
|
|||||||
# error Unsupported library
|
# error Unsupported library
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined IS_IN_libpthread || !defined NOT_IN_libc
|
# if IS_IN (libpthread) || !defined NOT_IN_libc
|
||||||
# ifndef __ASSEMBLER__
|
# ifndef __ASSEMBLER__
|
||||||
extern int __local_multiple_threads attribute_hidden;
|
extern int __local_multiple_threads attribute_hidden;
|
||||||
# define SINGLE_THREAD_P \
|
# define SINGLE_THREAD_P \
|
||||||
|
Loading…
Reference in New Issue
Block a user