glibc/sysdeps/unix/sysv/linux/mips/mips32
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
..
fpu Minimize sysdeps code involved in defining major/minor/makedev. 2016-08-03 15:23:04 -04:00
mips16 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nofpu Minimize sysdeps code involved in defining major/minor/makedev. 2016-08-03 15:23:04 -04:00
accept4.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
c++-types.data MIPS: Consolidate nptl/ subdirectories under linux/... 2014-06-27 11:41:04 -07:00
fcntl.c Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
ftruncate64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fxstatat.c Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
ld.abilist Simplify the abilist format 2015-11-06 13:58:53 +01: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
libcidn.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
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
libnsl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_compat.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_db.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_dns.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_files.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_hesiod.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_nis.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libnss_nisplus.abilist Simplify the abilist format 2015-11-06 13:58:53 +01: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
libthread_db.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
lockf64.c Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
mmap.c Fix MIPS mmap negative offset handling for consistency (bug 19550). 2016-02-01 18:20:21 +00:00
posix_fadvise64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
posix_fadvise.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readahead.c Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
recvmmsg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sendmmsg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sync_file_range.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
syscalls.list Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
sysdep.h VDSO support for MIPS 2016-04-12 11:05:13 +01:00
truncate64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Versions Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00