]> sourceware.org Git - glibc.git/commitdiff
Do not wrap logf, log2f and powf nsz/math
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Wed, 13 Sep 2017 17:14:26 +0000 (18:14 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Fri, 29 Sep 2017 10:51:12 +0000 (11:51 +0100)
The new generic logf, log2f and powf code don't need wrappers any more,
they set errno inline so only use the wrappers on targets that need it.

2017-09-19  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper.
* sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise
* sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise
* sysdeps/ieee754/flt-32/w_log2f.c: New file.
* sysdeps/ieee754/flt-32/w_logf.c: New file.
* sysdeps/ieee754/flt-32/w_powf.c: New file.
* sysdeps/i386/fpu/w_log2f.c: New file.
* sysdeps/i386/fpu/w_logf.c: New file.
* sysdeps/i386/fpu/w_powf.c: New file.
* sysdeps/m68k/m680x0/fpu/w_log2f.c: New file.
* sysdeps/m68k/m680x0/fpu/w_logf.c: New file.
* sysdeps/m68k/m680x0/fpu/w_powf.c: New file.

12 files changed:
sysdeps/i386/fpu/w_log2f.c [new file with mode: 0644]
sysdeps/i386/fpu/w_logf.c [new file with mode: 0644]
sysdeps/i386/fpu/w_powf.c [new file with mode: 0644]
sysdeps/ieee754/flt-32/e_log2f.c
sysdeps/ieee754/flt-32/e_logf.c
sysdeps/ieee754/flt-32/e_powf.c
sysdeps/ieee754/flt-32/w_log2f.c [new file with mode: 0644]
sysdeps/ieee754/flt-32/w_logf.c [new file with mode: 0644]
sysdeps/ieee754/flt-32/w_powf.c [new file with mode: 0644]
sysdeps/m68k/m680x0/fpu/w_log2f.c [new file with mode: 0644]
sysdeps/m68k/m680x0/fpu/w_logf.c [new file with mode: 0644]
sysdeps/m68k/m680x0/fpu/w_powf.c [new file with mode: 0644]

diff --git a/sysdeps/i386/fpu/w_log2f.c b/sysdeps/i386/fpu/w_log2f.c
new file mode 100644 (file)
index 0000000..3f5c71c
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_log2f.c>
diff --git a/sysdeps/i386/fpu/w_logf.c b/sysdeps/i386/fpu/w_logf.c
new file mode 100644 (file)
index 0000000..ea48d13
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_logf.c>
diff --git a/sysdeps/i386/fpu/w_powf.c b/sysdeps/i386/fpu/w_powf.c
new file mode 100644 (file)
index 0000000..d133216
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_powf.c>
index 6c42f27843256d7e55ad7e0aa2493e7f400227ef..ef13b372cbd015af45f38b214e1f10af7b3cc273 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <stdint.h>
+#include <shlib-compat.h>
 #include "math_config.h"
 
 /*
@@ -34,7 +35,7 @@ Relative error: 1.9 * 2^-26 (before rounding.)
 #define OFF 0x3f330000
 
 float
-__ieee754_log2f (float x)
+__log2f (float x)
 {
   /* double_t for better performance on targets with FLT_EVAL_METHOD==2.  */
   double_t z, r, r2, p, y, y0, invc, logc;
@@ -85,4 +86,8 @@ __ieee754_log2f (float x)
   y = y * r2 + p;
   return (float) y;
 }
-strong_alias (__ieee754_log2f, __log2f_finite)
+#ifndef __log2f
+strong_alias (__log2f, __ieee754_log2f)
+strong_alias (__log2f, __log2f_finite)
+versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
+#endif
index b8d262441fee95df667906ab9c1f803ed92d7a75..ea847b57ec27e29d8d7d5694af92d7404145061d 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <stdint.h>
+#include <shlib-compat.h>
 #include "math_config.h"
 
 /*
@@ -35,7 +36,7 @@ Relative error: 1.957 * 2^-26 (before rounding.)
 #define OFF 0x3f330000
 
 float
-__ieee754_logf (float x)
+__logf (float x)
 {
   /* double_t for better performance on targets with FLT_EVAL_METHOD==2.  */
   double_t z, r, r2, y, y0, invc, logc;
@@ -84,4 +85,8 @@ __ieee754_logf (float x)
   y = y * r2 + (y0 + r);
   return (float) y;
 }
-strong_alias (__ieee754_logf, __logf_finite)
+#ifndef __logf
+strong_alias (__logf, __ieee754_logf)
+strong_alias (__logf, __logf_finite)
+versioned_symbol (libm, __logf, logf, GLIBC_2_27);
+#endif
index 644a18d05e1d9e7042df67e2dd96a696440a91e1..08d2c6d058056b4ebe827672a53f925e6764b6db 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <stdint.h>
+#include <shlib-compat.h>
 #include "math_config.h"
 
 /*
@@ -139,7 +140,7 @@ zeroinfnan (uint32_t ix)
 }
 
 float
-__ieee754_powf (float x, float y)
+__powf (float x, float y)
 {
   unsigned long sign_bias = 0;
   uint32_t ix, iy;
@@ -214,4 +215,8 @@ __ieee754_powf (float x, float y)
     }
   return (float) exp2_inline (ylogx, sign_bias);
 }
-strong_alias (__ieee754_powf, __powf_finite)
+#ifndef __powf
+strong_alias (__powf, __ieee754_powf)
+strong_alias (__powf, __powf_finite)
+versioned_symbol (libm, __powf, powf, GLIBC_2_27);
+#endif
diff --git a/sysdeps/ieee754/flt-32/w_log2f.c b/sysdeps/ieee754/flt-32/w_log2f.c
new file mode 100644 (file)
index 0000000..1cc8931
--- /dev/null
@@ -0,0 +1 @@
+/* Not needed.  */
diff --git a/sysdeps/ieee754/flt-32/w_logf.c b/sysdeps/ieee754/flt-32/w_logf.c
new file mode 100644 (file)
index 0000000..1cc8931
--- /dev/null
@@ -0,0 +1 @@
+/* Not needed.  */
diff --git a/sysdeps/ieee754/flt-32/w_powf.c b/sysdeps/ieee754/flt-32/w_powf.c
new file mode 100644 (file)
index 0000000..1cc8931
--- /dev/null
@@ -0,0 +1 @@
+/* Not needed.  */
diff --git a/sysdeps/m68k/m680x0/fpu/w_log2f.c b/sysdeps/m68k/m680x0/fpu/w_log2f.c
new file mode 100644 (file)
index 0000000..3f5c71c
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_log2f.c>
diff --git a/sysdeps/m68k/m680x0/fpu/w_logf.c b/sysdeps/m68k/m680x0/fpu/w_logf.c
new file mode 100644 (file)
index 0000000..ea48d13
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_logf.c>
diff --git a/sysdeps/m68k/m680x0/fpu/w_powf.c b/sysdeps/m68k/m680x0/fpu/w_powf.c
new file mode 100644 (file)
index 0000000..d133216
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_powf.c>
This page took 0.053171 seconds and 5 git commands to generate.