aboutsummaryrefslogtreecommitdiff
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 */