about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog33
-rw-r--r--include/fenv.h1
-rw-r--r--math/fegetenv.c1
-rw-r--r--sysdeps/aarch64/fpu/fegetenv.c6
-rw-r--r--sysdeps/alpha/fpu/fegetenv.c1
-rw-r--r--sysdeps/arm/fegetenv.c6
-rw-r--r--sysdeps/generic/math_private.h4
-rw-r--r--sysdeps/hppa/fpu/fegetenv.c6
-rw-r--r--sysdeps/i386/fpu/fegetenv.c1
-rw-r--r--sysdeps/ia64/fpu/fegetenv.c6
-rw-r--r--sysdeps/m68k/fpu/fegetenv.c1
-rw-r--r--sysdeps/mips/fpu/fegetenv.c6
-rw-r--r--sysdeps/powerpc/fpu/fegetenv.c1
-rw-r--r--sysdeps/powerpc/nofpu/fegetenv.c1
-rw-r--r--sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c1
-rw-r--r--sysdeps/s390/fpu/fegetenv.c6
-rw-r--r--sysdeps/sh/sh4/fpu/fegetenv.c6
-rw-r--r--sysdeps/sparc/fpu/fegetenv.c1
-rw-r--r--sysdeps/tile/math_private.h1
-rw-r--r--sysdeps/x86_64/fpu/fegetenv.c6
20 files changed, 77 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index d9d679041a..fc7a34e350 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2014-12-31  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17748]
+	* include/fenv.h (__fegetenv): Use libm_hidden_proto.
+	* math/fegetenv.c (__fegetenv): Use libm_hidden_def.
+	* sysdeps/aarch64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv
+	and define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/alpha/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
+	* sysdeps/arm/fegetenv.c (fegetenv): Rename to __fegetenv and
+	define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/hppa/fpu/fegetenv.c (fegetenv): Likewise.
+	* sysdeps/i386/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
+	* sysdeps/ia64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
+	define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/m68k/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
+	* sysdeps/mips/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
+	define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/powerpc/fpu/fegetenv.c (__fegetenv): Use
+	libm_hidden_def.
+	* sysdeps/powerpc/nofpu/fegetenv.c (__fegetenv): Likewise.
+	* sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c (__fegetenv):
+	Likewise.
+	* sysdeps/s390/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
+	define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/sh/sh4/fpu/fegetenv.c (fegetenv): Likewise.
+	* sysdeps/sparc/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
+	* sysdeps/tile/math_private.h (__fegetenv): New inline function.
+	* sysdeps/x86_64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv
+	and define as weak alias of __fegetenv.  Use libm_hidden_weak.
+	* sysdeps/generic/math_private.h (libc_feholdsetround_ctx): Use
+	__fegetenv instead of fegetenv.
+	(libc_feholdsetround_noex_ctx): Likewise.
+
 2014-12-31  Matthew Fortune  <matthew.fortune@imgtec.com>
 
 	* elf/elf.h (PT_MIPS_ABIFLAGS): Define.
diff --git a/include/fenv.h b/include/fenv.h
index 0cfbacd4ab..bc8f759e17 100644
--- a/include/fenv.h
+++ b/include/fenv.h
@@ -17,6 +17,7 @@ extern int __feupdateenv (const fenv_t *__envp);
 libm_hidden_proto (feraiseexcept)
 libm_hidden_proto (__feraiseexcept)
 libm_hidden_proto (fegetenv)
+libm_hidden_proto (__fegetenv)
 libm_hidden_proto (fegetround)
 libm_hidden_proto (fesetenv)
 libm_hidden_proto (fesetround)
diff --git a/math/fegetenv.c b/math/fegetenv.c
index c031488b2f..39b843b08c 100644
--- a/math/fegetenv.c
+++ b/math/fegetenv.c
@@ -30,6 +30,7 @@ __fegetenv (fenv_t *envp)
 strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
 
diff --git a/sysdeps/aarch64/fpu/fegetenv.c b/sysdeps/aarch64/fpu/fegetenv.c
index 4c88fbfa43..ae75f39ed7 100644
--- a/sysdeps/aarch64/fpu/fegetenv.c
+++ b/sysdeps/aarch64/fpu/fegetenv.c
@@ -20,7 +20,7 @@
 #include <fpu_control.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   fpu_control_t fpcr;
   fpu_fpsr_t fpsr;
@@ -30,4 +30,6 @@ fegetenv (fenv_t *envp)
   envp->__fpsr = fpsr;
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/alpha/fpu/fegetenv.c b/sysdeps/alpha/fpu/fegetenv.c
index ef688f20a3..36baf411be 100644
--- a/sysdeps/alpha/fpu/fegetenv.c
+++ b/sysdeps/alpha/fpu/fegetenv.c
@@ -43,5 +43,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
 libm_hidden_ver(__fegetenv, fegetenv)
diff --git a/sysdeps/arm/fegetenv.c b/sysdeps/arm/fegetenv.c
index f390c0fdf7..ec38a5145d 100644
--- a/sysdeps/arm/fegetenv.c
+++ b/sysdeps/arm/fegetenv.c
@@ -22,7 +22,7 @@
 
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   fpu_control_t fpscr;
 
@@ -34,4 +34,6 @@ fegetenv (fenv_t *envp)
   envp->__cw = fpscr;
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
index 94c1e4a192..2b07f20a6f 100644
--- a/sysdeps/generic/math_private.h
+++ b/sysdeps/generic/math_private.h
@@ -598,7 +598,7 @@ libc_feholdsetround_ctx (struct rm_ctx *ctx, int round)
   if (__glibc_unlikely (round != get_rounding_mode ()))
     {
       ctx->updated_status = true;
-      fegetenv (&ctx->env);
+      __fegetenv (&ctx->env);
       fesetround (round);
     }
 }
@@ -615,7 +615,7 @@ static __always_inline void
 libc_feholdsetround_noex_ctx (struct rm_ctx *ctx, int round)
 {
   /* Save exception flags and rounding mode.  */
-  fegetenv (&ctx->env);
+  __fegetenv (&ctx->env);
 
   /* Update rounding mode only if different.  */
   if (__glibc_unlikely (round != get_rounding_mode ()))
diff --git a/sysdeps/hppa/fpu/fegetenv.c b/sysdeps/hppa/fpu/fegetenv.c
index 7028fe4a22..ee7fa1677f 100644
--- a/sysdeps/hppa/fpu/fegetenv.c
+++ b/sysdeps/hppa/fpu/fegetenv.c
@@ -21,7 +21,7 @@
 #include <string.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   unsigned long long buf[4], *bufptr = buf;
 
@@ -32,4 +32,6 @@ fegetenv (fenv_t *envp)
   memcpy(envp, buf, sizeof (*envp));
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/i386/fpu/fegetenv.c b/sysdeps/i386/fpu/fegetenv.c
index 8c45b6b8cb..b578703fdf 100644
--- a/sysdeps/i386/fpu/fegetenv.c
+++ b/sysdeps/i386/fpu/fegetenv.c
@@ -44,5 +44,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/ia64/fpu/fegetenv.c b/sysdeps/ia64/fpu/fegetenv.c
index d337dda0c2..8d46e23151 100644
--- a/sysdeps/ia64/fpu/fegetenv.c
+++ b/sysdeps/ia64/fpu/fegetenv.c
@@ -20,10 +20,12 @@
 #include <fenv.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (*envp));
 
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/m68k/fpu/fegetenv.c b/sysdeps/m68k/fpu/fegetenv.c
index 7feac6426f..c31a5f5ece 100644
--- a/sysdeps/m68k/fpu/fegetenv.c
+++ b/sysdeps/m68k/fpu/fegetenv.c
@@ -40,5 +40,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/mips/fpu/fegetenv.c b/sysdeps/mips/fpu/fegetenv.c
index b87d35f0de..d52c9de3dc 100644
--- a/sysdeps/mips/fpu/fegetenv.c
+++ b/sysdeps/mips/fpu/fegetenv.c
@@ -21,11 +21,13 @@
 #include <fpu_control.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   _FPU_GETCW (*envp);
 
   /* Success.  */
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/powerpc/fpu/fegetenv.c b/sysdeps/powerpc/fpu/fegetenv.c
index 3e552bc9c5..69c48de8bd 100644
--- a/sysdeps/powerpc/fpu/fegetenv.c
+++ b/sysdeps/powerpc/fpu/fegetenv.c
@@ -33,5 +33,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fegetenv.c b/sysdeps/powerpc/nofpu/fegetenv.c
index 8501a05b69..032778a94a 100644
--- a/sysdeps/powerpc/nofpu/fegetenv.c
+++ b/sysdeps/powerpc/nofpu/fegetenv.c
@@ -40,5 +40,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c b/sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c
index 5faabe8246..67b0e5483c 100644
--- a/sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c
+++ b/sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c
@@ -43,6 +43,7 @@ __fegetenv (fenv_t *envp)
 strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/s390/fpu/fegetenv.c b/sysdeps/s390/fpu/fegetenv.c
index 7e68ceb30b..cfbc5ce43a 100644
--- a/sysdeps/s390/fpu/fegetenv.c
+++ b/sysdeps/s390/fpu/fegetenv.c
@@ -21,11 +21,13 @@
 #include <fpu_control.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   _FPU_GETCW (envp->__fpc);
 
   /* Success.  */
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/sh/sh4/fpu/fegetenv.c b/sysdeps/sh/sh4/fpu/fegetenv.c
index 2dc26967f0..c97cfbd6f8 100644
--- a/sysdeps/sh/sh4/fpu/fegetenv.c
+++ b/sysdeps/sh/sh4/fpu/fegetenv.c
@@ -20,7 +20,7 @@
 #include <fpu_control.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   fpu_control_t temp;
   _FPU_GETCW (temp);
@@ -29,4 +29,6 @@ fegetenv (fenv_t *envp)
 
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)
diff --git a/sysdeps/sparc/fpu/fegetenv.c b/sysdeps/sparc/fpu/fegetenv.c
index 55600d5bec..b9873595a4 100644
--- a/sysdeps/sparc/fpu/fegetenv.c
+++ b/sysdeps/sparc/fpu/fegetenv.c
@@ -33,5 +33,6 @@ strong_alias (__fegetenv, __old_fegetenv)
 compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
 #endif
 
+libm_hidden_def (__fegetenv)
 libm_hidden_ver (__fegetenv, fegetenv)
 versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/tile/math_private.h b/sysdeps/tile/math_private.h
index 035a83fd37..70e4fb2060 100644
--- a/sysdeps/tile/math_private.h
+++ b/sysdeps/tile/math_private.h
@@ -30,6 +30,7 @@
 #define feclearexcept(exc)			({ 0; })
 #define fetestexcept(exc)			({ 0; })
 extern inline int fegetenv (fenv_t *__e)	{ return 0; }
+extern inline int __fegetenv (fenv_t *__e)	{ return 0; }
 extern inline int fesetenv (const fenv_t *__e)	{ return 0; }
 extern inline int feupdateenv (const fenv_t *__e) { return 0; }
 extern inline int fegetround (void)		{ return FE_TONEAREST; }
diff --git a/sysdeps/x86_64/fpu/fegetenv.c b/sysdeps/x86_64/fpu/fegetenv.c
index 0e0c269375..d150e8fc43 100644
--- a/sysdeps/x86_64/fpu/fegetenv.c
+++ b/sysdeps/x86_64/fpu/fegetenv.c
@@ -19,7 +19,7 @@
 #include <fenv.h>
 
 int
-fegetenv (fenv_t *envp)
+__fegetenv (fenv_t *envp)
 {
   __asm__ ("fnstenv %0\n"
 	   /* fnstenv changes the exception mask, so load back the
@@ -30,4 +30,6 @@ fegetenv (fenv_t *envp)
   /* Success.  */
   return 0;
 }
-libm_hidden_def (fegetenv)
+libm_hidden_def (__fegetenv)
+weak_alias (__fegetenv, fegetenv)
+libm_hidden_weak (fegetenv)