diff options
36 files changed, 284 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index bf76d97258..c78e77347a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,50 @@ +2016-08-29 Joseph Myers <joseph@codesourcery.com> + + * 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-26 Florian Weimer <fweimer@redhat.com> [BZ #20432] diff --git a/NEWS b/NEWS index fdcd7e7a0c..20336feade 100644 --- a/NEWS +++ b/NEWS @@ -32,7 +32,8 @@ Version 2.25 presently cannot avoid being compiled under _GNU_SOURCE, exacerbating the problem. -* The fesetexcept function from TS 18661-1:2014 is added to libm. +* The fesetexcept and fetestexceptflag functions from TS 18661-1:2014 are + added to libm. Security related changes: diff --git a/manual/arith.texi b/manual/arith.texi index 8dcd409cbd..3a04bc2d62 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -834,6 +834,17 @@ Note that the value stored in @code{fexcept_t} bears no resemblance to the bit mask returned by @code{fetestexcept}. The type may not even be an integer. Do not attempt to modify an @code{fexcept_t} variable. +@comment fenv.h +@comment ISO +@deftypefun int fetestexceptflag (const fexcept_t *@var{flagp}, int @var{excepts}) +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} +Test whether the exception flags indicated by the parameter +@var{excepts} are set in the variable pointed to by @var{flagp}. If +any of them are, a nonzero value is returned which specifies which +exceptions are set. Otherwise the result is zero. +@code{fetestexceptflag} is from TS 18661-1:2014. +@end deftypefun + @node Math Error Reporting @subsection Error Reporting by Mathematical Functions @cindex errors, mathematical diff --git a/math/Makefile b/math/Makefile index 03cbd1d4a9..dbc2a179dc 100644 --- a/math/Makefile +++ b/math/Makefile @@ -41,7 +41,7 @@ libm-support = s_lib_version s_matherr s_signgam \ fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \ ftestexcept fegetround fesetround fegetenv feholdexcpt \ fesetenv feupdateenv t_exp fedisblxcpt feenablxcpt \ - fegetexcept fesetexcept + fegetexcept fesetexcept fetestexceptflag # Wrappers for these functions generated per type using a file named # <func>_template.c and the appropriate math-type-macros-<TYPE>.h. @@ -153,7 +153,7 @@ tests = test-matherr test-fenv atest-exp atest-sincos atest-exp2 basic-test \ test-signgam-uint test-signgam-uint-init test-signgam-ullong \ test-signgam-ullong-init test-nan-overflow test-nan-payload \ test-fexcept test-fexcept-traps test-fesetexcept \ - test-fesetexcept-traps $(tests-static) + test-fesetexcept-traps test-fetestexceptflag $(tests-static) tests-static = test-fpucw-static test-fpucw-ieee-static \ test-signgam-uchar-static test-signgam-uchar-init-static \ test-signgam-uint-static test-signgam-uint-init-static \ diff --git a/math/Versions b/math/Versions index ff4e4d4292..1c1683fed4 100644 --- a/math/Versions +++ b/math/Versions @@ -215,6 +215,6 @@ libm { nextdown; nextdownf; nextdownl; } GLIBC_2.25 { - fesetexcept; + fesetexcept; fetestexceptflag; } } diff --git a/math/fenv.h b/math/fenv.h index 7f4ceb744c..10d32db909 100644 --- a/math/fenv.h +++ b/math/fenv.h @@ -85,6 +85,12 @@ extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW; currently set. */ extern int fetestexcept (int __excepts) __THROW; +#if __GLIBC_USE (IEC_60559_BFP_EXT) +/* Determine which of subset of the exceptions specified by EXCEPTS + are set in *FLAGP. */ +extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __THROW; +#endif + /* Rounding control. */ diff --git a/math/fetestexceptflag.c b/math/fetestexceptflag.c new file mode 100644 index 0000000000..6e3d218186 --- /dev/null +++ b/math/fetestexceptflag.c @@ -0,0 +1,27 @@ +/* Test exception in saved exception state. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <fenv.h> + +int +fetestexceptflag (const fexcept_t *flagp, int excepts) +{ + /* Most versions of fegetexceptflag store exceptions in a form such + that this works. */ + return *flagp & excepts & FE_ALL_EXCEPT; +} diff --git a/math/test-fetestexceptflag.c b/math/test-fetestexceptflag.c new file mode 100644 index 0000000000..8122f261f2 --- /dev/null +++ b/math/test-fetestexceptflag.c @@ -0,0 +1,130 @@ +/* Test fetestexceptflag. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <fenv.h> +#include <stdio.h> +#include <math-tests.h> + +static int +test_one (int exc_test, int exc_set, int exc_save) +{ + int result = 0; + + printf ("Individual test: %x %x %x\n", (unsigned int) exc_test, + (unsigned int) exc_set, (unsigned int) exc_save); + + feclearexcept (FE_ALL_EXCEPT); + int ret = fesetexcept (exc_set); + if (ret != 0) + { + puts ("fesetexcept failed"); + if (exc_set == 0 || EXCEPTION_TESTS (float)) + { + puts ("failure of fesetexcept was unexpected"); + result = 1; + } + else + puts ("failure of fesetexcept OK, skipping further tests"); + return result; + } + fexcept_t saved; + ret = fegetexceptflag (&saved, exc_save); + if (ret == 0) + puts ("fegetexceptflag succeeded"); + else + { + puts ("fegetexceptflag failed"); + result = 1; + return result; + } + ret = fetestexceptflag (&saved, exc_test); + if (ret == (exc_set & exc_test)) + puts ("fetestexceptflag result correct"); + else + { + printf ("fetestexceptflag returned %x, expected %x\n", ret, + exc_set & exc_test); + result = 1; + } + if (exc_save == FE_ALL_EXCEPT) + { + /* Also test fetestexceptflag testing all exceptions but + possibly with only some set. */ + ret = fetestexceptflag (&saved, FE_ALL_EXCEPT); + if (ret == exc_set) + puts ("fetestexceptflag (FE_ALL_EXCEPT) result correct"); + else + { + printf ("fetestexceptflag (FE_ALL_EXCEPT) returned %x, expected %x\n", + ret, exc_set); + result = 1; + } + } + return result; +} + +static int +test_fetestexceptflag (int exc, const char *exc_name) +{ + int result = 0; + + printf ("Testing %s\n", exc_name); + + /* Test each case of: whether this exception is set or clear; + whether other exceptions are set or clear; whether the whole + state is saved or just the state for this exception. */ + result |= test_one (exc, 0, exc); + result |= test_one (exc, 0, FE_ALL_EXCEPT); + result |= test_one (exc, exc, exc); + result |= test_one (exc, exc, FE_ALL_EXCEPT); + result |= test_one (exc, FE_ALL_EXCEPT & ~exc, exc); + result |= test_one (exc, FE_ALL_EXCEPT & ~exc, FE_ALL_EXCEPT); + result |= test_one (exc, FE_ALL_EXCEPT, exc); + result |= test_one (exc, FE_ALL_EXCEPT, FE_ALL_EXCEPT); + + return result; +} + +static int +do_test (void) +{ + int result = 0; + + result |= test_fetestexceptflag (0, "0"); + result |= test_fetestexceptflag (FE_ALL_EXCEPT, "FE_ALL_EXCEPT"); +#ifdef FE_DIVBYZERO + result |= test_fetestexceptflag (FE_DIVBYZERO, "FE_DIVBYZERO"); +#endif +#ifdef FE_INEXACT + result |= test_fetestexceptflag (FE_INEXACT, "FE_INEXACT"); +#endif +#ifdef FE_INVALID + result |= test_fetestexceptflag (FE_INVALID, "FE_INVALID"); +#endif +#ifdef FE_OVERFLOW + result |= test_fetestexceptflag (FE_OVERFLOW, "FE_OVERFLOW"); +#endif +#ifdef FE_UNDERFLOW + result |= test_fetestexceptflag (FE_UNDERFLOW, "FE_UNDERFLOW"); +#endif + + return result; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/sysdeps/nacl/libm.abilist b/sysdeps/nacl/libm.abilist index b50f029843..28897730fa 100644 --- a/sysdeps/nacl/libm.abilist +++ b/sysdeps/nacl/libm.abilist @@ -381,3 +381,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/s390/fpu/fetestexceptflag.c b/sysdeps/s390/fpu/fetestexceptflag.c new file mode 100644 index 0000000000..c472d8c87d --- /dev/null +++ b/sysdeps/s390/fpu/fetestexceptflag.c @@ -0,0 +1,31 @@ +/* Test exception in saved exception state. S/390 version. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <fenv.h> +#include <fenv_libc.h> + +int +fetestexceptflag (const fexcept_t *flagp, int excepts) +{ + /* As *flagp is obtained by an earlier call of fegetexceptflag the + bits 0-5 of dxc-byte are either zero or correspond to the + flag-bits. Evaluate flags and last dxc-exception-code. */ + return (((*flagp >> FPC_FLAGS_SHIFT) | (*flagp >> FPC_DXC_SHIFT)) + & excepts + & FE_ALL_EXCEPT); +} diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 01b01b72b3..1f475cd5c1 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -412,3 +412,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 9ba817d5ee..11b76e9a10 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -422,6 +422,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 __c1_cabsf F GLIBC_2.3.4 __c1_cacosf F diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index d9a6f6f9aa..1fc1804bd5 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -70,6 +70,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 75d4797084..ed734881dd 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -382,5 +382,6 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 17b6d6d1ee..3a6dcaf064 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -424,4 +424,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index d2d89785fe..ec9916b52e 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -353,4 +353,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index d9a6f6f9aa..1fc1804bd5 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -70,6 +70,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index 3edf8ae305..32931f1677 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -422,4 +422,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index e93410186d..cab693a4e4 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -381,3 +381,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 88cd724c67..20a80ccbf2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -383,6 +383,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F _gp_disp _gp_disp A diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 52d5cb306d..02379f78bf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -414,4 +414,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index 37f7a88210..b4b377ba19 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -381,3 +381,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index ad61a97f93..7eea14aded 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -423,6 +423,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 85422382f6..5eb2e9bb40 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -422,6 +422,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index b2f06083db..36b8e77d47 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -417,3 +417,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index e5d36a1707..2efd4ebb33 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -98,6 +98,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 _LIB_VERSION D 0x4 GLIBC_2.3 __clog10 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 457aa719c3..62f75baa36 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -412,6 +412,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 217d76b2b5..c41344a9ff 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -410,6 +410,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index d1da0df347..3baecfb400 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -382,5 +382,6 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 1c582558b8..dd5390c313 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -415,6 +415,7 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 6915c872d0..394c29b9b5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -413,4 +413,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist index 6ebaa0f163..d66c886ca5 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist @@ -382,3 +382,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist index 6ebaa0f163..d66c886ca5 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist @@ -382,3 +382,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist index 6ebaa0f163..d66c886ca5 100644 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist @@ -382,3 +382,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 2e77c3db96..dd79dc4626 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -413,4 +413,5 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index b9ccb1af65..45abb4fa71 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -412,3 +412,4 @@ GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 fesetexcept F +GLIBC_2.25 fetestexceptflag F |