summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/semctl.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-03-31 05:50:02 +0000
committerUlrich Drepper <drepper@redhat.com>2000-03-31 05:50:02 +0000
commitb5567b2af66e2be232c0db9bf189424c039465d2 (patch)
tree9273a3119bdb9e10fca7376a2b933bc41eded931 /sysdeps/unix/sysv/linux/semctl.c
parentb86120ed685c140c3d19386d463d6efba436ab92 (diff)
Update.
2000-03-29 Jes Sorensen <jes@pcatls01.cern.ch> * malloc/malloc.c: Declare bit flags UL so that they will not default to int size when being inverted. 2000-03-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. 2000-03-29 Andreas Jaeger <aj@suse.de>, Ralf Baechle <ralf@uni-koblenz.de> * Makeconfig: Introduce new variable SHARED to mark code used in the shared library. * elf/dl-close.c: Use it instead of PIC. * elf/dl-load.c: Likewise. * elf/dl-open.c: Likewise. * hurd/geteuids.c: Likewise. * include/libc-symbols.h: Likewise. * include/shlib-compat.h: Likewise. * libio/freopen.c: Likewise. * linuxthreads/cancel.c: Likewise. * linuxthreads/pthread.c: Likewise. * linuxthreads/wrapsyscall.c: Likewise. * nss/nsswitch.c: Likewise. * stdio-common/vfprintf.c: Likewise. * sysdeps/arm/init-first.c: Likewise. * sysdeps/i386/init-first.c: Likewise * sysdeps/generic/init-first.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mips/init-first.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. * sysdeps/unix/sysv/linux/arm/errlist.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check.
Diffstat (limited to 'sysdeps/unix/sysv/linux/semctl.c')
-rw-r--r--sysdeps/unix/sysv/linux/semctl.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/semctl.c b/sysdeps/unix/sysv/linux/semctl.c
index 5b28861244..cc8a5387e1 100644
--- a/sysdeps/unix/sysv/linux/semctl.c
+++ b/sysdeps/unix/sysv/linux/semctl.c
@@ -25,9 +25,11 @@
#include <sysdep.h>
#include <string.h>
#include <sys/syscall.h>
+#include <shlib-compat.h>
#include "kernel-features.h"
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
struct __old_semid_ds
{
struct __old_ipc_perm sem_perm; /* operation permission struct */
@@ -39,6 +41,7 @@ struct __old_semid_ds
struct sem_undo *__undo; /* ondo requests on this array */
unsigned short int sem_nsems; /* number of semaphores in set */
};
+#endif
/* Define a `union semun' suitable for Linux here. */
union semun
@@ -52,9 +55,12 @@ union semun
/* Return identifier for array of NSEMS semaphores associated with
KEY. */
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
int __old_semctl (int semid, int semnum, int cmd, ...);
+#endif
int __new_semctl (int semid, int semnum, int cmd, ...);
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
int
__old_semctl (int semid, int semnum, int cmd, ...)
{
@@ -70,6 +76,8 @@ __old_semctl (int semid, int semnum, int cmd, ...)
return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, &arg);
}
+compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
+#endif
int
__new_semctl (int semid, int semnum, int cmd, ...)
@@ -142,9 +150,4 @@ __new_semctl (int semid, int semnum, int cmd, ...)
#endif
}
-#if defined PIC && DO_VERSIONING
-default_symbol_version (__new_semctl, semctl, GLIBC_2.2);
-symbol_version (__old_semctl, semctl, GLIBC_2.0);
-#else
-weak_alias (__new_semctl, semctl);
-#endif
+versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);