diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2013-11-26 07:25:08 -0600 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2013-11-26 07:25:08 -0600 |
commit | bd12ab55c05ec80f1fd0df0997b26526295bbac7 (patch) | |
tree | eaad2413dc537f0d83d6a2876cf13972cf403c47 | |
parent | 52bb65431f7e3aa66a8bfc86919b0a4bacfe4a54 (diff) | |
download | glibc-bd12ab55c05ec80f1fd0df0997b26526295bbac7.tar.gz glibc-bd12ab55c05ec80f1fd0df0997b26526295bbac7.tar.xz glibc-bd12ab55c05ec80f1fd0df0997b26526295bbac7.zip |
PowerPC: Fix __fe_nomask_env missing symbol
This patch fix the missing symbol __fe_nomask_env from commit 41e8926aa4b7f17bc95984737ee82a254ad0911c for GLIBC_2.1.
-rw-r--r-- | ChangeLog | 18 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/fe_nomask.c | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/feenablxcpt.c | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/fenv_libc.h | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/fenv_private.h | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/fesetenv.c | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/feupdateenv.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c | 4 |
9 files changed, 31 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog index e19ee278ea..585b09f0ee 100644 --- 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. diff --git a/sysdeps/powerpc/fpu/fe_nomask.c b/sysdeps/powerpc/fpu/fe_nomask.c index 5127000c26..f54c0760d5 100644 --- a/sysdeps/powerpc/fpu/fe_nomask.c +++ b/sysdeps/powerpc/fpu/fe_nomask.c @@ -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) diff --git a/sysdeps/powerpc/fpu/feenablxcpt.c b/sysdeps/powerpc/fpu/feenablxcpt.c index 472796d15c..35e977e1e0 100644 --- a/sysdeps/powerpc/fpu/feenablxcpt.c +++ b/sysdeps/powerpc/fpu/feenablxcpt.c @@ -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; diff --git a/sysdeps/powerpc/fpu/fenv_libc.h b/sysdeps/powerpc/fpu/fenv_libc.h index ecd6b9192a..74d633d942 100644 --- a/sysdeps/powerpc/fpu/fenv_libc.h +++ b/sysdeps/powerpc/fpu/fenv_libc.h @@ -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; diff --git a/sysdeps/powerpc/fpu/fenv_private.h b/sysdeps/powerpc/fpu/fenv_private.h index 293f840892..bc78c3ffb0 100644 --- a/sysdeps/powerpc/fpu/fenv_private.h +++ b/sysdeps/powerpc/fpu/fenv_private.h @@ -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 (); diff --git a/sysdeps/powerpc/fpu/fesetenv.c b/sysdeps/powerpc/fpu/fesetenv.c index 6c00b267ae..5de6ff5f71 100644 --- a/sysdeps/powerpc/fpu/fesetenv.c +++ b/sysdeps/powerpc/fpu/fesetenv.c @@ -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 diff --git a/sysdeps/powerpc/fpu/feupdateenv.c b/sysdeps/powerpc/fpu/feupdateenv.c index 677504416f..262e2135a6 100644 --- a/sysdeps/powerpc/fpu/feupdateenv.c +++ b/sysdeps/powerpc/fpu/feupdateenv.c @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c index 5a94dc5f7b..49b73d20a0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c index 70661ad65f..8532518ec2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c @@ -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 |