+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.
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)
new = __fegetexcept ();
if (new != 0 && result == 0)
- (void)__fe_nomask_env ();
+ (void) __fe_nomask_env_priv ();
if ((new & excepts) != excepts)
result = -1;
#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;
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
| (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 ();
| (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 ();
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
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
#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);
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
#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);
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