This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I've made the same patches to some arm specific files as Roland made already to the generic versions. Uli, this patch conflicts with the SHARED patch (due to s/PIC/SHARED/) - you can remove these two files from the SHARED patch if you like. Andreas 2000-03-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. ============================================================ Index: sysdeps/unix/sysv/linux/arm/errlist.c --- sysdeps/unix/sysv/linux/arm/errlist.c 1998/08/20 17:37:26 1.1 +++ sysdeps/unix/sysv/linux/arm/errlist.c 2000/03/29 11:57:34 @@ -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, GLIBC_2_1) 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, GLIBC_2_1) asm (".type __old_sys_errlist,%object;.size __old_sys_errlist," OLD_ERRLIST_SIZE_STR "*" PTR_SIZE_STR); @@ -44,12 +44,11 @@ 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); ============================================================ Index: sysdeps/unix/sysv/linux/arm/siglist.c --- sysdeps/unix/sysv/linux/arm/siglist.c 1999/06/19 09:47:56 1.2 +++ sysdeps/unix/sysv/linux/arm/siglist.c 2000/03/29 11:57:34 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 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 @@ -20,41 +20,34 @@ #include <signal.h> #include <sizes.h> #include <libintl.h> +#include <shlib-compat.h> -#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, GLIBC_2_1) 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, GLIBC_2_1) 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, GLIBC_2_1) asm (".type __old_sys_sigabbrev,%object;.size __old_sys_sigabbrev," OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR); @@ -62,15 +55,12 @@ extern const char *const *__old_sys_sigabbrev; 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); +compat_symbol (libc, __old_sys_siglist, _sys_siglist, GLIBC_2_0); +compat_symbol (libc, _old_sys_siglist, sys_siglist, GLIBC_2_0); +compat_symbol (libc, __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); -- Andreas Jaeger SuSE Labs aj@suse.de private aj@arthur.rhein-neckar.de
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |