about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--libio/fileops.c46
-rw-r--r--libio/iofclose.c12
-rw-r--r--libio/oldiofclose.c7
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/pthread.c8
6 files changed, 37 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index e7b0e25096..1abbdd556e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,11 @@
 	* include/shlib-compat.h (versioned_symbol): Give preprocessor the
 	chance to expand VERSION_##lib##_##version.
 
+	* libio/fileops.c: Use new macros from shlib-compat.h to define
+	versions.
+	* libio/iofclose.c: Likewise.
+	* libio/oldiofclose.c: Likewise.
+
 2000-03-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Clean up namespace.
diff --git a/libio/fileops.c b/libio/fileops.c
index 52880c52a9..c5aea3a60e 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -39,6 +39,7 @@
 #endif
 #if _LIBC
 # include "../wcsmbs/wcsmbsload.h"
+# include <shlib-compat.h>
 #endif
 #ifndef errno
 extern int errno;
@@ -1014,35 +1015,16 @@ struct _IO_jump_t _IO_file_jumps =
   JUMP_INIT(imbue, _IO_default_imbue)
 };
 
-
-#if defined PIC && DO_VERSIONING
-default_symbol_version (_IO_new_do_write, _IO_do_write, GLIBC_2.1);
-default_symbol_version (_IO_new_file_attach, _IO_file_attach, GLIBC_2.1);
-default_symbol_version (_IO_new_file_close_it, _IO_file_close_it, GLIBC_2.1);
-default_symbol_version (_IO_new_file_finish, _IO_file_finish, GLIBC_2.1);
-default_symbol_version (_IO_new_file_fopen, _IO_file_fopen, GLIBC_2.1);
-default_symbol_version (_IO_new_file_init, _IO_file_init, GLIBC_2.1);
-default_symbol_version (_IO_new_file_setbuf, _IO_file_setbuf, GLIBC_2.1);
-default_symbol_version (_IO_new_file_sync, _IO_file_sync, GLIBC_2.1);
-default_symbol_version (_IO_new_file_overflow, _IO_file_overflow, GLIBC_2.1);
-default_symbol_version (_IO_new_file_seekoff, _IO_file_seekoff, GLIBC_2.1);
-default_symbol_version (_IO_new_file_underflow, _IO_file_underflow, GLIBC_2.1);
-default_symbol_version (_IO_new_file_write, _IO_file_write, GLIBC_2.1);
-default_symbol_version (_IO_new_file_xsputn, _IO_file_xsputn, GLIBC_2.1);
-#else
-# ifdef strong_alias
-strong_alias (_IO_new_do_write, _IO_do_write);
-strong_alias (_IO_new_file_attach, _IO_file_attach);
-strong_alias (_IO_new_file_close_it, _IO_file_close_it);
-strong_alias (_IO_new_file_finish, _IO_file_finish);
-strong_alias (_IO_new_file_fopen, _IO_file_fopen);
-strong_alias (_IO_new_file_init, _IO_file_init);
-strong_alias (_IO_new_file_setbuf, _IO_file_setbuf);
-strong_alias (_IO_new_file_sync, _IO_file_sync);
-strong_alias (_IO_new_file_overflow, _IO_file_overflow);
-strong_alias (_IO_new_file_seekoff, _IO_file_seekoff);
-strong_alias (_IO_new_file_underflow, _IO_file_underflow);
-strong_alias (_IO_new_file_write, _IO_file_write);
-strong_alias (_IO_new_file_xsputn, _IO_file_xsputn);
-# endif
-#endif
+versioned_symbol (libc, _IO_new_do_write, _IO_do_write, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_attach, _IO_file_attach, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_close_it, _IO_file_close_it, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_finish, _IO_file_finish, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_fopen, _IO_file_fopen, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_init, _IO_file_init, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_setbuf, _IO_file_setbuf, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_sync, _IO_file_sync, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_overflow, _IO_file_overflow, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_seekoff, _IO_file_seekoff, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_underflow, _IO_file_underflow, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_write, _IO_file_write, GLIBC_2_1);
+versioned_symbol (libc, _IO_new_file_xsputn, _IO_file_xsputn, GLIBC_2_1);
diff --git a/libio/iofclose.c b/libio/iofclose.c
index a10ed9266f..7b8340c3bc 100644
--- a/libio/iofclose.c
+++ b/libio/iofclose.c
@@ -29,6 +29,7 @@
 #endif
 #if _LIBC
 # include "../iconv/gconv_int.h"
+# include <shlib-compat.h>
 #endif
 
 int
@@ -86,13 +87,6 @@ _IO_new_fclose (fp)
   return status;
 }
 
-#if defined PIC && DO_VERSIONING
+versioned_symbol (libc, _IO_new_fclose, _IO_fclose, GLIBC_2_1);
 strong_alias (_IO_new_fclose, __new_fclose)
-default_symbol_version (_IO_new_fclose, _IO_fclose, GLIBC_2.1);
-default_symbol_version (__new_fclose, fclose, GLIBC_2.1);
-#else
-# ifdef weak_alias
-weak_alias (_IO_new_fclose, _IO_fclose)
-weak_alias (_IO_new_fclose, fclose)
-# endif
-#endif
+versioned_symbol (libc, __new_fclose, fclose, GLIBC_2_1);
diff --git a/libio/oldiofclose.c b/libio/oldiofclose.c
index 8ddad32b04..d9420316a9 100644
--- a/libio/oldiofclose.c
+++ b/libio/oldiofclose.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1995,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
@@ -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__
@@ -66,3 +69,5 @@ _IO_old_fclose (fp)
 strong_alias (_IO_old_fclose, __old_fclose)
 symbol_version (_IO_old_fclose, _IO_fclose, GLIBC_2.0);
 symbol_version (__old_fclose, fclose, GLIBC_2.0);
+
+#endif
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index ce335a70fe..25088bb146 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2000-03-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* pthread.c (pthread_initialize): Test for address of __dso_handle
+	being NULL, not value.  Use __on_exit, not on_exit.
+
 2000-03-19  Ulrich Drepper  <drepper@redhat.com>
 
 	* pthread.c (pthread_initialize): Instead of on_exit use
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index ce26f0580b..e5010b9261 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -26,6 +26,7 @@
 #endif
 #include <sys/wait.h>
 #include <sys/resource.h>
+#include <shlib-compat.h>
 #include "pthread.h"
 #include "internals.h"
 #include "spinlock.h"
@@ -514,8 +515,9 @@ int __pthread_create_2_1(pthread_t *thread, const pthread_attr_t *attr,
   return THREAD_GETMEM(self, p_retcode);
 }
 
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__pthread_create_2_1, pthread_create, GLIBC_2.1);
+versioned_symbol (libpthread, __pthread_create_2_1, pthread_create, GLIBC_2_1);
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0)
 
 int __pthread_create_2_0(pthread_t *thread, const pthread_attr_t *attr,
 			 void * (*start_routine)(void *), void *arg)
@@ -540,8 +542,6 @@ int __pthread_create_2_0(pthread_t *thread, const pthread_attr_t *attr,
   return __pthread_create_2_1 (thread, attr, start_routine, arg);
 }
 symbol_version (__pthread_create_2_0, pthread_create, GLIBC_2.0);
-#else
-strong_alias (__pthread_create_2_1, pthread_create)
 #endif
 
 /* Simple operations on thread identifiers */