glibc/sysdeps/ieee754/ldbl-opt/s_clog10l.c
Joseph Myers 7d25d410c2 Fix ldbl-opt/s_clog10l.c libm_alias_ldouble_other usage.
Testing with changes to enable _Float128 function aliases shows that
the libm_alias_ldouble_other usage in ldbl-opt/s_clog10l.c does not in
fact work, because __clog10l is defined with long_double_symbol rather
than as a normal C alias.  This patch fixes this by renaming the
__clog10l__internal alias (not strictly necessary, but avoids a hack
with "__clog10l_interna" / "__clog10l__interna" as first argument to
libm_alias_ldouble_other) and using the renamed alias when calling
libm_alias_ldouble_other.

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanges by the patch.  Also tested in conjunction with
patches to enable _Float128 function aliases.

	* sysdeps/ieee754/ldbl-opt/s_clog10l.c (__clog10l__internal):
	Rename to __clog10_internal_l.
	(__clog10_internal_l): Define aliases using
	libm_alias_ldouble_other instead of using libm_alias_ldouble_other
	with __clog10.
2017-10-13 16:36:45 +00:00

33 lines
1.3 KiB
C

/* clog10l alias overrides for platforms where long double
was previously not unique.
Copyright (C) 2016-2017 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/>. */
#define M_DECL_FUNC(x) __clog10l_internal
#include <math-type-macros-ldouble.h>
#undef declare_mgen_alias
#define declare_mgen_alias(from, to)
#include <s_clog10_template.c>
/* __clog10l is also a public symbol. */
strong_alias (__clog10l_internal, __clog10_internal_l)
long_double_symbol (libm, __clog10l_internal, __clog10l);
long_double_symbol (libm, __clog10_internal_l, clog10l);
libm_alias_ldouble_other (__clog10_internal_, clog10)