15 Commits

Author SHA1 Message Date
Ulrich Drepper
5a8075b116 * init.c (__pthread_initialize_minimal_internal): Check whether
private futexes are available.
	* allocatestack.c (allocate_stack): Copy private_futex field from
	current thread into the new stack.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Use private
	futexes if they are available.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Adjust so that change
	in libc-lowlevellock.S allow using private futexes.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use private futexes
	if they are available.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
	* sysdeps/x86_64/tcb-offsets.sym: Add PRIVATE_FUTEX.
	* sysdeps/i386/tcb-offsets.sym: Likewise.
	* sysdeps/x86_64/tls.h (tcbhead_t): Add private_futex field.
	* sysdeps/i386/tls.h (tcbhead_t): Likewise.
2007-05-23 20:51:45 +00:00
Ulrich Drepper
ab9a9ff8a1 * nis/nss_nis/nis-alias.c: Optimize use of yperr2nss. Avoid calling
it for YPERR_SUCCESS.  Minor cleanups.  Add __builtin_expect.
	* nis/nss_nis/nis-ethers.c: Likewise.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-initgroups.c: Likewise.
	* nis/nss_nis/nis-netgrp.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-publickey.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
2006-04-09 02:45:24 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper
9356d063df Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
	LOCK is already defined.  Don't define lll_unlock_wake_cb and
	__lll_timedwait_tid for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevellock.S.
2003-03-10 22:11:26 +00:00
Ulrich Drepper
bd8bb78ba2 Update.
2003-03-01  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move tid field to the front now that
	it is often used.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S
	(__lll_mutex_timedlock_wait): Remove.
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(lll_unlock_wake_cb): Don't save and restore %esi.
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Add alignment.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Removed.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
	(pthread_barrier_wait): Don't save, load, and restore %esi for
	last thread.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post):
	Don't save, load, and restore %esi.
2003-03-01 09:45:23 +00:00
Ulrich Drepper
2f42e8be4c Update.
2003-02-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_lock_wait): Add branch predicition.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
	(__lll_lock_wait): Likewise.
	(lll_unlock_wake_cb): Removed.
2003-02-03 03:51:24 +00:00
Ulrich Drepper
47805511c4 Update.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Don't export
	lll_unlock_wake_cb.
2003-01-14 04:10:53 +00:00
Ulrich Drepper
097eca29e8 Update.
* sysdeps/unix/sysv/linux/i386/pthread_once.S: Use ENTER_KERNEL instead
	of int $0x80.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add support for using
	sysenter.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.

	* sysdeps/i386/tls.h: Unconditionally include <dl-sysdep.h>.
2002-12-20 07:12:24 +00:00
Ulrich Drepper
d7913e0e25 Update.
2002-12-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/stdio-lock.h: New file.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: New file.
	* Makefile (routines): Add libc-lowlevelmutex.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Remove
	__i686.get_pc_thunk.dx.
2002-12-18 10:56:40 +00:00
Ulrich Drepper
9ae0909b35 Update.
2002-12-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/syslog.c (log_cleanup): Don't use parameter in
	__libc_lock_unlock call, use syslog_lock directly.  Adjust callers to
	pass NULL instead of a pointer to syslog_lock.
2002-12-13 10:59:14 +00:00
Ulrich Drepper
efd56f5391 Update.
* elf/Makefile (tests): Add rules to build and run check-textrel.
	* elf/check-textrel.c: New file.
2002-12-12 21:51:52 +00:00
Ulrich Drepper
22f2067436 Update.
2002-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Correct
	access to __libc_locking_needed for PIC.
2002-12-12 18:26:13 +00:00
Ulrich Drepper
14e7aeceff Update.
2002-12-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork-gen.c: Renamed to...
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: ...this.
	Initialize __libc_locking_needed.
	* init.c (__pthread_initialize_minimal): Call __libc_pthread_init
	instead of __register_pthread_fork_handler.
	* sysdeps/pthread/bits/libc-lock.h: Declare __libc_locking_needed.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routimes): Replace
	fork-gen with libc_pthread_init.
	* sysdeps/unix/sysv/linux/Versions: Use __libc_pthread_init instead
	of __register_pthread_fork_handler.
	* sysdeps/unix/sysv/linux/fork.h: Declare __libc_pthread_init instead
	of __register_pthread_fork_handler.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use
	__libc_locking_needed to determine whether lock prefix can be avoided.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
2002-12-12 10:28:11 +00:00
Ulrich Drepper
240a3c78ea Low level locks for i486 in libc. 2002-12-05 19:46:41 +00:00