glibc/include
Wilco Dijkstra 1294b1892e Add support for sqrt asm redirects
This patch series cleans up the many uses of  __ieee754_sqrt(f/l) in GLIBC.
The goal is to enable GCC to do the inlining, and if this fails call the
__ieee754_sqrt function.  This is done by internally declaring sqrt with asm
redirects.  The compat symbols and sqrt wrappers need to disable the redirect.
The redirect is also disabled if there are already redirects defined when
using -ffinite-math-only.

All math functions (but not math tests, non-library code and libnldbl) are
built with -fno-math-errno which means GCC will typically inline sqrt as a
single instruction.  This means targets are no longer forced to add a special
inline for sqrt.

	* include/math.h (sqrt): Declare with asm redirect.
	(sqrtf): Likewise.
	(sqrtl): Likewise.
	(sqrtf128): Likewise.
	* Makeconfig: Add -fno-math-errno for libc/libm, but build testsuite,
	nonlib and libnldbl with -fmath-errno.
	* math/w_sqrt_compat.c: Define NO_MATH_REDIRECT.
	* math/w_sqrt_template.c: Likewise.
	* math/w_sqrtf_compat.c: Likewise.
	* math/w_sqrtl_compat.c: Likewise.
	* sysdeps/i386/fpu/w_sqrt.c: Likewise.
	* sysdeps/i386/fpu/w_sqrt_compat.c: Likewise.
	* sysdeps/generic/math-type-macros-float128.h: Remove math.h and
	complex.h.
2018-03-15 19:21:35 +00:00
..
arpa
bits Add build infrastructure for narrowing libm functions. 2018-02-09 21:18:52 +00:00
gnu
net
netinet
programs
protocols
rpc
rpcsvc libnsl: Turn remaining symbols into compat symbols [BZ #22701] 2018-01-29 17:42:30 +01:00
sys Use libc_hidden_* for __cmsg_nxthdr (bug 15105). 2018-02-15 20:59:12 +00:00
aio.h
aliases.h
alloc_buffer.h
alloca.h
argp-fmtstream.h
argp.h
argz.h Use libc_hidden_* for argz_next, __argz_next (bug 15105). 2018-02-15 21:00:02 +00:00
array_length.h
assert.h
atomic.h
byteswap.h
complex.h
cpio.h
crypt.h
ctype.h Use libc_hidden_* for tolower, toupper (bug 15105). 2018-02-23 13:54:53 +00:00
des.h
dirent.h Define _DIRENT_MATCHES_DIRENT64 regardless 2018-03-05 18:10:04 -03:00
dlfcn.h elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
dso_handle.h
elf.h
endian.h
envz.h
err.h
errno.h
error.h
execinfo.h
fcntl.h
features.h manual: Update _DEFAULT_SOURCE. [BZ #22862] 2018-02-21 02:38:42 -08:00
fenv.h Move fenv.h override inline functions to generic math_private.h. 2018-02-01 20:54:44 +00:00
float.h
fmtmsg.h
fnmatch.h
fpu_control.h
ftw.h
gconv.h
getopt_int.h
getopt.h
glob.h
gmp.h
gnu-versions.h
grp-merge.h
grp.h
gshadow.h
iconv.h
idna.h
ifaddrs.h
ifreq.h
ifunc-impl-list.h
inline-hashtab.h
inttypes.h Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
langinfo.h
libc-diag.h
libc-internal.h
libc-pointer-arith.h
libc-symbols.h
libgen.h
libintl.h
limits.h
link.h
list_t.h
list.h
locale.h
malloc.h
math.h Add support for sqrt asm redirects 2018-03-15 19:21:35 +00:00
mcheck.h
memory.h
mntent.h
monetary.h
mqueue.h
netdb.h
netgroup.h
nl_types.h
nss.h
nsswitch.h
obstack.h
plural-exp.h
poll.h
printf.h
pthread.h
pty.h
pwd.h
regex.h
resolv.h
rounding-mode.h
sched.h
scratch_buffer.h
search.h
set-hooks.h
setjmp.h Remove hidden __libc_longjmp 2018-03-10 09:27:20 -08:00
sgtty.h
shadow.h
shlib-compat.h
signal.h
spawn.h
stab.h
stackinfo.h
stap-probe.h
stdc-predef.h
stdio_ext.h
stdio.h Mechanically remove _IO_ name aliases for types and constants. 2018-02-21 14:11:05 -05:00
stdlib.h Use libc_hidden_* for atoi (bug 15105). 2018-02-26 18:17:47 +00:00
string.h
strings.h
stropts.h
stubs-prologue.h
syscall.h
sysexits.h
syslog.h
tar.h
termios.h
tgmath.h
time.h
ttyent.h
uchar.h
ucontext.h
ulimit.h
unistd.h hurd: Implement faccessat without AT_EACCESS flag 2018-01-10 02:03:28 +01:00
utime.h
utmp.h
values.h
wchar.h
wctype.h
wordexp.h