]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add setpayloadsig, setpayloadsigf, setpayloadsigl.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 24 Nov 2016 23:56:48 +0000 (23:56 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 24 Nov 2016 23:56:48 +0000 (23:56 +0000)
TS 18661-1 defines functions for manipulating the payloads of NaNs.
This patch implements the setpayloadsig functions for glibc; these are
like the setpayload functions, but produce a signaling NaN instead of
a quiet NaN.

The substance of the implementation was included with the setpayload
implementation, so the new files here just need to wrap the main files
with different defines to build the new functions.

Because the functions store a signaling NaN via a pointer and the
libm-test macros choose a suitable initial value for the variable in
such a case by comparing with the expected value, the relevant macro
needs to clear exceptions after FE_INVALID may have been raised by
that comparison.

Tested for x86_64, x86, mips64 and powerpc.

* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
(setpayloadsig): New declaration.
* math/Versions (setpayloadsig): New libm symbol at version
GLIBC_2.25.
(setpayloadsigf): Likewise.
(setpayloadsigl): Likewise.
* math/Makefile (libm-calls): Add s_setpayloadsigF.
* math/libm-test.inc (RUN_TEST_Ff_b1): Call feclearexcept
(FE_ALL_EXCEPT) after initializing EXTRA_VAR.
(setpayloadsig_test_data): New array.
(setpayloadsig_test): New function.
(main): Call setpayloadsig_test.
* manual/arith.texi (FP Bit Twiddling): Document setpayloadsig,
setpayloadsigf and setpayloadsigl.
* manual/libm-err-tab.pl: Update comment on interfaces without
ulps tabulated.
* sysdeps/ieee754/dbl-64/s_setpayloadsig.c: New file.
* sysdeps/ieee754/flt-32/s_setpayloadsigf.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c: Likewise.
* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
setpayloadsig.
(CFLAGS-nldbl-setpayloadsig.c): New variable.
* 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.

42 files changed:
ChangeLog
NEWS
manual/arith.texi
manual/libm-err-tab.pl
math/Makefile
math/Versions
math/bits/mathcalls.h
math/libm-test.inc
sysdeps/ieee754/dbl-64/s_setpayloadsig.c [new file with mode: 0644]
sysdeps/ieee754/flt-32/s_setpayloadsigf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-opt/Makefile
sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c [new file with mode: 0644]
sysdeps/nacl/libm.abilist
sysdeps/unix/sysv/linux/aarch64/libm.abilist
sysdeps/unix/sysv/linux/alpha/libm.abilist
sysdeps/unix/sysv/linux/arm/libm.abilist
sysdeps/unix/sysv/linux/hppa/libm.abilist
sysdeps/unix/sysv/linux/i386/libm.abilist
sysdeps/unix/sysv/linux/ia64/libm.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
sysdeps/unix/sysv/linux/microblaze/libm.abilist
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
sysdeps/unix/sysv/linux/nios2/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
sysdeps/unix/sysv/linux/sh/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist
sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist

index 03597a75d85d48677774c255a895f44a76541147..c57a8927b31d1da5c28e05dfa3a5213562e2a712 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,64 @@
 2016-11-24  Joseph Myers  <joseph@codesourcery.com>
 
+       * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
+       (setpayloadsig): New declaration.
+       * math/Versions (setpayloadsig): New libm symbol at version
+       GLIBC_2.25.
+       (setpayloadsigf): Likewise.
+       (setpayloadsigl): Likewise.
+       * math/Makefile (libm-calls): Add s_setpayloadsigF.
+       * math/libm-test.inc (RUN_TEST_Ff_b1): Call feclearexcept
+       (FE_ALL_EXCEPT) after initializing EXTRA_VAR.
+       (setpayloadsig_test_data): New array.
+       (setpayloadsig_test): New function.
+       (main): Call setpayloadsig_test.
+       * manual/arith.texi (FP Bit Twiddling): Document setpayloadsig,
+       setpayloadsigf and setpayloadsigl.
+       * manual/libm-err-tab.pl: Update comment on interfaces without
+       ulps tabulated.
+       * sysdeps/ieee754/dbl-64/s_setpayloadsig.c: New file.
+       * sysdeps/ieee754/flt-32/s_setpayloadsigf.c: Likewise.
+       * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c: Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c: Likewise.
+       * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Likewise.
+       * sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c: Likewise.
+       * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
+       setpayloadsig.
+       (CFLAGS-nldbl-setpayloadsig.c): New variable.
+       * 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.
+
        * scripts/build-many-glibcs.py: Import json module.
        (Context.__init__): Take replace_sources argument.  Load
        versions.json.
diff --git a/NEWS b/NEWS
index f0e8a1c339eeeb49f6fb891eba4b76be612819dd..9a45e730aff49adff43374146226bf1633ca6514 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -63,7 +63,7 @@ Version 2.25
   - Canonicalize functions: canonicalize, canonicalizef, canonicalizel.
 
   - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload,
-    setpayloadf, setpayloadl.
+    setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl.
 
 * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014,
   are added to libc.  They convert a floating-point number into string.
index 07dd733844850096d83e86a712d13fc4fb423fb6..f9296a362e3dadd9481a551c5c37937408e6da5d 100644 (file)
@@ -1932,6 +1932,24 @@ object pointed to by @var{x} is set to positive zero and a nonzero
 value is returned.  They raise no floating-point exceptions.
 @end deftypefun
 
+@comment math.h
+@comment ISO
+@deftypefun int setpayloadsig (double *@var{x}, double @var{payload})
+@comment math.h
+@comment ISO
+@deftypefunx int setpayloadsigf (float *@var{x}, float @var{payload})
+@comment math.h
+@comment ISO
+@deftypefunx int setpayloadsigl (long double *@var{x}, long double @var{payload})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions, defined by TS 18661-1:2014, set the object pointed to
+by @var{x} to a signaling NaN with payload @var{payload} and a zero
+sign bit and return zero.  If @var{payload} is not a positive-signed
+integer that is a valid payload for a signaling NaN of the given type,
+the object pointed to by @var{x} is set to positive zero and a nonzero
+value is returned.  They raise no floating-point exceptions.
+@end deftypefun
+
 @node FP Comparison Functions
 @subsection Floating-Point Comparison Functions
 @cindex unordered comparison
index 146460675f289820c0209bf9d3e6489dda4ddcd6..6d0bffc372b18950d979e725a799a5bd5b116214 100755 (executable)
@@ -67,7 +67,8 @@ use vars qw (%results @all_floats %suffices @all_functions);
 # canonicalize, fpclassify, getpayload, iscanonical, isnormal,
 # isfinite, isinf, isnan, issignaling, issubnormal, iszero, signbit,
 # iseqsig, isgreater, isgreaterequal, isless, islessequal,
-# islessgreater, isunordered, setpayload, totalorder, totalordermag
+# islessgreater, isunordered, setpayload, setpayloadsig,
+# totalorder, totalordermag
 # are not tabulated.
 
 if ($#ARGV == 0) {
index 576e108e7d3ab37a0c69d87107eb8ccc3532ad54..7196e5e5a860d576e8671bf56982f325d7cab160 100644 (file)
@@ -74,7 +74,7 @@ libm-calls =                                                            \
        s_issignalingF $(calls:s_%=m_%) x2y2m1F                           \
        gamma_productF lgamma_negF lgamma_productF                        \
        s_nextupF s_totalorderF s_totalordermagF s_getpayloadF            \
-       s_setpayloadF $(gen-libm-calls)
+       s_setpayloadF s_setpayloadsigF $(gen-libm-calls)
 
 libm-compat-calls-ldouble-yes = w_lgamma_compatl k_standardl
 libm-compat-calls = w_lgamma_compatf w_lgamma_compat k_standard k_standardf \
index 4e15aea9cc0d83766b259aab1554887be618159c..143e53f052add4e9e0ae279150d405e3b2bf8ad7 100644 (file)
@@ -222,5 +222,6 @@ libm {
     getpayload; getpayloadf; getpayloadl;
     canonicalize; canonicalizef; canonicalizel;
     setpayload; setpayloadf; setpayloadl;
+    setpayloadsig; setpayloadsigf; setpayloadsigl;
   }
 }
index 0f4e625928fe47a38588fb4b7844e5111ffed69f..54ea4b8f3077f4273abfee5f9fadac2a22cd44c0 100644 (file)
@@ -403,6 +403,9 @@ __MATHCALL (getpayload,, (const _Mdouble_ *__x));
 
 /* Set quiet NaN payload.  */
 __MATHDECL_1 (int, setpayload,, (_Mdouble_ *__x, _Mdouble_ __payload));
+
+/* Set signaling NaN payload.  */
+__MATHDECL_1 (int, setpayloadsig,, (_Mdouble_ *__x, _Mdouble_ __payload));
 #endif
 
 #if defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
index 602a8e242dfba4c7fdd383fa17ad1efdbe3e99a9..81d114b04f55a2871e671d937a37e5efb3e7fc13 100644 (file)
@@ -54,7 +54,8 @@
    modf, nearbyint, nextafter, nexttoward,
    pow, pow10, remainder, remquo, rint, lrint, llrint,
    round, lround, llround,
-   scalb, scalbn, scalbln, setpayload, signbit, sin, sincos, sinh, sqrt,
+   scalb, scalbn, scalbln, setpayload, setpayloadsig, signbit,
+   sin, sincos, sinh, sqrt,
    tan, tanh, tgamma, totalorder, totalordermag, trunc,
    y0, y1, yn, significand
 
@@ -1592,6 +1593,9 @@ struct test_Ff_b1_data
       {                                                                        \
        COMMON_TEST_SETUP (ARG_STR);                                    \
        (EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0;                    \
+       /* Clear any exceptions from comparison involving sNaN          \
+          EXTRA_EXPECTED.  */                                          \
+       feclearexcept (FE_ALL_EXCEPT);                                  \
        check_bool (test_name, FUNC_TEST (FUNC_NAME) (&(EXTRA_VAR),     \
                                                      (ARG)),           \
                    EXPECTED, EXCEPTIONS);                              \
@@ -12417,6 +12421,88 @@ setpayload_test (void)
 }
 
 
+static const struct test_Ff_b1_data setpayloadsig_test_data[] =
+  {
+#if HIGH_ORDER_BIT_IS_SET_FOR_SNAN
+    TEST_Ff_b1 (setpayloadsig, plus_zero, 0, snan_value_pl ("0x0"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, plus_zero, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+    TEST_Ff_b1 (setpayloadsig, 0x1p0, 0, snan_value_pl ("0x1"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+    TEST_Ff_b1 (setpayloadsig, 0x2p0, 0, snan_value_pl ("0x2"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+    TEST_Ff_b1 (setpayloadsig, 0x3fffffp0, 0, snan_value_pl ("0x3fffff"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#if PAYLOAD_DIG >= 51
+    TEST_Ff_b1 (setpayloadsig, 0x7ffffffffffffp0, 0, snan_value_pl ("0x7ffffffffffff"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x7ffffffffffffp0, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 62
+    TEST_Ff_b1 (setpayloadsig, 0x3fffffffffffffffp0, 0, snan_value_pl ("0x3fffffffffffffff"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x3fffffffffffffffp0, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 111
+    TEST_Ff_b1 (setpayloadsig, 0x7fffffffffffffffffffffffffffp0, 0, snan_value_pl ("0x7fffffffffffffffffffffffffff"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x7fffffffffffffffffffffffffffp0, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+    TEST_Ff_b1 (setpayloadsig, minus_zero, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -1.0, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -2.0, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, 0.5, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -0.5, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, max_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -max_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, min_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -min_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, min_subnorm_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -min_subnorm_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, plus_infty, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, minus_infty, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, qnan_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -qnan_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, snan_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, -snan_value, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_Ff_b1 (setpayloadsig, 0xffffffp-1, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#if MANT_DIG >= 53
+    TEST_Ff_b1 (setpayloadsig, 0x1fffffffffffffp-1, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if MANT_DIG >= 64
+    TEST_Ff_b1 (setpayloadsig, 0xffffffffffffffffp-1, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if MANT_DIG >= 106
+    TEST_Ff_b1 (setpayloadsig, 0x3ffffffffffffffffffffffffffp-1, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if MANT_DIG >= 113
+    TEST_Ff_b1 (setpayloadsig, 0x1ffffffffffffffffffffffffffffp-1, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 23
+    TEST_Ff_b1 (setpayloadsig, 0x1p22, 0, snan_value_pl ("0x400000"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x1p22, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 52
+    TEST_Ff_b1 (setpayloadsig, 0x1p51, 0, snan_value_pl ("0x8000000000000"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x1p51, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 63
+    TEST_Ff_b1 (setpayloadsig, 0x1p62, 0, snan_value_pl ("0x4000000000000000"), NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|TEST_NAN_SIGN|TEST_NAN_PAYLOAD),
+#else
+    TEST_Ff_b1 (setpayloadsig, 0x1p62, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+    TEST_Ff_b1 (setpayloadsig, 0x1p111, 1, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+  };
+
+static void
+setpayloadsig_test (void)
+{
+  FLOAT x;
+
+  ALL_RM_TEST (setpayloadsig, 1, setpayloadsig_test_data, RUN_TEST_LOOP_Ff_b1, END, x);
+}
+
+
 static const struct test_f_i_data signbit_test_data[] =
   {
     TEST_f_b (signbit, 0, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
@@ -13760,6 +13846,7 @@ main (int argc, char **argv)
   /* NaN functions:  */
   getpayload_test ();
   setpayload_test ();
+  setpayloadsig_test ();
 
   /* Complex functions:  */
   cabs_test ();
diff --git a/sysdeps/ieee754/dbl-64/s_setpayloadsig.c b/sysdeps/ieee754/dbl-64/s_setpayloadsig.c
new file mode 100644 (file)
index 0000000..c3d1ba1
--- /dev/null
@@ -0,0 +1,6 @@
+#define SIG 1
+#define FUNC setpayloadsig
+#include <s_setpayload_main.c>
+#ifdef NO_LONG_DOUBLE
+weak_alias (setpayloadsig, setpayloadsigl)
+#endif
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadsigf.c b/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
new file mode 100644 (file)
index 0000000..f7b335d
--- /dev/null
@@ -0,0 +1,3 @@
+#define SIG 1
+#define FUNC setpayloadsigf
+#include <s_setpayloadf_main.c>
diff --git a/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c
new file mode 100644 (file)
index 0000000..d97e2c8
--- /dev/null
@@ -0,0 +1,3 @@
+#define SIG 1
+#define FUNC setpayloadsigl
+#include <s_setpayloadl_main.c>
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c
new file mode 100644 (file)
index 0000000..d97e2c8
--- /dev/null
@@ -0,0 +1,3 @@
+#define SIG 1
+#define FUNC setpayloadsigl
+#include <s_setpayloadl_main.c>
diff --git a/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c
new file mode 100644 (file)
index 0000000..d97e2c8
--- /dev/null
@@ -0,0 +1,3 @@
+#define SIG 1
+#define FUNC setpayloadsigl
+#include <s_setpayloadl_main.c>
index 627ebc8b55b635ae74c2087f0c0e330fc03f92a3..9d45684ffbc806880637b22d04c85e01fcc4c603 100644 (file)
@@ -43,7 +43,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
                 isoc99_wscanf isoc99_fwscanf isoc99_swscanf \
                 isoc99_vwscanf isoc99_vfwscanf isoc99_vswscanf \
                 nextup nextdown totalorder totalordermag getpayload \
-                canonicalize setpayload
+                canonicalize setpayload setpayloadsig
 libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
 libnldbl-inhibit-o = $(object-suffixes)
 libnldbl-static-only-routines = $(libnldbl-routines)
@@ -139,6 +139,7 @@ CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl
 CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl
 CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl
 CFLAGS-nldbl-setpayload.c = -fno-builtin-setpayloadl
+CFLAGS-nldbl-setpayloadsig.c = -fno-builtin-setpayloadsigl
 CFLAGS-nldbl-significand.c = -fno-builtin-significandl
 CFLAGS-nldbl-sin.c = -fno-builtin-sinl
 CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c b/sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c
new file mode 100644 (file)
index 0000000..5f8c4ba
--- /dev/null
@@ -0,0 +1,26 @@
+/* Compatibility routine for IEEE double as long double for setpayloadsig.
+   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 "nldbl-compat.h"
+
+int
+attribute_hidden
+setpayloadsigl (double *x, double payload)
+{
+  return setpayloadsig (x, payload);
+}
index f6f45d3010a19285b2e7fa215d24867184630414..7a256f89105684a49c41905f15e12965d51eaf25 100644 (file)
@@ -395,6 +395,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 4d94f5b2d1141912576075f55e4264650cd99c55..689bd0a80d021d264cbe18051c752877d518ead2 100644 (file)
@@ -427,6 +427,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 0eea474d795a1db360218703d99c01230ba5f5a8..9f4b50df122e0b0b708803b1b7505c47eed9a570 100644 (file)
@@ -437,6 +437,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 26d2b2130f21f3ba989417f913cb38eebea1e840..8d0905db1b87bbad67152d70cc0ce95e943a7e9f 100644 (file)
@@ -84,6 +84,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index d081d7b3e088646dbd74c633f989418d5b22e1ee..edf87c30f8d5a6b57bdb8083243cfcf2f5b916e6 100644 (file)
@@ -396,6 +396,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index cc8be123cea32c8ee09245e6ec3e98f23e72208c..a139f50b87fcc109a8c03e469a458d243b51158e 100644 (file)
@@ -440,6 +440,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 1aa546868c832a800f387922804280b36b95ace1..166e0a94bbea2f8ba68bd51657e9404852d45447 100644 (file)
@@ -369,6 +369,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 26d2b2130f21f3ba989417f913cb38eebea1e840..8d0905db1b87bbad67152d70cc0ce95e943a7e9f 100644 (file)
@@ -84,6 +84,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 6ffebfddf7cf28e89dd83d57a657d3e84db2d1bd..f64023783efb790371725966da2a2918c2eb2bf0 100644 (file)
@@ -438,6 +438,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 9752f2f5189fa445465e6063156b305983c6dbaa..d4c8749e1b2b74ca74b70d250d479e907cb7dce1 100644 (file)
@@ -395,6 +395,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index edde2f29fe0e55fcb649c7c9090aa56fda7cb36e..53f995161a048a0363f8c81d740ab9649bedfa43 100644 (file)
@@ -397,6 +397,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 67705e84a3beed35a2ba6b53469a81fc4597610c..6fa6b46f82438523159f4123f4e778c16ad95a41 100644 (file)
@@ -429,6 +429,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 86f75cb60dfb340140ac88ac9e725846a614200d..fd0839bb63d830f4f8ec5fcd4497dacf2bd5f2bc 100644 (file)
@@ -395,6 +395,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 6bd32bb301a9612ada113276af814a5ef50db02b..a85c72fcefb750b2588a37f35e8c6dac39fa18e1 100644 (file)
@@ -440,6 +440,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 2ae95e2fe09d8117a433ff98272ebc53e9b24e12..b9e01662bcd677a4b3e858b794ba0679b51a2f84 100644 (file)
@@ -439,6 +439,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 35fd922895cb6a4320738a4fd6a5f26082859e30..615cbbc7c1e1c78a12bb7f9677840b67efb88322 100644 (file)
@@ -434,6 +434,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index d61629201d47d297dde14cf54ed1ef0cf8d34624..e5e30469c159febd461e8a68daff5a040605f642 100644 (file)
@@ -115,6 +115,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index f3310692e8f4cf86ffe52999e73bea2654ace612..a523788800851864ad1aab88ea4c2f4a519f15f6 100644 (file)
@@ -427,6 +427,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index e105c77e0df5320f3090c26f295ae074125de41c..2872dc3aa551c36d1002317c662ee5e241be2038 100644 (file)
@@ -425,6 +425,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 4c24c90a60610901a39f7163cec36e3154a2980c..73f7ad905f7f44560c25cbb5574c77f3ed78c6ed 100644 (file)
@@ -396,6 +396,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index dbf19bd74ffdbdfb1665e63c578283b32ff1be94..3f5186e14577a1ac8e395c6c2db03450f1363983 100644 (file)
@@ -430,6 +430,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 83e8308b1fb4a209a5a2020a24924735d444d2af..e1683dfdc0dd51fd4f39eb59809da09acd9aa47e 100644 (file)
@@ -428,6 +428,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 7306e4699572efccbf14576a98a5d0cb0874f7f1..9e7008240e97908857831ec9b95c6ad7f6ba674e 100644 (file)
@@ -396,6 +396,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 7306e4699572efccbf14576a98a5d0cb0874f7f1..9e7008240e97908857831ec9b95c6ad7f6ba674e 100644 (file)
@@ -396,6 +396,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index 7306e4699572efccbf14576a98a5d0cb0874f7f1..9e7008240e97908857831ec9b95c6ad7f6ba674e 100644 (file)
@@ -396,6 +396,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index cabd7fe78fe94bfa5ae1348a09deb3911bcde8a1..4b548a0856f1500c5083ca5392c29a2e962ce973 100644 (file)
@@ -429,6 +429,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F
index ff64e99bb1584bdfe5ecc5c7f9985d2267030760..384a5706238f459b0ef7e8cd3477cbe26fb34923 100644 (file)
@@ -428,6 +428,9 @@ GLIBC_2.25 getpayloadl F
 GLIBC_2.25 setpayload F
 GLIBC_2.25 setpayloadf F
 GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
 GLIBC_2.25 totalorder F
 GLIBC_2.25 totalorderf F
 GLIBC_2.25 totalorderl F