diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/chown.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/getrlimit.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/getrlimit64.c | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/msgctl.c | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/semctl.c | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/setrlimit.c | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/shmctl.c | 13 |
8 files changed, 36 insertions, 42 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c index f6442a4..5adeefb 100644 --- a/sysdeps/unix/sysv/linux/i386/chown.c +++ b/sysdeps/unix/sysv/linux/i386/chown.c @@ -132,7 +132,7 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group) { return INLINE_SYSCALL (chown, 3, file, owner, group); } -#elif defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#elif defined HAVE_ELF && defined SHARED && defined DO_VERSIONING /* Compiling for compatibiity. */ int __chown_is_lchown (const char *file, uid_t owner, gid_t group) @@ -141,7 +141,7 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group) } #endif -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING strong_alias (__chown_is_lchown, _chown_is_lchown) symbol_version (__chown_is_lchown, __chown, GLIBC_2.0); symbol_version (_chown_is_lchown, chown, GLIBC_2.0); diff --git a/sysdeps/unix/sysv/linux/i386/getrlimit.c b/sysdeps/unix/sysv/linux/i386/getrlimit.c index 4fae122..c1af81b 100644 --- a/sysdeps/unix/sysv/linux/i386/getrlimit.c +++ b/sysdeps/unix/sysv/linux/i386/getrlimit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,7 +21,7 @@ #include <sysdep.h> #include <sys/syscall.h> - +#include <shlib-compat.h> #include "kernel-features.h" extern int __syscall_ugetrlimit (unsigned int resource, @@ -77,8 +77,4 @@ __new_getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) } weak_alias (__new_getrlimit, __getrlimit); -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_getrlimit, getrlimit, GLIBC_2.2); -#else -weak_alias (__new_getrlimit, getrlimit); -#endif +versioned_symbol (libc, __new_getrlimit, getrlimit, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/i386/getrlimit64.c b/sysdeps/unix/sysv/linux/i386/getrlimit64.c index 8e7c9c6..9c4605f 100644 --- a/sysdeps/unix/sysv/linux/i386/getrlimit64.c +++ b/sysdeps/unix/sysv/linux/i386/getrlimit64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,8 +21,5 @@ #include <sysdeps/generic/getrlimit64.c> #undef getrlimit64 -#if defined PIC && defined DO_VERSIONING -default_symbol_version (__new_getrlimit64, getrlimit64, GLIBC_2.2); -#else -weak_alias (__new_getrlimit64, getrlimit64); -#endif +#include <shlib-compat.h> +versioned_symbol (libc, __new_getrlimit64, getrlimit64, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/i386/msgctl.c b/sysdeps/unix/sysv/linux/i386/msgctl.c index 07b5d0d..684365a 100644 --- a/sysdeps/unix/sysv/linux/i386/msgctl.c +++ b/sysdeps/unix/sysv/linux/i386/msgctl.c @@ -26,6 +26,7 @@ #include <sys/syscall.h> #include "kernel-features.h" +#include <shlib-compat.h> struct __old_msqid_ds { @@ -46,7 +47,9 @@ struct __old_msqid_ds /* Allows to control internal state and destruction of message queue objects. */ +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int __old_msgctl (int, int, struct __old_msqid_ds *); +#endif int __new_msgctl (int, int, struct msqid_ds *); #ifdef __NR_getuid32 @@ -57,11 +60,14 @@ extern int __libc_missing_32bit_uids; # endif #endif +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int __old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf) { return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, buf); } +compat_symbol (libc, __old_msgctl, msgctl, GLIBC_2_0); +#endif int __new_msgctl (int msqid, int cmd, struct msqid_ds *buf) @@ -143,9 +149,4 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf) #endif } -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_msgctl, msgctl, GLIBC_2.2); -symbol_version (__old_msgctl, msgctl, GLIBC_2.0); -#else -weak_alias (__new_msgctl, msgctl); -#endif +versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c b/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c index e774864..2f8a365 100644 --- a/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c +++ b/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c @@ -18,7 +18,8 @@ /* This is a compatibility file. If we don't build the libc with versioning don't compile this file. */ -#if defined PIC && DO_VERSIONING +#include <shlib-compat.h> +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) #include <errno.h> #include <sys/resource.h> @@ -48,6 +49,6 @@ __old_getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits) return 0; } -symbol_version (__old_getrlimit64, getrlimit64, GLIBC_2.1); +compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_1); -#endif /* PIC && DO_VERSIONING */ +#endif /* SHLIB_COMPAT */ diff --git a/sysdeps/unix/sysv/linux/i386/semctl.c b/sysdeps/unix/sysv/linux/i386/semctl.c index 6eb64b3..b553c2a 100644 --- a/sysdeps/unix/sysv/linux/i386/semctl.c +++ b/sysdeps/unix/sysv/linux/i386/semctl.c @@ -27,6 +27,7 @@ #include <sys/syscall.h> #include "kernel-features.h" +#include <shlib-compat.h> struct __old_semid_ds { @@ -59,9 +60,12 @@ extern int __libc_missing_32bit_uids; /* 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, ...) { @@ -77,6 +81,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, ...) @@ -165,9 +171,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); diff --git a/sysdeps/unix/sysv/linux/i386/setrlimit.c b/sysdeps/unix/sysv/linux/i386/setrlimit.c index f9fd23e..5ceae60 100644 --- a/sysdeps/unix/sysv/linux/i386/setrlimit.c +++ b/sysdeps/unix/sysv/linux/i386/setrlimit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,6 +24,7 @@ #include <sys/syscall.h> #include "kernel-features.h" +#include <shlib-compat.h> extern int __syscall_setrlimit (unsigned int resource, const struct rlimit *rlimits); @@ -75,8 +76,4 @@ __new_setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits) } weak_alias (__new_setrlimit, __setrlimit); -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_setrlimit, setrlimit, GLIBC_2.2); -#else -weak_alias (__new_setrlimit, setrlimit); -#endif +versioned_symbol (libc, __new_setrlimit, setrlimit, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/i386/shmctl.c b/sysdeps/unix/sysv/linux/i386/shmctl.c index 9574161..ca25ff0 100644 --- a/sysdeps/unix/sysv/linux/i386/shmctl.c +++ b/sysdeps/unix/sysv/linux/i386/shmctl.c @@ -27,6 +27,7 @@ #include <bits/wordsize.h> #include "kernel-features.h" +#include <shlib-compat.h> struct __old_shmid_ds { @@ -61,14 +62,19 @@ extern int __libc_missing_32bit_uids; #endif /* Provide operations to control over shared memory segments. */ +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int __old_shmctl (int, int, struct __old_shmid_ds *); +#endif int __new_shmctl (int, int, struct shmid_ds *); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int __old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf) { return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf); } +compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0); +#endif int __new_shmctl (int shmid, int cmd, struct shmid_ds *buf) @@ -163,9 +169,4 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf) #endif } -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_shmctl, shmctl, GLIBC_2.2); -symbol_version (__old_shmctl, shmctl, GLIBC_2.0); -#else -weak_alias (__new_shmctl, shmctl); -#endif +versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2); |