mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 22:30:07 +00:00
PowerPC: Fix __fe_nomask_env missing symbol
This patch fix the missing symbol __fe_nomask_env from commit
41e8926aa4
for GLIBC_2.1.
This commit is contained in:
parent
52bb65431f
commit
bd12ab55c0
18
ChangeLog
18
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.
|
||||
|
@ -24,10 +24,9 @@
|
||||
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)
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ();
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user