]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
stdlib: Implement C2Y uabs, ulabs, ullabs and uimaxabs
authorLenard Mollenkopf <glibc@lenardmollenkopf.de>
Tue, 8 Apr 2025 12:16:54 +0000 (14:16 +0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 8 Apr 2025 12:51:51 +0000 (12:51 +0000)
C2Y adds unsigned versions of the abs functions (see C2Y draft N3467 and
proposal N3349).

Tested for x86_64.

Signed-off-by: Lenard Mollenkopf <glibc@lenardmollenkopf.de>
47 files changed:
NEWS
manual/arith.texi
stdlib/Makefile
stdlib/Versions
stdlib/inttypes.h
stdlib/stdlib.h
stdlib/tst-uabs.c [new file with mode: 0644]
stdlib/tst-uimaxabs.c [new file with mode: 0644]
stdlib/tst-ulabs.c [new file with mode: 0644]
stdlib/tst-ullabs.c [new file with mode: 0644]
stdlib/uabs.c [new file with mode: 0644]
stdlib/ulabs.c [new file with mode: 0644]
stdlib/ullabs.c [new file with mode: 0644]
sysdeps/mach/hurd/i386/libc.abilist
sysdeps/mach/hurd/x86_64/libc.abilist
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/arc/libc.abilist
sysdeps/unix/sysv/linux/arm/be/libc.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/csky/libc.abilist
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/or1k/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

diff --git a/NEWS b/NEWS
index 703f08a1665deefea56862ca31921ef49f30bf6d..c8dc31925e579b7bf8bc9f9c9a4b80081e70d70b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,9 @@ Major new features:
 
 * On Linux, the pthread_gettid_np function has been added.
 
+* The ISO C2Y family of unsigned abs functions, i.e.
+  uabs, ulabs, ullabs and uimaxabs, are now supported.
+
 Deprecated and removed features, and other changes affecting compatibility:
 
   [Add deprecations, removals and changes affecting compatibility here]
index 034d9d2ba58c5ed070b5964887eca3026b687136..d500dcf2a9abf569c278f663e4edc88b509f8e18 100644 (file)
@@ -1233,25 +1233,33 @@ whose imaginary part is @var{y}, the absolute value is @w{@code{sqrt
 
 @pindex math.h
 @pindex stdlib.h
-Prototypes for @code{abs}, @code{labs} and @code{llabs} are in @file{stdlib.h};
-@code{imaxabs} is declared in @file{inttypes.h};
+Prototypes for @code{abs}, @code{labs}, @code{llabs},
+@code{uabs}, @code{ulabs} and @code{ullabs} are in @file{stdlib.h};
+@code{imaxabs} and @code{uimaxabs} are declared in @file{inttypes.h};
 the @code{fabs} functions are declared in @file{math.h};
 the @code{cabs} functions are declared in @file{complex.h}.
 
 @deftypefun int abs (int @var{number})
 @deftypefunx {long int} labs (long int @var{number})
 @deftypefunx {long long int} llabs (long long int @var{number})
+@deftypefunx {unsigned int} uabs (int @var{number})
+@deftypefunx {unsigned long int} ulabs (long int @var{number})
+@deftypefunx {unsigned long long int} ullabs (long long int @var{number})
 @deftypefunx intmax_t imaxabs (intmax_t @var{number})
+@deftypefunx uintmax_t uimaxabs (intmax_t @var{number})
 @standards{ISO, stdlib.h}
 @standardsx{imaxabs, ISO, inttypes.h}
+@standardsx{uimaxabs, ISO, inttypes.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 These functions return the absolute value of @var{number}.
 
 Most computers use a two's complement integer representation, in which
 the absolute value of @code{INT_MIN} (the smallest possible @code{int})
 cannot be represented; thus, @w{@code{abs (INT_MIN)}} is not defined.
+Using @code{uabs} avoids this.
 
 @code{llabs} and @code{imaxdiv} are new to @w{ISO C99}.
+@code{uabs}, @code{ulabs}, @code{ullabs} and @code{uimaxabs} are new to @w{ISO C2Y}.
 
 See @ref{Integers} for a description of the @code{intmax_t} type.
 
index 513445bcbc65ea6e998bf0ae78c44706f9af1212..1c80e497f0547f243b7dc8231d656a9501a86394 100644 (file)
@@ -211,6 +211,9 @@ routines := \
   strtoull_l \
   swapcontext \
   system \
+  uabs \
+  ulabs \
+  ullabs \
   wcstombs \
   wctomb  \
   xpg_basename \
@@ -363,6 +366,10 @@ tests := \
   tst-swapcontext2 \
   tst-thread-quick_exit \
   tst-tininess \
+  tst-uabs \
+  tst-uimaxabs \
+  tst-ulabs \
+  tst-ullabs \
   tst-unsetenv1 \
   tst-width \
   tst-width-stdint \
@@ -412,6 +419,11 @@ CFLAGS-tst-abs.c += -fno-builtin
 CFLAGS-tst-labs.c += -fno-builtin
 CFLAGS-tst-llabs.c += -fno-builtin
 
+CFLAGS-tst-uabs.c += -fno-builtin
+CFLAGS-tst-uimaxabs.c += -fno-builtin
+CFLAGS-tst-ulabs.c += -fno-builtin
+CFLAGS-tst-ullabs.c += -fno-builtin
+
 CFLAGS-tst-stdbit-Wconversion.c += -Wconversion -Werror
 CFLAGS-tst-stdc_trailing_zeros.c += -fno-builtin
 CFLAGS-tst-stdc_trailing_ones.c += -fno-builtin
index ea2265bbd4f5e003a8a9c28565969039997c4345..6d024000f80d39069e19a63d5a2f567d32141dee 100644 (file)
@@ -223,6 +223,12 @@ libc {
     stdc_bit_ceil_ul;
     stdc_bit_ceil_ull;
   }
+  GLIBC_2.42 {
+    uabs;
+    uimaxabs;
+    ulabs;
+    ullabs;
+  }
   GLIBC_PRIVATE {
     # functions which have an additional interface since they are
     # are cancelable.
index 95324f07845e2aa2c2d8338aaead9ed0e992cec9..9726abf5b1d31f5e3182885abb2eb7cc0a1b10f1 100644 (file)
@@ -350,6 +350,11 @@ typedef struct
 /* Compute absolute value of N.  */
 extern intmax_t imaxabs (intmax_t __n) __THROW __attribute__ ((__const__));
 
+
+#if __GLIBC_USE (ISOC2Y)
+extern uintmax_t uimaxabs (intmax_t __n) __THROW __attribute__ ((__const__));
+#endif
+
 /* Return the `imaxdiv_t' representation of the value of NUMER over DENOM. */
 extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
       __THROW __attribute__ ((__const__));
index 975f5aeb0b26717560ed7541bc547f0f3f1a48e5..cd4503c761887324ddda8f0fd630e99c2bff196d 100644 (file)
@@ -985,6 +985,12 @@ __extension__ extern long long int llabs (long long int __x)
      __THROW __attribute__ ((__const__)) __wur;
 #endif
 
+#if __GLIBC_USE (ISOC2Y)
+extern unsigned int uabs (int __x) __THROW __attribute__ ((__const__)) __wur;
+extern unsigned long int ulabs (long int __x) __THROW __attribute__ ((__const__)) __wur;
+__extension__ extern unsigned long long int ullabs (long long int __x)
+     __THROW __attribute__ ((__const__)) __wur;
+#endif
 
 /* Return the `div_t', `ldiv_t' or `lldiv_t' representation
    of the value of NUMER over DENOM. */
diff --git a/stdlib/tst-uabs.c b/stdlib/tst-uabs.c
new file mode 100644 (file)
index 0000000..13c9f58
--- /dev/null
@@ -0,0 +1,45 @@
+/* Basic tests for uabs.
+   Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <limits.h>
+#include <stdlib.h>
+
+#include <support/check.h>
+
+#define LARGE_PRIME 49999
+
+static int do_test (void)
+{
+  int i;
+
+  TEST_COMPARE (uabs (INT_MAX), INT_MAX);
+  TEST_COMPARE (uabs (INT_MIN), (unsigned int)INT_MAX + 1);
+  TEST_COMPARE (uabs (-1), 1);
+  TEST_COMPARE (uabs (0), 0);
+  TEST_COMPARE (uabs (1), 1);
+
+  for (i = INT_MIN + 1; i < 0; i += LARGE_PRIME)
+    TEST_COMPARE (uabs (i), -i);
+
+  for (i = 0; i < INT_MAX - LARGE_PRIME; i += LARGE_PRIME)
+    TEST_COMPARE (uabs (i), i);
+
+  return EXIT_SUCCESS;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/tst-uimaxabs.c b/stdlib/tst-uimaxabs.c
new file mode 100644 (file)
index 0000000..4500ec1
--- /dev/null
@@ -0,0 +1,51 @@
+/* Basic tests for uimaxabs.
+   Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <inttypes.h>
+#include <limits.h>
+#include <stdlib.h>
+
+#include <support/check.h>
+
+#define LARGE_PRIME 49999
+
+static int do_test (void)
+{
+  intmax_t i;
+
+  TEST_COMPARE (uimaxabs (INTMAX_MIN), (uintmax_t)INTMAX_MAX + 1);
+  TEST_COMPARE (uimaxabs (-1), 1);
+  TEST_COMPARE (uimaxabs (0), 0);
+  TEST_COMPARE (uimaxabs (1), 1);
+
+  for (i = INTMAX_MIN + 1; i < INTMAX_MIN + INT_MAX; i += LARGE_PRIME)
+    TEST_COMPARE (uimaxabs (i), -i);
+
+  for (i = INTMAX_MAX - INT_MAX; i < INTMAX_MAX - LARGE_PRIME; i += LARGE_PRIME)
+    TEST_COMPARE (uimaxabs (i), i);
+
+  for (i = INT_MIN + 1; i < 0; i += LARGE_PRIME)
+    TEST_COMPARE (uimaxabs (i), -i);
+
+  for (i = 0; i < INT_MAX; i += LARGE_PRIME)
+    TEST_COMPARE (uimaxabs (i), i);
+
+  return EXIT_SUCCESS;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/tst-ulabs.c b/stdlib/tst-ulabs.c
new file mode 100644 (file)
index 0000000..3b5323e
--- /dev/null
@@ -0,0 +1,52 @@
+/* Basic tests for ulabs.
+   Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <limits.h>
+#include <stdlib.h>
+
+#include <support/check.h>
+
+#define LARGE_PRIME 49999
+
+static int do_test (void)
+{
+  long int i;
+
+  TEST_COMPARE (ulabs (LONG_MAX), LONG_MAX);
+  TEST_COMPARE (ulabs (LONG_MIN), (unsigned long int)LONG_MAX + 1);
+  TEST_COMPARE (ulabs (-1), 1);
+  TEST_COMPARE (ulabs (0), 0);
+  TEST_COMPARE (ulabs (1), 1);
+
+  for (i = LONG_MIN + 1; i < LONG_MIN + INT_MAX; i += LARGE_PRIME)
+    TEST_COMPARE (ulabs (i), -i);
+
+  for (i = LONG_MAX - INT_MAX; i < LONG_MAX - LARGE_PRIME;
+       i += LARGE_PRIME)
+    TEST_COMPARE (ulabs (i), i);
+
+  for (i = INT_MIN + 1; i < 0; i += LARGE_PRIME)
+    TEST_COMPARE (ulabs (i), -i);
+
+  for (i = 0; i <= INT_MAX - LARGE_PRIME; i += LARGE_PRIME)
+    TEST_COMPARE (ulabs (i), i);
+
+  return EXIT_SUCCESS;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/tst-ullabs.c b/stdlib/tst-ullabs.c
new file mode 100644 (file)
index 0000000..ac34ec7
--- /dev/null
@@ -0,0 +1,55 @@
+/* Basic tests for ullabs.
+   Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <limits.h>
+#include <stdlib.h>
+
+#include <support/check.h>
+
+#define LARGE_PRIME 49999
+
+static int do_test (void)
+{
+  long long int i;
+
+  TEST_COMPARE (ullabs (LLONG_MAX), LLONG_MAX);
+  TEST_COMPARE (ullabs (LLONG_MIN), (unsigned long long int)LLONG_MAX + 1);
+  TEST_COMPARE (ullabs (0x00000000ffffffffL), 0x00000000ffffffffL);
+  TEST_COMPARE (ullabs (0x0000000100000000L), 0x0000000100000000L);
+  TEST_COMPARE (ullabs (0x80000000ffffffffL), 0x7fffffff00000001L);
+  TEST_COMPARE (ullabs (0x8000000100000000L), 0x7fffffff00000000L);
+  TEST_COMPARE (ullabs (-1), 1);
+  TEST_COMPARE (ullabs (0), 0);
+  TEST_COMPARE (ullabs (1), 1);
+
+  for (i = LLONG_MIN + 1; i < LLONG_MIN + INT_MAX; i += LARGE_PRIME)
+    TEST_COMPARE (ullabs (i), -i);
+
+  for (i = LLONG_MAX - INT_MAX; i < LLONG_MAX - LARGE_PRIME; i += LARGE_PRIME)
+    TEST_COMPARE (ullabs (i), i);
+
+  for (i = INT_MIN + 1; i < 0; i += LARGE_PRIME)
+    TEST_COMPARE (ullabs (i), -i);
+
+  for (i = 0; i < INT_MAX; i += LARGE_PRIME)
+    TEST_COMPARE (ullabs (i), i);
+
+  return EXIT_SUCCESS;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/uabs.c b/stdlib/uabs.c
new file mode 100644 (file)
index 0000000..72aea5f
--- /dev/null
@@ -0,0 +1,28 @@
+/* Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdlib.h>
+
+#undef uabs
+
+/* Return the absolute value of I.  */
+unsigned int
+uabs (int i)
+{
+  unsigned int j = i;
+  return i < 0 ? -j : i;
+}
diff --git a/stdlib/ulabs.c b/stdlib/ulabs.c
new file mode 100644 (file)
index 0000000..c2ccfb8
--- /dev/null
@@ -0,0 +1,33 @@
+/* Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <limits.h>
+#include <stdlib.h>
+
+#undef ulabs
+
+/* Return the absolute value of I.  */
+unsigned long int
+ulabs (long int i)
+{
+  unsigned long int j = i;
+  return i < 0 ? -j : i;
+}
+
+#if ULONG_MAX != UINT_MAX
+weak_alias (ulabs, uimaxabs)
+#endif
diff --git a/stdlib/ullabs.c b/stdlib/ullabs.c
new file mode 100644 (file)
index 0000000..11268c2
--- /dev/null
@@ -0,0 +1,33 @@
+/* Copyright (C) 2025 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <limits.h>
+#include <stdlib.h>
+
+#undef ullabs
+
+/* Return the absolute value of I.  */
+unsigned long long int
+ullabs (long long int i)
+{
+  unsigned long long int j = i;
+  return i < 0 ? -j : i;
+}
+
+#if ULONG_MAX == UINT_MAX
+weak_alias (ullabs, uimaxabs)
+#endif
index 0b963dc890861a5cde56e1a81f45bd35cc9908f6..3e183f5c02ea05a31fb098239e98608de225f258 100644 (file)
@@ -2614,6 +2614,10 @@ GLIBC_2.42 pthread_rwlockattr_destroy F
 GLIBC_2.42 pthread_rwlockattr_getpshared F
 GLIBC_2.42 pthread_rwlockattr_init F
 GLIBC_2.42 pthread_rwlockattr_setpshared F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index b9e9349b9d1f155c6f270f475cee659ef5393e98..688ee26f4b25d0601216eee38ae01e749eb4ff9b 100644 (file)
@@ -2297,6 +2297,10 @@ GLIBC_2.42 pthread_rwlockattr_destroy F
 GLIBC_2.42 pthread_rwlockattr_getpshared F
 GLIBC_2.42 pthread_rwlockattr_init F
 GLIBC_2.42 pthread_rwlockattr_setpshared F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 HURD_CTHREADS_0.3 __cthread_getspecific F
 HURD_CTHREADS_0.3 __cthread_keycreate F
 HURD_CTHREADS_0.3 __cthread_setspecific F
index 41f8f39911f528fa3e944768368e2a7bade3f117..aa6bf483dd702667ac5c26da1ddba8a7dc6adc36 100644 (file)
@@ -2753,3 +2753,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 34efc9678143709e9de6bb4e335643ff7182c8fe..d5df9656a8926359d53a348481c9fa1b11188d85 100644 (file)
@@ -3100,6 +3100,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index de7c618d28420ea4c83959c6f818c53d1f08378d..c46c08da85c998fe9a8393329a393cdadef7bd18 100644 (file)
@@ -2514,3 +2514,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 96f0314b16f7204a52a88ef90d78289d08073fa1..4df150c0f0426f6c8668d08ff8914e9a297da9a8 100644 (file)
@@ -2806,6 +2806,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 635468fa13e4ac78b677253ecfb987818b191549..be294783f685ff15ca137d11cb47930eaaab7919 100644 (file)
@@ -2803,6 +2803,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 490694ddce1723cb98c20d00b8518013bd08dd5e..f123757134c6deda964ac02af19d2d46e64eed08 100644 (file)
@@ -2790,3 +2790,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index b1905da76753a9fbfddbd5dc588cf05b97648136..2dc85b9533030febe5c7f351b87397cf51ef1c28 100644 (file)
@@ -2827,6 +2827,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 424ef34a8ba47058889dd21629bd92c9df055e9a..1e38217ec6adaa6dafe88b2679dd851e8ada3938 100644 (file)
@@ -3010,6 +3010,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 420471eb2469c06dd1bc3ff4e525614438766885..927fc2144526bce9884332717e240c56d065df80 100644 (file)
@@ -2274,3 +2274,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 95a68c7cc145ef7dde1389668da9fe7756c41be3..74da49d9da42d697f85dc4d0c66c97fab2603132 100644 (file)
@@ -2786,6 +2786,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 442e82b6d203510a63c17e9984a5afe085ea21ab..e5d678111f49da5415006b07b2535a23da85bf83 100644 (file)
@@ -2953,6 +2953,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 20f7712988a9bee68dd83b1750ed718a0642efcc..4dbd4b60450fe3a7fc9f66afd8fe313f1496bbd0 100644 (file)
@@ -2839,3 +2839,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index f61ed3bf2655efc478f2b5bd0708d28b03c092c3..c5965bb50cf57f86648819cdafb97d9cc57b950c 100644 (file)
@@ -2836,3 +2836,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 381120cc16096c31a419c58ff9bc715651d3d3eb..10715e07779fc4e44508dd1aaf11857ba49bdde4 100644 (file)
@@ -2914,6 +2914,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 2f5114608428005a51ce29349b319ae2c0a5b7a5..3d229b9853f0a6ba2bf6cfed2e9cdda9eb052a9b 100644 (file)
@@ -2912,6 +2912,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index e6071be2ae2c84e23aa546d5e9201c022386d1c8..e4cb45275b989cdb142206c642211b74a2986476 100644 (file)
@@ -2920,6 +2920,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index f41e209a2b095bb0de51ffec83d2de87f1212f09..8a32d2585dccb52c0bdc57ff91cf469a9a59fe62 100644 (file)
@@ -2822,6 +2822,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index bbcdb31f099943a98ba02b66ca0e36ce8ff886d7..64dac95b2afda0a0118b28bac18628d4bc4efe6b 100644 (file)
@@ -2264,3 +2264,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index e0ea22b9c6d9a04812c5a2a811b1de217b95b4d3..cc5e93c77c9ddb54b51f2dd7cc5e37246358037a 100644 (file)
@@ -3143,6 +3143,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 16b9a771f193dde9000f2a78155db15cbc53be07..98149970836773af349cf77b1a91c689cd5b52b2 100644 (file)
@@ -3188,6 +3188,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 070f6f5a081a9de041650d9d03a3f879dc74a90a..7f46295c11fd09cb8e5150d877db2c6a12f2c968 100644 (file)
@@ -2897,6 +2897,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 4378d1d9224a801db4098c9317a24d4dd40b927f..f24f81bb5f33009406a2aff0cc1df1be11aa69ab 100644 (file)
@@ -2973,3 +2973,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 48c6e269a57d39e6812e238b594138a2107ecd2d..9330c7ab762abf7539aa853375f492d901e0e609 100644 (file)
@@ -2517,3 +2517,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index a8b0c6aca7ca5aa0fed95c488a57facb1a427b47..ea4555d39e007223147febc78112e344ab59b25c 100644 (file)
@@ -2717,3 +2717,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
index 6c00b8440b0505adab7720671dcc3c1e290f5719..3e625fa4e928c11dc572f87ccc899f2caf0d5a92 100644 (file)
@@ -3141,6 +3141,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index f866e5d6f3f2276592aaff7927450b643859096e..46b4a04f65079eb253daefe9abbff23ef8b71ce4 100644 (file)
@@ -2934,6 +2934,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 4f2db8cb9b9a4deb6199bf13ac1f2ab8ecc4bcb9..36a94c9210ce55e8acd17b2e4054c8772ba98c4b 100644 (file)
@@ -2833,6 +2833,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index a73473ee32cce2f14d1b2c9b78e7850d9fd557c6..f79aba6aab3dbc5c372841b7dfe84f48fd50683d 100644 (file)
@@ -2830,6 +2830,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index dc7e27db2a1215a7e3b0e4cb314c505f2955e032..4a6acc08e04760e489c423d9a323f52b8f4cb8c5 100644 (file)
@@ -3162,6 +3162,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 2ee97f42fbd7bcf65c11ebfb88c2040680d91414..931109dab18a313bf226687cc4d3e58156d5b171 100644 (file)
@@ -2798,6 +2798,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index a7ada1ea530ac3c11a766239b161756c379e27b3..7ab9073e3a24f9f5c902e433beebaed9b2c2ead2 100644 (file)
@@ -2749,6 +2749,10 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index f41ab77c1e3d1bf1b6cefbc2c62e9267a7b9ac5a..e11876f6abc3754b36eabcf6f32372c35db260a9 100644 (file)
@@ -2768,3 +2768,7 @@ GLIBC_2.41 sched_setattr F
 GLIBC_2.42 __inet_ntop_chk F
 GLIBC_2.42 __inet_pton_chk F
 GLIBC_2.42 pthread_gettid_np F
+GLIBC_2.42 uabs F
+GLIBC_2.42 uimaxabs F
+GLIBC_2.42 ulabs F
+GLIBC_2.42 ullabs F