kopensolaris-gnu/glibc.git
12 years agoUpdated translations.
drepper [Sat, 4 Aug 2007 16:25:11 +0000 (16:25 +0000)]
Updated translations.

12 years ago.
drepper [Fri, 3 Aug 2007 18:48:05 +0000 (18:48 +0000)]
.

12 years agoAdd __nonnull attributes.
drepper [Fri, 3 Aug 2007 18:47:51 +0000 (18:47 +0000)]
Add __nonnull attributes.

12 years ago.
drepper [Fri, 3 Aug 2007 16:45:47 +0000 (16:45 +0000)]
.

12 years ago(tests): Add tst-strtod5.
drepper [Fri, 3 Aug 2007 16:45:35 +0000 (16:45 +0000)]
(tests): Add tst-strtod5.
(tst-strtod5-ENV): New.

12 years ago(____STRTOF_INTERNAL): Properly handle -0.
drepper [Fri, 3 Aug 2007 16:45:24 +0000 (16:45 +0000)]
(____STRTOF_INTERNAL): Properly handle -0.

12 years agoTest for strtod etc returning -0.0.
drepper [Fri, 3 Aug 2007 16:45:08 +0000 (16:45 +0000)]
Test for strtod etc returning -0.0.

12 years ago.
drepper [Fri, 3 Aug 2007 15:50:30 +0000 (15:50 +0000)]
.

12 years ago(decompose_rpath): Free copy if result couldn't be allocated.
drepper [Fri, 3 Aug 2007 15:50:24 +0000 (15:50 +0000)]
(decompose_rpath): Free copy if result couldn't be allocated.

12 years ago(_nl_find_domain): Free normalized_codeset on failure.
drepper [Fri, 3 Aug 2007 15:50:10 +0000 (15:50 +0000)]
(_nl_find_domain): Free normalized_codeset on failure.

12 years ago(_nl_find_msg): Free encoding if __gconv_open failed.
drepper [Fri, 3 Aug 2007 15:49:59 +0000 (15:49 +0000)]
(_nl_find_msg): Free encoding if __gconv_open failed.

12 years ago.
drepper [Fri, 3 Aug 2007 15:47:59 +0000 (15:47 +0000)]
.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:47:48 +0000 (15:47 +0000)]
Include lowlevellock.h.
(__new_sem_wait): Use standard initial exec code sequences.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:47:42 +0000 (15:47 +0000)]
Include lowlevellock.h.
(__new_sem_trywait): Use standard initial exec code sequences.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:47:34 +0000 (15:47 +0000)]
Include lowlevellock.h.
(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
FUTEX_PRIVATE_FLAG): Remove.
(sem_timedwait): Use __NR_gettimeofday.  Use standard initial
exec code sequences.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:47:19 +0000 (15:47 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
(__new_sem_post): Use standard initial exec code sequences.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:47:09 +0000 (15:47 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
(__pthread_rwlock_wrlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:46:59 +0000 (15:46 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
(__pthread_rwlock_unlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:46:48 +0000 (15:46 +0000)]
Include lowlevellock.h.
(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
FUTEX_PRIVATE_FLAG): Remove.
(pthread_rwlock_timedwrlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:46:38 +0000 (15:46 +0000)]
Include lowlevellock.h.
(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE,
FUTEX_PRIVATE_FLAG): Remove.
(pthread_rwlock_timedrdlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:46:28 +0000 (15:46 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
(__pthread_rwlock_rdlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:46:05 +0000 (15:46 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Include
lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Remove.
(__pthread_rwlock_rdlock): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:45:52 +0000 (15:45 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
(__pthread_cond_wait): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.
( __condvar_w_cleanup): Likewise.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:45:41 +0000 (15:45 +0000)]
Include lowlevellock.h.
(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE): Remove.
(__pthread_cond_timedwait): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.  Use __NR_gettimeofday.
(__condvar_tw_cleanup): Likewise.

12 years agoInclude lowlevellock.h and pthread-errnos.h.
drepper [Fri, 3 Aug 2007 15:45:29 +0000 (15:45 +0000)]
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE, EINVAL): Remove.
(__pthread_cond_signal): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h and pthread-errnos.h.
drepper [Fri, 3 Aug 2007 15:45:20 +0000 (15:45 +0000)]
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
FUTEX_CMP_REQUEUE, EINVAL): Remove.
(__pthread_cond_broadcast): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:45:07 +0000 (15:45 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
(pthread_barrier_wait): Use __lll_{lock,unlock}_* instead of
__lll_mutex_{lock,unlock}_*.

12 years agoInclude kernel-features.h and lowlevellock.h.
drepper [Fri, 3 Aug 2007 15:44:57 +0000 (15:44 +0000)]
Include kernel-features.h and lowlevellock.h.
(SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Remove.
(LOAD_FUTEX_WAIT): Define.
(__lll_robust_mutex_lock_wait): Rename to ...
(__lll_robust_lock_wait): ... this.  Add private argument.
Use LOAD_FUTEX_WAIT macro.
(__lll_robust_mutex_timedlock_wait): Rename to ...
(__lll_robust_timedlock_wait): ... this.    Add private argument.
Use __NR_gettimeofday.  Use LOAD_FUTEX_WAIT macro.

12 years agoAllow including the header from assembler. Renamed all lll_mutex_* resp.
drepper [Fri, 3 Aug 2007 15:44:40 +0000 (15:44 +0000)]
Allow including the header from assembler.  Renamed all lll_mutex_* resp.
lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
Renamed all LLL_MUTEX_LOCK_* macros to LLL_LOCK_*.
(FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP, FUTEX_OP_CLEAR_WAKE_IF_GT_ONE):
Define.
(__lll_lock_wait_private): Add prototype.
(__lll_lock_wait, __lll_timedlock_wait, __lll_robust_lock_wait,
__lll_robust_timedlock_wait, __lll_unlock_wake_private,
__lll_unlock_wake): Likewise.
(lll_lock): Add private argument.  Call __lll_lock_wait_private
if private is constant LLL_PRIVATE.
(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
lll_timedlock, lll_robust_timedlock): Add private argument.
(lll_unlock): Add private argument.  Call __lll_unlock_wake_private
if private is constant LLL_PRIVATE.
(lll_robust_unlock, lll_robust_dead): Add private argument.
(lll_lock_t): Remove.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.

12 years agoInclude kernel-features.h and lowlevellock.h. Use private futexes if
drepper [Fri, 3 Aug 2007 15:44:15 +0000 (15:44 +0000)]
Include kernel-features.h and lowlevellock.h.  Use private futexes if
they are available.
(__lll_lock_wait_private, __lll_unlock_wake_private): New.
(__lll_mutex_lock_wait): Rename to
(__lll_lock_wait): ... this.  Don't compile in for libc.so.
(__lll_mutex_timedlock_wait): Rename to ...
(__lll_timedlock_wait): ... this.  Use __NR_gettimeofday.
Don't compile in for libc.so.
(__lll_mutex_unlock_wake): Rename to ...
(__lll_unlock_wake): ... this.  Don't compile in for libc.so.
(__lll_timedwait_tid): Use __NR_gettimeofday.

12 years agoRemove definitions for private futexes.
drepper [Fri, 3 Aug 2007 15:43:58 +0000 (15:43 +0000)]
Remove definitions for private futexes.

12 years ago.
drepper [Fri, 3 Aug 2007 15:41:28 +0000 (15:41 +0000)]
.

12 years agoAdd U0141 and U0142.
drepper [Fri, 3 Aug 2007 15:41:17 +0000 (15:41 +0000)]
Add U0141 and U0142.

12 years ago * rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
jakub [Fri, 3 Aug 2007 09:51:20 +0000 (09:51 +0000)]
* rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
numbers.

12 years ago.
drepper [Fri, 3 Aug 2007 04:09:03 +0000 (04:09 +0000)]
.

12 years ago(aux): Add have_o_cloexec.
drepper [Fri, 3 Aug 2007 04:08:48 +0000 (04:08 +0000)]
(aux): Add have_o_cloexec.

12 years ago(setutent_file): Use __have_o_cloexec instead of local variable.
drepper [Fri, 3 Aug 2007 04:08:16 +0000 (04:08 +0000)]
(setutent_file): Use __have_o_cloexec instead of local variable.

12 years agoDeclare __have_o_cloexec.
drepper [Fri, 3 Aug 2007 04:07:54 +0000 (04:07 +0000)]
Declare __have_o_cloexec.

12 years ago(__opendir): Use O_CLOEXEC is available.
drepper [Fri, 3 Aug 2007 04:07:26 +0000 (04:07 +0000)]
(__opendir): Use O_CLOEXEC is available.
(__alloc_dir): If O_CLOEXEC has been used, don't duplicate the fcntl
call if not necessary.

12 years agoVariable to record availability of O_CLOEXEC.
drepper [Fri, 3 Aug 2007 04:06:27 +0000 (04:06 +0000)]
Variable to record availability of O_CLOEXEC.

12 years ago.
drepper [Fri, 3 Aug 2007 03:35:12 +0000 (03:35 +0000)]
.

12 years ago(__alloc_dir): Don't initialize ->data. Avoid memset, add explicit
drepper [Fri, 3 Aug 2007 03:34:50 +0000 (03:34 +0000)]
(__alloc_dir): Don't initialize ->data.  Avoid memset, add explicit
initialization.

12 years ago(struct __dirstream): Move data elemtn to the end and change into
drepper [Fri, 3 Aug 2007 03:31:04 +0000 (03:31 +0000)]
(struct __dirstream): Move data elemtn to the end and change into
zero-sized array.

12 years ago.
drepper [Fri, 3 Aug 2007 02:43:06 +0000 (02:43 +0000)]
.

12 years agoRemove __wcsto*_internal prototypes and wcsto* inline functions.
drepper [Fri, 3 Aug 2007 02:42:43 +0000 (02:42 +0000)]
Remove __wcsto*_internal prototypes and wcsto* inline functions.

12 years agoAdd __wcsto*_internal prototypes.
drepper [Fri, 3 Aug 2007 02:42:12 +0000 (02:42 +0000)]
Add __wcsto*_internal prototypes.

12 years agoRemove __strto*_internal prototypes and strto* inline functions.
drepper [Fri, 3 Aug 2007 02:35:25 +0000 (02:35 +0000)]
Remove __strto*_internal prototypes and strto* inline functions.

12 years agoNo need to protect the declaration of the __strto*_internal and
drepper [Fri, 3 Aug 2007 02:34:54 +0000 (02:34 +0000)]
No need to protect the declaration of the __strto*_internal and
__wcsto*_internal members here.

12 years ago(struct __dirstream): Move lock member to fill a hole on 64-bit platforms.
drepper [Fri, 3 Aug 2007 02:34:05 +0000 (02:34 +0000)]
(struct __dirstream): Move lock member to fill a hole on 64-bit platforms.

12 years agoAdd __strto*_internal prototypes here.
drepper [Fri, 3 Aug 2007 02:33:25 +0000 (02:33 +0000)]
Add __strto*_internal prototypes here.

12 years ago.
drepper [Thu, 2 Aug 2007 21:28:34 +0000 (21:28 +0000)]
.

12 years agoChange const to __const and add nonnull attributes.
drepper [Thu, 2 Aug 2007 21:28:20 +0000 (21:28 +0000)]
Change const to __const and add nonnull attributes.

12 years ago.
roland [Thu, 2 Aug 2007 09:59:23 +0000 (09:59 +0000)]
.

12 years ago2007-08-02 Roland McGrath <roland@redhat.com>
roland [Thu, 2 Aug 2007 09:59:18 +0000 (09:59 +0000)]
2007-08-02  Roland McGrath  <roland@redhat.com>

* posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
$(inst_bindir)/getconf if possible.
* posix/Makefile ($(objpfx)getconf.speclist): New target.
(generated): Add it.
($(inst_libexecdir)/getconf): Use it.

12 years ago.
drepper [Wed, 1 Aug 2007 21:23:59 +0000 (21:23 +0000)]
.

12 years ago(__get_nprocs): Using /proc is faster and sufficient. /sys is still
drepper [Wed, 1 Aug 2007 21:23:37 +0000 (21:23 +0000)]
(__get_nprocs): Using /proc is faster and sufficient.  /sys is still
needed for __get_nprocs_conf.

12 years ago. fedora-glibc-20070801T1703
drepper [Wed, 1 Aug 2007 15:51:07 +0000 (15:51 +0000)]
.

12 years agoposix_fallocate for Linux/x86.
drepper [Wed, 1 Aug 2007 15:50:52 +0000 (15:50 +0000)]
posix_fallocate for Linux/x86.

12 years agoposix_fallocate64 for Linux/x86.
drepper [Wed, 1 Aug 2007 15:50:38 +0000 (15:50 +0000)]
posix_fallocate64 for Linux/x86.

12 years ago(fallocate): Add fallocate syscall as __fallocate64.
drepper [Wed, 1 Aug 2007 15:50:02 +0000 (15:50 +0000)]
(fallocate): Add fallocate syscall as __fallocate64.

12 years ago.
drepper [Wed, 1 Aug 2007 04:47:26 +0000 (04:47 +0000)]
.

12 years ago(__pthread_tpp_change_priority, __pthread_current_priority): Add
drepper [Wed, 1 Aug 2007 04:47:15 +0000 (04:47 +0000)]
(__pthread_tpp_change_priority, __pthread_current_priority): Add
LLL_PRIVATE as second argument to lll_{,un}lock macros on pd->lock.

12 years ago(__new_sem_wait): Pass isem->private ^ FUTEX_PRIVATE_FLAG as second
drepper [Wed, 1 Aug 2007 04:46:43 +0000 (04:46 +0000)]
(__new_sem_wait): Pass isem->private ^ FUTEX_PRIVATE_FLAG as second
argument to lll_futex_wake.

12 years ago(LLL_MUTEX_LOCK,
drepper [Wed, 1 Aug 2007 04:46:18 +0000 (04:46 +0000)]
(LLL_MUTEX_LOCK,
LLL_MUTEX_TRYLOCK, LLL_ROBUST_MUTEX_LOCK): Use
lll_{cond_,cond_try,robust_cond}lock macros instead of lll_*mutex_*,
pass LLL_SHARED as last argument.

12 years agoInternal pthread types for Linux/SPARC.
drepper [Wed, 1 Aug 2007 04:46:01 +0000 (04:46 +0000)]
Internal pthread types for Linux/SPARC.

12 years agopthread_barrier_wait for Linux/SPARC.
drepper [Wed, 1 Aug 2007 04:45:42 +0000 (04:45 +0000)]
pthread_barrier_wait for Linux/SPARC.

12 years agoRenamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
drepper [Wed, 1 Aug 2007 04:45:09 +0000 (04:45 +0000)]
Renamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
lll_robust_*.  Renamed all __lll_mutex_* resp. __lll_robust_mutex_*
inline functions to __lll_* resp. __lll_robust_*.
(LLL_MUTEX_LOCK_INITIALIZER): Remove.
(lll_mutex_dead): Add private argument.
(__lll_lock_wait_private): New prototype.
(__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait,
__lll_robust_lock_timedwait): Add private argument to prototypes.
(__lll_lock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_lock_wait_private, otherwise pass private to
__lll_lock_wait.
(__lll_robust_lock, __lll_cond_lock, __lll_timedlock,
__lll_robust_timedlock): Add private argument, pass it to
__lll_*wait functions.
(__lll_unlock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_unlock_wake_private, otherwise pass private to
__lll_unlock_wake.
(__lll_robust_unlock): Add private argument, pass it to
__lll_robust_unlock_wake.
(lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock,
lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private
argument, pass it through to __lll_* inline function.
(__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove.
(lll_lock_t): Remove.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.

12 years agopthread_barrier_destroy for Linux/SPARC.
drepper [Wed, 1 Aug 2007 04:44:35 +0000 (04:44 +0000)]
pthread_barrier_destroy for Linux/SPARC.

12 years ago(struct sparc_pthread_barrier): Remove.
drepper [Wed, 1 Aug 2007 04:44:00 +0000 (04:44 +0000)]
(struct sparc_pthread_barrier): Remove.
(pthread_barrier_wait): Use union sparc_pthread_barrier instead of
struct sparc_pthread_barrier.  Pass
ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE to lll_{,un}lock
and lll_futex_wait macros.

12 years agoInclude sparc pthread_barrier_wait.c instead of generic one.
drepper [Wed, 1 Aug 2007 04:43:46 +0000 (04:43 +0000)]
Include sparc pthread_barrier_wait.c instead of generic one.

12 years ago(__lll_lock_wait_private): New function.
drepper [Wed, 1 Aug 2007 04:43:24 +0000 (04:43 +0000)]
(__lll_lock_wait_private): New function.
(__lll_lock_wait, __lll_timedlock_wait): Add private argument, pass
it to lll_futex_*wait.  Don't compile in for libc.so.

12 years agopthread_barrier_init for Linux/SPARC.
drepper [Wed, 1 Aug 2007 04:42:52 +0000 (04:42 +0000)]
pthread_barrier_init for Linux/SPARC.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:42:06 +0000 (04:42 +0000)]
Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT): Don't define.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:41:38 +0000 (04:41 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:41:21 +0000 (04:41 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_cond_timedwait): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.

12 years agoAllow including the header from assembler. Renamed all lll_mutex_* resp.
drepper [Wed, 1 Aug 2007 04:40:57 +0000 (04:40 +0000)]
Allow including the header from assembler.  Renamed all lll_mutex_* resp.
lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
(LOCK, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
(LLL_MUTEX_LOCK_INITIALIZER, LLL_MUTEX_LOCK_INITIALIZER_LOCKED,
LLL_MUTEX_LOCK_INITIALIZER_WAITERS): Remove.
(__lll_mutex_lock_wait, __lll_mutex_timedlock_wait,
__lll_mutex_unlock_wake, __lll_lock_wait, __lll_unlock_wake):
Remove prototype.
(__lll_trylock_asm, __lll_lock_asm_start, __lll_unlock_asm): Define.
(lll_robust_trylock, lll_cond_trylock): Use LLL_LOCK_INITIALIZER*
rather than LLL_MUTEX_LOCK_INITIALIZER* macros.
(lll_trylock): Likewise, use __lll_trylock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand.
(lll_lock): Add private argument, use __lll_lock_asm_start, pass
MULTIPLE_THREADS_OFFSET as last asm operand, call
__lll_lock_wait_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_lock_wait.
(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
lll_timedlock, lll_robust_timedlock): Add private argument, pass
private as another argument to __lll_*lock_wait call.
(lll_unlock): Add private argument, use __lll_unlock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand, call
__lll_unlock_wake_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_unlock_wake.
(lll_robust_unlock): Add private argument, pass private as another
argument to __lll_unlock_wake.
(lll_robust_dead): Add private argument, use __lll_private_flag
macro.
(lll_islocked): Use LLL_LOCK_INITIALIZER instead of
LLL_MUTEX_LOCK_INITIALIZER.
(lll_lock_t): Remove.
(LLL_LOCK_INITIALIZER_WAITERS): Define.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:40:11 +0000 (04:40 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass
PRIVATE(%rdi) ^ LLL_SHARED as private argument in %esi to
__lll_lock_wait and __lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:39:51 +0000 (04:39 +0000)]
Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT): Don't define.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:39:40 +0000 (04:39 +0000)]
Include lowlevellock.h.

12 years agoInclude lowlevellock.h and pthread-errnos.h.
drepper [Wed, 1 Aug 2007 04:39:23 +0000 (04:39 +0000)]
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE, EINVAL, LOCK): Don't define.
(__pthread_cond_signal): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:39:12 +0000 (04:39 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_cond_wait, __condvar_cleanup): Rename __lll_mutex_*
to __lll_*, pass LLL_SHARED in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoRevert 2007-05-2{3,9} changes.
drepper [Wed, 1 Aug 2007 04:38:57 +0000 (04:38 +0000)]
Revert 2007-05-2{3,9} changes.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:38:37 +0000 (04:38 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_unlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:38:15 +0000 (04:38 +0000)]
Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAKE): Don't define.

12 years agoInclude lowlevellock.h and pthread-errnos.h.
drepper [Wed, 1 Aug 2007 04:37:56 +0000 (04:37 +0000)]
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
FUTEX_CMP_REQUEUE, EINVAL, LOCK): Don't define.
(__pthread_cond_broadcast): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.

12 years agoInclude kernel-features.h and lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:37:37 +0000 (04:37 +0000)]
Include kernel-features.h and lowlevellock.h.
(LOAD_PRIVATE_FUTEX_WAIT): Define.
(LOAD_FUTEX_WAIT): Rewritten.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
(__lll_lock_wait_private, __lll_unlock_wake_private): New functions.
(__lll_mutex_lock_wait): Rename to ...
(__lll_lock_wait): ... this.  %esi is now private argument.
Don't compile in for libc.so.
(__lll_mutex_timedlock_wait): Rename to ...
(__lll_timedlock_wait): ... this.  %esi contains private argument.
Don't compile in for libc.so.
(__lll_mutex_unlock_wake): Rename to ...
(__lll_unlock_wake): ... this.  %esi contains private argument.
Don't compile in for libc.so.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:37:06 +0000 (04:37 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_rdlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoInclude kernel-features.h and lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:36:44 +0000 (04:36 +0000)]
Include kernel-features.h and lowlevellock.h.
(LOAD_FUTEX_WAIT): Define.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
(__lll_robust_mutex_lock_wait): Rename to ...
(__lll_robust_lock_wait): ... this.  %esi argument contains private.
Use LOAD_FUTEX_WAIT macro.
(__lll_robust_mutex_timedlock_wait): Rename to ...
(__lll_robust_timedlock_wait): ... this. %esi argument contains
private, use LOAD_FUTEX_WAIT macro.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:36:18 +0000 (04:36 +0000)]
Include lowlevellock.h.
(LOCK): Don't define.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:35:56 +0000 (04:35 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:35:45 +0000 (04:35 +0000)]
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.

12 years agoInclude lowlevellock.h.
drepper [Wed, 1 Aug 2007 04:35:21 +0000 (04:35 +0000)]
Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Don't define.

12 years ago(__lll_lock_wait_private): New function.
drepper [Wed, 1 Aug 2007 04:34:53 +0000 (04:34 +0000)]
(__lll_lock_wait_private): New function.
(__lll_lock_wait, __lll_timedlock_wait): Add private argument and
pass it through to lll_futex_*wait, only compile in when
IS_IN_libpthread.

12 years agoRenamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
drepper [Wed, 1 Aug 2007 04:34:35 +0000 (04:34 +0000)]
Renamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
lll_robust_*.  Renamed all __lll_mutex_* resp. __lll_robust_mutex_*
inline functions to __lll_* resp. __lll_robust_*.
(LLL_MUTEX_LOCK_INITIALIZER): Remove.
(lll_mutex_dead): Add private argument.
(__lll_lock_wait_private): New prototype.
(__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait,
__lll_robust_lock_timedwait): Add private argument to prototypes.
(__lll_lock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_lock_wait_private, otherwise pass private to
__lll_lock_wait.
(__lll_robust_lock, __lll_cond_lock, __lll_timedlock,
__lll_robust_timedlock): Add private argument, pass it to
__lll_*wait functions.
(__lll_unlock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_unlock_wake_private, otherwise pass private to
__lll_unlock_wake.
(__lll_robust_unlock): Add private argument, pass it to
__lll_robust_unlock_wake.
(lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock,
lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private
argument, pass it through to __lll_* inline function.
(__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove.
(lll_lock_t): Remove.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.

12 years agoWake only when there are waiters.
drepper [Wed, 1 Aug 2007 04:34:01 +0000 (04:34 +0000)]
Wake only when there are waiters.

(__new_sem_post): Use __asm __volatile (__lll_acq_instr ::: "memory")
instead of atomic_full_barrier.

12 years agoRenamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
drepper [Wed, 1 Aug 2007 04:33:29 +0000 (04:33 +0000)]
Renamed all lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
lll_robust_*.  Renamed all __lll_mutex_* resp. __lll_robust_mutex_*
inline functions to __lll_* resp. __lll_robust_*.
(LLL_MUTEX_LOCK_INITIALIZER): Remove.
(lll_mutex_dead): Add private argument.
(__lll_lock_wait_private): New prototype.
(__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait,
__lll_robust_lock_timedwait): Add private argument to prototypes.
(__lll_lock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_lock_wait_private, otherwise pass private to
__lll_lock_wait.
(__lll_robust_lock, __lll_cond_lock, __lll_timedlock,
__lll_robust_timedlock): Add private argument, pass it to
__lll_*wait functions.
(__lll_unlock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_unlock_wake_private, otherwise pass private to
__lll_unlock_wake.
(__lll_robust_unlock): Add private argument, pass it to
__lll_robust_unlock_wake.
(lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock,
lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private
argument, pass it through to __lll_* inline function.
(__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove.
(lll_lock_t): Remove.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.

12 years ago(__register_atfork, free_mem): Pass LLL_PRIVATE as second argument to
drepper [Wed, 1 Aug 2007 04:32:49 +0000 (04:32 +0000)]
(__register_atfork, free_mem): Pass LLL_PRIVATE as second argument to
lll_{,un}lock macros on __fork_lock.
(__fork_lock): Change type to int.

12 years ago(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Add private
drepper [Wed, 1 Aug 2007 04:32:17 +0000 (04:32 +0000)]
(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Add private
argument and pass it through to lll_futex_*wait.

12 years ago(__new_sem_post): Pass isem->private ^ FUTEX_PRIVATE_FLAG as second
drepper [Wed, 1 Aug 2007 04:32:02 +0000 (04:32 +0000)]
(__new_sem_post): Pass isem->private ^ FUTEX_PRIVATE_FLAG as second
argument to lll_futex_wake.

12 years agoAllow including
drepper [Wed, 1 Aug 2007 04:31:40 +0000 (04:31 +0000)]
Allow including
the header from assembler.  Renamed all lll_mutex_* resp.
lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
(LOCK, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
(LLL_MUTEX_LOCK_INITIALIZER, LLL_MUTEX_LOCK_INITIALIZER_LOCKED,
LLL_MUTEX_LOCK_INITIALIZER_WAITERS): Remove.
(__lll_mutex_lock_wait, __lll_mutex_timedlock_wait,
__lll_mutex_unlock_wake, __lll_lock_wait, __lll_unlock_wake):
Remove prototype.
(__lll_trylock_asm, __lll_lock_asm_start, __lll_unlock_asm): Define.
(lll_robust_trylock, lll_cond_trylock): Use LLL_LOCK_INITIALIZER*
rather than LLL_MUTEX_LOCK_INITIALIZER* macros.
(lll_trylock): Likewise, use __lll_trylock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand.
(lll_lock): Add private argument, use __lll_lock_asm_start, pass
MULTIPLE_THREADS_OFFSET as last asm operand, call
__lll_lock_wait_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_lock_wait.
(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
lll_timedlock, lll_robust_timedlock): Add private argument, pass
private as another argument to __lll_*lock_wait call.
(lll_unlock): Add private argument, use __lll_unlock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand, call
__lll_unlock_wake_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_unlock_wake.
(lll_robust_unlock): Add private argument, pass private as another
argument to __lll_unlock_wake.
(lll_robust_dead): Add private argument, use __lll_private_flag macro.
(lll_islocked): Use LLL_LOCK_INITIALIZER instead of
LLL_MUTEX_LOCK_INITIALIZER.
(lll_lock_t): Remove.
(LLL_LOCK_INITIALIZER_WAITERS): Define.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.