2000-03-21  Ulrich Drepper  <drepper@redhat.com>

	* include/shlib-compat.h (versioned_symbol): Give preprocessor the
	chance to expand VERSION_##lib##_##version.
This commit is contained in:
Ulrich Drepper 2000-03-21 22:03:48 +00:00
parent 5402148732
commit cb162e13ed
3 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2000-03-21 Ulrich Drepper <drepper@redhat.com>
* include/shlib-compat.h (versioned_symbol): Give preprocessor the
chance to expand VERSION_##lib##_##version.
2000-03-21 Jakub Jelinek <jakub@redhat.com> 2000-03-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Clean up namespace. * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Clean up namespace.

View File

@ -22,7 +22,7 @@
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING #if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
#include <abi-versions.h> /* header generated by abi-versions.awk */ # include <abi-versions.h> /* header generated by abi-versions.awk */
/* The file abi-versions.h (generated by scripts/abi-versions.awk) defines /* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
symbols like `ABI_libm_GLIBC_2_0' to either 1 or 0 indicating whether or symbols like `ABI_libm_GLIBC_2_0' to either 1 or 0 indicating whether or
@ -32,7 +32,7 @@
has been superseded by a newer version. The compatibility code should has been superseded by a newer version. The compatibility code should
be conditionalized with `#if SHLIB_COMPAT (libm, GLIBC_2_0)'. */ be conditionalized with `#if SHLIB_COMPAT (libm, GLIBC_2_0)'. */
#define SHLIB_COMPAT(lib, version) ABI_##lib##_##version # define SHLIB_COMPAT(lib, version) ABI_##lib##_##version
/* That header also defines symbols like `VERSION_libm_GLIBC_2_1' to /* That header also defines symbols like `VERSION_libm_GLIBC_2_1' to
the version set name to use for e.g. symbols first introduced into the version set name to use for e.g. symbols first introduced into
@ -43,16 +43,18 @@
i.e. either GLIBC_2.1 or the "earliest version" specified in i.e. either GLIBC_2.1 or the "earliest version" specified in
shlib-versions if that is newer. */ shlib-versions if that is newer. */
#define versioned_symbol(lib, local, symbol, version) \ # define versioned_symbol(lib, local, symbol, version) \
default_symbol_version (local, symbol, VERSION_##lib##_##version) versioned_symbol2 (local, symbol, VERSION_##lib##_##version)
# define versioned_symbol2(local, symbol, name) \
default_symbol_version (local, symbol, name)
#else #else
/* Not compiling ELF shared libraries at all, so never any old versions. */ /* Not compiling ELF shared libraries at all, so never any old versions. */
#define SHLIB_COMPAT(lib, version) 0 # define SHLIB_COMPAT(lib, version) 0
/* No versions to worry about, just make this the global definition. */ /* No versions to worry about, just make this the global definition. */
#define versioned_symbol(lib, local, symbol, version) \ # define versioned_symbol(lib, local, symbol, version) \
weak_alias (local, symbol) weak_alias (local, symbol)
#endif #endif

View File

@ -389,13 +389,13 @@ static void pthread_initialize(void)
/* Register an exit function to kill all other threads. */ /* Register an exit function to kill all other threads. */
/* Do it early so that user-registered atexit functions are called /* Do it early so that user-registered atexit functions are called
before pthread_exit_process. */ before pthread_exit_process. */
if (__dso_handle) if (&__dso_handle != NULL)
/* The cast is a bit unclean. The function expects two arguments but /* The cast is a bit unclean. The function expects two arguments but
we can only pass one. Fortunately this is not a problem since the we can only pass one. Fortunately this is not a problem since the
second argument of `pthread_exit_process' is simply ignored. */ second argument of `pthread_exit_process' is simply ignored. */
__cxa_atexit((void (*) (void *)) pthread_exit_process, NULL, __dso_handle); __cxa_atexit((void (*) (void *)) pthread_exit_process, NULL, __dso_handle);
else else
on_exit (pthread_exit_process, NULL); __on_exit (pthread_exit_process, NULL);
} }
void __pthread_initialize(void) void __pthread_initialize(void)