+2017-09-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/generic/math-type-macros-double.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * sysdeps/generic/math-type-macros-float.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * sysdeps/generic/math-type-macros-ldouble.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT
+ condition.
+ * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT].
+ * math/w_acosf_compat.c: Likewise.
+ * math/w_acosh_compat.c: Likewise.
+ * math/w_acoshf_compat.c: Likewise.
+ * math/w_acoshl_compat.c: Likewise.
+ * math/w_acosl_compat.c: Likewise.
+ * math/w_asin_compat.c: Likewise.
+ * math/w_asinf_compat.c: Likewise.
+ * math/w_asinl_compat.c: Likewise.
+ * math/w_atan2_compat.c: Likewise.
+ * math/w_atan2f_compat.c: Likewise.
+ * math/w_atan2l_compat.c: Likewise.
+ * math/w_atanh_compat.c: Likewise.
+ * math/w_atanhf_compat.c: Likewise.
+ * math/w_atanhl_compat.c: Likewise.
+ * math/w_cosh_compat.c: Likewise.
+ * math/w_coshf_compat.c: Likewise.
+ * math/w_coshl_compat.c: Likewise.
+ * math/w_exp10_compat.c: Likewise.
+ * math/w_exp10f_compat.c: Likewise.
+ * math/w_exp10l_compat.c: Likewise.
+ * math/w_exp2_compat.c: Likewise.
+ * math/w_exp2f_compat.c: Likewise.
+ * math/w_exp2l_compat.c: Likewise.
+ * math/w_fmod_compat.c: Likewise.
+ * math/w_fmodf_compat.c: Likewise.
+ * math/w_fmodl_compat.c: Likewise.
+ * math/w_hypot_compat.c: Likewise.
+ * math/w_hypotf_compat.c: Likewise.
+ * math/w_hypotl_compat.c: Likewise.
+ * math/w_j0_compat.c: Likewise.
+ * math/w_j0f_compat.c: Likewise.
+ * math/w_j0l_compat.c: Likewise.
+ * math/w_j1_compat.c: Likewise.
+ * math/w_j1f_compat.c: Likewise.
+ * math/w_j1l_compat.c: Likewise.
+ * math/w_jn_compat.c: Likewise.
+ * math/w_jnf_compat.c: Likewise.
+ * math/w_jnl_compat.c: Likewise.
+ * math/w_lgamma_r_compat.c: Likewise.
+ * math/w_lgammaf_r_compat.c: Likewise.
+ * math/w_lgammal_r_compat.c: Likewise.
+ * math/w_log10_compat.c: Likewise.
+ * math/w_log10f_compat.c: Likewise.
+ * math/w_log10l_compat.c: Likewise.
+ * math/w_log2_compat.c: Likewise.
+ * math/w_log2f_compat.c: Likewise.
+ * math/w_log2l_compat.c: Likewise.
+ * math/w_log_compat.c: Likewise.
+ * math/w_logf_compat.c: Likewise.
+ * math/w_logl_compat.c: Likewise.
+ * math/w_pow_compat.c: Likewise.
+ * math/w_powf_compat.c: Likewise.
+ * math/w_powl_compat.c: Likewise.
+ * math/w_remainder_compat.c: Likewise.
+ * math/w_remainderf_compat.c: Likewise.
+ * math/w_remainderl_compat.c: Likewise.
+ * math/w_sinh_compat.c: Likewise.
+ * math/w_sinhf_compat.c: Likewise.
+ * math/w_sinhl_compat.c: Likewise.
+ * math/w_sqrt_compat.c: Likewise.
+ * math/w_sqrtf_compat.c: Likewise.
+ * math/w_sqrtl_compat.c: Likewise.
+ * math/w_tgamma_compat.c: Likewise.
+ * math/w_tgammaf_compat.c: Likewise.
+ * math/w_tgammal_compat.c: Likewise.
+ * math/w_scalb_compat.c (sysv_scalb): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT].
+ * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT].
+ * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT].
+ * sysdeps/i386/fpu/w_sqrt.c: New file.
+ * sysdeps/ia64/fpu/w_acos.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosf.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosh.c: Likewise.
+ * sysdeps/ia64/fpu/w_acoshf.c: Likewise.
+ * sysdeps/ia64/fpu/w_acoshl.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosl.c: Likewise.
+ * sysdeps/ia64/fpu/w_asin.c: Likewise.
+ * sysdeps/ia64/fpu/w_asinf.c: Likewise.
+ * sysdeps/ia64/fpu/w_asinl.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanh.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanhf.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanhl.c: Likewise.
+ * sysdeps/ia64/fpu/w_cosh.c: Likewise.
+ * sysdeps/ia64/fpu/w_coshf.c: Likewise.
+ * sysdeps/ia64/fpu/w_coshl.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10f.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10l.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_expf.c: Likewise.
+ * sysdeps/ia64/fpu/w_expl.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmod.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmodf.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmodl.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypot.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypotf.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypotl.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_log.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10f.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10l.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_logf.c: Likewise.
+ * sysdeps/ia64/fpu/w_logl.c: Likewise.
+ * sysdeps/ia64/fpu/w_pow.c: Likewise.
+ * sysdeps/ia64/fpu/w_powf.c: Likewise.
+ * sysdeps/ia64/fpu/w_powl.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainder.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainderf.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainderl.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinh.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinhf.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinhl.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrt.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrtf.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrtl.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgamma.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgammaf.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgammal.c: Likewise.
+ * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on
+ [LIBM_SVID_COMPAT].
+ * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
+ * sysdeps/ieee754/k_standard.c: Likewise.
+ * sysdeps/ieee754/k_standardf.c: Likewise.
+ * sysdeps/ieee754/k_standardl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition
+ long_double_symbol call on [LIBM_SVID_COMPAT].
+ * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition
+ long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].
+
2017-09-05 Steve Ellcey <sellcey@cavium.com>
* include/shlib-compat.h (TEST_COMPAT): New Macro.
#define HAVE_LGAMMA_COMPAT SHLIB_COMPAT (libm, LGAMMA_OLD_VER, LGAMMA_NEW_VER)
/* Whether to build this version at all. */
-#define BUILD_LGAMMA (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT)
+#define BUILD_LGAMMA \
+ (LIBM_SVID_COMPAT && (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT))
/* The name to use for this version. */
#if USE_AS_COMPAT
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acos */
double
__acos (double x)
return __ieee754_acos (x);
}
weak_alias (__acos, acos)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__acos, __acosl)
weak_alias (__acos, acosl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosf */
float
__acosf (float x)
return __ieee754_acosf (x);
}
weak_alias (__acosf, acosf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosh */
double
__acosh (double x)
return __ieee754_acosh (x);
}
weak_alias (__acosh, acosh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__acosh, __acoshl)
weak_alias (__acosh, acoshl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acoshf */
float
__acoshf (float x)
return __ieee754_acoshf (x);
}
weak_alias (__acoshf, acoshf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosl */
long double
__acoshl (long double x)
return __ieee754_acoshl (x);
}
weak_alias (__acoshl, acoshl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosl */
long double
__acosl (long double x)
return __ieee754_acosl (x);
}
weak_alias (__acosl, acosl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asin */
double
__asin (double x)
return __ieee754_asin (x);
}
weak_alias (__asin, asin)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__asin, __asinl)
weak_alias (__asin, asinl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asinf */
float
__asinf (float x)
return __ieee754_asinf (x);
}
weak_alias (__asinf, asinf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asinl */
long double
__asinl (long double x)
return __ieee754_asinl (x);
}
weak_alias (__asinl, asinl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__atan2 (double y, double x)
{
return z;
}
weak_alias (__atan2, atan2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__atan2, __atan2l)
weak_alias (__atan2, atan2l)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__atan2f (float y, float x)
{
return z;
}
weak_alias (__atan2f, atan2f)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__atan2l (long double y, long double x)
{
return z;
}
weak_alias (__atan2l, atan2l)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanh */
double
__atanh (double x)
return __ieee754_atanh (x);
}
weak_alias (__atanh, atanh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__atanh, __atanhl)
weak_alias (__atanh, atanhl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanhf */
float
__atanhf (float x)
return __ieee754_atanhf (x);
}
weak_alias (__atanhf, atanhf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanhl */
long double
__atanhl (long double x)
return __ieee754_atanhl (x);
}
weak_alias (__atanhl, atanhl)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__cosh (double x)
{
return z;
}
weak_alias (__cosh, cosh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__cosh, __coshl)
weak_alias (__cosh, coshl)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__coshf (float x)
{
return z;
}
weak_alias (__coshf, coshf)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__coshl (long double x)
{
return z;
}
weak_alias (__coshl, coshl)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__exp10 (double x)
{
return z;
}
weak_alias (__exp10, exp10)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10, __pow10)
compat_symbol (libm, __pow10, pow10, GLIBC_2_1);
-#endif
-#ifdef NO_LONG_DOUBLE
+# endif
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp10, __exp10l)
weak_alias (__exp10, exp10l)
-# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__exp10f (float x)
{
return z;
}
weak_alias (__exp10f, exp10f)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10f, __pow10f)
compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__exp10l (long double x)
{
return z;
}
weak_alias (__exp10l, exp10l)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__exp2 (double x)
{
return z;
}
weak_alias (__exp2, exp2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp2, __exp2l)
weak_alias (__exp2, exp2l)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__exp2f (float x)
{
return z;
}
weak_alias (__exp2f, exp2f)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__exp2l (long double x)
{
return z;
}
weak_alias (__exp2l, exp2l)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmod */
double
__fmod (double x, double y)
return __ieee754_fmod (x, y);
}
weak_alias (__fmod, fmod)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__fmod, __fmodl)
weak_alias (__fmod, fmodl)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmodf */
float
__fmodf (float x, float y)
return __ieee754_fmodf (x, y);
}
weak_alias (__fmodf, fmodf)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmodl */
long double
__fmodl (long double x, long double y)
return __ieee754_fmodl (x, y);
}
weak_alias (__fmodl, fmodl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__hypot (double x, double y)
{
return z;
}
weak_alias (__hypot, hypot)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__hypot, __hypotl)
weak_alias (__hypot, hypotl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__hypotf(float x, float y)
{
return z;
}
weak_alias (__hypotf, hypotf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__hypotl(long double x, long double y)
{
return z;
}
weak_alias (__hypotl, hypotl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0 */
double
j0 (double x)
return __ieee754_j0 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (j0, j0l)
-#endif
+# endif
/* wrapper y0 */
return __ieee754_y0 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (y0, y0l)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0f */
float
j0f (float x)
return __ieee754_y0f (x);
}
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0l */
long double
__j0l (long double x)
return __ieee754_y0l (x);
}
weak_alias (__y0l, y0l)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1 */
double
j1 (double x)
return __ieee754_j1 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (j1, j1l)
-#endif
+# endif
/* wrapper y1 */
return __ieee754_y1 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (y1, y1l)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1f */
float
j1f (float x)
return __ieee754_y1f (x);
}
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1l */
long double
__j1l (long double x)
return __ieee754_y1l (x);
}
weak_alias (__y1l, y1l)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper jn */
double
jn (int n, double x)
return __ieee754_jn (n, x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (jn, jnl)
-#endif
+# endif
/* wrapper yn */
return __ieee754_yn (n, x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (yn, ynl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper jnf */
float
jnf (int n, float x)
return __ieee754_ynf (n, x);
}
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double __jnl(int n, long double x) /* wrapper jnl */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_jnl(n,x);
-#else
+# else
long double z;
z = __ieee754_jnl(n,x);
if (_LIB_VERSION == _IEEE_
return __kernel_standard_l((double)n,x,238); /* jn(|x|>X_TLOSS,n) */
} else
return z;
-#endif
+# endif
}
weak_alias (__jnl, jnl)
long double __ynl(int n, long double x) /* wrapper ynl */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_ynl(n,x);
-#else
+# else
long double z;
z = __ieee754_ynl(n,x);
if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
return __kernel_standard_l((double)n,x,239); /* yn(x>X_TLOSS,n) */
} else
return z;
-#endif
+# endif
}
weak_alias (__ynl, ynl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__lgamma_r(double x, int *signgamp)
{
return y;
}
weak_alias (__lgamma_r, lgamma_r)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__lgamma_r, __lgammal_r)
weak_alias (__lgamma_r, lgammal_r)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__lgammaf_r(float x, int *signgamp)
{
return y;
}
weak_alias (__lgammaf_r, lgammaf_r)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__lgammal_r(long double x, int *signgamp)
{
return y;
}
weak_alias (__lgammal_r, lgammal_r)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10(x) */
double
__log10 (double x)
return __ieee754_log10 (x);
}
weak_alias (__log10, log10)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log10, __log10l)
weak_alias (__log10, log10l)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10f(x) */
float
__log10f (float x)
return __ieee754_log10f (x);
}
weak_alias (__log10f, log10f)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10l(x) */
long double
__log10l (long double x)
return __ieee754_log10l (x);
}
weak_alias (__log10l, log10l)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2(x) */
double
__log2 (double x)
return __ieee754_log2 (x);
}
weak_alias (__log2, log2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log2, __log2l)
weak_alias (__log2, log2l)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2f(x) */
float
__log2f (float x)
return __ieee754_log2f (x);
}
weak_alias (__log2f, log2f)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2l(x) */
long double
__log2l (long double x)
return __ieee754_log2l (x);
}
weak_alias (__log2l, log2l)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log(x) */
double
__log (double x)
return __ieee754_log (x);
}
weak_alias (__log, log)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log, __logl)
weak_alias (__log, logl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper logf(x) */
float
__logf (float x)
return __ieee754_logf (x);
}
weak_alias (__logf, logf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper logl(x) */
long double
__logl (long double x)
return __ieee754_logl (x);
}
weak_alias (__logl, logl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper pow */
double
__pow (double x, double y)
return z;
}
weak_alias (__pow, pow)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__pow, __powl)
weak_alias (__pow, powl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper powf */
float
__powf (float x, float y)
return z;
}
weak_alias (__powf, powf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper powl */
long double
__powl (long double x, long double y)
return z;
}
weak_alias (__powl, powl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainder */
double
__remainder (double x, double y)
}
weak_alias (__remainder, remainder)
weak_alias (__remainder, drem)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__remainder, __remainderl)
weak_alias (__remainder, remainderl)
weak_alias (__remainder, dreml)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainderf */
float
__remainderf (float x, float y)
}
weak_alias (__remainderf, remainderf)
weak_alias (__remainderf, dremf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainderl */
long double
__remainderl (long double x, long double y)
}
weak_alias (__remainderl, remainderl)
weak_alias (__remainderl, dreml)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static double
__attribute__ ((noinline))
sysv_scalb (double x, double fn)
return z;
}
+#endif
/* Wrapper scalb */
double
__scalb (double x, double fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalb (x, fn);
else
+#endif
{
double z = __ieee754_scalb (x, fn);
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static float
__attribute__ ((noinline))
sysv_scalbf (float x, float fn)
return z;
}
+#endif
/* Wrapper scalbf */
float
__scalbf (float x, float fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalbf (x, fn);
else
+#endif
{
float z = __ieee754_scalbf (x, fn);
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static long double
__attribute__ ((noinline))
sysv_scalbl (long double x, long double fn)
return z;
}
+#endif
/* Wrapper scalbl */
long double
__scalbl (long double x, long double fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalbl (x, fn);
else
+#endif
{
long double z = __ieee754_scalbl (x, fn);
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__sinh (double x)
{
return z;
}
weak_alias (__sinh, sinh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__sinh, __sinhl)
weak_alias (__sinh, sinhl)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__sinhf (float x)
{
return z;
}
weak_alias (__sinhf, sinhf)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__sinhl (long double x)
{
return z;
}
weak_alias (__sinhl, sinhl)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrt */
double
__sqrt (double x)
return __ieee754_sqrt (x);
}
weak_alias (__sqrt, sqrt)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__sqrt, __sqrtl)
weak_alias (__sqrt, sqrtl)
+# endif
#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrtf */
float
__sqrtf (float x)
return __ieee754_sqrtf (x);
}
weak_alias (__sqrtf, sqrtf)
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrtl */
long double
__sqrtl (long double x)
return __ieee754_sqrtl (x);
}
weak_alias (__sqrtl, sqrtl)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__tgamma(double x)
{
return local_signgam < 0 ? -y : y;
}
weak_alias (__tgamma, tgamma)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__tgamma, __tgammal)
weak_alias (__tgamma, tgammal)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__tgammaf(float x)
{
return local_signgam < 0 ? - y : y;
}
weak_alias (__tgammaf, tgammaf)
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__tgammal(long double x)
{
return local_signgam < 0 ? - y : y;
}
weak_alias (__tgammal, tgammal)
+#endif
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
--- /dev/null
+/* The inline __ieee754_sqrt is not correctly rounding; it's OK for
+ most internal uses in glibc, but not for sqrt itself. */
+#define __ieee754_sqrt __avoid_ieee754_sqrt
+#include <math.h>
+#include <math_private.h>
+#undef __ieee754_sqrt
+extern double __ieee754_sqrt (double);
+#include <math-type-macros-double.h>
+#include <w_sqrt_template.c>
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
--- /dev/null
+/* Not needed. */
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper exp */
double
__exp (double x)
}
hidden_def (__exp)
weak_alias (__exp, exp)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp, __expl)
weak_alias (__exp, expl)
+# endif
#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper expf */
float
__expf (float x)
}
hidden_def (__expf)
weak_alias (__expf, expf)
+#endif
#include <assert.h>
-#ifndef _USE_WRITE
-#include <stdio.h> /* fputs(), stderr */
-#define WRITE2(u,v) fputs(u, stderr)
-#else /* !defined(_USE_WRITE) */
-#include <unistd.h> /* write */
-#define WRITE2(u,v) write(2, u, v)
-#undef fflush
-#endif /* !defined(_USE_WRITE) */
+#if LIBM_SVID_COMPAT
+
+# ifndef _USE_WRITE
+# include <stdio.h> /* fputs(), stderr */
+# define WRITE2(u,v) fputs(u, stderr)
+# else /* !defined(_USE_WRITE) */
+# include <unistd.h> /* write */
+# define WRITE2(u,v) write(2, u, v)
+# undef fflush
+# endif /* !defined(_USE_WRITE) */
/* XXX gcc versions until now don't delay the 0.0/0.0 division until
runtime but produce NaN at compile time. This is wrong since the
exceptions are not set correctly. */
-#if 0
+# if 0
static const double zero = 0.0; /* used as const */
-#else
+# else
static double zero = 0.0; /* used as const */
-#endif
+# endif
/*
* Standard conformance (non-IEEE) on exception cases.
__kernel_standard(double x, double y, int type)
{
struct exception exc;
-#ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
-#define HUGE_VAL inf
+# ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
+# define HUGE_VAL inf
double inf = 0.0;
SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
-#endif
+# endif
/* The SVID struct exception uses a field "char *name;". */
-#define CSTR(func) ((char *) (type < 100 \
+# define CSTR(func) ((char *) (type < 100 \
? func \
: (type < 200 ? func "f" : func "l")))
-#ifdef _USE_WRITE
+# ifdef _USE_WRITE
(void) fflush(stdout);
-#endif
+# endif
exc.arg1 = x;
exc.arg2 = y;
switch(type) {
}
return exc.retval;
}
+#endif
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* Handle errors for a libm function as specified by TYPE (see
comments in k_standard.c for details), with arguments X and Y,
returning the appropriate return value for that function. */
{
return __kernel_standard (x, y, type);
}
+#endif
#include <errno.h>
+#if LIBM_SVID_COMPAT
+
static double zero = 0.0;
/* Handle errors for a libm function as specified by TYPE (see
return __kernel_standard (dx, dy, type);
}
}
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double __expl(long double x) /* wrapper exp */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_expl(x);
-#else
+# else
long double z = __ieee754_expl (x);
if (__glibc_unlikely (!isfinite (z) || z == 0)
&& isfinite (x) && _LIB_VERSION != _IEEE_)
return __kernel_standard_l (x, x, 206 + !!signbit (x));
return z;
-#endif
+# endif
}
hidden_def (__expl)
weak_alias (__expl, expl)
+#endif
#include <math-svid-compat.h>
#include <math_ldbl_opt.h>
+#if LIBM_SVID_COMPAT
long double __expl(long double x) /* wrapper exp */
{
long double z;
}
hidden_def (__expl)
long_double_symbol (libm, __expl, expl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <sysdeps/ieee754/ldbl-128/w_expl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __expl, expl);
+#endif
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper expl */
long double
__expl (long double x)
}
hidden_def (__expl)
weak_alias (__expl, expl)
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_acoshl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __acoshl, acoshl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_acosl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __acosl, acosl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_asinl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __asinl, asinl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_atan2l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __atan2l, atan2l);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_atanhl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __atanhl, atanhl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_coshl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __coshl, coshl);
+#endif
#undef compat_symbol
#define compat_symbol(l,n,a,v)
#include <math/w_exp10l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __exp10l, exp10l);
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
/* compat_symbol was undefined and redefined above to avoid the
default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt
configurations, that version should have the alias to exp10). So
it now needs to be redefined to define the compat symbol at version
LONG_DOUBLE_COMPAT_VERSION. */
-# undef compat_symbol
-# define compat_symbol(lib, local, symbol, version) \
+# undef compat_symbol
+# define compat_symbol(lib, local, symbol, version) \
compat_symbol_reference (lib, local, symbol, version)
compat_symbol (libm, __pow10l, pow10l, LONG_DOUBLE_COMPAT_VERSION);
+# endif
#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_fmodl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __fmodl, fmodl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_hypotl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __hypotl, hypotl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_j0l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __j0l, j0l);
long_double_symbol (libm, __y0l, y0l);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_j1l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __j1l, j1l);
long_double_symbol (libm, __y1l, y1l);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_jnl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __jnl, jnl);
long_double_symbol (libm, __ynl, ynl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_lgammal_r_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __lgammal_r, lgammal_r);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_log10l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __log10l, log10l);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_log2l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __log2l, log2l);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_logl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __logl, logl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_powl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __powl, powl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_remainderl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __remainderl, remainderl);
strong_alias (__remainderl, __dreml)
long_double_symbol (libm, __dreml, dreml);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_sinhl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __sinhl, sinhl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_sqrtl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __sqrtl, sqrtl);
+#endif
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_tgammal_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __tgammal, tgammal);
+#endif