From: Ulrich Drepper Date: Fri, 31 Mar 2000 05:39:18 +0000 (+0000) Subject: Use shlib-compat macros. X-Git-Tag: upstream/2.30~10627^2~2518 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0772663d31d215458d3a85f3954e5b297ed84e40;p=external%2Fglibc.git Use shlib-compat macros. --- diff --git a/sysdeps/unix/sysv/linux/alpha/adjtime.c b/sysdeps/unix/sysv/linux/alpha/adjtime.c index b695ece..63cc66d 100644 --- a/sysdeps/unix/sysv/linux/alpha/adjtime.c +++ b/sysdeps/unix/sysv/linux/alpha/adjtime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 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 @@ -16,6 +16,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include + struct timeval32 { int tv_sec, tv_usec; @@ -54,7 +56,7 @@ struct timex32 { #define TIMEX timex32 #define ADJTIME __adjtime_tv32 #define ADJTIMEX(x) __adjtimex_tv32 (x) -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) #define LINKAGE #else #define LINKAGE static @@ -65,8 +67,8 @@ extern int ADJTIMEX (struct TIMEX *); #include -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -symbol_version (__adjtime_tv32, adjtime, GLIBC_2.0); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) +compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2.0); #endif #undef TIMEVAL @@ -117,11 +119,7 @@ __adjtime (itv, otv) return ret; } -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -default_symbol_version (__adjtime, adjtime, GLIBC_2.1); -#else -weak_alias (__adjtime, adjtime); -#endif +versioned_symbol (libc, __adjtime, adjtime, GLIBC_2_1); extern int __syscall_adjtimex_tv64 (struct timex *tx); @@ -191,11 +189,6 @@ __adjtimex_tv64 (struct timex *tx) return ret; } -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING strong_alias (__adjtimex_tv64, __adjtimex_tv64p); -default_symbol_version (__adjtimex_tv64, __adjtimex, GLIBC_2.1); -default_symbol_version (__adjtimex_tv64p, adjtimex, GLIBC_2.1); -#else -weak_alias (__adjtimex_tv64, __adjtimex); -weak_alias (__adjtimex_tv64, adjtimex); -#endif +versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1); +versioned_symbol (libc, __adjtimex_tv64p, adjtimex, GLIBC_2_1); diff --git a/sysdeps/unix/sysv/linux/alpha/msgctl.c b/sysdeps/unix/sysv/linux/alpha/msgctl.c index 93a9bf2..693b4d4 100644 --- a/sysdeps/unix/sysv/linux/alpha/msgctl.c +++ b/sysdeps/unix/sysv/linux/alpha/msgctl.c @@ -116,8 +116,6 @@ __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); -#else -weak_alias (__new_msgctl, msgctl); -#endif +#include +versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2); + diff --git a/sysdeps/unix/sysv/linux/alpha/oldglob.c b/sysdeps/unix/sysv/linux/alpha/oldglob.c index f405fbf..d85c50e 100644 --- a/sysdeps/unix/sysv/linux/alpha/oldglob.c +++ b/sysdeps/unix/sysv/linux/alpha/oldglob.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -19,8 +19,9 @@ became necessary since the glob_t structure changed. */ #include #include +#include -#if defined PIC && DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) /* This is the old structure. The difference is that the gl_pathc and gl_offs elements have type `int'. */ @@ -33,11 +34,11 @@ typedef struct /* If the GLOB_ALTDIRFUNC flag is set, the following functions are used instead of the normal file access functions. */ - void (*gl_closedir) __P ((void *)); - struct dirent *(*gl_readdir) __P ((void *)); - __ptr_t (*gl_opendir) __P ((__const char *)); - int (*gl_lstat) __P ((__const char *, struct stat *)); - int (*gl_stat) __P ((__const char *, struct stat *)); + void (*gl_closedir) (void *); + struct dirent *(*gl_readdir) (void *); + __ptr_t (*gl_opendir) (__const char *); + int (*gl_lstat) (__const char *, struct stat *); + int (*gl_stat) (__const char *, struct stat *); } old_glob_t; @@ -75,7 +76,7 @@ __old_glob (const char *pattern, int flags, return result; } -symbol_version(__old_glob, glob, GLIBC_2.0); +compat_symbol (libc, __old_glob, glob, GLIBC_2_0); /* Free storage allocated in PGLOB by a previous `glob' call. */ @@ -90,6 +91,6 @@ __old_globfree (old_glob_t *pglob) globfree (&correct); } -symbol_version(__old_globfree, globfree, GLIBC_2.0); +compat_symbol (libc, __old_globfree, globfree, GLIBC_2_0); #endif diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c index 6281e44..a453474 100644 --- a/sysdeps/unix/sysv/linux/alpha/semctl.c +++ b/sysdeps/unix/sysv/linux/alpha/semctl.c @@ -125,8 +125,5 @@ __new_semctl (int semid, int semnum, int cmd, ...) #endif } -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_semctl, semctl, GLIBC_2.2); -#else -weak_alias (__new_semctl, semctl); -#endif +#include +versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/alpha/shmctl.c b/sysdeps/unix/sysv/linux/alpha/shmctl.c index 162afee..ebda160 100644 --- a/sysdeps/unix/sysv/linux/alpha/shmctl.c +++ b/sysdeps/unix/sysv/linux/alpha/shmctl.c @@ -130,8 +130,5 @@ __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); -#else -weak_alias (__new_shmctl, shmctl); -#endif +#include +versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2); diff --git a/sysdeps/unix/sysv/linux/arm/errlist.c b/sysdeps/unix/sysv/linux/arm/errlist.c index e249522..c72ecd8 100644 --- a/sysdeps/unix/sysv/linux/arm/errlist.c +++ b/sysdeps/unix/sysv/linux/arm/errlist.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 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 @@ -18,18 +18,18 @@ #include #include +#include -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING - -# define SYS_ERRLIST __new_sys_errlist -# define SYS_NERR __new_sys_nerr +#define SYS_ERRLIST __new_sys_errlist +#define SYS_NERR __new_sys_nerr +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) asm (".data; .globl __old_sys_errlist; __old_sys_errlist:"); #endif #include -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) asm (".type __old_sys_errlist,%object;.size __old_sys_errlist," OLD_ERRLIST_SIZE_STR "*" PTR_SIZE_STR); @@ -44,12 +44,11 @@ symbol_version (_old_sys_nerr, sys_nerr, GLIBC_2.0); weak_alias (__old_sys_errlist, _old_sys_errlist); symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0); symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0); - -weak_alias (__new_sys_nerr, _new_sys_nerr) -default_symbol_version (__new_sys_nerr, _sys_nerr, GLIBC_2.1); -default_symbol_version (_new_sys_nerr, sys_nerr, GLIBC_2.1); -weak_alias (__new_sys_errlist, _new_sys_errlist) -default_symbol_version (__new_sys_errlist, _sys_errlist, GLIBC_2.1); -default_symbol_version (_new_sys_errlist, sys_errlist, GLIBC_2.1); - #endif + +strong_alias (__new_sys_nerr, _new_sys_nerr) +versioned_symbol (libc, __new_sys_nerr, _sys_nerr, GLIBC_2_1); +versioned_symbol (libc, _new_sys_nerr, sys_nerr, GLIBC_2_1); +strong_alias (__new_sys_errlist, _new_sys_errlist) +versioned_symbol (libc, __new_sys_errlist, _sys_errlist, GLIBC_2_1); +versioned_symbol (libc, _new_sys_errlist, sys_errlist, GLIBC_2_1); diff --git a/sysdeps/unix/sysv/linux/arm/siglist.c b/sysdeps/unix/sysv/linux/arm/siglist.c index 5d3a9af..3d7464e 100644 --- a/sysdeps/unix/sysv/linux/arm/siglist.c +++ b/sysdeps/unix/sysv/linux/arm/siglist.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 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 @@ -20,41 +20,34 @@ #include #include #include +#include -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING -# define SYS_SIGLIST __new_sys_siglist -# define SYS_SIGABBREV __new_sys_sigabbrev -#else -# define SYS_SIGLIST _sys_siglist -# define SYS_SIGABBREV _sys_sigabbrev -#endif - -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) asm (".data; .globl __old_sys_siglist; __old_sys_siglist:"); #endif -const char *const SYS_SIGLIST[NSIG] = +const char *const __new_sys_siglist[NSIG] = { #define init_sig(sig, abbrev, desc) [sig] desc, #include "siglist.h" #undef init_sig }; -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) asm (".type __old_sys_siglist,%object;.size __old_sys_siglist," OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); asm (".data; .globl __old_sys_sigabbrev; __old_sys_sigabbrev:"); #endif -const char *const SYS_SIGABBREV[NSIG] = +const char *const __new_sys_sigabbrev[NSIG] = { #define init_sig(sig, abbrev, desc) [sig] abbrev, #include "siglist.h" #undef init_sig }; -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) asm (".type __old_sys_sigabbrev,%object;.size __old_sys_sigabbrev," OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); @@ -62,15 +55,12 @@ extern const char *const *__old_sys_siglist; extern const char *const *__old_sys_sigabbrev; strong_alias (__old_sys_siglist, _old_sys_siglist) -symbol_version (__old_sys_siglist, _sys_siglist, GLIBC_2.0); -symbol_version (_old_sys_siglist, sys_siglist, GLIBC_2.0); -symbol_version (__old_sys_sigabbrev, sys_sigabbrev, GLIBC_2.0); +compat_symbol (libc, __old_sys_siglist, _sys_siglist, GLIBC_2_0); +compat_symbol (libc, _old_sys_siglist, sys_siglist, GLIBC_2_0); +compat_symbol (libc, __old_sys_sigabbrev, sys_sigabbrev, GLIBC_2_0); +#endif strong_alias (__new_sys_siglist, _new_sys_siglist) -default_symbol_version (__new_sys_siglist, _sys_siglist, GLIBC_2.1); -default_symbol_version (_new_sys_siglist, sys_siglist, GLIBC_2.1); -default_symbol_version (__new_sys_sigabbrev, sys_sigabbrev, GLIBC_2.1); -#else -weak_alias (_sys_siglist, sys_siglist) -weak_alias (_sys_sigabbrev, sys_sigabbrev) -#endif +versioned_symbol (libc, __new_sys_siglist, _sys_siglist, GLIBC_2_1); +versioned_symbol (libc, _new_sys_siglist, sys_siglist, GLIBC_2_1); +versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_1);