glibc/sysdeps
Adhemerval Zanella ecb1e7220d powerpc: Do not raise exception traps for fesetexcept/fesetexceptflag (BZ 30988)
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>
2023-12-19 15:12:34 -03:00
..
aarch64 aarch64: correct CFI in rawmemchr (bug 31113) 2023-12-05 12:49:37 +01:00
alpha elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
arc
arm elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
csky
generic elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
gnu Add TCP_MD5SIG_FLAG_IFINDEX from Linux 5.6 to netinet/tcp.h. 2023-11-28 13:44:47 +01:00
hppa elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
htl htl: move pthread_attr_setdetachstate into libc 2023-08-24 01:57:22 +02:00
hurd
i386 elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
ia64 elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
ieee754 math: Add new exp10 implementation 2023-12-04 15:52:11 +00:00
loongarch elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
m68k elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
mach hurd: [!__USE_MISC] Do not #undef BSD macros in ioctls 2023-12-02 21:26:50 +01:00
microblaze
mips mips: dl-machine-reject-phdr: Get rid of alloca. 2023-10-02 12:55:27 +00:00
nios2
nptl
or1k
posix linux: Decorate __libc_fatal error buffer 2023-11-07 10:27:53 -03:00
powerpc powerpc: Do not raise exception traps for fesetexcept/fesetexceptflag (BZ 30988) 2023-12-19 15:12:34 -03:00
pthread sysdeps: sem_open: Clear O_CREAT when semaphore file is expected to exist [BZ #30789] 2023-11-03 15:19:38 -03:00
riscv riscv: Add support for XTheadBb in string-fz[a,i].h 2023-09-06 09:27:43 -03:00
s390 elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
sh elf: Remove LD_PROFILE for static binaries 2023-11-21 16:15:42 -03:00
sparc Do not build sparc32 libgcc functions into static libc 2023-12-19 16:00:11 +00:00
unix elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
wordsize-32
wordsize-64
x86 elf: Do not duplicate the GLIBC_TUNABLES string 2023-12-19 13:25:45 -03:00
x86_64 x86: Unifies 'strlen-evex' and 'strlen-evex512' implementations. 2023-12-18 12:38:01 -06:00