aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/gnu/siglist.c32
-rw-r--r--sysdeps/unix/sysv/linux/errlist.c27
2 files changed, 24 insertions, 35 deletions
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);