glibc/sysdeps
Joseph Myers 797ba44ba2 Add bits/floatn.h defines for more _FloatN / _FloatNx types.
The bits/floatn.h header currently only has defines relating to
_Float128.  This patch adds defines relating to other _FloatN /
_FloatNx types.

The approach taken is to add defines for all _FloatN / _FloatNx types
known to GCC, and to put them in a common bits/floatn-common.h header
included at the end of all the individual bits/floatn.h headers.  If
in future some defines become different for different glibc
configurations, they will move out into the separate bits/floatn.h
headers.

Some defines are expected always to be the same across glibc ports.
Corresponding defines are nevertheless put in this header.  The intent
is that where there are conditionals (in headers or in non-installed
files) that can just repeat the same or nearly the same logic for each
floating-point type, they should do so, even if in fact the cases for
some types could be unconditionally present or absent because the same
conditionals are true or false for all glibc configurations.  This
should make the glibc code with such conditionals easier to read,
because the reader can just see that the same conditionals are
repeated for each type, rather than seeing different conditionals for
different types and needing to reason, at each location with such
differences, why those differences are indeed correct there.  (Cases
involving per-format rather than per-type logic are more likely still
to need differences in how they handle different types.)

Having such defines and conditionals also helps in incremental
preparation for adding _Float32 / _Float64 / _Float32x / _Float64x
function aliases.  I intend subsequent patches to add such
conditionals corresponding to those already present for _Float128, as
well as making more architecture-specific function implementations use
common macros to define aliases in preparation for adding such _FloatN
/ _FloatNx aliases.

Tested for x86_64.

	* bits/floatn-common.h: New file.
	* math/Makefile (headers): Add bits/floatn-common.h.
	* bits/floatn.h: Include <bits/floatn-common.h>.
	* sysdeps/ia64/bits/floatn.h: Likewise.
	* sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
	* sysdeps/mips/ieee754/bits/floatn.h: Likewise.
	* sysdeps/powerpc/bits/floatn.h: Likewise.
	* sysdeps/x86/bits/floatn.h: Likewise.
2017-10-20 21:42:51 +00:00
..
aarch64 [AARCH64] Rewrite elf_machine_load_address using _DYNAMIC symbol 2017-10-18 17:35:16 +01:00
alpha Use libm_alias_double for dbl-64 fma. 2017-10-04 20:32:48 +00:00
arm Update ARM libm-test-ulps. 2017-10-05 22:17:30 +00:00
generic Add _Float128 function aliases. 2017-10-18 17:37:18 +00:00
gnu hurd: Fix getifaddrs' and freeifaddrs' symbol exposition 2017-09-28 01:05:18 +02:00
hppa ld.so: Replace (&bootstrap_map) with BOOTSTRAP_MAP 2017-10-03 01:55:12 -07:00
i386 i386: Regenerate libm-test-ulps 2017-10-19 11:51:57 -07:00
ia64 Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
ieee754 Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k m68k: Update elf_machine_load_address for static PIE 2017-10-20 03:36:47 -07:00
mach Introduce NO_RTLD_HIDDEN, make hurd use it instead of NO_HIDDEN 2017-10-03 01:33:38 +02:00
microblaze Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
mips Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
nios2 Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
nptl Remove add-ons mechanism. 2017-10-05 15:58:13 +00:00
posix sysconf: Fix missing definition of UIO_MAXIOV on Linux [BZ #22321] 2017-10-20 04:10:15 +02:00
powerpc Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
pthread aio: Remove internal_function function attribute 2017-08-31 15:59:06 +02:00
s390 S390: Regenerate ULPs 2017-10-05 12:50:49 +02:00
sh Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
sparc Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64 2017-10-13 16:14:16 -03:00
tile Remove ancient __signbit inlines 2017-09-28 19:52:13 +01:00
unix posix: Fix improper assert in Linux posix_spawn (BZ#22273) 2017-10-20 16:25:59 -02:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 posix: Consolidate Linux glob implementation 2017-09-08 16:34:02 +02:00
x86 Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
x86_64 x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve [BZ #21265] 2017-10-20 11:00:34 -07:00