about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--libio/iofdopen.c21
-rw-r--r--libio/iofgetpos.c9
-rw-r--r--libio/iofgetpos64.c12
-rw-r--r--libio/iofopen.c14
-rw-r--r--libio/iofsetpos.c9
-rw-r--r--libio/iofsetpos64.c9
-rw-r--r--libio/iopopen.c22
-rw-r--r--libio/oldiofopen.c6
-rw-r--r--libio/oldtmpfile.c6
-rw-r--r--libio/pclose.c11
-rw-r--r--sysdeps/gnu/siglist.c32
-rw-r--r--sysdeps/unix/sysv/linux/errlist.c27
13 files changed, 88 insertions, 104 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d029fb267..b34074f359 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);