diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | libio/iofdopen.c | 21 | ||||
-rw-r--r-- | libio/iofgetpos.c | 9 | ||||
-rw-r--r-- | libio/iofgetpos64.c | 12 | ||||
-rw-r--r-- | libio/iofopen.c | 14 | ||||
-rw-r--r-- | libio/iofsetpos.c | 9 | ||||
-rw-r--r-- | libio/iofsetpos64.c | 9 | ||||
-rw-r--r-- | libio/iopopen.c | 22 | ||||
-rw-r--r-- | libio/oldiofopen.c | 6 | ||||
-rw-r--r-- | libio/oldtmpfile.c | 6 | ||||
-rw-r--r-- | libio/pclose.c | 11 | ||||
-rw-r--r-- | sysdeps/gnu/siglist.c | 32 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/errlist.c | 27 |
13 files changed, 88 insertions, 104 deletions
@@ -1,5 +1,19 @@ 2000-03-21 Ulrich Drepper <drepper@redhat.com> + * libio/oldtmpfile.c: Use new macros from shlib-compat.h to define + versions. + * libio/iofdopen.c: Likewise. + * libio/iofgetpos.c: Likewise. + * libio/iofgetpos64.c: Likewise. + * libio/iofopen.c: Likewise. + * libio/iofsetpos.c: Likewise. + * libio/iofsetpos64.c: Likewise. + * libio/iopopen.c: Likewise. + * libio/oldiofopen.c: Likewise. + * libio/pclose.c: Likewise. + * sysdeps/gnu/siglist.c: Likewise. + * sysdeps/unix/sysv/linux/errlist.c: Likewise. + * include/shlib-compat.h (versioned_symbol): Give preprocessor the chance to expand VERSION_##lib##_##version. diff --git a/libio/iofdopen.c b/libio/iofdopen.c index e8e32e03dc..0cbbee9051 100644 --- a/libio/iofdopen.c +++ b/libio/iofdopen.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1994, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1994, 1997-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -24,11 +24,15 @@ General Public License. */ #ifdef __STDC__ -#include <stdlib.h> +# include <stdlib.h> #endif #include "libioP.h" #include <fcntl.h> +#ifdef _LIBC +# include <shlib-compat.h> +#endif + #ifndef _IO_fcntl #ifdef _LIBC #define _IO_fcntl __fcntl @@ -79,7 +83,7 @@ _IO_new_fdopen (fd, mode) #endif if (fd_flags == -1) return NULL; - + if (((fd_flags & O_ACCMODE) == O_RDONLY && !(read_write & _IO_NO_WRITES)) || ((fd_flags & O_ACCMODE) == O_WRONLY && !(read_write & _IO_NO_READS))) { @@ -139,13 +143,6 @@ _IO_new_fdopen (fd, mode) return &new_f->fp.file; } -#if defined PIC && DO_VERSIONING strong_alias (_IO_new_fdopen, __new_fdopen) -default_symbol_version (_IO_new_fdopen, _IO_fdopen, GLIBC_2.1); -default_symbol_version (__new_fdopen, fdopen, GLIBC_2.1); -#else -# ifdef weak_alias -weak_alias (_IO_new_fdopen, _IO_fdopen) -weak_alias (_IO_new_fdopen, fdopen) -# endif -#endif +versioned_symbol (libc, _IO_new_fdopen, _IO_fdopen, GLIBC_2_1); +versioned_symbol (libc, __new_fdopen, fdopen, GLIBC_2_1); diff --git a/libio/iofgetpos.c b/libio/iofgetpos.c index 5b8f6a4129..c8ce084647 100644 --- a/libio/iofgetpos.c +++ b/libio/iofgetpos.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 95, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1995-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -25,6 +25,7 @@ #include "libioP.h" #include <errno.h> +#include <shlib-compat.h> int _IO_new_fgetpos (fp, posp) @@ -58,8 +59,6 @@ _IO_new_fgetpos (fp, posp) return 0; } -#ifdef weak_alias strong_alias (_IO_new_fgetpos, __new_fgetpos) -default_symbol_version (_IO_new_fgetpos, _IO_fgetpos, GLIBC_2.2); -default_symbol_version (__new_fgetpos, fgetpos, GLIBC_2.2); -#endif +versioned_symbol (libc, _IO_new_fgetpos, _IO_fgetpos, GLIBC_2_2); +versioned_symbol (libc, __new_fgetpos, fgetpos, GLIBC_2_2); diff --git a/libio/iofgetpos64.c b/libio/iofgetpos64.c index cc39a3a9e1..89e31fc72d 100644 --- a/libio/iofgetpos64.c +++ b/libio/iofgetpos64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 95, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1993, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -25,6 +25,8 @@ #include "libioP.h" #include <errno.h> +#include <shlib-compat.h> + int _IO_new_fgetpos64 (fp, posp) @@ -34,7 +36,7 @@ _IO_new_fgetpos64 (fp, posp) #ifdef _G_LSEEK64 _IO_off64_t pos; CHECK_FILE (fp, EOF); - _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); + _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, fp); _IO_flockfile (fp); pos = _IO_seekoff (fp, 0, _IO_seek_cur, 0); if (_IO_in_backup (fp)) @@ -63,8 +65,6 @@ _IO_new_fgetpos64 (fp, posp) #endif } -#ifdef weak_alias -default_symbol_version (_IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2.2); strong_alias (_IO_new_fgetpos64, __new_fgetpos64) -default_symbol_version (__new_fgetpos64, fgetpos64, GLIBC_2.2); -#endif +versioned_symbol (libc, _IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2_2); +versioned_symbol (libc, __new_fgetpos64, fgetpos64, GLIBC_2_2); diff --git a/libio/iofopen.c b/libio/iofopen.c index 60b15a00f8..05e047929d 100644 --- a/libio/iofopen.c +++ b/libio/iofopen.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -27,6 +27,7 @@ #ifdef __STDC__ #include <stdlib.h> #endif +#include <shlib-compat.h> _IO_FILE * _IO_new_fopen (filename, mode) @@ -60,13 +61,6 @@ _IO_new_fopen (filename, mode) return NULL; } -#if defined PIC && DO_VERSIONING strong_alias (_IO_new_fopen, __new_fopen) -default_symbol_version (_IO_new_fopen, _IO_fopen, GLIBC_2.1); -default_symbol_version (__new_fopen, fopen, GLIBC_2.1); -#else -# ifdef weak_alias -weak_alias (_IO_new_fopen, _IO_fopen) -weak_alias (_IO_new_fopen, fopen) -# endif -#endif +versioned_symbol (libc, _IO_new_fopen, _IO_fopen, GLIBC_2_1); +versioned_symbol (libc, __new_fopen, fopen, GLIBC_2_1); diff --git a/libio/iofsetpos.c b/libio/iofsetpos.c index bd49c13a83..6ba35939fc 100644 --- a/libio/iofsetpos.c +++ b/libio/iofsetpos.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1995, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1995, 1997-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -25,6 +25,7 @@ #include <libioP.h> #include <errno.h> +#include <shlib-compat.h> int _IO_new_fsetpos (fp, posp) @@ -58,8 +59,6 @@ _IO_new_fsetpos (fp, posp) return result; } -#ifdef weak_alias -default_symbol_version (_IO_new_fsetpos, _IO_fsetpos, GLIBC_2.2); strong_alias (_IO_new_fsetpos, __new_fsetpos) -default_symbol_version (__new_fsetpos, fsetpos, GLIBC_2.2); -#endif +versioned_symbol (libc, _IO_new_fsetpos, _IO_fsetpos, GLIBC_2_2); +versioned_symbol (libc, __new_fsetpos, fsetpos, GLIBC_2_2); diff --git a/libio/iofsetpos64.c b/libio/iofsetpos64.c index a70d5e215a..ab2171c14c 100644 --- a/libio/iofsetpos64.c +++ b/libio/iofsetpos64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1995, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1995, 1997-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -25,6 +25,7 @@ #include <libioP.h> #include <errno.h> +#include <shlib-compat.h> int _IO_new_fsetpos64 (fp, posp) @@ -63,8 +64,6 @@ _IO_new_fsetpos64 (fp, posp) #endif } -#ifdef weak_alias -default_symbol_version (_IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2.2); strong_alias (_IO_new_fsetpos64, __new_fsetpos64) -default_symbol_version (__new_fsetpos64, fsetpos64, GLIBC_2.2); -#endif +versioned_symbol (libc, __new_fsetpos64, fsetpos64, GLIBC_2_2); +versioned_symbol (libc, _IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2_2); diff --git a/libio/iopopen.c b/libio/iopopen.c index 15c15023f7..9d472fa212 100644 --- a/libio/iopopen.c +++ b/libio/iopopen.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. Written by Per Bothner <bothner@cygnus.com>. @@ -36,6 +36,7 @@ #endif #ifdef _LIBC # include <unistd.h> +# include <shlib-compat.h> #endif #include <sys/types.h> #include <sys/wait.h> @@ -299,19 +300,8 @@ static struct _IO_jump_t _IO_wproc_jumps = { JUMP_INIT(imbue, _IO_default_imbue) }; -#if defined PIC && DO_VERSIONING strong_alias (_IO_new_popen, __new_popen) -default_symbol_version (_IO_new_popen, _IO_popen, GLIBC_2.1); -default_symbol_version (__new_popen, popen, GLIBC_2.1); -default_symbol_version (_IO_new_proc_open, _IO_proc_open, GLIBC_2.1); -default_symbol_version (_IO_new_proc_close, _IO_proc_close, GLIBC_2.1); -#else -# ifdef strong_alias -strong_alias (_IO_new_popen, popen) -# endif -# ifdef weak_alias -weak_alias (_IO_new_popen, _IO_popen) -weak_alias (_IO_new_proc_open, _IO_proc_open) -weak_alias (_IO_new_proc_close, _IO_proc_close) -# endif -#endif +versioned_symbol (libc, _IO_new_popen, _IO_popen, GLIBC_2_1); +versioned_symbol (libc, __new_popen, popen, GLIBC_2_1); +versioned_symbol (libc, _IO_new_proc_open, _IO_proc_open, GLIBC_2_1); +versioned_symbol (libc, _IO_new_proc_close, _IO_proc_close, GLIBC_2_1); diff --git a/libio/oldiofopen.c b/libio/oldiofopen.c index 7fc48b92b2..1461fbc519 100644 --- a/libio/oldiofopen.c +++ b/libio/oldiofopen.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1997, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -23,6 +23,9 @@ other reasons why the executable file might be covered by the GNU General Public License. */ +#include <shlib-compat.h> +#if SHLIB_COMPAT (libc, GLIBC_2_0) + #define _IO_USE_OLD_IO_FILE #include "libioP.h" #ifdef __STDC__ @@ -64,3 +67,4 @@ _IO_old_fopen (filename, mode) strong_alias (_IO_old_fopen, __old_fopen) symbol_version (_IO_old_fopen, _IO_fopen, GLIBC_2.0); symbol_version (__old_fopen, fopen, GLIBC_2.0); +#endif diff --git a/libio/oldtmpfile.c b/libio/oldtmpfile.c index 002fad07a5..37b52a44ab 100644 --- a/libio/oldtmpfile.c +++ b/libio/oldtmpfile.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 93, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1993, 1996-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 @@ -16,6 +16,9 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <shlib-compat.h> +#if SHLIB_COMPAT (libc, GLIBC_2_0) + #define _IO_USE_OLD_IO_FILE #include <stdio.h> #include <unistd.h> @@ -49,3 +52,4 @@ __old_tmpfile (void) } symbol_version (__old_tmpfile, tmpfile, GLIBC_2.0); +#endif diff --git a/libio/pclose.c b/libio/pclose.c index 944365934d..55f495ab52 100644 --- a/libio/pclose.c +++ b/libio/pclose.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1995, 1996-1998, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or @@ -26,6 +26,7 @@ #include "libioP.h" #include "stdio.h" #include <errno.h> +#include <shlib-compat.h> int __new_pclose (fp) @@ -40,10 +41,4 @@ __new_pclose (fp) return _IO_new_fclose (fp); } -#if defined PIC && DO_VERSIONING -default_symbol_version (__new_pclose, pclose, GLIBC_2.1); -#else -# ifdef weak_alias -weak_alias (__new_pclose, pclose) -# endif -#endif +versioned_symbol (libc, __new_pclose, pclose, GLIBC_2_1); diff --git a/sysdeps/gnu/siglist.c b/sysdeps/gnu/siglist.c index ae5a6208f8..0fc43180fa 100644 --- a/sysdeps/gnu/siglist.c +++ b/sysdeps/gnu/siglist.c @@ -1,5 +1,5 @@ /* Define list of all signal numbers and their names. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 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 @@ -20,6 +20,7 @@ #include <stddef.h> #include <signal.h> #include <libintl.h> +#include <shlib-compat.h> #include <bits/wordsize.h> #if __WORDSIZE == 32 @@ -31,40 +32,32 @@ #endif -#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) 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) 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) asm (".type __old_sys_sigabbrev,@object;.size __old_sys_sigabbrev," OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); @@ -75,12 +68,9 @@ 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); +#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); diff --git a/sysdeps/unix/sysv/linux/errlist.c b/sysdeps/unix/sysv/linux/errlist.c index 4d799b1928..8c7ce92b58 100644 --- a/sysdeps/unix/sysv/linux/errlist.c +++ b/sysdeps/unix/sysv/linux/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 <sizes.h> #include <errlist.h> +#include <shlib-compat.h> -#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) asm (".data; .globl __old_sys_errlist; __old_sys_errlist:"); #endif #include <sysdeps/gnu/errlist.c> -#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING +#if SHLIB_COMPAT (libc, GLIBC_2_0) 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); |