11 Commits

Author SHA1 Message Date
Ulrich Drepper
3d2dd6ca71 * semaphoreP.h: Declare __old_sem_init and __old_sem_wait.
* sem_init.c (__new_sem_init): Rewrite to initialize all three
	fields in the structure.
	(__old_sem_init): New function.
	* sem_open.c: Initialize all fields of the structure.
	* sem_getvalue.c: Adjust for renamed element.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nptl]
	(gen-as-const-headers): Add structsem.sym.
	* sysdeps/unix/sysv/linux/structsem.sym: New file.
	* sysdeps/unix/sysv/linux/internaltypes.h: Rename struct sem to
	struct new_sem.  Add struct old_sem.
	* sysdeps/unix/sysv/linux/sem_post.c: Wake only when there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Indicate that there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* Makefile (tests): Add tst-sem10, tst-sem11, tst-sem12.
	* tst-sem10.c: New file.
	* tst-sem11.c: New file.
	* tst-sem12.c: New file.
	* tst-typesizes.c: Test struct new_sem and struct old_sem instead
	of struct sem.

2007-05-25  Ulrich Drepper  <drepper@redhat.com>
2007-05-26 01:31:40 +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
077a0da7dc * sysdeps/x86_64/__longjmp.S: Also protect SP and BP.
* sysdeps/x86_64/setjmp.S: Likewise.
2005-12-22 18:21:44 +00:00
Ulrich Drepper
ea9c93ccbb Update.
2005-01-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Found reference to
	MSG_NOSIGNAL being in 2.2 kernels.
2005-01-26 20:02:05 +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
da0c02eee1 Update.
2003-07-08  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
	__pthread_unregister_cancel): Add prototypes and hidden_proto.
	* unwind.c (__pthread_unwind_next): Add hidden_def.
	* cleanup.c (__pthread_register_cancel, __pthread_unregister_cancel):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
	Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use
	HIDDEN_JUMPTARGET to call __pthread_register_cancel,
	__pthread_unregister_cancel and __pthread_unwind_next.
2003-07-08 21:08:13 +00:00
Ulrich Drepper
7726edc273 Update.
2003-06-07  Ulrich Drepper  <drepper@redhat.com>

	* cleanup_routine.c: New file.
	* Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine.
	* sysdeps/pthread/pthread.h: Add support for fully exception-based
	cleanup handling.
	* Makefile (libpthread-routines): Add cleanup_routine.
	Add more CFLAGS variables to compile with exceptions.  Add comments
	why which file needs unwind tables.
	(tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx*
	tests.
	* tst-cancelx1.c: New file.
	* tst-cancelx2.c: New file.
	* tst-cancelx3.c: New file.
	* tst-cancelx4.c: New file.
	* tst-cancelx5.c: New file.
	* tst-cancelx6.c: New file.
	* tst-cancelx7.c: New file.
	* tst-cancelx8.c: New file.
	* tst-cancelx9.c: New file.
	* tst-cancelx10.c: New file.
	* tst-cancelx11.c: New file.
	* tst-cancelx12.c: New file.
	* tst-cancelx13.c: New file.
	* tst-cancelx14.c: New file.
	* tst-cancelx15.c: New file.
	* tst-cleanupx0.c: New file.
	* tst-cleanupx0.expect: New file.
	* tst-cleanupx1.c: New file.
	* tst-cleanupx2.c: New file.
	* tst-cleanupx3.c: New file.

	* tst-cleanup0.c: Make standard compliant.
	* tst-cleanup1.c: Likewise.

	* sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and
	CLEANUP_JMP_BUF.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* tst-cancel12.c: New file.
	* tst-cancel13.c: New file.
	* tst-cancel14.c: New file.
	* tst-cancel15.c: New file.
	* Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14,
	and tst-cancel15.

	* tst-cancel1.c: Add some comments.

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative
	timeout correctly.
2003-06-08 05:28:14 +00:00
Ulrich Drepper
959c5bbfee Use shlib-compat.h macros instead of .symver directly. 2003-03-13 01:06:30 +00:00
Roland McGrath
326132dbdb 2003-03-12 Roland McGrath <roland@redhat.com>
* pthread-errnos.sym: New file.
	* Makefile (gen-as-const-headers): New variable, list that file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include generated
	header <pthread-errnos.h> instead of defining errno values here.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/i386/i486/pthread_spin_trylock.S: Likewise.
	* sysdeps/x86_64/pthread_spin_trylock.S: Likewise.
	* sysdeps/sh/pthread_spin_trylock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
2003-03-12 10:28:07 +00:00
Ulrich Drepper
1d087a7e39 Update.
* Makefile (libpthread-routines): Remove lowlevelcond and
	lowlevelsem.  Add sem_wait, sem_trywait, sem_timedwait, sem_post,
	pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal,
	and pthread_cond_broadcast.
	* sysdeps/unix/sysv/linux/i486/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i486/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i586/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i586/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i686/lowlevelsem.S: Removed
	* sysdeps/unix/sysv/linux/i686/lowlevelcond.S: Removed
	* sysdeps/unix/sysv/linux/i486/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i486/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i486/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i486/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i486/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i486/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i486/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i486/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/i586/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i586/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i586/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i586/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i586/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i586/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i586/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i586/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/i686/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/i686/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/i686/sem_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i686/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/i686/pthread_cond_wait.S: New file.
	* sysdeps/unix/sysv/linux/i686/pthread_cond_timedwait.S: New file.
	* sysdeps/unix/sysv/linux/i686/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/i686/pthread_cond_broadcast.S: New file.
2003-01-28 23:52:31 +00:00