aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog79
-rw-r--r--NEWS6
-rw-r--r--bits/floatn-common.h2
-rw-r--r--manual/math.texi3
-rw-r--r--math/Makefile2
-rw-r--r--math/Versions210
-rw-r--r--stdlib/Versions8
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps7
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps7
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/arm/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/sh/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist104
-rw-r--r--wcsmbs/Versions6
64 files changed, 3052 insertions, 122 deletions
diff --git a/ChangeLog b/ChangeLog
index d4c70e4820..61f7d650a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,82 @@
+2017-12-07 Joseph Myers <joseph@codesourcery.com>
+
+ * bits/floatn-common.h (__HAVE_FLOAT32): Define to 1.
+ * manual/math.texi (Mathematics): Document support for _Float32.
+ * math/Makefile (test-types): Add float32.
+ * math/Versions (GLIBC_2.27): Add _Float32 functions.
+ * stdlib/Versions (GLIBC_2.27): Likewise.
+ * wcsmbs/Versions (GLIBC_2.27): Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
+ * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
+ Likewise.
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
+ * sysdeps/i386/fpu/libm-test-ulps: Likewise.
+ * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
+
2017-12-06 Joseph Myers <joseph@codesourcery.com>
* stdlib/strtof.c: Include <bits/floatn.h>
diff --git a/NEWS b/NEWS
index faa60abe30..3065153746 100644
--- a/NEWS
+++ b/NEWS
@@ -41,9 +41,9 @@ Major new features:
18661-3:2015. These are corresponding interfaces to those supported for
_Float128.
-* The math library now implements interfaces for the _Float64 and _Float32x
- types, as defined by ISO/IEC TS 18661-3:2015. These are corresponding
- interfaces to those supported for _Float128.
+* The math library now implements interfaces for the _Float32, _Float64 and
+ _Float32x types, as defined by ISO/IEC TS 18661-3:2015. These are
+ corresponding interfaces to those supported for _Float128.
* glibc now implements the memfd_create and mlock2 functions on Linux.
diff --git a/bits/floatn-common.h b/bits/floatn-common.h
index a724421f77..6a06573cff 100644
--- a/bits/floatn-common.h
+++ b/bits/floatn-common.h
@@ -32,7 +32,7 @@
floating-point type with the right format for this type, and this
glibc includes corresponding *fN or *fNx interfaces for it. */
#define __HAVE_FLOAT16 0
-#define __HAVE_FLOAT32 0
+#define __HAVE_FLOAT32 1
#define __HAVE_FLOAT64 1
#define __HAVE_FLOAT32X 1
#define __HAVE_FLOAT128X 0
diff --git a/manual/math.texi b/manual/math.texi
index 705582ea9e..a9f2a98138 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -66,7 +66,8 @@ these functions are described along with the @code{double},
@w{ISO/IEC TS 18661-3}, unless explicitly stated otherwise.
Support for @code{_Float@var{N}} or @code{_Float@var{N}x} types is
-provided for @code{_Float64} and @code{_Float32x} on all platforms.
+provided for @code{_Float32}, @code{_Float64} and @code{_Float32x} on
+all platforms.
It is also provided for @code{_Float128} and @code{_Float64x} on
powerpc64le (PowerPC 64-bits little-endian), x86_64, x86, ia64,
aarch64, alpha, mips64, s390 and sparc.
diff --git a/math/Makefile b/math/Makefile
index a6c0d8b8a7..ae84abdb25 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -132,7 +132,7 @@ type-float64x-yes := float64x
types = $(types-basic) $(type-float128-$(float128-fcts))
test-types = $(test-types-basic) $(type-float128-$(float128-fcts)) \
- float64 $(type-float128-$(float128-alias-fcts)) \
+ float32 float64 $(type-float128-$(float128-alias-fcts)) \
float32x $(type-float64x-$(float64x-alias-fcts))
# For each of the basic types (float, double, long double), replace the
diff --git a/math/Versions b/math/Versions
index eaa3b25b0d..01ed388ae5 100644
--- a/math/Versions
+++ b/math/Versions
@@ -445,110 +445,110 @@ libm {
y0f64x;
y1f64x;
ynf64x;
- # _Float64 and _Float32x functions, for all configurations.
- acosf64; acosf32x;
- acoshf64; acoshf32x;
- asinf64; asinf32x;
- asinhf64; asinhf32x;
- atan2f64; atan2f32x;
- atanf64; atanf32x;
- atanhf64; atanhf32x;
- cabsf64; cabsf32x;
- cacosf64; cacosf32x;
- cacoshf64; cacoshf32x;
- canonicalizef64; canonicalizef32x;
- cargf64; cargf32x;
- casinf64; casinf32x;
- casinhf64; casinhf32x;
- catanf64; catanf32x;
- catanhf64; catanhf32x;
- cbrtf64; cbrtf32x;
- ccosf64; ccosf32x;
- ccoshf64; ccoshf32x;
- ceilf64; ceilf32x;
- cexpf64; cexpf32x;
- cimagf64; cimagf32x;
- clog10f64; clog10f32x;
- clogf64; clogf32x;
- conjf64; conjf32x;
- copysignf64; copysignf32x;
- cosf64; cosf32x;
- coshf64; coshf32x;
- cpowf64; cpowf32x;
- cprojf64; cprojf32x;
- crealf64; crealf32x;
- csinf64; csinf32x;
- csinhf64; csinhf32x;
- csqrtf64; csqrtf32x;
- ctanf64; ctanf32x;