summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ia64/fpu/lgamma-compat.h42
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_main.c (renamed from sysdeps/ia64/fpu/w_lgamma.c)27
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_main.c (renamed from sysdeps/ia64/fpu/w_lgammaf.c)25
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_main.c (renamed from sysdeps/ia64/fpu/w_lgammal.c)25
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_lgamma.c6
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c11
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_lgammal.c6
-rw-r--r--sysdeps/ieee754/s_signgam.c3
-rw-r--r--sysdeps/nacl/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libm.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist5
36 files changed, 225 insertions, 62 deletions
diff --git a/sysdeps/ia64/fpu/lgamma-compat.h b/sysdeps/ia64/fpu/lgamma-compat.h
new file mode 100644
index 0000000000..f9748393b7
--- /dev/null
+++ b/sysdeps/ia64/fpu/lgamma-compat.h
@@ -0,0 +1,42 @@
+/* ABI compatibility for lgamma functions.  ia64 version.
+   Copyright (C) 2015 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/>.  */
+
+#ifndef IA64_LGAMMA_COMPAT_H
+#define IA64_LGAMMA_COMPAT_H 1
+
+#include <math/lgamma-compat.h>
+
+#undef LGFUNC
+#if USE_AS_COMPAT
+# define LGFUNC(FUNC) __ ## FUNC ## _compat
+#else
+# define LGFUNC(FUNC) __ieee754_ ## FUNC
+#endif
+
+#undef CALL_LGAMMA
+#define CALL_LGAMMA(TYPE, FUNC, ARG)				\
+  ({								\
+    TYPE lgamma_tmp;						\
+    extern int __signgam, signgam;				\
+    lgamma_tmp = FUNC ((ARG), &__signgam, sizeof (__signgam));	\
+    if (USE_AS_COMPAT)						\
+      signgam = __signgam;					\
+    lgamma_tmp;							\
+  })
+
+#endif /* lgamma-compat.h.  */
diff --git a/sysdeps/ia64/fpu/w_lgamma.c b/sysdeps/ia64/fpu/w_lgamma_main.c
index 2006d3e806..6deffad987 100644
--- a/sysdeps/ia64/fpu/w_lgamma.c
+++ b/sysdeps/ia64/fpu/w_lgamma_main.c
@@ -53,28 +53,21 @@
 
 #include "libm_support.h"
 
+#include <lgamma-compat.h>
 
 extern double __libm_lgamma(double /*x*/, int* /*signgam*/, int /*signgamsz*/);
 
 
-double __ieee754_lgamma(double x)
+double LGFUNC (lgamma) (double x)
 {
-#ifdef __POSIX__
-    extern int    signgam;
-#else
-    int    signgam;
-#endif
-    return __libm_lgamma(x, &signgam, sizeof(signgam));
+    return CALL_LGAMMA (double, __libm_lgamma, x);
 }
-weak_alias (__ieee754_lgamma, lgamma)
-
-double __ieee754_gamma(double x)
-{
-#ifdef __POSIX__
-    extern int    signgam;
+#if USE_AS_COMPAT
+compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER);
 #else
-    int    signgam;
+versioned_symbol (libm, __ieee754_lgammaf, lgammaf, LGAMMA_NEW_VER);
+#endif
+#if GAMMA_ALIAS
+strong_alias (LGFUNC (lgammaf), __ieee754_gammaf)
+weak_alias (__ieee754_gammaf, gammaf)
 #endif
-    return __libm_lgamma(x, &signgam, sizeof(signgam));
-}
-weak_alias (__ieee754_gamma, gamma)
diff --git a/sysdeps/ia64/fpu/w_lgammaf.c b/sysdeps/ia64/fpu/w_lgammaf_main.c
index cd0b4f6666..d8e86a6f25 100644
--- a/sysdeps/ia64/fpu/w_lgammaf.c
+++ b/sysdeps/ia64/fpu/w_lgammaf_main.c
@@ -53,28 +53,21 @@
 
 #include "libm_support.h"
 
+#include <lgamma-compat.h>
 
 extern float  __libm_lgammaf(float /*x*/, int* /*signgam*/, int /*signgamsz*/);
 
 
-float __ieee754_lgammaf(float x)
+float LGFUNC (lgammaf) (float x)
 {
-#ifdef __POSIX__
-    extern int    signgam;
-#else
-    int    signgam;
-#endif
-    return __libm_lgammaf(x, &signgam, sizeof(signgam));
+    return CALL_LGAMMA (float, __libm_lgammaf, x);
 }
-weak_alias (__ieee754_lgammaf, lgammaf)
-
-float __ieee754_gammaf(float x)
-{
-#ifdef __POSIX__
-    extern int    signgam;
+#if USE_AS_COMPAT
+compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER);
 #else
-    int    signgam;
+versioned_symbol (libm, __ieee754_lgammaf, lgammaf, LGAMMA_NEW_VER);
 #endif
-    return __libm_lgammaf(x, &signgam, sizeof(signgam));
-}
+#if GAMMA_ALIAS
+strong_alias (LGFUNC (lgammaf), __ieee754_gammaf)
 weak_alias (__ieee754_gammaf, gammaf)
+#endif
diff --git a/sysdeps/ia64/fpu/w_lgammal.c b/sysdeps/ia64/fpu/w_lgammal_main.c
index e3885296eb..5c73f33430 100644
--- a/sysdeps/ia64/fpu/w_lgammal.c
+++ b/sysdeps/ia64/fpu/w_lgammal_main.c
@@ -55,25 +55,18 @@
 
 extern double __libm_lgammal(long double /*x*/, int* /*signgam*/, int /*signgamsz*/);
 
+#include <lgamma-compat.h>
 
-long double __ieee754_lgammal(long double x)
+long double LGFUNC (lgammal) (long double x)
 {
-#ifdef __POSIX__
-    extern int    signgam;
-#else
-    int    signgam;
-#endif
-    return __libm_lgammal(x, &signgam, sizeof(signgam));
+    return CALL_LGAMMA (long double, __libm_lgammal, x);
 }
-weak_alias (__ieee754_lgammal, lgammal)
-
-long double __ieee754_gammal(long double x)
-{
-#ifdef __POSIX__
-    extern int    signgam;
+#if USE_AS_COMPAT
+compat_symbol (libm, __lgammal_compat, lgammal, LGAMMA_OLD_VER);
 #else
-    int    signgam;
+versioned_symbol (libm, __ieee754_lgammal, lgammal, LGAMMA_NEW_VER);
 #endif
-    return __libm_lgammal(x, &signgam, sizeof(signgam));
-}
+#if GAMMA_ALIAS
+strong_alias (LGFUNC (lgammal), __ieee754_gammal)
 weak_alias (__ieee754_gammal, gammal)
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma.c b/sysdeps/ieee754/ldbl-opt/w_lgamma.c
deleted file mode 100644
index ef801c5505..0000000000
--- a/sysdeps/ieee754/ldbl-opt/w_lgamma.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <math/w_lgamma.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __lgamma, lgammal, GLIBC_2_0);
-compat_symbol (libm, __gamma, gammal, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c
new file mode 100644
index 0000000000..f268e65a88
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c
@@ -0,0 +1,7 @@
+#include <math_ldbl_opt.h>
+#include <math/w_lgamma_compat.c>
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+strong_alias (__lgamma_compat, __lgammal_dbl_compat)
+compat_symbol (libm, __lgammal_dbl_compat, lgammal, GLIBC_2_0);
+compat_symbol (libm, __gamma, gammal, GLIBC_2_0);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c
new file mode 100644
index 0000000000..f60b3d7bcf
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c
@@ -0,0 +1,11 @@
+#include <math_ldbl_opt.h>
+#undef weak_alias
+#define weak_alias(n,a)
+#define USE_AS_COMPAT 1
+#include <math/lgamma-compat.h>
+#undef LGAMMA_OLD_VER
+#define LGAMMA_OLD_VER LONG_DOUBLE_COMPAT_VERSION
+#include <math/w_lgamma_compatl.c>
+#if GAMMA_ALIAS
+long_double_symbol (libm, __gammal, gammal);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal.c b/sysdeps/ieee754/ldbl-opt/w_lgammal.c
deleted file mode 100644
index 9de7ec8f7f..0000000000
--- a/sysdeps/ieee754/ldbl-opt/w_lgammal.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(n,a)
-#include <math/w_lgammal.c>
-long_double_symbol (libm, __lgammal, lgammal);
-long_double_symbol (libm, __gammal, gammal);
diff --git a/sysdeps/ieee754/s_signgam.c b/sysdeps/ieee754/s_signgam.c
index ee207d6505..9af3a75f1e 100644
--- a/sysdeps/ieee754/s_signgam.c
+++ b/sysdeps/ieee754/s_signgam.c
@@ -1,3 +1,4 @@
 #include <math.h>
 #include <math_private.h>
-int signgam;
+int __signgam = 0;
+weak_alias (__signgam, signgam)
diff --git a/sysdeps/nacl/libm.abilist b/sysdeps/nacl/libm.abilist
index d1fd77ab7f..055b0b25ba 100644
--- a/sysdeps/nacl/libm.abilist
+++ b/sysdeps/nacl/libm.abilist
@@ -367,3 +367,8 @@ GLIBC_2.22 y1l F
 GLIBC_2.22 yn F
 GLIBC_2.22 ynf F
 GLIBC_2.22 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index ead20e1c6d..2123113e25 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -398,3 +398,8 @@ GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
 GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 80838d3196..611dfe1aa5 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -408,6 +408,11 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 be96e9594b..e65e2309cd 100644
--- a/sysdeps/unix/sysv/linux/arm/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/libm.abilist
@@ -56,6 +56,11 @@ GLIBC_2.15 __ynf_finite F
 GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 3304e6ec8c..9b7f40a4c9 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -368,5 +368,10 @@ GLIBC_2.2 y1l F
 GLIBC_2.2 yn F
 GLIBC_2.2 ynf F
 GLIBC_2.2 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 e049a678cd..78b542e935 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -410,4 +410,9 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 39eafb8ab0..6d4cc72e0e 100644
--- a/sysdeps/unix/sysv/linux/ia64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist
@@ -339,4 +339,9 @@ GLIBC_2.2 ynl F
 GLIBC_2.2.3 GLIBC_2.2.3 A
 GLIBC_2.2.3 matherrf F
 GLIBC_2.2.3 matherrl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 be96e9594b..e65e2309cd 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -56,6 +56,11 @@ GLIBC_2.15 __ynf_finite F
 GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 48ce23e978..2d31935916 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -408,4 +408,9 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 15193f2039..149fd4f2be 100644
--- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist
@@ -367,3 +367,8 @@ GLIBC_2.18 y1l F
 GLIBC_2.18 yn F
 GLIBC_2.18 ynf F
 GLIBC_2.18 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index b285c9b733..e599e82d6e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -369,6 +369,11 @@ GLIBC_2.2 tgammal F
 GLIBC_2.2 trunc F
 GLIBC_2.2 truncf F
 GLIBC_2.2 truncl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 ff42af1f9e..164ba55263 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -400,4 +400,9 @@ GLIBC_2.2 tgammal F
 GLIBC_2.2 trunc F
 GLIBC_2.2 truncf F
 GLIBC_2.2 truncl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 dae4f5e4bd..ad02eff997 100644
--- a/sysdeps/unix/sysv/linux/nios2/libm.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist
@@ -367,3 +367,8 @@ GLIBC_2.21 y1l F
 GLIBC_2.21 yn F
 GLIBC_2.21 ynf F
 GLIBC_2.21 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index e18a51a5b7..5d2f263645 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -409,6 +409,11 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 90bfd19e7d..8b5edb52a0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -408,6 +408,11 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 df3457a70b..ee066837af 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
@@ -403,3 +403,8 @@ GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
 GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
index ee01f69a12..6c7fc9b4fc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
@@ -84,6 +84,11 @@ GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
 GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 e14605bbe7..039ed5c521 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -398,6 +398,11 @@ GLIBC_2.2 GLIBC_2.2 A
 GLIBC_2.2 fedisableexcept F
 GLIBC_2.2 feenableexcept F
 GLIBC_2.2 fegetexcept F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 b5abd132f9..66c625daeb 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -396,6 +396,11 @@ GLIBC_2.2 y1l F
 GLIBC_2.2 yn F
 GLIBC_2.2 ynf F
 GLIBC_2.2 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 6fabd47dbb..93b84713d8 100644
--- a/sysdeps/unix/sysv/linux/sh/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/libm.abilist
@@ -368,5 +368,10 @@ GLIBC_2.2 y1l F
 GLIBC_2.2 yn F
 GLIBC_2.2 ynf F
 GLIBC_2.2 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 2a5f5c7c91..d50ef4a920 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -400,6 +400,11 @@ GLIBC_2.2 feraiseexcept F
 GLIBC_2.2 fesetenv F
 GLIBC_2.2 fesetexceptflag F
 GLIBC_2.2 feupdateenv F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 80784c941a..b56add357b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -399,4 +399,9 @@ GLIBC_2.2 y1l F
 GLIBC_2.2 yn F
 GLIBC_2.2 ynf F
 GLIBC_2.2 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 df50da5464..18b8d00bec 100644
--- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist
@@ -368,3 +368,8 @@ GLIBC_2.15 __ynf_finite F
 GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
index df50da5464..18b8d00bec 100644
--- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist
@@ -368,3 +368,8 @@ GLIBC_2.15 __ynf_finite F
 GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
index df50da5464..18b8d00bec 100644
--- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
+++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist
@@ -368,3 +368,8 @@ GLIBC_2.15 __ynf_finite F
 GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index a2cb7421f4..b911aff114 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -399,4 +399,9 @@ GLIBC_2.2.5 y1l F
 GLIBC_2.2.5 yn F
 GLIBC_2.2.5 ynf F
 GLIBC_2.2.5 ynl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal 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 4d37717671..168c0d87cf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -398,3 +398,8 @@ GLIBC_2.18 GLIBC_2.18 A
 GLIBC_2.18 __issignaling F
 GLIBC_2.18 __issignalingf F
 GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F