about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_log2f.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2017-09-13 18:14:26 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2017-09-29 11:51:12 +0100
commitdc230e23df20ac3ab13e2cc2e858083c0550bb31 (patch)
tree54f38bd9d66b5276fbc8d659fca2497a3409548d /sysdeps/ieee754/flt-32/e_log2f.c
parent7dc9a7c1aa60966df497d6405aab3bdfab5c6083 (diff)
downloadglibc-nsz/math.tar.gz
glibc-nsz/math.tar.xz
glibc-nsz/math.zip
Do not wrap logf, log2f and powf nsz/math
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.
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_log2f.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_log2f.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sysdeps/ieee754/flt-32/e_log2f.c b/sysdeps/ieee754/flt-32/e_log2f.c
index 6c42f27843..ef13b372cb 100644
--- a/sysdeps/ieee754/flt-32/e_log2f.c
+++ b/sysdeps/ieee754/flt-32/e_log2f.c
@@ -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