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] |