mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-28 12:13:37 +08:00
1f9055ce04
This patch concludes filling out TS 18661-3 support for different types by adding *f32 function aliases of float functions to support _Float32. As with _Float64 and _Float32x, this is supported for all glibc configurations. As with the previous such patches there are some x86 ulps updates because of inline functions present for float but not for _Float32. The patch also has the usual bits/floatn-common.h update, symbol versions, ABI baselines updates, test enablement and documentation. Tested for x86_64 and x86, and with build-many-glibcs.py, with both GCC 6 and GCC 7. * 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.
154 lines
2.8 KiB
Plaintext
154 lines
2.8 KiB
Plaintext
%include <float128-abi.h>
|
|
libc {
|
|
GLIBC_2.0 {
|
|
# functions with required interface outside normal name space
|
|
__xpg_basename;
|
|
|
|
# functions used in inline functions or macros
|
|
__strtod_internal; __strtof_internal; __strtold_internal;
|
|
__strtol_internal; __strtoll_internal;
|
|
__strtoul_internal; __strtoull_internal;
|
|
# functions formerly so used (compatibility symbols)
|
|
__strtoq_internal; __strtouq_internal;
|
|
|
|
# compatibility symbol
|
|
__secure_getenv;
|
|
|
|
# a*
|
|
a64l; abort; abs; atexit; atof; atoi; atol; atoll;
|
|
|
|
# b*
|
|
bsearch;
|
|
|
|
# c*
|
|
canonicalize_file_name; clearenv;
|
|
|
|
# d*
|
|
div; drand48; drand48_r;
|
|
|
|
# e*
|
|
erand48; erand48_r; exit;
|
|
|
|
# g*
|
|
getenv; getsubopt;
|
|
|
|
# i*
|
|
initstate; initstate_r;
|
|
|
|
# l*
|
|
l64a; labs; lcong48; lcong48_r; ldiv; llabs; lldiv; lrand48; lrand48_r;
|
|
|
|
# m*
|
|
mblen; mbrlen; mbrtowc; mbsinit; mbsnrtowcs; mbsrtowcs; mbstowcs;
|
|
mbtowc; mcheck; mcount; mrand48; mrand48_r;
|
|
|
|
# n*
|
|
nrand48; nrand48_r;
|
|
|
|
# o*
|
|
on_exit;
|
|
|
|
# p*
|
|
putenv;
|
|
|
|
# q*
|
|
qsort;
|
|
|
|
# r*
|
|
rand; rand_r; random; random_r; realpath; rpmatch;
|
|
|
|
# s*
|
|
seed48; seed48_r; setcontext; setenv; setstate; setstate_r; srand; srand48;
|
|
srand48_r; srandom; srandom_r; step; strfmon; strtod; strtof; strtol;
|
|
strtold; strtoll; strtoq; strtoul; strtoull; strtouq; system;
|
|
|
|
# u*
|
|
unsetenv;
|
|
|
|
# w*
|
|
wcstombs; wctomb;
|
|
}
|
|
GLIBC_2.1 {
|
|
# a*
|
|
addseverity;
|
|
|
|
# f*
|
|
fmtmsg;
|
|
|
|
# g*
|
|
getcontext;
|
|
|
|
# m*
|
|
makecontext;
|
|
|
|
# s*
|
|
strtoimax; strtoumax; swapcontext;
|
|
}
|
|
GLIBC_2.1.1 {
|
|
# _*
|
|
_Exit;
|
|
|
|
# i*
|
|
imaxabs; imaxdiv;
|
|
}
|
|
GLIBC_2.1.3 {
|
|
# used by new G++ ABI
|
|
__cxa_atexit; __cxa_finalize;
|
|
}
|
|
GLIBC_2.3 {
|
|
# Silent change in SUS.
|
|
realpath;
|
|
}
|
|
GLIBC_2.8 {
|
|
qsort_r;
|
|
}
|
|
GLIBC_2.10 {
|
|
quick_exit; __cxa_at_quick_exit;
|
|
}
|
|
GLIBC_2.13 {
|
|
__fentry__;
|
|
}
|
|
GLIBC_2.17 {
|
|
secure_getenv;
|
|
}
|
|
GLIBC_2.18 {
|
|
__cxa_thread_atexit_impl;
|
|
}
|
|
GLIBC_2.24 {
|
|
quick_exit;
|
|
}
|
|
GLIBC_2.25 {
|
|
# s*
|
|
strfromd; strfromf; strfroml;
|
|
getrandom; getentropy;
|
|
}
|
|
%ifdef FLOAT128_VERSION
|
|
FLOAT128_VERSION {
|
|
strfromf128;
|
|
strtof128;
|
|
strtof128_l;
|
|
}
|
|
%endif
|
|
GLIBC_2.27 {
|
|
# _Float64x functions, only present for some configurations.
|
|
strfromf64x;
|
|
strtof64x;
|
|
strtof64x_l;
|
|
# _Float32, _Float64 and _Float32x functions, for all configurations.
|
|
strfromf32; strfromf64; strfromf32x;
|
|
strtof32; strtof64; strtof32x;
|
|
strtof32_l; strtof64_l; strtof32x_l;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
# functions which have an additional interface since they are
|
|
# are cancelable.
|
|
__libc_system;
|
|
# Variable which needs a dynamic symbol table entry.
|
|
__abort_msg;
|
|
# Used from other libraries
|
|
__libc_secure_getenv;
|
|
__call_tls_dtors;
|
|
__strtof_nan; __strtod_nan; __strtold_nan;
|
|
}
|
|
}
|