libm: Sync with FreeBSD (gains 6 long double functions)
[dragonfly.git] / lib / libm / src / imprecise.c
index 2498be3..c8e7b47 100644 (file)
@@ -56,14 +56,18 @@ imprecise_powl(long double x, long double y)
 }
 DECLARE_WEAK(powl);
 
+#define DECLARE_FORMER_IMPRECISE(f) \
+       __asm__(".symver imprecise_" #f "l," #f "l@DF306.1"); \
+       long double imprecise_ ## f ## l(long double v) { return f(v); }
+
 #define DECLARE_IMPRECISE(f) \
        long double imprecise_ ## f ## l(long double v) { return f(v); }\
        DECLARE_WEAK(f ## l)
 
-DECLARE_IMPRECISE(cosh);
-DECLARE_IMPRECISE(erfc);
-DECLARE_IMPRECISE(erf);
 DECLARE_IMPRECISE(lgamma);
-DECLARE_IMPRECISE(sinh);
-DECLARE_IMPRECISE(tanh);
-DECLARE_IMPRECISE(tgamma);
+DECLARE_FORMER_IMPRECISE(cosh);
+DECLARE_FORMER_IMPRECISE(erfc);
+DECLARE_FORMER_IMPRECISE(erf);
+DECLARE_FORMER_IMPRECISE(sinh);
+DECLARE_FORMER_IMPRECISE(tanh);
+DECLARE_FORMER_IMPRECISE(tgamma);