mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_FUTEX_LOCK_PI. * include/time.h: Declare __nanosleep_nocancel. * include/unistd.h: Declare __pause_nocancel.
This commit is contained in:
parent
df47504c78
commit
d5ba53f907
@ -1,5 +1,10 @@
|
||||
2006-07-28 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/kernel-features.h: Define
|
||||
__ASSUME_FUTEX_LOCK_PI.
|
||||
* include/time.h: Declare __nanosleep_nocancel.
|
||||
* include/unistd.h: Declare __pause_nocancel.
|
||||
|
||||
* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
|
||||
LDFLAGS. Add -lgcc_eh and libc_nonshared (again) to make sure we
|
||||
get the __stack_chk_fail_local definition when it's needed.
|
||||
|
5
NEWS
5
NEWS
@ -1,4 +1,4 @@
|
||||
GNU C Library NEWS -- history of user-visible changes. 2006-07-10
|
||||
GNU C Library NEWS -- history of user-visible changes. 2006-07-28
|
||||
Copyright (C) 1992-2002,2003,2004,2005,2006 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
|
||||
@ -33,6 +33,9 @@ Version 2.5
|
||||
|
||||
* Support for the new ELF hash table format was added by Ulrich Drepper.
|
||||
|
||||
* Support for priority inheritance mutexes added by Jakub Jelinek and
|
||||
Ulrich Drepper.
|
||||
|
||||
|
||||
Version 2.4
|
||||
|
||||
|
@ -81,6 +81,8 @@ extern long int __tzname_max (void);
|
||||
|
||||
extern int __nanosleep (__const struct timespec *__requested_time,
|
||||
struct timespec *__remaining);
|
||||
extern int __nanosleep_nocancel (__const struct timespec *__requested_time,
|
||||
struct timespec *__remaining);
|
||||
libc_hidden_proto(__nanosleep)
|
||||
extern int __getdate_r (__const char *__string, struct tm *__resbufp);
|
||||
|
||||
|
@ -162,5 +162,7 @@ extern __pid_t __libc_fork (void);
|
||||
/* Suspend the process until a signal arrives.
|
||||
This always returns -1 and sets `errno' to EINTR. */
|
||||
extern int __libc_pause (void);
|
||||
/* Not cancelable variant. */
|
||||
extern int __pause_nocancel (void);
|
||||
|
||||
#endif
|
||||
|
@ -20,6 +20,12 @@
|
||||
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_LOCK_PI,
|
||||
FUTEX_UNLOCK_PI, and FUTEX_TRYLOCK_PI.
|
||||
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
|
||||
_POSIX_THREAD_PRIO_INHERIT to 200112L.
|
||||
* tst-mutex1.c: Adjust to allow use in PI mutex test.
|
||||
|
@ -33,6 +33,9 @@
|
||||
#define FUTEX_CMP_REQUEUE 4
|
||||
#define FUTEX_WAKE_OP 5
|
||||
#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
@ -35,6 +35,9 @@
|
||||
#define SYS_futex 240
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
|
@ -33,6 +33,9 @@
|
||||
#define FUTEX_CMP_REQUEUE 4
|
||||
#define FUTEX_WAKE_OP 5
|
||||
#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
/* Delay in spinlock loop. */
|
||||
#define BUSY_WAIT_NOP asm ("hint @pause")
|
||||
|
@ -35,6 +35,9 @@
|
||||
#define FUTEX_CMP_REQUEUE 4
|
||||
#define FUTEX_WAKE_OP 5
|
||||
#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
@ -32,6 +32,9 @@
|
||||
#define FUTEX_CMP_REQUEUE 4
|
||||
#define FUTEX_WAKE_OP 5
|
||||
#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
@ -26,6 +26,9 @@
|
||||
#define SYS_futex 240
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
|
@ -32,6 +32,9 @@
|
||||
#define FUTEX_CMP_REQUEUE 4
|
||||
#define FUTEX_WAKE_OP 5
|
||||
#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
@ -35,6 +35,9 @@
|
||||
#define SYS_futex 202
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
||||
#define FUTEX_LOCK_PI 6
|
||||
#define FUTEX_UNLOCK_PI 7
|
||||
#define FUTEX_TRYLOCK_PI 8
|
||||
|
||||
|
||||
/* Initializer for compatibility lock. */
|
||||
|
@ -431,29 +431,30 @@
|
||||
/* pselect was introduced just after 2.6.16-rc1. Due to the way the
|
||||
kernel versions are advertised we can only rely on 2.6.17 to have
|
||||
the code. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 \
|
||||
&& (defined __i386__ || defined __powerpc__)
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __x86_64__
|
||||
# define __ASSUME_PSELECT 1
|
||||
#endif
|
||||
|
||||
/* ppoll was introduced just after 2.6.16-rc1. Due to the way the
|
||||
kernel versions are advertised we can only rely on 2.6.17 to have
|
||||
the code. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 \
|
||||
&& (defined __i386__ || defined __powerpc__)
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __x86_64__
|
||||
# define __ASSUME_PPOLL 1
|
||||
#endif
|
||||
|
||||
/* The *at syscalls were introduced just after 2.6.16-rc1. Due to the way the
|
||||
kernel versions are advertised we can only rely on 2.6.17 to have
|
||||
the code. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 \
|
||||
&& (defined __i386__ || defined __x86_64__)
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611
|
||||
# define __ASSUME_ATFCTS 1
|
||||
#endif
|
||||
|
||||
/* Support for inter-process robust mutexes was added in 2.6.17. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611 \
|
||||
&& (defined __i386__ || defined __x86_64__)
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020611
|
||||
# define __ASSUME_SET_ROBUST_LIST 1
|
||||
#endif
|
||||
|
||||
/* Support for PI futexes was added in 2.6.18. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x020612
|
||||
# define __ASSUME_FUTEX_LOCK_PI 1
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user