glibc/sysdeps
Joseph Myers a891caff7a Remove declare_mgen_alias_2.
The libm template machinery includes a macro declare_mgen_alias_2, to
define two function aliases rather than one.  This macro is only used
in one place, to define ldexp and scalbn, and only has one nondefault
definition, for double in the case where long double has the same
format.  That definition is because declare_mgen_alias for double, in
that case, defines <internal-func>l as an alias of <internal-func>, so
cannot be called twice for aliases of the same function.

Now, I suspect the <internal-func>l aliases are generally not needed
(with maybe a few exceptions such as __clog10l, which is an exported
function).  But even in the presence of them, there is no need for a
special declare_mgen_alias_2 macro for this case.  This patch
eliminates the need for such a macro by defining __wrap_scalbn<suffix>
as an alias of __ldexp<suffix>, and then using that when defining the
scalbn public aliases.  This is similar to how such internal aliases
are created for functions with multiple symbol versions, for example.

Tested for x86_64, and with build-many-glibcs.py.  (There *are* some
cases where installed stripped shared libraries change - not in the
generated code but because such changes to static symbols on input to
ld, even nonexported symbols that don't affect the code or dynamic
symbols, can affect the particular representation in the output of
string tables, hash tables etc.)

	* sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2]
	(declare_mgen_alias_2): Remove.
	* sysdeps/generic/math-type-macros-double.h
	[NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2):
	Likewise.
	* math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong
	alias.
	(ldexp): Define with declare_mgen_alias.
	(scalbn): Likewise.
2017-09-12 20:00:00 +00:00
..
aarch64 Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
alpha Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
arm Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
generic Remove declare_mgen_alias_2. 2017-09-12 20:00:00 +00:00
gnu posix: Sync glob with gnulib [BZ #1062] 2017-09-08 09:39:13 +02:00
hppa Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
i386 Remove remaining _HAVE_STRING_ARCH_* definitions (BZ #18858) 2017-09-06 14:35:23 -03:00
ia64 Prefer new libm function wrappers for !LIBM_SVID_COMPAT. 2017-09-05 23:35:55 +00:00
ieee754 Prefer new libm function wrappers for !LIBM_SVID_COMPAT. 2017-09-05 23:35:55 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k Simplify HUGE_VAL definitions. 2017-08-31 15:50:50 +00:00
mach hurd: Fix build without NO_HIDDEN 2017-09-12 01:34:19 +02:00
microblaze Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
mips Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
nios2 Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
nptl Remove extra semicolons in struct pthread_mutex (bug 21804) 2017-07-24 12:22:05 +02:00
posix hurd: Fix libc link 2017-09-03 04:36:29 +02:00
powerpc Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
pthread aio: Remove internal_function function attribute 2017-08-31 15:59:06 +02:00
s390 Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
sh Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
sparc Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
tile Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
unix Add thunderx2t99 and thunderx2t99p1 CPU names to tunables list 2017-09-08 11:02:09 -07:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 posix: Consolidate Linux glob implementation 2017-09-08 16:34:02 +02:00
x86 x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967] 2017-09-12 07:54:47 -07:00
x86_64 x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967] 2017-09-12 07:54:47 -07:00