glibc/sysdeps/nacl
Joseph Myers 780257d48d Add fetestexceptflag.
TS 18661-1 defines an fetestexceptflag function to test the exception
state saved in an fexcept_t object by fegetexceptflag.

This patch implements this function for glibc.  Almost all
architectures save exception state in such a way that it can be
directly ANDed with exception flag bits, so rather than having lots of
fetestexceptflag implementations that all do the same thing, the math/
implementation is made to use this generic logic (which is also OK in
the fallback case where FE_ALL_EXCEPT is zero).  The only architecture
that seems to need anything different is s390.

(fegetexceptflag and fesetexceptflag use abbreviated filenames
fgetexcptflg.c and fsetexcptflg.c.  Because we are no longer concerned
by 14-character filename limits, fetestexceptflag uses the obvious
filename fetestexceptflag.c.)

The NEWS entry is intended to be expanded along the lines given in
<https://sourceware.org/ml/libc-alpha/2016-08/msg00356.html> when
fegetmode and fesetmode are added.

Tested for x86_64, x86, mips64 and powerpc.

	* math/fetestexceptflag.c: New file.
	* sysdeps/s390/fpu/fetestexceptflag.c: Likewise.  Comment by
	Stefan Liebler.
	* math/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
	(fetestexceptflag): New function declaration.
	* manual/arith.texi (fetestexceptflag): Document function.
	* math/Versions (fetestexceptflag): New libm symbol at version
	GLIBC_2.25.
	* math/Makefile (libm-support): Add fetestexceptflag.
	(tests): Add test-fetestexceptflag.
	* math/test-fetestexceptflag.c: New file.
	* sysdeps/nacl/libm.abilist: Update.
	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.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/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
2016-08-29 11:47:21 +00:00
..
bits Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
_exit.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
access.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
backtrace.c
brk.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
chdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
check_fds.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_getres.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
clock.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
close.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
configure
configure.ac
createthread.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-fileid.h Factor file identity rules out of generic rtld code. 2015-07-14 13:15:26 -07:00
dl-map-segments.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-osinfo.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep-open.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-unmap-segments.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-writev.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
entry.h
errnos.awk Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
euidaccess.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
exit-thread.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fchdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fchmod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fdatasync.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fdopendir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fork.c
fsync.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ftruncate64.c
ftruncate.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
futex-internal.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fxstat64.c
fxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdents64.c
getdents.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdtsz.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gethostname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpagesize.c
getpid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsysstats.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
glob64.c
glob.c Make sysdeps/posix bring in login subdir. 2015-07-23 17:04:22 -07:00
ifaddrs.c
Implies
init-first.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
iofdopen.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
irt.sed
isatty.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ld.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
ldsodefs.h Fix build with HAVE_AUX_VECTOR 2016-04-11 10:27:25 +02:00
libanl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libBrokenLocale.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libc-start.c
libcrypt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libdl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libm.abilist Add fetestexceptflag. 2016-08-29 11:47:21 +00:00
libpthread.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libresolv.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
librt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libutil.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
link.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lll_timedlock_wait.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lll_timedwait_tid.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lowlevellock-futex.h NaCl: Fix unused variable errors in lowlevellock-futex.h macros. 2016-01-20 13:57:14 -08:00
lowlevellock.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lseek64.c
lseek.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lxstat64.c
lxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mkdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mmap64.c
mmap.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mprotect.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
munmap.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl_interface_ext_supply.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl_interface_query.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-after-link.sh Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-interface-list.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-interface-table.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-interfaces.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-interfaces.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nacl-interfaces.mk.in
nacl-test-wrapper.sh Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nanosleep.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
open64.c
open.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
preconfigure
profil.c
pthread_condattr_setclock.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pthread-pids.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
read.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readdir64_r.c
readdir64.c
readdir_r.c
readdir.c
readlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sched_yield.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
shlib-versions
sigaction.c
sprofil.c
start.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Subdirs
symlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tls.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
truncate64.c
truncate.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uname-values.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Versions NaCl: Implement nacl_interface_ext_supply entry point. 2015-06-03 13:51:11 -07:00
write.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstat64.c
xstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstatconv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstatconv.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00