mirror of git://sourceware.org/git/glibc.git
According to ISO C23 (7.6.4.4), fesetexcept is supposed to set floating-point exception flags without raising a trap (unlike feraiseexcept, which is supposed to raise a trap if feenableexcept was called with the appropriate argument). This is a side-effect of how we implement the GNU extension feenableexcept, where feenableexcept/fesetenv/fesetmode/feupdateenv might issue prctl (PR_SET_FPEXC, PR_FP_EXC_PRECISE) depending of the argument. And on PR_FP_EXC_PRECISE, setting a floating-point exception flag triggers a trap. To make the both functions follow the C23, fesetexcept and fesetexceptflag now fail if the argument may trigger a trap. The math tests now check for an value different than 0, instead of bail out as unsupported for EXCEPTION_SET_FORCES_TRAP. Checked on powerpc64le-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> |
||
|---|---|---|
| .. | ||
| bits | ||
| fpu | ||
| nofpu | ||
| nptl | ||
| power4 | ||
| power6 | ||
| powerpc32 | ||
| powerpc64 | ||
| sys/platform | ||
| Makefile | ||
| Versions | ||
| abort-instr.h | ||
| atomic-machine.h | ||
| dl-lookupcfg.h | ||
| dl-procinfo.c | ||
| dl-procinfo.h | ||
| dl-tls.c | ||
| dl-tls.h | ||
| dl-tunables.list | ||
| elf-initfini.h | ||
| ffs.c | ||
| fpu_control.h | ||
| gccframe.h | ||
| hwcapinfo.c | ||
| hwcapinfo.h | ||
| ifunc-sel.h | ||
| jmpbuf-offsets.h | ||
| jmpbuf-unwind.h | ||
| ldsodefs.h | ||
| libc-tls.c | ||
| locale-defines.sym | ||
| longjmp.c | ||
| machine-gmon.h | ||
| math-tests-snan-cast.h | ||
| mod-cache-ppc.c | ||
| mod-tlsopt-powerpc.c | ||
| mp_clz_tab.c | ||
| novmx-longjmp.c | ||
| novmx-sigjmp.c | ||
| novmxsetjmp.h | ||
| preconfigure | ||
| preconfigure.ac | ||
| rtld-global-offsets.sym | ||
| sigjmp.c | ||
| sotruss-lib.c | ||
| stackinfo.h | ||
| string-fza.h | ||
| sysdep.h | ||
| test-arith.c | ||
| test-arithf.c | ||
| test-get_hwcap-static.c | ||
| test-get_hwcap.c | ||
| test-gettimebase.c | ||
| tst-cache-ppc-static-dlopen.c | ||
| tst-cache-ppc-static.c | ||
| tst-cache-ppc.c | ||
| tst-set_ppr.c | ||
| tst-stack-align.h | ||
| tst-tlsifunc-static.c | ||
| tst-tlsifunc.c | ||
| tst-tlsopt-powerpc.c | ||