Add _Float64, _Float32x function aliases

System Internals / glibc - Joseph Myers [codesourcery.com] - 6 December 2017 00:58 EST

This patch continues filling out TS 18661-3 support by adding *f64 and
*f32x function aliases, supporting _Float64 and _Float32x, as aliases for double functions. These types are supported for all glibc configurations. The API corresponds exactly to that for _Float128 and _Float64x. _Float32 aliases to float functions remain to be added in subsequent patches to complete this process (then there are a few miscellaneous functions in TS 18661-3 to implement that aren't simply
versions of existing functions for new types).

The patch enables the feature in bits/floatn-common.h, adds symbol
versions and documentation with updates to ABI baselines, and arranges for the libm functions for the new types to be tested. As with the _Float64x changes there are some x86 ulps updates because of header inlines not used for the new types (and one other change to the non-multiarch libm-test-ulps, which I suppose comes from using a different compiler version / configuration from when it was last regenerated).

Tested for x86_64 and x86, and with build-many-glibcs.py, with both GCC 6 and GCC 7.

- bits/floatn-common.h (__HAVE_FLOAT64): Define to 1. (__HAVE_FLOAT32X): Likewise.
- manual/math.texi (Mathematics): Document support for _Float64 and _Float32x.
- math/Makefile (test-types): Add float64 and float32x.
- math/Versions (GLIBC_2.27): Add _Float64 and _Float32x 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.

0d93b7fd7c Add _Float64, _Float32x function aliases.
ChangeLog | 81 ++++++++
NEWS | 4 +
bits/floatn-common.h | 4 +-
manual/math.texi | 7 +-
math/Makefile | 4 +-
math/Versions | 106 +++++++++++
stdlib/Versions | 5 +
sysdeps/i386/fpu/libm-test-ulps | 21 ++-
sysdeps/i386/i686/fpu/multiarch/libm-test-ulps | 13 +-
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/alpha/libc.abilist | 10 +
sysdeps/unix/sysv/linux/alpha/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/arm/libc.abilist | 10 +
sysdeps/unix/sysv/linux/arm/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/hppa/libc.abilist | 10 +
sysdeps/unix/sysv/linux/hppa/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/i386/libc.abilist | 10 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/ia64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/ia64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 10 +
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 10 +
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/microblaze/libc.abilist | 10 +
sysdeps/unix/sysv/linux/microblaze/libm.abilist | 208 +++++++++++++++++++++
.../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 10 +
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 208 +++++++++++++++++++++
.../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 10 +
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 208 +++++++++++++++++++++
.../unix/sysv/linux/mips/mips64/n32/libc.abilist | 10 +
.../unix/sysv/linux/mips/mips64/n64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/nios2/libc.abilist | 10 +
sysdeps/unix/sysv/linux/nios2/libm.abilist | 208 +++++++++++++++++++++
.../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 10 +
.../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 208 +++++++++++++++++++++
.../linux/powerpc/powerpc32/nofpu/libc.abilist | 10 +
.../linux/powerpc/powerpc32/nofpu/libm.abilist | 208 +++++++++++++++++++++
.../sysv/linux/powerpc/powerpc64/libc-le.abilist | 10 +
.../unix/sysv/linux/powerpc/powerpc64/libc.abilist | 10 +
.../sysv/linux/powerpc/powerpc64/libm-le.abilist | 208 +++++++++++++++++++++
.../unix/sysv/linux/powerpc/powerpc64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 10 +
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/sh/libc.abilist | 10 +
sysdeps/unix/sysv/linux/sh/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 10 +
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 208 +++++++++++++++++++++
.../sysv/linux/tile/tilegx/tilegx32/libc.abilist | 10 +
.../sysv/linux/tile/tilegx/tilegx32/libm.abilist | 208 +++++++++++++++++++++
.../sysv/linux/tile/tilegx/tilegx64/libc.abilist | 10 +
.../sysv/linux/tile/tilegx/tilegx64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist | 10 +
sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 10 +
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 208 +++++++++++++++++++++
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 10 +
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 208 +++++++++++++++++++++
wcsmbs/Versions | 4 +
64 files changed, 5914 insertions(+), 23 deletions(-)

Upstream: sourceware.org


  • Share