aboutsummaryrefslogtreecommitdiff
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);