glibc/sysdeps/generic
Joseph Myers 81325b12b1 Add _Float128 function aliases.
This patch adds support for *f128 function aliases on platforms where
long double has the binary128 format (and thus GCC 7 provides the
_Float128 type with the same ABI as long double but as a distinct type
in terms of C type compatibility).  This is the same API as provided
in glibc 2.26 for powerpc64le / x86_64 / x86 / ia64 where _Float128
has a different format from long double, with the bulk of the API
coming from TS 18661-3.  All the functions alias the corresponding
long double functions, and __* function names are not provided since
those are only needed once for each floating-point format, not more
than once for different types with the same format (so for example,
-ffinite-math-only maps foof128 to __fool_finite, while type-generic
macros end up calling e.g. __issignalingl for _Float128 arguments on
such platforms).

The preparation for this feature was done in previous patches, so this
one just needs to add the relevant makefile and header definitions,
and update macro definitions of libm_alias_ldouble_other_r, to turn on
the feature, and update documentation and ABI baselines.

Tested (a) for x86_64, (b) for aarch64, (c) with build-many-glibcs.py
with both GCC 6 and GCC 7.

	* sysdeps/ieee754/ldbl-128/Makeconfig: New file.
	* sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
	* sysdeps/ieee754/ldbl-128/float128-abi.h: Likewise.
	* sysdeps/generic/libm-alias-ldouble.h: Include <bits/floatn.h>.
	[__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
	(libm_alias_ldouble_other_r): Also create _Float128 alias.
	* sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Include
	<bits/floatn.h>.
	[__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
	(libm_alias_ldouble_other_r): Also create _Float128 alias.
	* manual/math.texi (Mathematics): Document additional architecture
	support for _Float128.
	* 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/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/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/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.
2017-10-18 17:37:18 +00:00
..
net
netinet
nfs
sys Fix mcontext_t sigcontext namespace (bug 21457). 2017-08-30 22:02:04 +00:00
_G_config.h Remove __need macros from stdio.h and wchar.h. 2017-06-08 13:58:17 -04:00
_itoa.h Introduce NO_RTLD_HIDDEN, make hurd use it instead of NO_HIDDEN 2017-10-03 01:33:38 +02:00
a.out.h
abort-instr.h
aio_misc.h Mark internal functions with attribute_hidden [BZ #18822] 2017-10-01 15:07:23 -07:00
allocalim.h
asm-syntax.h
atomic-machine.h
c++-types.data
confstr.h
device-nrs.h
dirstream.h
dl-cache.h elf: Remove internal_function attribute 2017-08-31 16:59:37 +02:00
dl-dtprocnum.h
dl-dtv.h
dl-fcntl.h
dl-fileid.h
dl-fptr.h
dl-hash.h
dl-irel.h
dl-librecon.h
dl-lookupcfg.h
dl-machine.h PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
dl-mman.h
dl-osinfo.h
dl-procinfo.c
dl-procinfo.h Remove _dl_platform_string 2017-03-14 17:18:52 +01:00
dl-sysdep.h
dl-tls.h
dl-unistd.h
dwarf2.h
elide.h
eloop-threshold.h
entry.h
errqueue.h
exit-thread.h
fd_to_filename.h
fips-private.h
fix-fp-int-compare-invalid.h
fix-fp-int-convert-overflow.h float128: Add private _Float128 declarations for libm. 2017-05-15 10:23:28 -03:00
fix-int-fp-convert-zero.h
float128-abi.h Move some float128 symbol version definitions. 2017-10-16 22:04:42 +00:00
fork.h
fpu_control.h
frame.h
framestate.c
gcc-compat.h
gccframe.h
get-rounding-mode.h
gmp-mparam.h
hp-timing-common.h
hp-timing.h
ifreq.h Hide internal __ifreq function [BZ #18822] 2017-10-01 17:35:46 -07:00
ifunc-init.h Add common ifunc-init.h header 2017-10-17 12:01:22 -02:00
ifunc-sel.h
intr-msg.h
inttypes.h
ld.abilist
ldconfig.h
ldsodefs.h Mark internal functions with attribute_hidden [BZ #18822] 2017-10-01 15:07:23 -07:00
libanl.abilist
libBrokenLocale.abilist
libc-lock.h
libc-mmap.h
libc-start.h powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
libc-tsd.h
libc.abilist
libcidn.abilist
libcrypt.abilist
libdl.abilist
libm-alias-double.h Add libm_alias_*_other_r macros. 2017-10-10 21:29:11 +00:00
libm-alias-float128.h Add libm_alias_*_other_r macros. 2017-10-10 21:29:11 +00:00
libm-alias-float.h Add libm_alias_*_other_r macros. 2017-10-10 21:29:11 +00:00
libm-alias-ldouble.h Add _Float128 function aliases. 2017-10-18 17:37:18 +00:00
libm-test-ulps
libm-test-ulps-name
libm.abilist
libnsl.abilist
libnss_compat.abilist
libnss_db.abilist
libnss_dns.abilist
libnss_files.abilist
libnss_hesiod.abilist
libnss_nis.abilist
libnss_nisplus.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libutil.abilist
linkmap.h
local-setxid.h
localplt.data ld.so: Introduce struct dl_exception 2017-08-10 16:54:57 +02:00
machine-gmon.h
machine-lock.h
machine-sp.h
Makefile
malloc-alignment.h i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120] 2017-06-30 09:11:24 -07:00
malloc-machine.h i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120] 2017-06-30 09:11:24 -07:00
malloc-sysdep.h
math_ldbl_opt.h
math_ldbl.h Allow direct use of math_ldbl.h in testsuite. 2017-02-25 10:40:48 -05:00
math_private_calls.h float128: Add private _Float128 declarations for libm. 2017-05-15 10:23:28 -03:00
math_private.h Obsolete matherr, _LIB_VERSION, libieee.a. 2017-08-21 17:45:10 +00:00
math-tests-arch.h
math-tests.h Support _Float128 in math-tests.h. 2017-06-22 23:03:38 +00:00
math-type-macros-double.h Use generic macros for lgamma_r function aliases. 2017-10-09 22:04:18 +00:00
math-type-macros-float128.h Use generic macros for lgamma_r function aliases. 2017-10-09 22:04:18 +00:00
math-type-macros-float.h Use generic macros for lgamma_r function aliases. 2017-10-09 22:04:18 +00:00
math-type-macros-ldouble.h Use generic macros for lgamma_r function aliases. 2017-10-09 22:04:18 +00:00
math-type-macros.h Use generic macros for lgamma_r function aliases. 2017-10-09 22:04:18 +00:00
memcopy.h
memusage.h
nan-high-order-bit.h
not-cancel.h Remove NO_CANCELLATION macro 2017-08-31 16:10:34 -03:00
not-errno.h tunables: Use direct syscall for access (BZ#21744) 2017-07-24 11:21:07 -03:00
nscd-types.h
pagecopy.h
paths.h
profil-counter.h
pty-private.h
register-dump.h
rtld-lowlevel.h
safe-fatal.h
sigcontextinfo.h
siglist.h Factor out shared definitions from bits/signum.h. 2017-06-20 20:32:50 -04:00
sigset-cvt-mask.h
sigsetops.h hurd: Fix sigsetops.h macros 2017-09-03 01:45:19 +02:00
stackguard-macros.h
stackinfo.h
startup.h i386: Add <startup.h> [BZ #21913] 2017-08-08 08:43:15 -07:00
stdint.h Fix network headers stdint.h namespace (bug 21455). 2017-05-04 20:36:42 +00:00
stdio-lock.h Remove _IO_MTSAFE_IO from public headers. 2017-05-11 19:14:11 -04:00
string_private.h
symbol-hacks.h
sysdep-cancel.h
sysdep.h
thread_state.h
tininess.h
tls-macros.h
tls.h
tst-audit.h
tst-stack-align.h
unsecvars.h Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug #21209) 2017-03-07 20:52:04 +05:30
unwind-dw2-fde-glibc.c
unwind-dw2-fde.c [BZ 21357] unwind-dw2-fde: Call free() outside of unwind mutex 2017-04-17 12:03:44 -03:00
unwind-dw2-fde.h
unwind-dw2.c
unwind-pe.c
unwind-pe.h
unwind-resume.h
unwind.h
utmp-equal.h