summary refs log tree commit diff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/fpu/fclrexcpt.c12
-rw-r--r--sysdeps/sparc/fpu/fegetenv.c12
-rw-r--r--sysdeps/sparc/fpu/fesetenv.c12
-rw-r--r--sysdeps/sparc/fpu/feupdateenv.c12
-rw-r--r--sysdeps/sparc/fpu/fgetexcptflg.c12
-rw-r--r--sysdeps/sparc/fpu/fraiseexcpt.c34
-rw-r--r--sysdeps/sparc/fpu/fsetexcptflg.c12
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h4
-rw-r--r--sysdeps/sparc/sparc64/fpu/bits/huge_val.h6
9 files changed, 75 insertions, 41 deletions
diff --git a/sysdeps/sparc/fpu/fclrexcpt.c b/sysdeps/sparc/fpu/fclrexcpt.c
index 8dc68e84e9..89673962e2 100644
--- a/sysdeps/sparc/fpu/fclrexcpt.c
+++ b/sysdeps/sparc/fpu/fclrexcpt.c
@@ -1,5 +1,5 @@
 /* Clear given exceptions in current floating-point environment.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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
@@ -19,8 +19,8 @@
 
 #include <fenv.h>
 
-void
-feclearexcept (int excepts)
+int
+__feclearexcept (int excepts)
 {
   fenv_t tmp;
 
@@ -29,4 +29,10 @@ feclearexcept (int excepts)
   tmp &= ~(excepts & FE_ALL_EXCEPT);
 
   __fenv_ldfsr (tmp);
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__feclearexcept, __old_feclearexcept)
+symbol_version (__old_feclearexcept, feclearexcept, GLIBC_2.1);
+default_symbol_version (__feclearexcept, feclearexcept, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/fpu/fegetenv.c b/sysdeps/sparc/fpu/fegetenv.c
index a796ccb731..f526cdd9c5 100644
--- a/sysdeps/sparc/fpu/fegetenv.c
+++ b/sysdeps/sparc/fpu/fegetenv.c
@@ -1,5 +1,5 @@
 /* Store current floating-point environment.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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
@@ -19,8 +19,14 @@
 
 #include <fenv.h>
 
-void
-fegetenv (fenv_t *envp)
+int
+__fegetenv (fenv_t *envp)
 {
   __fenv_stfsr (*envp);
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__fegetenv, __old_fegetenv)
+symbol_version (__old_fegetenv, fegetenv, GLIBC_2.1)
+default_symbol_version (__fegetenv, fegetenv, GLIBC_2.1.3)
diff --git a/sysdeps/sparc/fpu/fesetenv.c b/sysdeps/sparc/fpu/fesetenv.c
index 44c5b2629c..85c695a505 100644
--- a/sysdeps/sparc/fpu/fesetenv.c
+++ b/sysdeps/sparc/fpu/fesetenv.c
@@ -1,5 +1,5 @@
 /* Install given floating-point environment.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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
@@ -19,8 +19,8 @@
 
 #include <fenv.h>
 
-void
-fesetenv (const fenv_t *envp)
+int
+__fesetenv (const fenv_t *envp)
 {
   fenv_t dummy;
 
@@ -40,4 +40,10 @@ fesetenv (const fenv_t *envp)
     }
 
   __fenv_ldfsr (*envp);
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__fesetenv, __old_fesetenv)
+symbol_version (__old_fesetenv, fesetenv, GLIBC_2.1);
+default_symbol_version (__fesetenv, fesetenv, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/fpu/feupdateenv.c b/sysdeps/sparc/fpu/feupdateenv.c
index 0fba9975f8..6fce23e0eb 100644
--- a/sysdeps/sparc/fpu/feupdateenv.c
+++ b/sysdeps/sparc/fpu/feupdateenv.c
@@ -1,5 +1,5 @@
 /* Install given floating-point environment and raise exceptions.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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
@@ -19,8 +19,8 @@
 
 #include <fenv.h>
 
-void
-feupdateenv (const fenv_t *envp)
+int
+__feupdateenv (const fenv_t *envp)
 {
   fexcept_t tmp;
 
@@ -35,4 +35,10 @@ feupdateenv (const fenv_t *envp)
      defined format of the values in objects of type fexcept_t is the
      same as the ones specified using the FE_* constants.  */
   feraiseexcept ((int) tmp);
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__feupdateenv, __old_feupdateenv)
+symbol_version (__old_feupdateenv, feupdateenv, GLIBC_2.1);
+default_symbol_version (__feupdateenv, feupdateenv, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/fpu/fgetexcptflg.c b/sysdeps/sparc/fpu/fgetexcptflg.c
index 977c93e2ca..2674d3ac84 100644
--- a/sysdeps/sparc/fpu/fgetexcptflg.c
+++ b/sysdeps/sparc/fpu/fgetexcptflg.c
@@ -1,5 +1,5 @@
 /* Store current representation for exceptions.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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
@@ -19,8 +19,8 @@
 
 #include <fenv.h>
 
-void
-fegetexceptflag (fexcept_t *flagp, int excepts)
+int
+__fegetexceptflag (fexcept_t *flagp, int excepts)
 {
   fexcept_t tmp;
 
@@ -28,4 +28,10 @@ fegetexceptflag (fexcept_t *flagp, int excepts)
   __fenv_stfsr (tmp);
 
   *flagp = tmp & excepts & FE_ALL_EXCEPT;
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__fegetexceptflag, __old_fegetexceptflag)
+symbol_version (__old_fegetexceptflag, fegetexceptflag, GLIBC_2.1);
+default_symbol_version (__fegetexceptflag, fegetexceptflag, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/fpu/fraiseexcpt.c b/sysdeps/sparc/fpu/fraiseexcpt.c
index 28db8b360a..4b0b848ff7 100644
--- a/sysdeps/sparc/fpu/fraiseexcpt.c
+++ b/sysdeps/sparc/fpu/fraiseexcpt.c
@@ -1,5 +1,5 @@
 /* Raise given exceptions.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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,8 +20,8 @@
 #include <fenv.h>
 #include <math.h>
 
-void
-feraiseexcept (int excepts)
+int
+__feraiseexcept (int excepts)
 {
   static volatile double sink;
   static const struct {
@@ -37,32 +37,28 @@ feraiseexcept (int excepts)
 
   /* First: invalid exception.  */
   if ((FE_INVALID & excepts) != 0)
-    {
-      /* One example of a invalid operation is 0/0.  */
-      sink = c.zero / c.zero;
-    }
+    /* One example of a invalid operation is 0/0.  */
+    sink = c.zero / c.zero;
 
   /* Next: division by zero.  */
   if ((FE_DIVBYZERO & excepts) != 0)
-    {
-      sink = c.one / c.zero;
-    }
+    sink = c.one / c.zero;
 
   /* Next: overflow.  */
   if ((FE_OVERFLOW & excepts) != 0)
-    {
-      sink = c.max * c.max;
-    }
+    sink = c.max * c.max;
 
   /* Next: underflow.  */
   if ((FE_UNDERFLOW & excepts) != 0)
-    {
-      sink = c.min / c.sixteen;
-    }
+    sink = c.min / c.sixteen;
 
   /* Last: inexact.  */
   if ((FE_INEXACT & excepts) != 0)
-    {
-      sink = c.one / c.pi;
-    }
+    sink = c.one / c.pi;
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__feraiseexcept, __old_feraiseexcept)
+symbol_version (__old_feraiseexcept, feraiseexcept, GLIBC_2.1);
+default_symbol_version (__feraiseexcept, feraiseexcept, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/fpu/fsetexcptflg.c b/sysdeps/sparc/fpu/fsetexcptflg.c
index 1029cde03d..8d8a33b5e6 100644
--- a/sysdeps/sparc/fpu/fsetexcptflg.c
+++ b/sysdeps/sparc/fpu/fsetexcptflg.c
@@ -1,5 +1,5 @@
 /* Set floating-point environment exception handling.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999 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,8 +20,8 @@
 #include <fenv.h>
 #include <math.h>
 
-void
-fesetexceptflag (const fexcept_t *flagp, int excepts)
+int
+__fesetexceptflag (const fexcept_t *flagp, int excepts)
 {
   fenv_t tmp;
 
@@ -31,4 +31,10 @@ fesetexceptflag (const fexcept_t *flagp, int excepts)
   tmp |= *flagp & excepts & FE_ALL_EXCEPT;
 
   __fenv_ldfsr (tmp);
+
+  /* Success.  */
+  return 0;
 }
+strong_alias (__fesetexceptflag, __old_fesetexceptflag)
+symbol_version (__old_fesetexceptflag, fesetexceptflag, GLIBC_2.1);
+default_symbol_version (__fesetexceptflag, fesetexceptflag, GLIBC_2.1.3);
diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h
index e6debe05ac..8750791fe0 100644
--- a/sysdeps/sparc/sparc32/dl-machine.h
+++ b/sysdeps/sparc/sparc32/dl-machine.h
@@ -56,7 +56,9 @@ elf_machine_matches_host (Elf32_Half e_machine)
       weak_extern (_dl_hwcap_mask);
 
       hwcap = WEAKADDR(_dl_hwcap);
-      return hwcap && (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9);
+      /* XXX The following is wrong!  Dave Miller rejected to implement it
+	 correctly.  If this causes problems shoot *him*!  */
+      return hwcap == NULL || (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9);
     }
   else
     return 0;
diff --git a/sysdeps/sparc/sparc64/fpu/bits/huge_val.h b/sysdeps/sparc/sparc64/fpu/bits/huge_val.h
index 788527477c..cd93257cbd 100644
--- a/sysdeps/sparc/sparc64/fpu/bits/huge_val.h
+++ b/sysdeps/sparc/sparc64/fpu/bits/huge_val.h
@@ -54,9 +54,9 @@ static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
 #endif	/* GCC.  */
 
 
-/* ISO C 9X extensions: (float) HUGE_VALF and (long double) HUGE_VALL.  */
+/* ISO C99 extensions: (float) HUGE_VALF and (long double) HUGE_VALL.  */
 
-#ifdef __USE_ISOC9X
+#ifdef __USE_ISOC99
 
 # if __GNUC_PREREQ(2,95)
 
@@ -119,4 +119,4 @@ static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };
 
 # endif /* GCC 2.95.  */
 
-#endif /* __USE_ISOC9X.  */
+#endif /* __USE_ISOC99.  */