summaryrefslogtreecommitdiffstats
path: root/lib/libm/src
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2016-09-12 19:47:01 +0000
committerguenther <guenther@openbsd.org>2016-09-12 19:47:01 +0000
commit2f2c00629eff6a304ebffb255fc56f4fa7a1833b (patch)
treeb9c0095adcecbb9788e0b6034e82ec405e3f1288 /lib/libm/src
parentMore #include cleanup per POSIX: (diff)
downloadwireguard-openbsd-2f2c00629eff6a304ebffb255fc56f4fa7a1833b.tar.xz
wireguard-openbsd-2f2c00629eff6a304ebffb255fc56f4fa7a1833b.zip
Reduce libm's exports and make internal calls go direct.
All dependencies on libc are now via reserved/standardized names. ok kettenis@ millert@ deraadt@
Diffstat (limited to 'lib/libm/src')
-rw-r--r--lib/libm/src/b_tgamma.c8
-rw-r--r--lib/libm/src/e_acos.c6
-rw-r--r--lib/libm/src/e_acosh.c6
-rw-r--r--lib/libm/src/e_asin.c6
-rw-r--r--lib/libm/src/e_asinf.c1
-rw-r--r--lib/libm/src/e_asinl.c3
-rw-r--r--lib/libm/src/e_atan2.c6
-rw-r--r--lib/libm/src/e_atan2f.c1
-rw-r--r--lib/libm/src/e_atan2l.c3
-rw-r--r--lib/libm/src/e_atanh.c6
-rw-r--r--lib/libm/src/e_cosh.c6
-rw-r--r--lib/libm/src/e_coshf.c1
-rw-r--r--lib/libm/src/e_exp.c6
-rw-r--r--lib/libm/src/e_expf.c1
-rw-r--r--lib/libm/src/e_fmod.c6
-rw-r--r--lib/libm/src/e_fmodf.c1
-rw-r--r--lib/libm/src/e_hypot.c6
-rw-r--r--lib/libm/src/e_hypotf.c1
-rw-r--r--lib/libm/src/e_j0.c2
-rw-r--r--lib/libm/src/e_j0f.c2
-rw-r--r--lib/libm/src/e_j1.c2
-rw-r--r--lib/libm/src/e_j1f.c2
-rw-r--r--lib/libm/src/e_lgamma_r.c1
-rw-r--r--lib/libm/src/e_lgammaf_r.c1
-rw-r--r--lib/libm/src/e_log.c6
-rw-r--r--lib/libm/src/e_log10.c6
-rw-r--r--lib/libm/src/e_log2.c6
-rw-r--r--lib/libm/src/e_logf.c1
-rw-r--r--lib/libm/src/e_pow.c6
-rw-r--r--lib/libm/src/e_powf.c1
-rw-r--r--lib/libm/src/e_remainder.c6
-rw-r--r--lib/libm/src/e_remainderf.c1
-rw-r--r--lib/libm/src/e_scalb.c2
-rw-r--r--lib/libm/src/e_scalbf.c2
-rw-r--r--lib/libm/src/e_sinh.c6
-rw-r--r--lib/libm/src/e_sinhf.c1
-rw-r--r--lib/libm/src/e_sqrt.c6
-rw-r--r--lib/libm/src/e_sqrtf.c1
-rw-r--r--lib/libm/src/e_sqrtl.c3
-rw-r--r--lib/libm/src/ld128/e_coshl.c1
-rw-r--r--lib/libm/src/ld128/e_expl.c3
-rw-r--r--lib/libm/src/ld128/e_hypotl.c1
-rw-r--r--lib/libm/src/ld128/e_lgammal.c3
-rw-r--r--lib/libm/src/ld128/e_logl.c3
-rw-r--r--lib/libm/src/ld128/e_powl.c1
-rw-r--r--lib/libm/src/ld128/e_sinhl.c1
-rw-r--r--lib/libm/src/ld128/invtrig.h4
-rw-r--r--lib/libm/src/ld128/s_erfl.c2
-rw-r--r--lib/libm/src/ld128/s_expm1l.c3
-rw-r--r--lib/libm/src/ld128/s_floorl.c1
-rw-r--r--lib/libm/src/ld128/s_log1pl.c3
-rw-r--r--lib/libm/src/ld128/s_nextafterl.c4
-rw-r--r--lib/libm/src/ld128/s_remquol.c1
-rw-r--r--lib/libm/src/ld80/e_coshl.c1
-rw-r--r--lib/libm/src/ld80/e_expl.c3
-rw-r--r--lib/libm/src/ld80/e_hypotl.c1
-rw-r--r--lib/libm/src/ld80/e_lgammal.c1
-rw-r--r--lib/libm/src/ld80/e_logl.c3
-rw-r--r--lib/libm/src/ld80/e_powl.c3
-rw-r--r--lib/libm/src/ld80/e_sinhl.c1
-rw-r--r--lib/libm/src/ld80/invtrig.h4
-rw-r--r--lib/libm/src/ld80/s_erfl.c2
-rw-r--r--lib/libm/src/ld80/s_expm1l.c3
-rw-r--r--lib/libm/src/ld80/s_floorl.c1
-rw-r--r--lib/libm/src/ld80/s_log1pl.c3
-rw-r--r--lib/libm/src/ld80/s_nextafterl.c4
-rw-r--r--lib/libm/src/ld80/s_remquol.c1
-rw-r--r--lib/libm/src/math_private.h6
-rw-r--r--lib/libm/src/s_asinh.c6
-rw-r--r--lib/libm/src/s_atan.c6
-rw-r--r--lib/libm/src/s_atanf.c1
-rw-r--r--lib/libm/src/s_atanl.c3
-rw-r--r--lib/libm/src/s_cabs.c8
-rw-r--r--lib/libm/src/s_cabsf.c3
-rw-r--r--lib/libm/src/s_cabsl.c3
-rw-r--r--lib/libm/src/s_cacos.c8
-rw-r--r--lib/libm/src/s_cacosh.c8
-rw-r--r--lib/libm/src/s_carg.c8
-rw-r--r--lib/libm/src/s_cargf.c3
-rw-r--r--lib/libm/src/s_cargl.c3
-rw-r--r--lib/libm/src/s_casin.c8
-rw-r--r--lib/libm/src/s_casinf.c3
-rw-r--r--lib/libm/src/s_casinh.c8
-rw-r--r--lib/libm/src/s_casinl.c3
-rw-r--r--lib/libm/src/s_catan.c8
-rw-r--r--lib/libm/src/s_catanf.c3
-rw-r--r--lib/libm/src/s_catanh.c8
-rw-r--r--lib/libm/src/s_catanl.c3
-rw-r--r--lib/libm/src/s_cbrt.c6
-rw-r--r--lib/libm/src/s_ccos.c8
-rw-r--r--lib/libm/src/s_ccosh.c8
-rw-r--r--lib/libm/src/s_ceil.c6
-rw-r--r--lib/libm/src/s_ceilf.c1
-rw-r--r--lib/libm/src/s_cexp.c8
-rw-r--r--lib/libm/src/s_cimag.c8
-rw-r--r--lib/libm/src/s_cimagf.c3
-rw-r--r--lib/libm/src/s_cimagl.c3
-rw-r--r--lib/libm/src/s_clog.c8
-rw-r--r--lib/libm/src/s_clogf.c3
-rw-r--r--lib/libm/src/s_clogl.c3
-rw-r--r--lib/libm/src/s_conj.c8
-rw-r--r--lib/libm/src/s_copysign.c6
-rw-r--r--lib/libm/src/s_copysignf.c1
-rw-r--r--lib/libm/src/s_copysignl.c3
-rw-r--r--lib/libm/src/s_cos.c6
-rw-r--r--lib/libm/src/s_cosf.c1
-rw-r--r--lib/libm/src/s_cosl.c3
-rw-r--r--lib/libm/src/s_cpow.c8
-rw-r--r--lib/libm/src/s_cproj.c8
-rw-r--r--lib/libm/src/s_creal.c8
-rw-r--r--lib/libm/src/s_crealf.c3
-rw-r--r--lib/libm/src/s_creall.c3
-rw-r--r--lib/libm/src/s_csin.c8
-rw-r--r--lib/libm/src/s_csinh.c8
-rw-r--r--lib/libm/src/s_csqrt.c8
-rw-r--r--lib/libm/src/s_csqrtf.c3
-rw-r--r--lib/libm/src/s_csqrtl.c3
-rw-r--r--lib/libm/src/s_ctan.c8
-rw-r--r--lib/libm/src/s_ctanh.c8
-rw-r--r--lib/libm/src/s_erf.c9
-rw-r--r--lib/libm/src/s_exp2.c8
-rw-r--r--lib/libm/src/s_expm1.c6
-rw-r--r--lib/libm/src/s_expm1f.c1
-rw-r--r--lib/libm/src/s_fabsf.c1
-rw-r--r--lib/libm/src/s_floor.c6
-rw-r--r--lib/libm/src/s_floorf.c1
-rw-r--r--lib/libm/src/s_fma.c8
-rw-r--r--lib/libm/src/s_fmax.c8
-rw-r--r--lib/libm/src/s_fmin.c8
-rw-r--r--lib/libm/src/s_frexpl.c3
-rw-r--r--lib/libm/src/s_ilogb.c6
-rw-r--r--lib/libm/src/s_ilogbf.c1
-rw-r--r--lib/libm/src/s_ilogbl.c3
-rw-r--r--lib/libm/src/s_llrint.c6
-rw-r--r--lib/libm/src/s_llround.c6
-rw-r--r--lib/libm/src/s_log1p.c6
-rw-r--r--lib/libm/src/s_log1pf.c1
-rw-r--r--lib/libm/src/s_logb.c1
-rw-r--r--lib/libm/src/s_logbf.c1
-rw-r--r--lib/libm/src/s_lrint.c8
-rw-r--r--lib/libm/src/s_lrintf.c3
-rw-r--r--lib/libm/src/s_lround.c8
-rw-r--r--lib/libm/src/s_nan.c8
-rw-r--r--lib/libm/src/s_nextafter.c7
-rw-r--r--lib/libm/src/s_remquo.c6
-rw-r--r--lib/libm/src/s_rint.c6
-rw-r--r--lib/libm/src/s_rintf.c1
-rw-r--r--lib/libm/src/s_rintl.c3
-rw-r--r--lib/libm/src/s_round.c8
-rw-r--r--lib/libm/src/s_roundl.c3
-rw-r--r--lib/libm/src/s_scalbn.c6
-rw-r--r--lib/libm/src/s_scalbnf.c1
-rw-r--r--lib/libm/src/s_scalbnl.c4
-rw-r--r--lib/libm/src/s_signgam.c5
-rw-r--r--lib/libm/src/s_sin.c6
-rw-r--r--lib/libm/src/s_sinf.c1
-rw-r--r--lib/libm/src/s_sinl.c3
-rw-r--r--lib/libm/src/s_tan.c6
-rw-r--r--lib/libm/src/s_tanh.c6
-rw-r--r--lib/libm/src/s_trunc.c6
-rw-r--r--lib/libm/src/w_lgamma.c6
161 files changed, 324 insertions, 356 deletions
diff --git a/lib/libm/src/b_tgamma.c b/lib/libm/src/b_tgamma.c
index 2a7e564986e..2c2c05cd3be 100644
--- a/lib/libm/src/b_tgamma.c
+++ b/lib/libm/src/b_tgamma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: b_tgamma.c,v 1.9 2016/09/12 04:39:47 guenther Exp $ */
+/* $OpenBSD: b_tgamma.c,v 1.10 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@@ -143,6 +143,8 @@ tgamma(double x)
} else
return (neg_gam(x));
}
+DEF_STD(tgamma);
+LDBL_MAYBE_UNUSED_CLONE(tgamma);
/*
* We simply call tgamma() rather than bloating the math library
@@ -332,7 +334,3 @@ neg_gam(double x)
if (sgn < 0) y = -y;
return (M_PI / (y*z));
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(tgammal, tgamma);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/e_acos.c b/lib/libm/src/e_acos.c
index 2cd62374cd6..e79fe297781 100644
--- a/lib/libm/src/e_acos.c
+++ b/lib/libm/src/e_acos.c
@@ -99,7 +99,5 @@ acos(double x)
return 2.0*(df+w);
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(acosl, acos);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(acos);
+LDBL_MAYBE_UNUSED_CLONE(acos);
diff --git a/lib/libm/src/e_acosh.c b/lib/libm/src/e_acosh.c
index a03127dbf20..54f7a46e432 100644
--- a/lib/libm/src/e_acosh.c
+++ b/lib/libm/src/e_acosh.c
@@ -57,7 +57,5 @@ acosh(double x)
return log1p(t+sqrt(2.0*t+t*t));
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(acoshl, acosh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(acosh);
+LDBL_MAYBE_UNUSED_CLONE(acosh);
diff --git a/lib/libm/src/e_asin.c b/lib/libm/src/e_asin.c
index 226addc9749..946431d3a91 100644
--- a/lib/libm/src/e_asin.c
+++ b/lib/libm/src/e_asin.c
@@ -107,7 +107,5 @@ asin(double x)
}
if(hx>0) return t; else return -t;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(asinl, asin);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(asin);
+LDBL_MAYBE_CLONE(asin);
diff --git a/lib/libm/src/e_asinf.c b/lib/libm/src/e_asinf.c
index 05b32927183..248baa65067 100644
--- a/lib/libm/src/e_asinf.c
+++ b/lib/libm/src/e_asinf.c
@@ -78,3 +78,4 @@ asinf(float x)
}
if(hx>0) return t; else return -t;
}
+DEF_STD(asinf);
diff --git a/lib/libm/src/e_asinl.c b/lib/libm/src/e_asinl.c
index 316eed55ff7..b281ba45635 100644
--- a/lib/libm/src/e_asinl.c
+++ b/lib/libm/src/e_asinl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_asinl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: e_asinl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/* @(#)e_asin.c 1.3 95/01/18 */
/* FreeBSD: head/lib/msun/src/e_asin.c 176451 2008-02-22 02:30:36Z das */
/*
@@ -98,3 +98,4 @@ asinl(long double x)
}
if(expsign>0) return t; else return -t;
}
+DEF_STD(asinl);
diff --git a/lib/libm/src/e_atan2.c b/lib/libm/src/e_atan2.c
index e4006021f82..0d489e1e696 100644
--- a/lib/libm/src/e_atan2.c
+++ b/lib/libm/src/e_atan2.c
@@ -118,7 +118,5 @@ atan2(double y, double x)
return (z-pi_lo)-pi;/* atan(-,-) */
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(atan2l, atan2);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(atan2);
+LDBL_MAYBE_CLONE(atan2);
diff --git a/lib/libm/src/e_atan2f.c b/lib/libm/src/e_atan2f.c
index 155a36cab99..c14752b8782 100644
--- a/lib/libm/src/e_atan2f.c
+++ b/lib/libm/src/e_atan2f.c
@@ -91,3 +91,4 @@ atan2f(float y, float x)
return (z-pi_lo)-pi;/* atan(-,-) */
}
}
+DEF_STD(atan2f);
diff --git a/lib/libm/src/e_atan2l.c b/lib/libm/src/e_atan2l.c
index 94bdfa8e2f3..5261c0eb35e 100644
--- a/lib/libm/src/e_atan2l.c
+++ b/lib/libm/src/e_atan2l.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_atan2l.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: e_atan2l.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/* @(#)e_atan2.c 1.3 95/01/18 */
/* FreeBSD: head/lib/msun/src/e_atan2.c 176451 2008-02-22 02:30:36Z das */
/*
@@ -161,3 +161,4 @@ atan2l(long double y, long double x)
return (z-pi_lo)-pi;/* atan(-,-) */
}
}
+DEF_STD(atan2l);
diff --git a/lib/libm/src/e_atanh.c b/lib/libm/src/e_atanh.c
index 0c469da65eb..80da1b36bff 100644
--- a/lib/libm/src/e_atanh.c
+++ b/lib/libm/src/e_atanh.c
@@ -57,7 +57,5 @@ atanh(double x)
t = 0.5*log1p((x+x)/(one-x));
if(hx>=0) return t; else return -t;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(atanhl, atanh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(atanh);
+LDBL_MAYBE_UNUSED_CLONE(atanh);
diff --git a/lib/libm/src/e_cosh.c b/lib/libm/src/e_cosh.c
index 4e2c2c23897..dcf6fa626f3 100644
--- a/lib/libm/src/e_cosh.c
+++ b/lib/libm/src/e_cosh.c
@@ -81,7 +81,5 @@ cosh(double x)
/* |x| > overflowthresold, cosh(x) overflow */
return huge*huge;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(coshl, cosh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cosh);
+LDBL_MAYBE_CLONE(cosh);
diff --git a/lib/libm/src/e_coshf.c b/lib/libm/src/e_coshf.c
index 10bf05380a8..9c6436070a3 100644
--- a/lib/libm/src/e_coshf.c
+++ b/lib/libm/src/e_coshf.c
@@ -58,3 +58,4 @@ coshf(float x)
/* |x| > overflowthresold, cosh(x) overflow */
return huge*huge;
}
+DEF_STD(coshf);
diff --git a/lib/libm/src/e_exp.c b/lib/libm/src/e_exp.c
index 6551047ab9b..d158468e08b 100644
--- a/lib/libm/src/e_exp.c
+++ b/lib/libm/src/e_exp.c
@@ -155,7 +155,5 @@ exp(double x) /* default IEEE double exp */
return y*twom1000;
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(expl, exp);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(exp);
+LDBL_MAYBE_CLONE(exp);
diff --git a/lib/libm/src/e_expf.c b/lib/libm/src/e_expf.c
index 67e8fc49f1d..1d749c3ee0d 100644
--- a/lib/libm/src/e_expf.c
+++ b/lib/libm/src/e_expf.c
@@ -90,3 +90,4 @@ expf(float x) /* default IEEE double exp */
return y*twom100;
}
}
+DEF_STD(expf);
diff --git a/lib/libm/src/e_fmod.c b/lib/libm/src/e_fmod.c
index ef511901f81..8c8d52fa954 100644
--- a/lib/libm/src/e_fmod.c
+++ b/lib/libm/src/e_fmod.c
@@ -128,7 +128,5 @@ fmod(double x, double y)
}
return x; /* exact output */
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(fmodl, fmod);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(fmod);
+LDBL_MAYBE_UNUSED_CLONE(fmod);
diff --git a/lib/libm/src/e_fmodf.c b/lib/libm/src/e_fmodf.c
index cca2f6f63fd..28a86d50dba 100644
--- a/lib/libm/src/e_fmodf.c
+++ b/lib/libm/src/e_fmodf.c
@@ -99,3 +99,4 @@ fmodf(float x, float y)
}
return x; /* exact output */
}
+DEF_STD(fmodf);
diff --git a/lib/libm/src/e_hypot.c b/lib/libm/src/e_hypot.c
index 8e9eb61917a..cd74752bc48 100644
--- a/lib/libm/src/e_hypot.c
+++ b/lib/libm/src/e_hypot.c
@@ -120,7 +120,5 @@ hypot(double x, double y)
return t1*w;
} else return w;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(hypotl, hypot);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(hypot);
+LDBL_MAYBE_CLONE(hypot);
diff --git a/lib/libm/src/e_hypotf.c b/lib/libm/src/e_hypotf.c
index f9e5327e99d..8b07b2965f3 100644
--- a/lib/libm/src/e_hypotf.c
+++ b/lib/libm/src/e_hypotf.c
@@ -77,3 +77,4 @@ hypotf(float x, float y)
return t1*w;
} else return w;
}
+DEF_STD(hypotf);
diff --git a/lib/libm/src/e_j0.c b/lib/libm/src/e_j0.c
index 138d90c055b..50bcdbd00ba 100644
--- a/lib/libm/src/e_j0.c
+++ b/lib/libm/src/e_j0.c
@@ -124,6 +124,7 @@ j0(double x)
return((one+u)*(one-u)+z*(r/s));
}
}
+DEF_NONSTD(j0);
static const double
u00 = -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F */
@@ -190,6 +191,7 @@ y0(double x)
v = one+z*(v01+z*(v02+z*(v03+z*v04)));
return(u/v + tpi*(j0(x)*log(x)));
}
+DEF_NONSTD(y0);
/* The asymptotic expansions of pzero is
* 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
diff --git a/lib/libm/src/e_j0f.c b/lib/libm/src/e_j0f.c
index e485e55f75b..6e00b91a689 100644
--- a/lib/libm/src/e_j0f.c
+++ b/lib/libm/src/e_j0f.c
@@ -82,6 +82,7 @@ j0f(float x)
return((one+u)*(one-u)+z*(r/s));
}
}
+DEF_NONSTD(j0f);
static const float
u00 = -7.3804296553e-02, /* 0xbd9726b5 */
@@ -148,6 +149,7 @@ y0f(float x)
v = one+z*(v01+z*(v02+z*(v03+z*v04)));
return(u/v + tpi*(j0f(x)*logf(x)));
}
+DEF_NONSTD(y0f);
/* The asymptotic expansions of pzero is
* 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
diff --git a/lib/libm/src/e_j1.c b/lib/libm/src/e_j1.c
index 2c475a5f1a4..1e9cf10397b 100644
--- a/lib/libm/src/e_j1.c
+++ b/lib/libm/src/e_j1.c
@@ -119,6 +119,7 @@ j1(double x)
r *= x;
return(x*0.5+r/s);
}
+DEF_NONSTD(j1);
static const double U0[5] = {
-1.96057090646238940668e-01, /* 0xBFC91866, 0x143CBC8A */
@@ -183,6 +184,7 @@ y1(double x)
v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
return(x*(u/v) + tpi*(j1(x)*log(x)-one/x));
}
+DEF_NONSTD(y1);
/* For x >= 8, the asymptotic expansions of pone is
* 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
diff --git a/lib/libm/src/e_j1f.c b/lib/libm/src/e_j1f.c
index b65abc0e443..290cf1e369b 100644
--- a/lib/libm/src/e_j1f.c
+++ b/lib/libm/src/e_j1f.c
@@ -77,6 +77,7 @@ j1f(float x)
r *= x;
return(x*(float)0.5+r/s);
}
+DEF_NONSTD(j1f);
static const float U0[5] = {
-1.9605709612e-01, /* 0xbe48c331 */
@@ -141,6 +142,7 @@ y1f(float x)
v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
return(x*(u/v) + tpi*(j1f(x)*logf(x)-one/x));
}
+DEF_NONSTD(y1f);
/* For x >= 8, the asymptotic expansions of pone is
* 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
diff --git a/lib/libm/src/e_lgamma_r.c b/lib/libm/src/e_lgamma_r.c
index fb22a4dde39..92d1fac7ab1 100644
--- a/lib/libm/src/e_lgamma_r.c
+++ b/lib/libm/src/e_lgamma_r.c
@@ -294,3 +294,4 @@ lgamma_r(double x, int *signgamp)
if(hx<0) r = nadj - r;
return r;
}
+DEF_NONSTD(lgamma_r);
diff --git a/lib/libm/src/e_lgammaf_r.c b/lib/libm/src/e_lgammaf_r.c
index 2e5b413cfb1..573b7325756 100644
--- a/lib/libm/src/e_lgammaf_r.c
+++ b/lib/libm/src/e_lgammaf_r.c
@@ -230,3 +230,4 @@ lgammaf_r(float x, int *signgamp)
if(hx<0) r = nadj - r;
return r;
}
+DEF_NONSTD(lgammaf_r);
diff --git a/lib/libm/src/e_log.c b/lib/libm/src/e_log.c
index 7eca6847e4d..172cd121136 100644
--- a/lib/libm/src/e_log.c
+++ b/lib/libm/src/e_log.c
@@ -130,7 +130,5 @@ log(double x)
return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(logl, log);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(log);
+LDBL_MAYBE_CLONE(log);
diff --git a/lib/libm/src/e_log10.c b/lib/libm/src/e_log10.c
index c73547f97ba..61300a6415a 100644
--- a/lib/libm/src/e_log10.c
+++ b/lib/libm/src/e_log10.c
@@ -82,7 +82,5 @@ log10(double x)
z = y*log10_2lo + ivln10*log(x);
return z+y*log10_2hi;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(log10l, log10);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(log10);
+LDBL_MAYBE_UNUSED_CLONE(log10);
diff --git a/lib/libm/src/e_log2.c b/lib/libm/src/e_log2.c
index 306c11dba3d..68586466f91 100644
--- a/lib/libm/src/e_log2.c
+++ b/lib/libm/src/e_log2.c
@@ -74,7 +74,5 @@ log2(double x)
} else
return (dk-((s*(f-R))-f)/ln2);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(log2l, log2);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(log2);
+LDBL_MAYBE_UNUSED_CLONE(log2);
diff --git a/lib/libm/src/e_logf.c b/lib/libm/src/e_logf.c
index 543f33a0d1f..02b45c03218 100644
--- a/lib/libm/src/e_logf.c
+++ b/lib/libm/src/e_logf.c
@@ -79,3 +79,4 @@ logf(float x)
return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
}
}
+DEF_STD(logf);
diff --git a/lib/libm/src/e_pow.c b/lib/libm/src/e_pow.c
index 2af0e921b3e..3f2509765f7 100644
--- a/lib/libm/src/e_pow.c
+++ b/lib/libm/src/e_pow.c
@@ -300,7 +300,5 @@ pow(double x, double y)
else SET_HIGH_WORD(z,j);
return s*z;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(powl, pow);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(pow);
+LDBL_MAYBE_CLONE(pow);
diff --git a/lib/libm/src/e_powf.c b/lib/libm/src/e_powf.c
index 3c4269d7146..970dcdd6ad8 100644
--- a/lib/libm/src/e_powf.c
+++ b/lib/libm/src/e_powf.c
@@ -242,3 +242,4 @@ powf(float x, float y)
else SET_FLOAT_WORD(z,j);
return s*z;
}
+DEF_STD(powf);
diff --git a/lib/libm/src/e_remainder.c b/lib/libm/src/e_remainder.c
index 5c36f2ff2f1..fa9310c3f01 100644
--- a/lib/libm/src/e_remainder.c
+++ b/lib/libm/src/e_remainder.c
@@ -68,7 +68,5 @@ remainder(double x, double p)
SET_HIGH_WORD(x,hx^sx);
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(remainderl, remainder);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(remainder);
+LDBL_MAYBE_UNUSED_CLONE(remainder);
diff --git a/lib/libm/src/e_remainderf.c b/lib/libm/src/e_remainderf.c
index d94f09638dc..27dbc2debad 100644
--- a/lib/libm/src/e_remainderf.c
+++ b/lib/libm/src/e_remainderf.c
@@ -58,3 +58,4 @@ remainderf(float x, float p)
SET_FLOAT_WORD(x,hx^sx);
return x;
}
+DEF_STD(remainderf);
diff --git a/lib/libm/src/e_scalb.c b/lib/libm/src/e_scalb.c
index 5762ea98098..52a4fbcf5cd 100644
--- a/lib/libm/src/e_scalb.c
+++ b/lib/libm/src/e_scalb.c
@@ -25,6 +25,7 @@ scalb(double x, int fn)
{
return scalbn(x, fn);
}
+DEF_NONSTD(scalb);
#else
@@ -41,4 +42,5 @@ scalb(double x, double fn)
if (-fn > 65000.0) return scalbn(x,-65000);
return scalbn(x,(int)fn);
}
+DEF_NONSTD(scalb);
#endif
diff --git a/lib/libm/src/e_scalbf.c b/lib/libm/src/e_scalbf.c
index f66271f968f..545330eeaa0 100644
--- a/lib/libm/src/e_scalbf.c
+++ b/lib/libm/src/e_scalbf.c
@@ -22,6 +22,7 @@ scalbf(float x, int fn)
{
return scalbnf(x,fn);
}
+DEF_NONSTD(scalbf);
#else
@@ -38,4 +39,5 @@ scalbf(float x, float fn)
if (-fn > (float)65000.0) return scalbnf(x,-65000);
return scalbnf(x,(int)fn);
}
+DEF_NONSTD(scalbf);
#endif
diff --git a/lib/libm/src/e_sinh.c b/lib/libm/src/e_sinh.c
index 944228f6613..1df129dcb58 100644
--- a/lib/libm/src/e_sinh.c
+++ b/lib/libm/src/e_sinh.c
@@ -74,7 +74,5 @@ sinh(double x)
/* |x| > overflowthresold, sinh(x) overflow */
return x*shuge;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(sinhl, sinh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(sinh);
+LDBL_MAYBE_CLONE(sinh);
diff --git a/lib/libm/src/e_sinhf.c b/lib/libm/src/e_sinhf.c
index d898b474a15..77211bdd374 100644
--- a/lib/libm/src/e_sinhf.c
+++ b/lib/libm/src/e_sinhf.c
@@ -54,3 +54,4 @@ sinhf(float x)
/* |x| > overflowthresold, sinh(x) overflow */
return x*shuge;
}
+DEF_STD(sinhf);
diff --git a/lib/libm/src/e_sqrt.c b/lib/libm/src/e_sqrt.c
index dac3f1b2f2f..e7b3ef44b5a 100644
--- a/lib/libm/src/e_sqrt.c
+++ b/lib/libm/src/e_sqrt.c
@@ -183,6 +183,8 @@ sqrt(double x)
INSERT_WORDS(z,ix0,ix1);
return z;
}
+DEF_STD(sqrt);
+LDBL_MAYBE_CLONE(sqrt);
/*
Other methods (use floating-point arithmetic)
@@ -440,7 +442,3 @@ B. sqrt(x) by Reciproot Iteration
(4) Special cases (see (4) of Section A).
*/
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(sqrtl, sqrt);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/e_sqrtf.c b/lib/libm/src/e_sqrtf.c
index 80d35278cad..b46a30036f6 100644
--- a/lib/libm/src/e_sqrtf.c
+++ b/lib/libm/src/e_sqrtf.c
@@ -83,3 +83,4 @@ sqrtf(float x)
SET_FLOAT_WORD(z,ix);
return z;
}
+DEF_STD(sqrtf);
diff --git a/lib/libm/src/e_sqrtl.c b/lib/libm/src/e_sqrtl.c
index 9bbeec88db0..2e4db8f748a 100644
--- a/lib/libm/src/e_sqrtl.c
+++ b/lib/libm/src/e_sqrtl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_sqrtl.c,v 1.2 2016/09/12 04:28:41 guenther Exp $ */
+/* $OpenBSD: e_sqrtl.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2007 Steven G. Kargl
* All rights reserved.
@@ -229,3 +229,4 @@ sqrtl(long double x)
u.bits.ext_exp--;
return (u.e);
}
+DEF_STD(sqrtl);
diff --git a/lib/libm/src/ld128/e_coshl.c b/lib/libm/src/ld128/e_coshl.c
index 3098c7b625d..e44eda92c3f 100644
--- a/lib/libm/src/ld128/e_coshl.c
+++ b/lib/libm/src/ld128/e_coshl.c
@@ -103,3 +103,4 @@ coshl(long double x)
/* |x| > overflowthresold, cosh(x) overflow */
return huge * huge;
}
+DEF_STD(coshl);
diff --git a/lib/libm/src/ld128/e_expl.c b/lib/libm/src/ld128/e_expl.c
index 0118d4fca04..4e10575d845 100644
--- a/lib/libm/src/ld128/e_expl.c
+++ b/lib/libm/src/ld128/e_expl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_expl.c,v 1.3 2013/11/12 20:35:18 martynas Exp $ */
+/* $OpenBSD: e_expl.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -143,3 +143,4 @@ x = 1.0L + x + x;
x = ldexpl( x, n );
return(x);
}
+DEF_STD(expl);
diff --git a/lib/libm/src/ld128/e_hypotl.c b/lib/libm/src/ld128/e_hypotl.c
index ff642d9ce91..63beb0e486f 100644
--- a/lib/libm/src/ld128/e_hypotl.c
+++ b/lib/libm/src/ld128/e_hypotl.c
@@ -120,3 +120,4 @@ hypotl(long double x, long double y)
return t1*w;
} else return w;
}
+DEF_STD(hypotl);
diff --git a/lib/libm/src/ld128/e_lgammal.c b/lib/libm/src/ld128/e_lgammal.c
index 04b1546f7d2..b0e03cf520a 100644
--- a/lib/libm/src/ld128/e_lgammal.c
+++ b/lib/libm/src/ld128/e_lgammal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_lgammal.c,v 1.4 2016/09/12 04:39:47 guenther Exp $ */
+/* $OpenBSD: e_lgammal.c,v 1.5 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -1036,3 +1036,4 @@ lgammal(long double x)
q += neval (p, RASY, NRASY) / x;
return (q);
}
+DEF_STD(lgammal);
diff --git a/lib/libm/src/ld128/e_logl.c b/lib/libm/src/ld128/e_logl.c
index 8f2b7e6e709..5900c5071bd 100644
--- a/lib/libm/src/ld128/e_logl.c
+++ b/lib/libm/src/ld128/e_logl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_logl.c,v 1.1 2011/07/06 00:02:42 martynas Exp $ */
+/* $OpenBSD: e_logl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -281,3 +281,4 @@ logl(long double x)
y += e * ln2a;
return y;
}
+DEF_STD(logl);
diff --git a/lib/libm/src/ld128/e_powl.c b/lib/libm/src/ld128/e_powl.c
index 1c73633e4f5..34646810163 100644
--- a/lib/libm/src/ld128/e_powl.c
+++ b/lib/libm/src/ld128/e_powl.c
@@ -437,3 +437,4 @@ powl(long double x, long double y)
}
return s * z;
}
+DEF_STD(powl);
diff --git a/lib/libm/src/ld128/e_sinhl.c b/lib/libm/src/ld128/e_sinhl.c
index a158d5a7b10..7bd19c6ad93 100644
--- a/lib/libm/src/ld128/e_sinhl.c
+++ b/lib/libm/src/ld128/e_sinhl.c
@@ -102,3 +102,4 @@ sinhl(long double x)
/* |x| > overflowthreshold, sinhl(x) overflow */
return x * shuge;
}
+DEF_STD(sinhl);
diff --git a/lib/libm/src/ld128/invtrig.h b/lib/libm/src/ld128/invtrig.h
index 89b49766b86..fd8c0b42532 100644
--- a/lib/libm/src/ld128/invtrig.h
+++ b/lib/libm/src/ld128/invtrig.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: invtrig.h,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: invtrig.h,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -76,11 +76,13 @@
#define pio2_lo atanlo[3]
#define pio4_hi atanhi[1]
+__BEGIN_HIDDEN_DECLS
/* Constants shared by the long double inverse trig functions. */
extern const long double pS0, pS1, pS2, pS3, pS4, pS5, pS6, pS7, pS8, pS9;
extern const long double qS1, qS2, qS3, qS4, qS5, qS6, qS7, qS8, qS9;
extern const long double atanhi[], atanlo[], aT[];
extern const long double pi_lo;
+__END_HIDDEN_DECLS
static inline long double
P(long double x)
diff --git a/lib/libm/src/ld128/s_erfl.c b/lib/libm/src/ld128/s_erfl.c
index c6b3d4d0b3b..fdfe9573e4c 100644
--- a/lib/libm/src/ld128/s_erfl.c
+++ b/lib/libm/src/ld128/s_erfl.c
@@ -791,6 +791,7 @@ erfl(long double x)
y = -y;
return( y );
}
+DEF_STD(erfl);
long double
erfcl(long double x)
@@ -924,3 +925,4 @@ erfcl(long double x)
return two - tiny;
}
}
+DEF_STD(erfcl);
diff --git a/lib/libm/src/ld128/s_expm1l.c b/lib/libm/src/ld128/s_expm1l.c
index eb58b3ee209..ca95dfaa79b 100644
--- a/lib/libm/src/ld128/s_expm1l.c
+++ b/lib/libm/src/ld128/s_expm1l.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_expm1l.c,v 1.1 2011/07/06 00:02:42 martynas Exp $ */
+/* $OpenBSD: s_expm1l.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -160,3 +160,4 @@ expm1l(long double x)
x = px * qx + (px - 1.0);
return x;
}
+DEF_STD(expm1l);
diff --git a/lib/libm/src/ld128/s_floorl.c b/lib/libm/src/ld128/s_floorl.c
index a7d8140cc64..6e2f1291c04 100644
--- a/lib/libm/src/ld128/s_floorl.c
+++ b/lib/libm/src/ld128/s_floorl.c
@@ -69,3 +69,4 @@ floorl(long double x)
SET_LDOUBLE_WORDS64(x,i0,i1);
return x;
}
+DEF_STD(floorl);
diff --git a/lib/libm/src/ld128/s_log1pl.c b/lib/libm/src/ld128/s_log1pl.c
index 673bf6a1617..24a51d4e4ad 100644
--- a/lib/libm/src/ld128/s_log1pl.c
+++ b/lib/libm/src/ld128/s_log1pl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_log1pl.c,v 1.1 2011/07/06 00:02:42 martynas Exp $ */
+/* $OpenBSD: s_log1pl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -245,3 +245,4 @@ log1pl(long double xm1)
z = z + e * C1;
return (z);
}
+DEF_STD(log1pl);
diff --git a/lib/libm/src/ld128/s_nextafterl.c b/lib/libm/src/ld128/s_nextafterl.c
index 7a3bbf7751d..35507658282 100644
--- a/lib/libm/src/ld128/s_nextafterl.c
+++ b/lib/libm/src/ld128/s_nextafterl.c
@@ -68,5 +68,5 @@ nextafterl(long double x, long double y)
SET_LDOUBLE_WORDS64(x,hx,lx);
return x;
}
-
-__strong_alias(nexttowardl, nextafterl);
+DEF_STD(nextafterl);
+MAKE_UNUSED_CLONE(nexttowardl, nextafterl);
diff --git a/lib/libm/src/ld128/s_remquol.c b/lib/libm/src/ld128/s_remquol.c
index ee7a7131137..b779489e0f9 100644
--- a/lib/libm/src/ld128/s_remquol.c
+++ b/lib/libm/src/ld128/s_remquol.c
@@ -166,3 +166,4 @@ fixup:
*quo = (sxy ? -q : q);
return x;
}
+DEF_STD(remquol);
diff --git a/lib/libm/src/ld80/e_coshl.c b/lib/libm/src/ld80/e_coshl.c
index 25349dbb39a..cdb4dffeab3 100644
--- a/lib/libm/src/ld80/e_coshl.c
+++ b/lib/libm/src/ld80/e_coshl.c
@@ -80,3 +80,4 @@ coshl(long double x)
/* |x| >= log(2*maxdouble), cosh(x) overflow */
return huge*huge;
}
+DEF_STD(coshl);
diff --git a/lib/libm/src/ld80/e_expl.c b/lib/libm/src/ld80/e_expl.c
index 2e1008a7e36..698c19f85bb 100644
--- a/lib/libm/src/ld80/e_expl.c
+++ b/lib/libm/src/ld80/e_expl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_expl.c,v 1.3 2013/11/12 20:35:19 martynas Exp $ */
+/* $OpenBSD: e_expl.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -129,3 +129,4 @@ x = 1.0L + ldexpl( x, 1 );
x = ldexpl( x, n );
return(x);
}
+DEF_STD(expl);
diff --git a/lib/libm/src/ld80/e_hypotl.c b/lib/libm/src/ld80/e_hypotl.c
index e70d2b1d104..0030db33d47 100644
--- a/lib/libm/src/ld80/e_hypotl.c
+++ b/lib/libm/src/ld80/e_hypotl.c
@@ -120,3 +120,4 @@ hypotl(long double x, long double y)
return t1*w;
} else return w;
}
+DEF_STD(hypotl);
diff --git a/lib/libm/src/ld80/e_lgammal.c b/lib/libm/src/ld80/e_lgammal.c
index 04c0aef84c5..18c445f71ae 100644
--- a/lib/libm/src/ld80/e_lgammal.c
+++ b/lib/libm/src/ld80/e_lgammal.c
@@ -423,3 +423,4 @@ lgammal(long double x)
r = nadj - r;
return r;
}
+DEF_STD(lgammal);
diff --git a/lib/libm/src/ld80/e_logl.c b/lib/libm/src/ld80/e_logl.c
index 7c1b854dfcf..a85ae0bfc5a 100644
--- a/lib/libm/src/ld80/e_logl.c
+++ b/lib/libm/src/ld80/e_logl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_logl.c,v 1.3 2013/11/12 20:35:19 martynas Exp $ */
+/* $OpenBSD: e_logl.c,v 1.4 2016/09/12 19:47:03 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -188,3 +188,4 @@ z = z + x;
z = z + e * C1; /* This sum has an error of 1/2 lsb. */
return( z );
}
+DEF_STD(logl);
diff --git a/lib/libm/src/ld80/e_powl.c b/lib/libm/src/ld80/e_powl.c
index 95811510904..51a7ab50ee3 100644
--- a/lib/libm/src/ld80/e_powl.c
+++ b/lib/libm/src/ld80/e_powl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: e_powl.c,v 1.5 2013/11/12 20:35:19 martynas Exp $ */
+/* $OpenBSD: e_powl.c,v 1.6 2016/09/12 19:47:03 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -463,6 +463,7 @@ if( nflg )
return( z );
}
+DEF_STD(powl);
/* Find a multiple of 1/NXT that is within 1/NXT of x. */
diff --git a/lib/libm/src/ld80/e_sinhl.c b/lib/libm/src/ld80/e_sinhl.c
index b5b0be79006..481313fb9ae 100644
--- a/lib/libm/src/ld80/e_sinhl.c
+++ b/lib/libm/src/ld80/e_sinhl.c
@@ -74,3 +74,4 @@ sinhl(long double x)
/* |x| > overflowthreshold, sinhl(x) overflow */
return x*shuge;
}
+DEF_STD(sinhl);
diff --git a/lib/libm/src/ld80/invtrig.h b/lib/libm/src/ld80/invtrig.h
index 0dc77e01e34..ee9e000992e 100644
--- a/lib/libm/src/ld80/invtrig.h
+++ b/lib/libm/src/ld80/invtrig.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: invtrig.h,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: invtrig.h,v 1.2 2016/09/12 19:47:03 guenther Exp $ */
/*-
* Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -78,10 +78,12 @@ typedef struct longdouble {
typedef long double LONGDOUBLE;
#endif
+__BEGIN_HIDDEN_DECLS
extern const LONGDOUBLE pS0, pS1, pS2, pS3, pS4, pS5, pS6;
extern const LONGDOUBLE qS1, qS2, qS3, qS4, qS5;
extern const LONGDOUBLE atanhi[], atanlo[], aT[];
extern const LONGDOUBLE pi_lo;
+__END_HIDDEN_DECLS
#ifndef STRUCT_DECLS
diff --git a/lib/libm/src/ld80/s_erfl.c b/lib/libm/src/ld80/s_erfl.c
index 0bb8931aa32..89101b5baa7 100644
--- a/lib/libm/src/ld80/s_erfl.c
+++ b/lib/libm/src/ld80/s_erfl.c
@@ -324,6 +324,7 @@ erfl(long double x)
else
return r / x - one;
}
+DEF_STD(erfl);
long double
erfcl(long double x)
@@ -428,3 +429,4 @@ erfcl(long double x)
return two - tiny;
}
}
+DEF_STD(erfcl);
diff --git a/lib/libm/src/ld80/s_expm1l.c b/lib/libm/src/ld80/s_expm1l.c
index 06b053964f4..8c03cf585da 100644
--- a/lib/libm/src/ld80/s_expm1l.c
+++ b/lib/libm/src/ld80/s_expm1l.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_expm1l.c,v 1.2 2011/07/20 21:02:51 martynas Exp $ */
+/* $OpenBSD: s_expm1l.c,v 1.3 2016/09/12 19:47:03 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -136,3 +136,4 @@ px = ldexpl(1.0L, k);
x = px * qx + (px - 1.0);
return x;
}
+DEF_STD(expm1l);
diff --git a/lib/libm/src/ld80/s_floorl.c b/lib/libm/src/ld80/s_floorl.c
index a5b787796bc..41f344b1437 100644
--- a/lib/libm/src/ld80/s_floorl.c
+++ b/lib/libm/src/ld80/s_floorl.c
@@ -78,3 +78,4 @@ floorl(long double x)
SET_LDOUBLE_WORDS(x,se,i0,i1);
return x;
}
+DEF_STD(floorl);
diff --git a/lib/libm/src/ld80/s_log1pl.c b/lib/libm/src/ld80/s_log1pl.c
index 2fbac5a815f..db40b8bd7d5 100644
--- a/lib/libm/src/ld80/s_log1pl.c
+++ b/lib/libm/src/ld80/s_log1pl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_log1pl.c,v 1.3 2013/11/12 20:35:19 martynas Exp $ */
+/* $OpenBSD: s_log1pl.c,v 1.4 2016/09/12 19:47:03 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -189,3 +189,4 @@ z = z + x;
z = z + e * C1;
return( z );
}
+DEF_STD(log1pl);
diff --git a/lib/libm/src/ld80/s_nextafterl.c b/lib/libm/src/ld80/s_nextafterl.c
index 39de3fa9607..8d4f1009a86 100644
--- a/lib/libm/src/ld80/s_nextafterl.c
+++ b/lib/libm/src/ld80/s_nextafterl.c
@@ -87,5 +87,5 @@ nextafterl(long double x, long double y)
SET_LDOUBLE_WORDS(x,esx,hx,lx);
return x;
}
-
-__strong_alias(nexttowardl, nextafterl);
+DEF_STD(nextafterl);
+MAKE_UNUSED_CLONE(nexttowardl, nextafterl);
diff --git a/lib/libm/src/ld80/s_remquol.c b/lib/libm/src/ld80/s_remquol.c
index 244c1053f17..0c65639038c 100644
--- a/lib/libm/src/ld80/s_remquol.c
+++ b/lib/libm/src/ld80/s_remquol.c
@@ -164,3 +164,4 @@ fixup:
*quo = (sxy ? -q : q);
return x;
}
+DEF_STD(remquol);
diff --git a/lib/libm/src/math_private.h b/lib/libm/src/math_private.h
index 5bece0cbe6f..dbd4df26990 100644
--- a/lib/libm/src/math_private.h
+++ b/lib/libm/src/math_private.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: math_private.h,v 1.17 2014/06/02 19:31:17 kettenis Exp $ */
+/* $OpenBSD: math_private.h,v 1.18 2016/09/12 19:47:02 guenther Exp $ */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -359,6 +359,7 @@ do { \
#endif /* FLT_EVAL_METHOD == 0 || __GNUC__ == 0 */
#endif /* FLT_EVAL_METHOD */
+__BEGIN_HIDDEN_DECLS
/* fdlibm kernel function */
extern int __ieee754_rem_pio2(double,double*);
extern double __kernel_sin(double,double,int);
@@ -382,6 +383,7 @@ long double __kernel_tanl(long double, long double, int);
* Common routine to process the arguments to nan(), nanf(), and nanl().
*/
void _scan_nan(uint32_t *__words, int __num_words, const char *__s);
+__END_HIDDEN_DECLS
/*
* TRUNC() is a macro that sets the trailing 27 bits in the mantissa
@@ -409,9 +411,11 @@ struct Double {
/*
* Functions internal to the math package, yet not static.
*/
+__BEGIN_HIDDEN_DECLS
double __exp__D(double, double);
struct Double __log__D(double);
long double __p1evll(long double, void *, int);
long double __polevll(long double, void *, int);
+__END_HIDDEN_DECLS
#endif /* _MATH_PRIVATE_H_ */
diff --git a/lib/libm/src/s_asinh.c b/lib/libm/src/s_asinh.c
index 7358d7371dd..769f9d0bd84 100644
--- a/lib/libm/src/s_asinh.c
+++ b/lib/libm/src/s_asinh.c
@@ -53,7 +53,5 @@ asinh(double x)
}
if(hx>0) return w; else return -w;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(asinhl, asinh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(asinh);
+LDBL_MAYBE_CLONE(asinh);
diff --git a/lib/libm/src/s_atan.c b/lib/libm/src/s_atan.c
index c70c9128d8c..65cfd9d13e3 100644
--- a/lib/libm/src/s_atan.c
+++ b/lib/libm/src/s_atan.c
@@ -115,7 +115,5 @@ atan(double x)
return (hx<0)? -z:z;
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(atanl, atan);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(atan);
+LDBL_MAYBE_CLONE(atan);
diff --git a/lib/libm/src/s_atanf.c b/lib/libm/src/s_atanf.c
index 66a0c3e459f..423d8791124 100644
--- a/lib/libm/src/s_atanf.c
+++ b/lib/libm/src/s_atanf.c
@@ -93,3 +93,4 @@ atanf(float x)
return (hx<0)? -z:z;
}
}
+DEF_STD(atanf);
diff --git a/lib/libm/src/s_atanl.c b/lib/libm/src/s_atanl.c
index 6ce61533a18..75646985383 100644
--- a/lib/libm/src/s_atanl.c
+++ b/lib/libm/src/s_atanl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_atanl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_atanl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/* @(#)s_atan.c 5.1 93/09/24 */
/* FreeBSD: head/lib/msun/src/s_atan.c 176451 2008-02-22 02:30:36Z das */
/*
@@ -99,3 +99,4 @@ atanl(long double x)
return (expsign<0)? -z:z;
}
}
+DEF_STD(atanl);
diff --git a/lib/libm/src/s_cabs.c b/lib/libm/src/s_cabs.c
index 01b7619a7eb..fbb4dcdc8d4 100644
--- a/lib/libm/src/s_cabs.c
+++ b/lib/libm/src/s_cabs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cabs.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cabs.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -24,7 +24,5 @@ cabs(double complex z)
{
return hypot(__real__ z, __imag__ z);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cabsl, cabs);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cabs);
+LDBL_MAYBE_CLONE(cabs);
diff --git a/lib/libm/src/s_cabsf.c b/lib/libm/src/s_cabsf.c
index d4d22f2dbb5..6c3e1417e09 100644
--- a/lib/libm/src/s_cabsf.c
+++ b/lib/libm/src/s_cabsf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cabsf.c,v 1.1 2008/09/07 20:36:09 martynas Exp $ */
+/* $OpenBSD: s_cabsf.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -23,3 +23,4 @@ cabsf(float complex z)
{
return hypotf(__real__ z, __imag__ z);
}
+DEF_STD(cabsf);
diff --git a/lib/libm/src/s_cabsl.c b/lib/libm/src/s_cabsl.c
index 2e68ec0e693..11a5cea466a 100644
--- a/lib/libm/src/s_cabsl.c
+++ b/lib/libm/src/s_cabsl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cabsl.c,v 1.1 2011/07/08 19:25:31 martynas Exp $ */
+/* $OpenBSD: s_cabsl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2011 Martynas Venckus <martynas@openbsd.org>
@@ -24,3 +24,4 @@ cabsl(long double complex z)
{
return hypotl(__real__ z, __imag__ z);
}
+DEF_STD(cabsl);
diff --git a/lib/libm/src/s_cacos.c b/lib/libm/src/s_cacos.c
index 35026eaffa1..b858c020408 100644
--- a/lib/libm/src/s_cacos.c
+++ b/lib/libm/src/s_cacos.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cacos.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cacos.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -59,7 +59,5 @@ cacos(double complex z)
w = (M_PI_2 - creal (w)) - cimag (w) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cacosl, cacos);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cacos);
+LDBL_MAYBE_UNUSED_CLONE(cacos);
diff --git a/lib/libm/src/s_cacosh.c b/lib/libm/src/s_cacosh.c
index 6ed364fdcdb..5ef3db6fbe0 100644
--- a/lib/libm/src/s_cacosh.c
+++ b/lib/libm/src/s_cacosh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cacosh.c,v 1.7 2015/07/16 13:29:11 martynas Exp $ */
+/* $OpenBSD: s_cacosh.c,v 1.8 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -54,7 +54,5 @@ cacosh(double complex z)
w = clog(z + csqrt(z + 1) * csqrt(z - 1));
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cacoshl, cacosh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cacosh);
+LDBL_MAYBE_UNUSED_CLONE(cacosh);
diff --git a/lib/libm/src/s_carg.c b/lib/libm/src/s_carg.c
index ba8653b39a0..97e5ff7258f 100644
--- a/lib/libm/src/s_carg.c
+++ b/lib/libm/src/s_carg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_carg.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_carg.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -24,7 +24,5 @@ carg(double complex z)
{
return atan2 (__imag__ z, __real__ z);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cargl, carg);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(carg);
+LDBL_MAYBE_CLONE(carg);
diff --git a/lib/libm/src/s_cargf.c b/lib/libm/src/s_cargf.c
index 12dbcde753d..a9e1b241f6b 100644
--- a/lib/libm/src/s_cargf.c
+++ b/lib/libm/src/s_cargf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cargf.c,v 1.1 2008/09/07 20:36:09 martynas Exp $ */
+/* $OpenBSD: s_cargf.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -23,3 +23,4 @@ cargf(float complex z)
{
return atan2f (__imag__ z, __real__ z);
}
+DEF_STD(cargf);
diff --git a/lib/libm/src/s_cargl.c b/lib/libm/src/s_cargl.c
index ba2fb5cdabe..cc2adf89697 100644
--- a/lib/libm/src/s_cargl.c
+++ b/lib/libm/src/s_cargl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cargl.c,v 1.1 2011/07/08 19:25:31 martynas Exp $ */
+/* $OpenBSD: s_cargl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2011 Martynas Venckus <martynas@openbsd.org>
@@ -24,3 +24,4 @@ cargl(long double complex z)
{
return atan2l(__imag__ z, __real__ z);
}
+DEF_STD(cargl);
diff --git a/lib/libm/src/s_casin.c b/lib/libm/src/s_casin.c
index 83e97ae9e22..94a4de007d1 100644
--- a/lib/libm/src/s_casin.c
+++ b/lib/libm/src/s_casin.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_casin.c,v 1.7 2015/12/18 12:17:44 shadchin Exp $ */
+/* $OpenBSD: s_casin.c,v 1.8 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -130,7 +130,5 @@ casin(double complex z)
w = zz * (-1.0 * I);
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(casinl, casin);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(casin);
+LDBL_MAYBE_CLONE(casin);
diff --git a/lib/libm/src/s_casinf.c b/lib/libm/src/s_casinf.c
index 6edbfbf16d5..e99695bb8d9 100644
--- a/lib/libm/src/s_casinf.c
+++ b/lib/libm/src/s_casinf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_casinf.c,v 1.4 2015/12/18 12:17:44 shadchin Exp $ */
+/* $OpenBSD: s_casinf.c,v 1.5 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -132,3 +132,4 @@ casinf(float complex z)
w = zz * (-1.0f * I);
return (w);
}
+DEF_STD(casinf);
diff --git a/lib/libm/src/s_casinh.c b/lib/libm/src/s_casinh.c
index e78f709615e..3e0026a3956 100644
--- a/lib/libm/src/s_casinh.c
+++ b/lib/libm/src/s_casinh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_casinh.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_casinh.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -54,7 +54,5 @@ casinh(double complex z)
w = -1.0 * I * casin (z * I);
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(casinhl, casinh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(casinh);
+LDBL_MAYBE_UNUSED_CLONE(casinh);
diff --git a/lib/libm/src/s_casinl.c b/lib/libm/src/s_casinl.c
index 0411be142c0..e6658eb24c3 100644
--- a/lib/libm/src/s_casinl.c
+++ b/lib/libm/src/s_casinl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_casinl.c,v 1.4 2015/12/18 12:17:44 shadchin Exp $ */
+/* $OpenBSD: s_casinl.c,v 1.5 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -130,3 +130,4 @@ casinl(long double complex z)
w = zz * (-1.0L * I);
return (w);
}
+DEF_STD(casinl);
diff --git a/lib/libm/src/s_catan.c b/lib/libm/src/s_catan.c
index 87c624afb1d..5e41b5445c3 100644
--- a/lib/libm/src/s_catan.c
+++ b/lib/libm/src/s_catan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_catan.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_catan.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -125,7 +125,5 @@ ovrf:
w = MAXNUM + MAXNUM * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(catanl, catan);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(catan);
+LDBL_MAYBE_CLONE(catan);
diff --git a/lib/libm/src/s_catanf.c b/lib/libm/src/s_catanf.c
index efd9096af64..d49fdd6d855 100644
--- a/lib/libm/src/s_catanf.c
+++ b/lib/libm/src/s_catanf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_catanf.c,v 1.2 2010/07/18 18:42:26 guenther Exp $ */
+/* $OpenBSD: s_catanf.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -122,3 +122,4 @@ ovrf:
w = MAXNUMF + MAXNUMF * I;
return (w);
}
+DEF_STD(catanf);
diff --git a/lib/libm/src/s_catanh.c b/lib/libm/src/s_catanh.c
index 16666fdd0f7..e38c883f480 100644
--- a/lib/libm/src/s_catanh.c
+++ b/lib/libm/src/s_catanh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_catanh.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_catanh.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -54,7 +54,5 @@ catanh(double complex z)
w = -1.0 * I * catan (z * I);
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(catanhl, catanh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(catanh);
+LDBL_MAYBE_UNUSED_CLONE(catanh);
diff --git a/lib/libm/src/s_catanl.c b/lib/libm/src/s_catanl.c
index 1edc444ef62..2ecd22f3145 100644
--- a/lib/libm/src/s_catanl.c
+++ b/lib/libm/src/s_catanl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_catanl.c,v 1.3 2011/07/20 21:02:51 martynas Exp $ */
+/* $OpenBSD: s_catanl.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -125,3 +125,4 @@ ovrf:
w = LDBL_MAX + LDBL_MAX * I;
return (w);
}
+DEF_STD(catanl);
diff --git a/lib/libm/src/s_cbrt.c b/lib/libm/src/s_cbrt.c
index 84399fa65d4..af6b75d8d2b 100644
--- a/lib/libm/src/s_cbrt.c
+++ b/lib/libm/src/s_cbrt.c
@@ -77,7 +77,5 @@ cbrt(double x)
SET_HIGH_WORD(t,high|sign);
return(t);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cbrtl, cbrt);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cbrt);
+LDBL_MAYBE_UNUSED_CLONE(cbrt);
diff --git a/lib/libm/src/s_ccos.c b/lib/libm/src/s_ccos.c
index 06c6fc71d00..5905d80b107 100644
--- a/lib/libm/src/s_ccos.c
+++ b/lib/libm/src/s_ccos.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_ccos.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_ccos.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -83,7 +83,5 @@ ccos(double complex z)
w = cos(creal (z)) * ch - (sin (creal (z)) * sh) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ccosl, ccos);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ccos);
+LDBL_MAYBE_UNUSED_CLONE(ccos);
diff --git a/lib/libm/src/s_ccosh.c b/lib/libm/src/s_ccosh.c
index 31b7d421c1c..1fb56546ca6 100644
--- a/lib/libm/src/s_ccosh.c
+++ b/lib/libm/src/s_ccosh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_ccosh.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_ccosh.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -57,7 +57,5 @@ ccosh(double complex z)
w = cosh (x) * cos (y) + (sinh (x) * sin (y)) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ccoshl, ccosh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ccosh);
+LDBL_MAYBE_UNUSED_CLONE(ccosh);
diff --git a/lib/libm/src/s_ceil.c b/lib/libm/src/s_ceil.c
index d1ea4a7f7ae..df22b506895 100644
--- a/lib/libm/src/s_ceil.c
+++ b/lib/libm/src/s_ceil.c
@@ -68,7 +68,5 @@ ceil(double x)
INSERT_WORDS(x,i0,i1);
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ceill, ceil);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ceil);
+LDBL_MAYBE_UNUSED_CLONE(ceil);
diff --git a/lib/libm/src/s_ceilf.c b/lib/libm/src/s_ceilf.c
index 1f1335f73f4..6e4a4d1be32 100644
--- a/lib/libm/src/s_ceilf.c
+++ b/lib/libm/src/s_ceilf.c
@@ -47,3 +47,4 @@ ceilf(float x)
SET_FLOAT_WORD(x,i0);
return x;
}
+DEF_STD(ceilf);
diff --git a/lib/libm/src/s_cexp.c b/lib/libm/src/s_cexp.c
index 33b1e1b8f81..182a4ed42db 100644
--- a/lib/libm/src/s_cexp.c
+++ b/lib/libm/src/s_cexp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cexp.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cexp.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -69,7 +69,5 @@ cexp(double complex z)
w = r * cos (y) + r * sin (y) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cexpl, cexp);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cexp);
+LDBL_MAYBE_UNUSED_CLONE(cexp);
diff --git a/lib/libm/src/s_cimag.c b/lib/libm/src/s_cimag.c
index cc5d90e2494..a4cd8557ebe 100644
--- a/lib/libm/src/s_cimag.c
+++ b/lib/libm/src/s_cimag.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cimag.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cimag.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -24,7 +24,5 @@ cimag(double complex z)
{
return __imag__ z;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cimagl, cimag);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cimag);
+LDBL_MAYBE_CLONE(cimag);
diff --git a/lib/libm/src/s_cimagf.c b/lib/libm/src/s_cimagf.c
index 609851fbbda..f3293f07738 100644
--- a/lib/libm/src/s_cimagf.c
+++ b/lib/libm/src/s_cimagf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cimagf.c,v 1.1 2008/09/07 20:36:09 martynas Exp $ */
+/* $OpenBSD: s_cimagf.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -23,3 +23,4 @@ cimagf(float complex z)
{
return __imag__ z;
}
+DEF_STD(cimagf);
diff --git a/lib/libm/src/s_cimagl.c b/lib/libm/src/s_cimagl.c
index b25c3402027..53139a4d69c 100644
--- a/lib/libm/src/s_cimagl.c
+++ b/lib/libm/src/s_cimagl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cimagl.c,v 1.1 2011/07/08 19:25:31 martynas Exp $ */
+/* $OpenBSD: s_cimagl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2011 Martynas Venckus <martynas@openbsd.org>
@@ -24,3 +24,4 @@ cimagl(long double complex z)
{
return __imag__ z;
}
+DEF_STD(cimagl);
diff --git a/lib/libm/src/s_clog.c b/lib/libm/src/s_clog.c
index 7b17efa17aa..e3e9d04c76a 100644
--- a/lib/libm/src/s_clog.c
+++ b/lib/libm/src/s_clog.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_clog.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_clog.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -71,7 +71,5 @@ clog(double complex z)
w = p + rr * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(clogl, clog);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(clog);
+LDBL_MAYBE_CLONE(clog);
diff --git a/lib/libm/src/s_clogf.c b/lib/libm/src/s_clogf.c
index 75969272155..31d1cbbba6d 100644
--- a/lib/libm/src/s_clogf.c
+++ b/lib/libm/src/s_clogf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_clogf.c,v 1.2 2010/07/18 18:42:26 guenther Exp $ */
+/* $OpenBSD: s_clogf.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -70,3 +70,4 @@ clogf(float complex z)
w = p + rr * I;
return (w);
}
+DEF_STD(clogf);
diff --git a/lib/libm/src/s_clogl.c b/lib/libm/src/s_clogl.c
index 9b115ca4986..afd74ee10e0 100644
--- a/lib/libm/src/s_clogl.c
+++ b/lib/libm/src/s_clogl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_clogl.c,v 1.2 2011/07/20 19:28:33 martynas Exp $ */
+/* $OpenBSD: s_clogl.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -71,3 +71,4 @@ clogl(long double complex z)
w = p + rr * I;
return (w);
}
+DEF_STD(clogl);
diff --git a/lib/libm/src/s_conj.c b/lib/libm/src/s_conj.c
index 97f1ebea704..6403ef3fd48 100644
--- a/lib/libm/src/s_conj.c
+++ b/lib/libm/src/s_conj.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_conj.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_conj.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -24,7 +24,5 @@ conj(double complex z)
{
return ~z;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(conjl, conj);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(conj);
+LDBL_MAYBE_UNUSED_CLONE(conj);
diff --git a/lib/libm/src/s_copysign.c b/lib/libm/src/s_copysign.c
index a6c1b09032f..c499d55ce8b 100644
--- a/lib/libm/src/s_copysign.c
+++ b/lib/libm/src/s_copysign.c
@@ -30,7 +30,5 @@ copysign(double x, double y)
SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(copysignl, copysign);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(copysign);
+LDBL_MAYBE_CLONE(copysign);
diff --git a/lib/libm/src/s_copysignf.c b/lib/libm/src/s_copysignf.c
index 267ed2da96a..553e7daf9c8 100644
--- a/lib/libm/src/s_copysignf.c
+++ b/lib/libm/src/s_copysignf.c
@@ -31,3 +31,4 @@ copysignf(float x, float y)
SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000));
return x;
}
+DEF_STD(copysignf);
diff --git a/lib/libm/src/s_copysignl.c b/lib/libm/src/s_copysignl.c
index 3d50a4118c0..2db1258bd40 100644
--- a/lib/libm/src/s_copysignl.c
+++ b/lib/libm/src/s_copysignl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_copysignl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_copysignl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -29,3 +29,4 @@ copysignl(long double x, long double y)
return x;
}
+DEF_STD(copysignl);
diff --git a/lib/libm/src/s_cos.c b/lib/libm/src/s_cos.c
index d29c290094f..8b923d5fe61 100644
--- a/lib/libm/src/s_cos.c
+++ b/lib/libm/src/s_cos.c
@@ -74,7 +74,5 @@ cos(double x)
}
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cosl, cos);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cos);
+LDBL_MAYBE_CLONE(cos);
diff --git a/lib/libm/src/s_cosf.c b/lib/libm/src/s_cosf.c
index aaa3d00bf53..16cdd648cf5 100644
--- a/lib/libm/src/s_cosf.c
+++ b/lib/libm/src/s_cosf.c
@@ -43,3 +43,4 @@ cosf(float x)
}
}
}
+DEF_STD(cosf);
diff --git a/lib/libm/src/s_cosl.c b/lib/libm/src/s_cosl.c
index 6104751b6d5..867cc6ee9c2 100644
--- a/lib/libm/src/s_cosl.c
+++ b/lib/libm/src/s_cosl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cosl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_cosl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2007 Steven G. Kargl
* All rights reserved.
@@ -114,3 +114,4 @@ cosl(long double x)
return (hi);
}
+DEF_STD(cosl);
diff --git a/lib/libm/src/s_cpow.c b/lib/libm/src/s_cpow.c
index c1a4e59fbc2..e44763f5548 100644
--- a/lib/libm/src/s_cpow.c
+++ b/lib/libm/src/s_cpow.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cpow.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cpow.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -70,7 +70,5 @@ cpow(double complex a, double complex z)
w = r * cos (theta) + (r * sin (theta)) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cpowl, cpow);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cpow);
+LDBL_MAYBE_UNUSED_CLONE(cpow);
diff --git a/lib/libm/src/s_cproj.c b/lib/libm/src/s_cproj.c
index f937b45cecc..edada2c3f1b 100644
--- a/lib/libm/src/s_cproj.c
+++ b/lib/libm/src/s_cproj.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_cproj.c,v 1.7 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_cproj.c,v 1.8 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -33,7 +33,5 @@ cproj(double complex z)
return res;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(cprojl, cproj);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(cproj);
+LDBL_MAYBE_UNUSED_CLONE(cproj);
diff --git a/lib/libm/src/s_creal.c b/lib/libm/src/s_creal.c
index c0fa669cb70..979c1740efd 100644
--- a/lib/libm/src/s_creal.c
+++ b/lib/libm/src/s_creal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_creal.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_creal.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -24,7 +24,5 @@ creal(double complex z)
{
return __real__ z;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(creall, creal);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(creal);
+LDBL_MAYBE_CLONE(creal);
diff --git a/lib/libm/src/s_crealf.c b/lib/libm/src/s_crealf.c
index 12c54ea615b..0049adfdcac 100644
--- a/lib/libm/src/s_crealf.c
+++ b/lib/libm/src/s_crealf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_crealf.c,v 1.1 2008/09/07 20:36:09 martynas Exp $ */
+/* $OpenBSD: s_crealf.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
*
@@ -23,3 +23,4 @@ crealf(float complex z)
{
return __real__ z;
}
+DEF_STD(crealf);
diff --git a/lib/libm/src/s_creall.c b/lib/libm/src/s_creall.c
index 4f3f4a4194e..6050c20436d 100644
--- a/lib/libm/src/s_creall.c
+++ b/lib/libm/src/s_creall.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_creall.c,v 1.1 2011/07/08 19:25:31 martynas Exp $ */
+/* $OpenBSD: s_creall.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2011 Martynas Venckus <martynas@openbsd.org>
@@ -24,3 +24,4 @@ creall(long double complex z)
{
return __real__ z;
}
+DEF_STD(creall);
diff --git a/lib/libm/src/s_csin.c b/lib/libm/src/s_csin.c
index 3d2f2c87bf2..b14c1d4bdab 100644
--- a/lib/libm/src/s_csin.c
+++ b/lib/libm/src/s_csin.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_csin.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_csin.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -85,7 +85,5 @@ csin(double complex z)
w = sin (creal(z)) * ch + (cos (creal(z)) * sh) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(csinl, csin);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(csin);
+LDBL_MAYBE_UNUSED_CLONE(csin);
diff --git a/lib/libm/src/s_csinh.c b/lib/libm/src/s_csinh.c
index 0baa962c84e..e8839a36432 100644
--- a/lib/libm/src/s_csinh.c
+++ b/lib/libm/src/s_csinh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_csinh.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_csinh.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -56,7 +56,5 @@ csinh(double complex z)
w = sinh (x) * cos (y) + (cosh (x) * sin (y)) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(csinhl, csinh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(csinh);
+LDBL_MAYBE_UNUSED_CLONE(csinh);
diff --git a/lib/libm/src/s_csqrt.c b/lib/libm/src/s_csqrt.c
index 3450ce0caac..b0ffa88e885 100644
--- a/lib/libm/src/s_csqrt.c
+++ b/lib/libm/src/s_csqrt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_csqrt.c,v 1.7 2015/12/18 12:10:30 shadchin Exp $ */
+/* $OpenBSD: s_csqrt.c,v 1.8 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -130,7 +130,5 @@ csqrt(double complex z)
w = t + r * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(csqrtl, csqrt);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(csqrt);
+LDBL_MAYBE_CLONE(csqrt);
diff --git a/lib/libm/src/s_csqrtf.c b/lib/libm/src/s_csqrtf.c
index 91a3d1bf727..6f7770c0298 100644
--- a/lib/libm/src/s_csqrtf.c
+++ b/lib/libm/src/s_csqrtf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_csqrtf.c,v 1.3 2015/12/18 12:10:30 shadchin Exp $ */
+/* $OpenBSD: s_csqrtf.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -129,3 +129,4 @@ csqrtf(float complex z)
w = t + r * I;
return (w);
}
+DEF_STD(csqrtf);
diff --git a/lib/libm/src/s_csqrtl.c b/lib/libm/src/s_csqrtl.c
index a21e8052c17..a82bddc866d 100644
--- a/lib/libm/src/s_csqrtl.c
+++ b/lib/libm/src/s_csqrtl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_csqrtl.c,v 1.3 2015/12/18 12:10:30 shadchin Exp $ */
+/* $OpenBSD: s_csqrtl.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
@@ -126,3 +126,4 @@ csqrtl(long double complex z)
w = t + r * I;
return (w);
}
+DEF_STD(csqrtl);
diff --git a/lib/libm/src/s_ctan.c b/lib/libm/src/s_ctan.c
index 0612d203709..87123f32869 100644
--- a/lib/libm/src/s_ctan.c
+++ b/lib/libm/src/s_ctan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_ctan.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_ctan.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -151,7 +151,5 @@ ctan(double complex z)
w = sin (2.0 * creal(z)) / d + (sinh (2.0 * cimag(z)) / d) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ctanl, ctan);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ctan);
+LDBL_MAYBE_UNUSED_CLONE(ctan);
diff --git a/lib/libm/src/s_ctanh.c b/lib/libm/src/s_ctanh.c
index 16931eca1fa..c8fbadb8f11 100644
--- a/lib/libm/src/s_ctanh.c
+++ b/lib/libm/src/s_ctanh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_ctanh.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_ctanh.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*
* Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
*
@@ -58,7 +58,5 @@ ctanh(double complex z)
w = sinh (2.0 * x) / d + (sin (2.0 * y) / d) * I;
return (w);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ctanhl, ctanh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ctanh);
+LDBL_MAYBE_UNUSED_CLONE(ctanh);
diff --git a/lib/libm/src/s_erf.c b/lib/libm/src/s_erf.c
index a7f5aa24466..30e183f8f23 100644
--- a/lib/libm/src/s_erf.c
+++ b/lib/libm/src/s_erf.c
@@ -235,6 +235,8 @@ erf(double x)
r = exp(-z*z-0.5625)*exp((z-x)*(z+x)+R/S);
if(hx>=0) return one-r/x; else return r/x-one;
}
+DEF_STD(erf);
+LDBL_MAYBE_CLONE(erf);
double
erfc(double x)
@@ -296,8 +298,5 @@ erfc(double x)
if(hx>0) return tiny*tiny; else return two-tiny;
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(erfl, erf);
-__strong_alias(erfcl, erf);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(erfc);
+LDBL_MAYBE_CLONE(erfc);
diff --git a/lib/libm/src/s_exp2.c b/lib/libm/src/s_exp2.c
index c28b7c44285..0f8d66ffbf6 100644
--- a/lib/libm/src/s_exp2.c
+++ b/lib/libm/src/s_exp2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_exp2.c,v 1.8 2015/08/20 19:24:58 naddy Exp $ */
+/* $OpenBSD: s_exp2.c,v 1.9 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -388,7 +388,5 @@ exp2(double x)
return (r * twopkp1000 * twom1000);
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(exp2l, exp2);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(exp2);
+LDBL_MAYBE_UNUSED_CLONE(exp2);
diff --git a/lib/libm/src/s_expm1.c b/lib/libm/src/s_expm1.c
index 9c82a2b74ef..ec6b416f7dc 100644
--- a/lib/libm/src/s_expm1.c
+++ b/lib/libm/src/s_expm1.c
@@ -217,7 +217,5 @@ expm1(double x)
}
return y;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(expm1l, expm1);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(expm1);
+LDBL_MAYBE_CLONE(expm1);
diff --git a/lib/libm/src/s_expm1f.c b/lib/libm/src/s_expm1f.c
index 69b25394aa2..7b7e7c72cc3 100644
--- a/lib/libm/src/s_expm1f.c
+++ b/lib/libm/src/s_expm1f.c
@@ -120,3 +120,4 @@ expm1f(float x)
}
return y;
}
+DEF_STD(expm1f);
diff --git a/lib/libm/src/s_fabsf.c b/lib/libm/src/s_fabsf.c
index 71b9f755e6d..e3b96a71200 100644
--- a/lib/libm/src/s_fabsf.c
+++ b/lib/libm/src/s_fabsf.c
@@ -28,3 +28,4 @@ fabsf(float x)
SET_FLOAT_WORD(x,ix&0x7fffffff);
return x;
}
+DEF_STD(fabsf);
diff --git a/lib/libm/src/s_floor.c b/lib/libm/src/s_floor.c
index 56ab76fcb45..1d7d0f77aa0 100644
--- a/lib/libm/src/s_floor.c
+++ b/lib/libm/src/s_floor.c
@@ -69,7 +69,5 @@ floor(double x)
INSERT_WORDS(x,i0,i1);
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(floorl, floor);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(floor);
+LDBL_MAYBE_CLONE(floor);
diff --git a/lib/libm/src/s_floorf.c b/lib/libm/src/s_floorf.c
index 8cc5e3058f3..27789f1b496 100644
--- a/lib/libm/src/s_floorf.c
+++ b/lib/libm/src/s_floorf.c
@@ -56,3 +56,4 @@ floorf(float x)
SET_FLOAT_WORD(x,i0);
return x;
}
+DEF_STD(floorf);
diff --git a/lib/libm/src/s_fma.c b/lib/libm/src/s_fma.c
index 9486e1aaec2..9257a948b72 100644
--- a/lib/libm/src/s_fma.c
+++ b/lib/libm/src/s_fma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_fma.c,v 1.6 2013/11/12 19:00:38 martynas Exp $ */
+/* $OpenBSD: s_fma.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
@@ -200,7 +200,5 @@ fma(double x, double y, double z)
return ((long double)x * y + z);
}
#endif /* LDBL_MANT_DIG != 113 */
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(fmal, fma);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(fma);
+LDBL_MAYBE_UNUSED_CLONE(fma);
diff --git a/lib/libm/src/s_fmax.c b/lib/libm/src/s_fmax.c
index 0f4a8cb8715..30da9fa2c83 100644
--- a/lib/libm/src/s_fmax.c
+++ b/lib/libm/src/s_fmax.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_fmax.c,v 1.10 2013/11/12 18:28:02 martynas Exp $ */
+/* $OpenBSD: s_fmax.c,v 1.11 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -47,7 +47,5 @@ fmax(double x, double y)
return (x > y ? x : y);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(fmaxl, fmax);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(fmax);
+LDBL_MAYBE_UNUSED_CLONE(fmax);
diff --git a/lib/libm/src/s_fmin.c b/lib/libm/src/s_fmin.c
index 7b99b914a85..3083c1174f3 100644
--- a/lib/libm/src/s_fmin.c
+++ b/lib/libm/src/s_fmin.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_fmin.c,v 1.10 2013/11/12 18:28:02 martynas Exp $ */
+/* $OpenBSD: s_fmin.c,v 1.11 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -47,7 +47,5 @@ fmin(double x, double y)
return (x < y ? x : y);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(fminl, fmin);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(fmin);
+LDBL_MAYBE_UNUSED_CLONE(fmin);
diff --git a/lib/libm/src/s_frexpl.c b/lib/libm/src/s_frexpl.c
index 9093af12bd8..015c6ad42e3 100644
--- a/lib/libm/src/s_frexpl.c
+++ b/lib/libm/src/s_frexpl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_frexpl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_frexpl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -68,3 +68,4 @@ frexpl(long double x, int *ex)
return x;
}
+DEF_STD(frexpl);
diff --git a/lib/libm/src/s_ilogb.c b/lib/libm/src/s_ilogb.c
index 29e435c2eb2..14dec8dacb5 100644
--- a/lib/libm/src/s_ilogb.c
+++ b/lib/libm/src/s_ilogb.c
@@ -43,7 +43,5 @@ ilogb(double x)
else if (hx<0x7ff00000) return (hx>>20)-1023;
else return 0x7fffffff;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(ilogbl, ilogb);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(ilogb);
+LDBL_MAYBE_CLONE(ilogb);
diff --git a/lib/libm/src/s_ilogbf.c b/lib/libm/src/s_ilogbf.c
index bac38c6b9a3..04c3e316d54 100644
--- a/lib/libm/src/s_ilogbf.c
+++ b/lib/libm/src/s_ilogbf.c
@@ -33,3 +33,4 @@ ilogbf(float x)
else if (hx<0x7f800000) return (hx>>23)-127;
else return 0x7fffffff;
}
+DEF_STD(ilogbf);
diff --git a/lib/libm/src/s_ilogbl.c b/lib/libm/src/s_ilogbl.c
index da06cc9e6d8..9c1f83fff4f 100644
--- a/lib/libm/src/s_ilogbl.c
+++ b/lib/libm/src/s_ilogbl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_ilogbl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_ilogbl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*
* From: @(#)s_ilogb.c 5.1 93/09/24
* ====================================================
@@ -76,3 +76,4 @@ ilogbl(long double x)
else
return (INT_MAX);
}
+DEF_STD(ilogbl);
diff --git a/lib/libm/src/s_llrint.c b/lib/libm/src/s_llrint.c
index bab027e7e16..a8d74065b71 100644
--- a/lib/libm/src/s_llrint.c
+++ b/lib/libm/src/s_llrint.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_llrint.c,v 1.5 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_llrint.c,v 1.6 2016/09/12 19:47:02 guenther Exp $ */
/* $NetBSD: llrint.c,v 1.2 2004/10/13 15:18:32 drochner Exp $ */
/*
@@ -12,7 +12,3 @@
#define RESTYPE_MAX LLONG_MAX
#include "s_lrint.c"
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(llrintl, llrint);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/s_llround.c b/lib/libm/src/s_llround.c
index 079ff6125c3..e0de123a1c4 100644
--- a/lib/libm/src/s_llround.c
+++ b/lib/libm/src/s_llround.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_llround.c,v 1.5 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_llround.c,v 1.6 2016/09/12 19:47:02 guenther Exp $ */
/* $NetBSD: llround.c,v 1.2 2004/10/13 15:18:32 drochner Exp $ */
/*
@@ -12,7 +12,3 @@
#define RESTYPE_MAX LLONG_MAX
#include "s_lround.c"
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(llroundl, llround);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/s_log1p.c b/lib/libm/src/s_log1p.c
index 64671f6d1d2..20fcfeefd64 100644
--- a/lib/libm/src/s_log1p.c
+++ b/lib/libm/src/s_log1p.c
@@ -157,7 +157,5 @@ log1p(double x)
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(log1pl, log1p);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(log1p);
+LDBL_MAYBE_CLONE(log1p);
diff --git a/lib/libm/src/s_log1pf.c b/lib/libm/src/s_log1pf.c
index c5e10e1c0fa..897a0109b7c 100644
--- a/lib/libm/src/s_log1pf.c
+++ b/lib/libm/src/s_log1pf.c
@@ -94,3 +94,4 @@ log1pf(float x)
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
}
+DEF_STD(log1pf);
diff --git a/lib/libm/src/s_logb.c b/lib/libm/src/s_logb.c
index 96c1208bf93..09fe82c3d1e 100644
--- a/lib/libm/src/s_logb.c
+++ b/lib/libm/src/s_logb.c
@@ -32,3 +32,4 @@ logb(double x)
else
return (double) (ix-1023);
}
+DEF_STD(logb);
diff --git a/lib/libm/src/s_logbf.c b/lib/libm/src/s_logbf.c
index bed408efab6..30737b97683 100644
--- a/lib/libm/src/s_logbf.c
+++ b/lib/libm/src/s_logbf.c
@@ -29,3 +29,4 @@ logbf(float x)
else
return (float) (ix-127);
}
+DEF_STD(logbf);
diff --git a/lib/libm/src/s_lrint.c b/lib/libm/src/s_lrint.c
index e5d8ca10e28..865cb0e1b40 100644
--- a/lib/libm/src/s_lrint.c
+++ b/lib/libm/src/s_lrint.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_lrint.c,v 1.10 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_lrint.c,v 1.11 2016/09/12 19:47:02 guenther Exp $ */
/* $NetBSD: lrint.c,v 1.3 2004/10/13 15:18:32 drochner Exp $ */
/*-
@@ -97,7 +97,5 @@ LRINTNAME(double x)
return (s ? -res : res);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(lrintl, lrint);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(LRINTNAME);
+LDBL_MAYBE_CLONE(LRINTNAME);
diff --git a/lib/libm/src/s_lrintf.c b/lib/libm/src/s_lrintf.c
index ca6c5a87468..fae445483e6 100644
--- a/lib/libm/src/s_lrintf.c
+++ b/lib/libm/src/s_lrintf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_lrintf.c,v 1.5 2011/04/20 21:32:59 martynas Exp $ */
+/* $OpenBSD: s_lrintf.c,v 1.6 2016/09/12 19:47:02 guenther Exp $ */
/* $NetBSD: lrintf.c,v 1.3 2004/10/13 15:18:32 drochner Exp $ */
/*-
@@ -90,3 +90,4 @@ LRINTNAME(float x)
return (s ? -res : res);
}
+DEF_STD(LRINTNAME);
diff --git a/lib/libm/src/s_lround.c b/lib/libm/src/s_lround.c
index 15ac8e9c91d..4b671a93114 100644
--- a/lib/libm/src/s_lround.c
+++ b/lib/libm/src/s_lround.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_lround.c,v 1.7 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_lround.c,v 1.8 2016/09/12 19:47:02 guenther Exp $ */
/* $NetBSD: lround.c,v 1.2 2004/10/13 15:18:32 drochner Exp $ */
/*-
@@ -87,7 +87,5 @@ LROUNDNAME(double x)
return (s ? -res : res);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(lroundl, lround);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(LROUNDNAME);
+LDBL_MAYBE_UNUSED_CLONE(LROUNDNAME);
diff --git a/lib/libm/src/s_nan.c b/lib/libm/src/s_nan.c
index 33628c82390..7d9dbc9b979 100644
--- a/lib/libm/src/s_nan.c
+++ b/lib/libm/src/s_nan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_nan.c,v 1.13 2014/07/21 01:51:11 guenther Exp $ */
+/* $OpenBSD: s_nan.c,v 1.14 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2007 David Schultz
* All rights reserved.
@@ -108,6 +108,8 @@ nan(const char *s)
#endif
return (u.d);
}
+DEF_STD(nan);
+LDBL_MAYBE_UNUSED_CLONE(nan);
float
nanf(const char *s)
@@ -121,7 +123,3 @@ nanf(const char *s)
u.bits[0] |= 0x7fc00000;
return (u.f);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(nanl, nan);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/s_nextafter.c b/lib/libm/src/s_nextafter.c
index bbaf4158819..ba7d0ea1e28 100644
--- a/lib/libm/src/s_nextafter.c
+++ b/lib/libm/src/s_nextafter.c
@@ -71,9 +71,10 @@ nextafter(double x, double y)
INSERT_WORDS(x,hx,lx);
return x;
}
+DEF_STD(nextafter);
+LDBL_MAYBE_CLONE(nextafter);
#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(nextafterl, nextafter);
-__strong_alias(nexttoward, nextafter);
-__strong_alias(nexttowardl, nextafter);
+MAKE_UNUSED_CLONE(nexttoward, nextafter);
+MAKE_UNUSED_CLONE(nexttowardl, nextafter);
#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
diff --git a/lib/libm/src/s_remquo.c b/lib/libm/src/s_remquo.c
index 2175dbb43a9..5eeb47a8fde 100644
--- a/lib/libm/src/s_remquo.c
+++ b/lib/libm/src/s_remquo.c
@@ -149,7 +149,5 @@ fixup:
*quo = (sxy ? -q : q);
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(remquol, remquo);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(remquo);
+LDBL_MAYBE_CLONE(remquo);
diff --git a/lib/libm/src/s_rint.c b/lib/libm/src/s_rint.c
index 89b4999d810..0661fecefeb 100644
--- a/lib/libm/src/s_rint.c
+++ b/lib/libm/src/s_rint.c
@@ -75,7 +75,5 @@ rint(double x)
w = TWO52[sx]+x;
return w-TWO52[sx];
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(rintl, rint);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(rint);
+LDBL_MAYBE_CLONE(rint);
diff --git a/lib/libm/src/s_rintf.c b/lib/libm/src/s_rintf.c
index 15ea33f699d..eda6ea1c553 100644
--- a/lib/libm/src/s_rintf.c
+++ b/lib/libm/src/s_rintf.c
@@ -58,3 +58,4 @@ rintf(float x)
w = TWO23[sx]+x;
return w-TWO23[sx];
}
+DEF_STD(rintf);
diff --git a/lib/libm/src/s_rintl.c b/lib/libm/src/s_rintl.c
index 55ebca5ba0e..7d540316e19 100644
--- a/lib/libm/src/s_rintl.c
+++ b/lib/libm/src/s_rintl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_rintl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_rintl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
* All rights reserved.
@@ -89,3 +89,4 @@ rintl(long double x)
return (x);
}
+DEF_NONSTD(rintl);
diff --git a/lib/libm/src/s_round.c b/lib/libm/src/s_round.c
index ce7eb925bd2..7ba16441bf3 100644
--- a/lib/libm/src/s_round.c
+++ b/lib/libm/src/s_round.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_round.c,v 1.6 2013/07/03 04:46:36 espie Exp $ */
+/* $OpenBSD: s_round.c,v 1.7 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2003, Steven G. Kargl
@@ -51,7 +51,5 @@ round(double x)
return (-t);
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(roundl, round);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(round);
+LDBL_MAYBE_CLONE(round);
diff --git a/lib/libm/src/s_roundl.c b/lib/libm/src/s_roundl.c
index b893f3193cc..319abfb4ede 100644
--- a/lib/libm/src/s_roundl.c
+++ b/lib/libm/src/s_roundl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_roundl.c,v 1.2 2012/12/05 23:20:04 deraadt Exp $ */
+/* $OpenBSD: s_roundl.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2003, Steven G. Kargl
@@ -48,3 +48,4 @@ roundl(long double x)
return (-t);
}
}
+DEF_STD(roundl);
diff --git a/lib/libm/src/s_scalbn.c b/lib/libm/src/s_scalbn.c
index ce4bd1a4c8c..7ca54bfc0fb 100644
--- a/lib/libm/src/s_scalbn.c
+++ b/lib/libm/src/s_scalbn.c
@@ -25,7 +25,5 @@ scalbn (double x, int n)
{
return ldexp(x, n);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(scalbnl, scalbn);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(scalbn);
+LDBL_MAYBE_CLONE(scalbn);
diff --git a/lib/libm/src/s_scalbnf.c b/lib/libm/src/s_scalbnf.c
index 5ab9208b5d9..a3363033d60 100644
--- a/lib/libm/src/s_scalbnf.c
+++ b/lib/libm/src/s_scalbnf.c
@@ -48,6 +48,7 @@ scalbnf(float x, int n)
SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));
return x*twom25;
}
+DEF_STD(scalbnf);
float
ldexpf(float x, int n)
diff --git a/lib/libm/src/s_scalbnl.c b/lib/libm/src/s_scalbnl.c
index 7ff444815b8..293b21a0414 100644
--- a/lib/libm/src/s_scalbnl.c
+++ b/lib/libm/src/s_scalbnl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_scalbnl.c,v 1.3 2013/11/12 18:28:02 martynas Exp $ */
+/* $OpenBSD: s_scalbnl.c,v 1.4 2016/09/12 19:47:02 guenther Exp $ */
/* @(#)s_scalbn.c 5.1 93/09/24 */
/*
* ====================================================
@@ -74,9 +74,11 @@ scalbnl (long double x, int n)
u.bits.ext_exp = k;
return u.e*0x1p-128;
}
+DEF_STD(scalbnl);
long double
ldexpl(long double x, int n)
{
return scalbnl(x, n);
}
+DEF_STD(ldexpl);
diff --git a/lib/libm/src/s_signgam.c b/lib/libm/src/s_signgam.c
index cec0a5a75aa..c6a6dbeae3a 100644
--- a/lib/libm/src/s_signgam.c
+++ b/lib/libm/src/s_signgam.c
@@ -1,4 +1,7 @@
-/* $OpenBSD: s_signgam.c,v 1.2 2015/01/20 04:41:01 krw Exp $ */
+/* $OpenBSD: s_signgam.c,v 1.3 2016/09/12 19:47:02 guenther Exp $ */
#include "math.h"
#include "math_private.h"
int signgam = 0;
+#if 0
+DEF_NONSTD(signgam);
+#endif
diff --git a/lib/libm/src/s_sin.c b/lib/libm/src/s_sin.c
index 65d9647af46..058486a696b 100644
--- a/lib/libm/src/s_sin.c
+++ b/lib/libm/src/s_sin.c
@@ -74,7 +74,5 @@ sin(double x)
}
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(sinl, sin);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(sin);
+LDBL_MAYBE_CLONE(sin);
diff --git a/lib/libm/src/s_sinf.c b/lib/libm/src/s_sinf.c
index 7bb90e67fcd..1214212ddb3 100644
--- a/lib/libm/src/s_sinf.c
+++ b/lib/libm/src/s_sinf.c
@@ -43,3 +43,4 @@ sinf(float x)
}
}
}
+DEF_STD(sinf);
diff --git a/lib/libm/src/s_sinl.c b/lib/libm/src/s_sinl.c
index dc940dd7837..a4303d170f3 100644
--- a/lib/libm/src/s_sinl.c
+++ b/lib/libm/src/s_sinl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s_sinl.c,v 1.1 2008/12/09 20:00:35 martynas Exp $ */
+/* $OpenBSD: s_sinl.c,v 1.2 2016/09/12 19:47:02 guenther Exp $ */
/*-
* Copyright (c) 2007 Steven G. Kargl
* All rights reserved.
@@ -115,3 +115,4 @@ sinl(long double x)
return (s ? -hi : hi);
}
+DEF_STD(sinl);
diff --git a/lib/libm/src/s_tan.c b/lib/libm/src/s_tan.c
index 558751c413a..afa0520aefa 100644
--- a/lib/libm/src/s_tan.c
+++ b/lib/libm/src/s_tan.c
@@ -68,7 +68,5 @@ tan(double x)
-1 -- n odd */
}
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(tanl, tan);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(tan);
+LDBL_MAYBE_UNUSED_CLONE(tan);
diff --git a/lib/libm/src/s_tanh.c b/lib/libm/src/s_tanh.c
index cb96ce5314a..f01bd0d6851 100644
--- a/lib/libm/src/s_tanh.c
+++ b/lib/libm/src/s_tanh.c
@@ -76,7 +76,5 @@ tanh(double x)
}
return (jx>=0)? z: -z;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(tanhl, tanh);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(tanh);
+LDBL_MAYBE_UNUSED_CLONE(tanh);
diff --git a/lib/libm/src/s_trunc.c b/lib/libm/src/s_trunc.c
index 46a748fd8f4..2bace31af8c 100644
--- a/lib/libm/src/s_trunc.c
+++ b/lib/libm/src/s_trunc.c
@@ -58,7 +58,5 @@ trunc(double x)
INSERT_WORDS(x,i0,i1);
return x;
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(truncl, trunc);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(trunc);
+LDBL_MAYBE_UNUSED_CLONE(trunc);
diff --git a/lib/libm/src/w_lgamma.c b/lib/libm/src/w_lgamma.c
index a0470d19a11..bc8b3f6d1e3 100644
--- a/lib/libm/src/w_lgamma.c
+++ b/lib/libm/src/w_lgamma.c
@@ -28,7 +28,5 @@ lgamma(double x)
{
return lgamma_r(x,&signgam);
}
-
-#if LDBL_MANT_DIG == DBL_MANT_DIG
-__strong_alias(lgammal, lgamma);
-#endif /* LDBL_MANT_DIG == DBL_MANT_DIG */
+DEF_STD(lgamma);
+LDBL_MAYBE_CLONE(lgamma);