+2015-01-05 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #17748]
+ * include/fenv.h (__feholdexcept): Declare. Use
+ libm_hidden_proto.
+ * math/feholdexcpt.c (feholdexcept): Rename to __feholdexcept and
+ define as weak alias of __feholdexcept. Use libm_hidden_weak.
+ * sysdeps/aarch64/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/alpha/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/arm/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/ia64/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/m68k/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/mips/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/powerpc/nofpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/powerpc/powerpc32/e500/nofpu/feholdexcpt.c
+ (feholdexcept): Likewise.
+ * sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/x86_64/fpu/feholdexcpt.c (feholdexcept): Likewise.
+ * sysdeps/generic/math_private.h (default_libc_feholdexcept): Use
+ __feholdexcept instead of feholdexcept.
+ (default_libc_feholdexcept_setround): Likewise.
+
2015-01-05 Steve Ellcey <sellcey@imgtec.com>
* sysdeps/mips/memcpy.S: Add support for mips32r6/mips64r6.
extern int __fesetenv (const fenv_t *__envp);
extern int __feupdateenv (const fenv_t *__envp);
extern __typeof (fegetround) __fegetround;
+extern __typeof (feholdexcept) __feholdexcept;
libm_hidden_proto (feraiseexcept)
libm_hidden_proto (__feraiseexcept)
libm_hidden_proto (fesetenv)
libm_hidden_proto (fesetround)
libm_hidden_proto (feholdexcept)
+libm_hidden_proto (__feholdexcept)
libm_hidden_proto (feupdateenv)
libm_hidden_proto (fetestexcept)
libm_hidden_proto (feclearexcept)
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
/* No exception traps to disable and no state to save. */
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
stub_warning (feholdexcept)
#include <math_private.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
libc_feholdexcept_aarch64 (envp);
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv_libc.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
/* Save the current state. */
fegetenv(envp);
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
/* Fail if a VFP unit isn't present. */
if (!ARM_HAVE_VFP)
libc_feholdexcept_vfp (envp);
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
static __always_inline void
default_libc_feholdexcept (fenv_t *e)
{
- (void) feholdexcept (e);
+ (void) __feholdexcept (e);
}
#ifndef libc_feholdexcept
static __always_inline void
default_libc_feholdexcept_setround (fenv_t *e, int r)
{
- feholdexcept (e);
+ __feholdexcept (e);
fesetround (r);
}
#include <string.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
union { unsigned long long buf[4]; fenv_t env; } clear;
unsigned long long *bufptr;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <dl-procinfo.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
/* Store the environment. Recall that fnstenv has a side effect of
masking all exceptions. Then clear all exceptions. */
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_t fpsr;
/* Save the current state. */
/* Success. */
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fexcept_t fpcr, fpsr;
return 0;
}
-libm_hidden_def (feholdexcept);
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fpu_control.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fpu_control_t cw;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#define _FPU_MASK_ALL (_FPU_MASK_ZM | _FPU_MASK_OM | _FPU_MASK_UM | _FPU_MASK_XM | _FPU_MASK_IM)
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_union_t old, new;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include "soft-supp.h"
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_union_t u;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <sys/prctl.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_union_t u;
INTERNAL_SYSCALL_DECL (err);
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv_libc.h>
#include <fpu_control.h>
-int feholdexcept (fenv_t *envp)
+int __feholdexcept (fenv_t *envp)
{
fexcept_t fpc;
/* Store the environment. */
_FPU_SETCW ((fpc & ~(FE_ALL_EXCEPT << FPC_EXCEPTION_MASK_SHIFT)));
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fpu_control.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fpu_control_t temp;
/* Success. */
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_t tmp;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
unsigned int mxcsr;
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)