#include <math_private.h>
#include <math-svid-compat.h>
#include <libm-alias-float.h>
+#include <shlib-compat.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_43)
float
-__coshf (float x)
+__cosh_compatf (float x)
{
float z = __ieee754_coshf (x);
if (__builtin_expect (!isfinite (z), 0) && isfinite (x)
return z;
}
-libm_alias_float (__cosh, cosh)
+# ifdef NO_COMPAT_NEEDED
+strong_alias (__cosh_compatf, __coshf)
+libm_alias_float (__cosh_compat, cosh)
+# else
+compat_symbol (libm, __cosh_compatf, coshf, GLIBC_2_0);
+# endif
#endif
#include <stdint.h>
#include <math.h>
#include <libm-alias-finite.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
#include "math_config.h"
#include "e_sincoshf_data.h"
float
-__ieee754_coshf (float x)
+__coshf (float x)
{
const double iln2 = 0x1.71547652b82fep+5;
double z = x;
}
return ub;
}
+strong_alias (__coshf, __ieee754_coshf)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __coshf, coshf, GLIBC_2_43);
+libm_alias_float_other (__cosh, cosh)
+#else
+libm_alias_float (__cosh, cosh)
+#endif
libm_alias_finite (__ieee754_coshf, __coshf)
--- /dev/null
+/* m68k provides an optimized __ieee754_coshhf. */
+#ifdef SHARED
+# define NO_COMPAT_NEEDED 1
+# include <math/w_coshf_compat.c>
+#else
+# include <math-type-macros-float.h>
+# include <w_cosh_template.c>
+#endif