]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
PowerPC: Fix __fe_nomask_env missing symbol
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 26 Nov 2013 13:25:08 +0000 (07:25 -0600)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 26 Nov 2013 13:25:08 +0000 (07:25 -0600)
This patch fix the missing symbol __fe_nomask_env from commit
41e8926aa4b7f17bc95984737ee82a254ad0911c for GLIBC_2.1.

ChangeLog
sysdeps/powerpc/fpu/fe_nomask.c
sysdeps/powerpc/fpu/feenablxcpt.c
sysdeps/powerpc/fpu/fenv_libc.h
sysdeps/powerpc/fpu/fenv_private.h
sysdeps/powerpc/fpu/fesetenv.c
sysdeps/powerpc/fpu/feupdateenv.c
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c

index e19ee278eab7e69912ddba5d0ba3d10096f4f5b1..585b09f0eefb34981de29c9b8a9e7ca77b143635 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2013-11-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+       * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use
+       __fe_nomask_env_priv instead of __fe_nomask_env to avoid a PLT call.
+       * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Likewise.
+       * sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Likewise.
+       * sysdeps/powerpc/fpu/fenv_libc.h (__fe_nomask_env): Rename to
+       __fe_nomask_env_priv and attribute_hidden.
+       * sysdeps/powerpc/fpu/fenv_private.h (libc_fesetenv_ppc): Likewise.
+       (libc_feupdateenv_test_ppc): Likewise.
+       (libc_feresetround_ppc): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
+       (__fe_nomask_env): Rename to __fe_nomask_env_priv and adjust
+       compat_symbol macro.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
+       (__fe_nomask_env): Likewise.
+       * sysdeps/powerpc/fpu/fe_nomask.c (__fe_nomask_env): Likewise.
+
 2013-11-26  Ondřej Bílka  <neleai@seznam.cz>
 
        * string/Makefile: Remove ifunc tests.
index 5127000c267210953f38b2a5203741fe7b5ea558..f54c0760d542c826d575d4fad3a5315007658672 100644 (file)
    normally involve a syscall.  */
 
 const fenv_t *
-__fe_nomask_env(void)
+__fe_nomask_env_priv (void)
 {
   __set_errno (ENOSYS);
   return FE_ENABLED_ENV;
 }
-libm_hidden_def (__fe_nomask_env)
-stub_warning (__fe_nomask_env)
+stub_warning (__fe_nomask_env_priv)
index 472796d15c7731e036bfd3f1d0125640216c76ab..35e977e1e089324a4b272635062b56e7cea03ec5 100644 (file)
@@ -45,7 +45,7 @@ feenableexcept (int excepts)
 
   new = __fegetexcept ();
   if (new != 0 && result == 0)
-    (void)__fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   if ((new & excepts) != excepts)
     result = -1;
index ecd6b9192aaca94d0f23c500033b7570d2825b87..74d633d94247be72bfedef009d800e91ffeb060d 100644 (file)
@@ -23,7 +23,7 @@
 #include <ldsodefs.h>
 #include <sysdep.h>
 
-extern const fenv_t *__fe_nomask_env (void) attribute_hidden;
+extern const fenv_t *__fe_nomask_env_priv (void);
 
 extern const fenv_t *__fe_mask_env (void) attribute_hidden;
 
index 293f84089261c4768b106a5cd4ab9a8941b60ff7..bc78c3ffb0d5661cb0bbb19f36d20c4f4f072510 100644 (file)
@@ -96,7 +96,7 @@ libc_fesetenv_ppc (const fenv_t *envp)
      hardware into "precise mode" and may cause the FPU to run slower on some
      hardware.  */
   if ((old.l & _FPU_MASK_ALL) == 0 && (new.l & _FPU_MASK_ALL) != 0)
-    (void) __fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   /* If the old env had any enabled exceptions and the new env has no enabled
      exceptions, then mask SIGFPE in the MSR FE0/FE1 bits.  This may allow the
@@ -123,7 +123,7 @@ libc_feupdateenv_test_ppc (fenv_t *envp, int ex)
           | (new.l & _FPU_MASK_FRAC_INEX_RET_CC);
 
   if ((old.l & _FPU_MASK_ALL) == 0 && (new.l & _FPU_MASK_ALL) != 0)
-    (void) __fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   if ((old.l & _FPU_MASK_ALL) != 0 && (new.l & _FPU_MASK_ALL) == 0)
     (void) __fe_mask_env ();
@@ -169,7 +169,7 @@ libc_feresetround_ppc (fenv_t *envp)
           | (new.l & _FPU_MASK_FRAC_INEX_RET_CC);
 
   if ((old.l & _FPU_MASK_ALL) == 0 && (new.l & _FPU_MASK_ALL) != 0)
-    (void) __fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   if ((old.l & _FPU_MASK_ALL) != 0 && (new.l & _FPU_MASK_ALL) == 0)
     (void) __fe_mask_env ();
index 6c00b267ae6f6446c5a61c06bbcc919096c3361b..5de6ff5f7155d3611197f83dfcc542d4bb8890f9 100644 (file)
@@ -35,7 +35,7 @@ __fesetenv (const fenv_t *envp)
      hardware into "precise mode" and may cause the FPU to run slower on some
      hardware.  */
   if ((old.l & _FPU_MASK_ALL) == 0 && (new.l & _FPU_MASK_ALL) != 0)
-    (void)__fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   /* If the old env had any enabled exceptions and the new env has no enabled
      exceptions, then mask SIGFPE in the MSR FE0/FE1 bits.  This may allow the
index 677504416f34a4aaf8e6b3eddf4a3b2622f65457..262e2135a6476b7ddc4d440a3e6c02f1cc8e25c7 100644 (file)
@@ -41,7 +41,7 @@ __feupdateenv (const fenv_t *envp)
      the hardware into "precise mode" and may cause the FPU to run slower on
      some hardware.  */
   if ((old.l & _FPU_MASK_ALL) == 0 && (new.l & _FPU_MASK_ALL) != 0)
-    (void)__fe_nomask_env ();
+    (void) __fe_nomask_env_priv ();
 
   /* If the old env had any enabled exceptions and the new env has no enabled
      exceptions, then mask SIGFPE in the MSR FE0/FE1 bits.  This may allow the
index 5a94dc5f7be792016201d1b1d0095442373e293f..49b73d20a0be5c117d033f44df4cccf8fa1abc05 100644 (file)
@@ -26,7 +26,7 @@
 #include <shlib-compat.h>
 
 const fenv_t *
-__fe_nomask_env (void)
+__fe_nomask_env_priv (void)
 {
   INTERNAL_SYSCALL_DECL (err);
   INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
@@ -34,5 +34,5 @@ __fe_nomask_env (void)
   return FE_ENABLED_ENV;
 }
 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_19)
-compat_symbol (libm, __fe_nomask_env, __fe_nomask_env, GLIBC_2_1);
+compat_symbol (libm, __fe_nomask_env_priv, __fe_nomask_env, GLIBC_2_1);
 #endif
index 70661ad65f6a1c709c1c91f8d7dfff14dd08336e..8532518ec27e23dce2d46f34e83cde7cdd81ca6c 100644 (file)
@@ -25,7 +25,7 @@
 #include <shlib-compat.h>
 
 const fenv_t *
-__fe_nomask_env (void)
+__fe_nomask_env_priv (void)
 {
 #if defined PR_SET_FPEXC && defined PR_FP_EXC_PRECISE
   INTERNAL_SYSCALL_DECL (err);
@@ -36,5 +36,5 @@ __fe_nomask_env (void)
   return FE_ENABLED_ENV;
 }
 #if SHLIB_COMPAT (libm, GLIBC_2_3, GLIBC_2_19)
-compat_symbol (libm, __fe_nomask_env, __fe_nomask_env, GLIBC_2_3);
+compat_symbol (libm, __fe_nomask_env_priv, __fe_nomask_env, GLIBC_2_3);
 #endif