From a8dce6197a646fcf870dd2e87069eba3c99099e1 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 9 Oct 2017 22:04:18 +0000 Subject: Use generic macros for lgamma_r function aliases. Continuing the use of generic macros for defining libm function aliases, in preparation for adding more _FloatN / _FloatNx function names, this patch makes the lgamma_r functions use such macros. declare_mgen_alias_r becomes a standard macro in math-type-macros.h instead of being locally defined in w_lgamma_r_templace.c. This in turn must be defined by each math-type-macros-.h. Rather than providing an unused default in math-type-macros.h, that header is made to give an error if math-type-macros-.h failed to define declare_mgen_alias or declare_mgen_alias_r. The compat lgamma_r wrappers are updated similarly. The ldbl-opt versions are removed as no longer needed. Tested for x86_64, and with build-many-glibcs.py. Installed stripped shared libraries are unchanged except for powerpc64le (where the usual issue applies that an ldbl-opt long double function previously used long_double_symbol unconditionally and now the symbol versions on powerpc64le mean weak_alias is used instead, resulting in the same symbol versions in the final shared library but still enough difference in the input objects for that library not to be byte-identical). * sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give error. Remove default definition of declare_mgen_alias. [!declare_mgen_alias_r]: Likewise. * sysdeps/generic/math-type-macros-double.h [!declare_mgen_alias_r] (declare_mgen_alias_r): New macro. * sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. * sysdeps/generic/math-type-macros-float128.h [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. * sysdeps/generic/math-type-macros-ldouble.h [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise. * math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove macro. (declare_mgen_alias_r_s): Likewise. (declare_mgen_alias_r): Likewise. * math/w_lgamma_r_compat.c: Include . (lgamma_r): Define using libm_alias_double_r. * math/w_lgammaf_r_compat.c: Include . (lgammaf_r): Define using libm_alias_float_r. * math/w_lgammal_r_compat.c: Include . (lgammal_r): Define using libm_alias_ldouble_r. * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file. * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. --- sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c | 5 ----- sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c | 7 ------- 2 files changed, 12 deletions(-) delete mode 100644 sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c delete mode 100644 sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c (limited to 'sysdeps/ieee754') diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c deleted file mode 100644 index 673954cd1a..0000000000 --- a/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c +++ /dev/null @@ -1,5 +0,0 @@ -#include -#include -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __lgamma_r, lgammal_r, GLIBC_2_0); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c deleted file mode 100644 index 431aa5d15c..0000000000 --- a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -#undef weak_alias -#define weak_alias(n,a) -#include -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __lgammal_r, lgammal_r); -#endif -- cgit 1.4.1