diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-07-09 20:58:54 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-07-09 20:58:54 +0000 |
commit | c2fa5b5a4f4d2f0f71918f4cd8b5b67a26d4b72c (patch) | |
tree | 3682f88638ed44e98e8c0d0c284d209d822b1804 /linuxthreads | |
parent | a828c2f5332fbee41968ccc57115d0d8fc105b85 (diff) | |
download | glibc-c2fa5b5a4f4d2f0f71918f4cd8b5b67a26d4b72c.zip glibc-c2fa5b5a4f4d2f0f71918f4cd8b5b67a26d4b72c.tar.gz glibc-c2fa5b5a4f4d2f0f71918f4cd8b5b67a26d4b72c.tar.bz2 |
Update.
1999-07-09 Cristian Gafton <gafton@redhat.com>
* nscd/nscd_gethst_r.c (nscd_gethst_r): Make sure
resultbuf->h_addr_list addresses are correctly aligned.
* sysdeps/i386/bits/string.h (__memcpy_c): Help some stupid old
compilers.
(__memset_cc): Likewise.
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 14 | ||||
-rw-r--r-- | linuxthreads/Makefile | 3 | ||||
-rw-r--r-- | linuxthreads/Versions | 2 | ||||
-rw-r--r-- | linuxthreads/semaphore.c | 31 |
4 files changed, 43 insertions, 7 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index dfb0e3d..f653383 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,17 @@ +1999-07-09 Cristian Gafton <gafton@redhat.com> + + * Makefile (libpthread-routines): Add oldsemaphore routine. + * Versions: Add sem_destroy; sem_getvalue; sem_init; sem_post; + sem_trywait; sem_wait; to GLIBC_2.1. + * oldsemaphore.c: New file. + * semaphore.c: Add default_symbol_versions for the changed functions. + (__new_sem_init): Rename from sem_init. + (__new_sem_post): Rename from sem_post. + (__new_sem_wait): Rename from sem_wait. + (__new_sem_trywait): Rename from sem_trywait. + (__new_sem_getvalue): Rename from sem_getvalue. + (__new_sem_destroy): Rename from sem_destroy. + 1999-06-23 Robey Pointer <robey@netscape.com> * internals.h: Added p_nextlock entry to separate queueing for a diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index 600e194..8268666 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -34,7 +34,8 @@ extra-libs-others := $(extra-libs) libpthread-routines := attr cancel condvar join manager mutex ptfork \ ptlongjmp pthread signals specific errno lockfile \ - semaphore spinlock wrapsyscall rwlock pt-machine + semaphore spinlock wrapsyscall rwlock pt-machine \ + oldsemaphore vpath %.c Examples tests = ex1 ex2 ex3 ex4 ex5 ex6 diff --git a/linuxthreads/Versions b/linuxthreads/Versions index 6b95031..66a8f46 100644 --- a/linuxthreads/Versions +++ b/linuxthreads/Versions @@ -97,6 +97,8 @@ libpthread { pthread_mutexattr_gettype; pthread_mutexattr_settype; + sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait; + # helper functions __libc_current_sigrtmin; __libc_current_sigrtmax; __libc_allocate_rtsig; diff --git a/linuxthreads/semaphore.c b/linuxthreads/semaphore.c index 1753021..cfad97a 100644 --- a/linuxthreads/semaphore.c +++ b/linuxthreads/semaphore.c @@ -22,7 +22,7 @@ #include "restart.h" #include "queue.h" -int sem_init(sem_t *sem, int pshared, unsigned int value) +int __new_sem_init(sem_t *sem, int pshared, unsigned int value) { if (value > SEM_VALUE_MAX) { errno = EINVAL; @@ -38,7 +38,7 @@ int sem_init(sem_t *sem, int pshared, unsigned int value) return 0; } -int sem_wait(sem_t * sem) +int __new_sem_wait(sem_t * sem) { volatile pthread_descr self = thread_self(); @@ -65,7 +65,7 @@ int sem_wait(sem_t * sem) return 0; } -int sem_trywait(sem_t * sem) +int __new_sem_trywait(sem_t * sem) { int retval; @@ -81,7 +81,7 @@ int sem_trywait(sem_t * sem) return retval; } -int sem_post(sem_t * sem) +int __new_sem_post(sem_t * sem) { pthread_descr self = thread_self(); pthread_descr th; @@ -120,13 +120,13 @@ int sem_post(sem_t * sem) return 0; } -int sem_getvalue(sem_t * sem, int * sval) +int __new_sem_getvalue(sem_t * sem, int * sval) { *sval = sem->__sem_value; return 0; } -int sem_destroy(sem_t * sem) +int __new_sem_destroy(sem_t * sem) { if (sem->__sem_waiting != NULL) { __set_errno (EBUSY); @@ -152,3 +152,22 @@ int sem_unlink(const char *name) __set_errno (ENOSYS); return -1; } + +#if defined PIC && DO_VERSIONING +default_symbol_version (__new_sem_init, sem_init, GLIBC_2.1); +default_symbol_version (__new_sem_wait, sem_wait, GLIBC_2.1); +default_symbol_version (__new_sem_trywait, sem_trywait, GLIBC_2.1); +default_symbol_version (__new_sem_post, sem_post, GLIBC_2.1); +default_symbol_version (__new_sem_getvalue, sem_getvalue, GLIBC_2.1); +default_symbol_version (__new_sem_destroy, sem_destroy, GLIBC_2.1); +#else +# ifdef weak_alias +weak_alias (__new_sem_init, sem_init) +weak_alias (__new_sem_wait, sem_wait) +weak_alias (__new_sem_trywait, sem_trywait) +weak_alias (__new_sem_post, sem_post) +weak_alias (__new_sem_getvalue, sem_getvalue) +weak_alias (__new_sem_destroy, sem_destroy) +# endif +#endif + |