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] |
Hi! Ok, glibc with this patch runs for 3 days in my sparc64 chroot just fine, so I think it is ready for inclusion. Note to everybody using sparc64 glibc (=myself, Ben Collins, have I missed anybody?), glibc will be no longer binary compatible with older versions. 2000-06-29 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/fpu/fclrexcpt.c: Use SHLIB_COMPAT, compat_symbol and versioned_symbol. * sysdeps/sparc/fpu/fesetenv.c: Likewise. * sysdeps/sparc/fpu/feupdateenv.c: Likewise. * sysdeps/sparc/fpu/fgetexcptflg.c: Likewise. * sysdeps/sparc/fpu/fraiseexcpt.c: Likewise. * sysdeps/sparc/fpu/fsetexcptflg.c: Likewise. * sysdeps/sparc/fpu/fegetenv.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: New file. * shlib-versions: Make sparc64 GLIBC_2.2+ only. linuxthreads/: * shlib-versions: Make sparc64 GLIBC_2.2+ only. --- libc/linuxthreads/shlib-versions.jj Mon Jun 26 04:23:55 2000 +++ libc/linuxthreads/shlib-versions Mon Jun 26 04:38:05 2000 @@ -1,4 +1,5 @@ # Xavier Leroy's Linux clone based thread library. mips.*-.*-linux.* libpthread=0 GLIBC_2.0 GLIBC_2.2 +sparc64-.*-linux.* libpthread=0 GLIBC_2.2 sh.*-.*-linux.* libpthread=0 GLIBC_2.2 .*-.*-linux.* libpthread=0 --- libc/sysdeps/sparc/fpu/fclrexcpt.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fclrexcpt.c Mon Jun 26 04:38:05 2000 @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <fenv.h> +#include <shlib-compat.h> int __feclearexcept (int excepts) @@ -33,6 +34,10 @@ __feclearexcept (int excepts) /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__feclearexcept, __old_feclearexcept) -symbol_version (__old_feclearexcept, feclearexcept, GLIBC_2.1); -default_symbol_version (__feclearexcept, feclearexcept, GLIBC_2.2); +compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); +#endif + +versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/fesetenv.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fesetenv.c Mon Jun 26 04:38:05 2000 @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <fenv.h> +#include <shlib-compat.h> int __fesetenv (const fenv_t *envp) @@ -44,6 +45,10 @@ __fesetenv (const fenv_t *envp) /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__fesetenv, __old_fesetenv) -symbol_version (__old_fesetenv, fesetenv, GLIBC_2.1); -default_symbol_version (__fesetenv, fesetenv, GLIBC_2.2); +compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1); +#endif + +versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/feupdateenv.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/feupdateenv.c Mon Jun 26 04:38:05 2000 @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <fenv.h> +#include <shlib-compat.h> int __feupdateenv (const fenv_t *envp) @@ -39,6 +40,10 @@ __feupdateenv (const fenv_t *envp) /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__feupdateenv, __old_feupdateenv) -symbol_version (__old_feupdateenv, feupdateenv, GLIBC_2.1); -default_symbol_version (__feupdateenv, feupdateenv, GLIBC_2.2); +compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1); +#endif + +versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/fgetexcptflg.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fgetexcptflg.c Mon Jun 26 04:38:05 2000 @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <fenv.h> +#include <shlib-compat.h> int __fegetexceptflag (fexcept_t *flagp, int excepts) @@ -32,6 +33,10 @@ __fegetexceptflag (fexcept_t *flagp, int /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__fegetexceptflag, __old_fegetexceptflag) -symbol_version (__old_fegetexceptflag, fegetexceptflag, GLIBC_2.1); -default_symbol_version (__fegetexceptflag, fegetexceptflag, GLIBC_2.2); +compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1); +#endif + +versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/fraiseexcpt.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fraiseexcpt.c Mon Jun 26 04:38:05 2000 @@ -19,6 +19,7 @@ #include <fenv.h> #include <math.h> +#include <shlib-compat.h> int __feraiseexcept (int excepts) @@ -59,6 +60,10 @@ __feraiseexcept (int excepts) /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__feraiseexcept, __old_feraiseexcept) -symbol_version (__old_feraiseexcept, feraiseexcept, GLIBC_2.1); -default_symbol_version (__feraiseexcept, feraiseexcept, GLIBC_2.2); +compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1); +#endif + +versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/fsetexcptflg.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fsetexcptflg.c Mon Jun 26 04:38:05 2000 @@ -19,6 +19,7 @@ #include <fenv.h> #include <math.h> +#include <shlib-compat.h> int __fesetexceptflag (const fexcept_t *flagp, int excepts) @@ -35,6 +36,10 @@ __fesetexceptflag (const fexcept_t *flag /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__fesetexceptflag, __old_fesetexceptflag) -symbol_version (__old_fesetexceptflag, fesetexceptflag, GLIBC_2.1); -default_symbol_version (__fesetexceptflag, fesetexceptflag, GLIBC_2.2); +compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1); +#endif + +versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2); --- libc/sysdeps/sparc/fpu/fegetenv.c.jj Wed Mar 22 16:36:10 2000 +++ libc/sysdeps/sparc/fpu/fegetenv.c Mon Jun 26 04:38:05 2000 @@ -18,6 +18,7 @@ Boston, MA 02111-1307, USA. */ #include <fenv.h> +#include <shlib-compat.h> int __fegetenv (fenv_t *envp) @@ -27,6 +28,10 @@ __fegetenv (fenv_t *envp) /* Success. */ return 0; } + +#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__fegetenv, __old_fegetenv) -symbol_version (__old_fegetenv, fegetenv, GLIBC_2.1); -default_symbol_version (__fegetenv, fegetenv, GLIBC_2.2); +compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1); +#endif + +versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2); --- libc/sysdeps/unix/sysv/linux/sparc/sparc64/Versions.jj Mon Jun 26 04:41:28 2000 +++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/Versions Mon Jun 26 04:41:23 2000 @@ -0,0 +1,8 @@ +libc { + GLIBC_2.0 { + # Exception handling support functions from libgcc + __register_frame; __register_frame_table; __deregister_frame; + __register_frame_info; __deregister_frame_info; __frame_state_for; + __register_frame_info_table; + } +} --- libc/shlib-versions.jj Mon Jun 26 04:23:44 2000 +++ libc/shlib-versions Mon Jun 26 04:38:05 2000 @@ -19,6 +19,7 @@ # The interface to -lm depends mostly only on cpu, not on operating system. i.86-.*-.* libm=6 m68k-.*-.* libm=6 +sparc64-.*-linux.* libm=6 GLIBC_2.2 sparc.*-.*-.* libm=6 alpha.*-.*-linux.* libm=6.1 alpha.*-.*-.* libm=6 @@ -35,6 +36,7 @@ alpha.*-.*-linux.* libc=6.1 mips.*-.*-linux.* libc=6 GLIBC_2.0 GLIBC_2.2 ia64-.*-.* libc=6.1 GLIBC_2.2 sh.*-.*-.* libc=6 GLIBC_2.2 +sparc64-.*-linux.* libc=6 GLIBC_2.2 .*-.*-linux.* libc=6 # libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release. @@ -52,7 +54,7 @@ sh.*-.*-.* libc=6 # The dynamic loader also requires different names. i.86-.*-linux.* ld=ld-linux.so.2 -sparc64-.*-linux.* ld=ld-linux.so.2 +sparc64-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2 sparc.*-.*-linux.* ld=ld-linux.so.2 alpha.*-.*-linux.* ld=ld-linux.so.2 arm.*-.*-linux.* ld=ld-linux.so.2 Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |