1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

Make ldexpF generic.

This one is a little more tricky since it is built both for
libm and libc, and exports multiple aliases.

To simplify aliasing, a new macro is introduced which handles
aliasing to two symbols.  By default, it just applies
declare_mgen_alias to both target symbols.

Likewise, the makefile is tweaked a little to generate
templates for shared files too, and a new rule is added
to build m_*.c objects from the objpfx directory.

Verified there are no symbol or code changes using a script
to diff the *_ldexp* object files on s390x, aarch64, arm,
x86_64, and ppc64.
This commit is contained in:
Paul E. Murphy
2016-09-08 08:48:08 -05:00
parent 8837917cf1
commit 9f9834f582
9 changed files with 115 additions and 90 deletions

View File

@ -38,6 +38,11 @@
This exposes the appropriate symbol(s) for a
function f of type FLOAT.
declare_mgen_alias_2(from,to,to2)
This exposes the appropriate symbol(s) for a
function f of type FLOAT when it is aliased
to two symbols.
M_LIBM_NEED_COMPAT(func)
This is utilized in macro context to indicate
whether func should declare compat symbols.
@ -112,6 +117,13 @@
# define declare_mgen_alias(from, to) weak_alias (M_SUF (from), M_SUF (to))
#endif
/* Likewise, if two aliases are derived from the same symbol. */
#ifndef declare_mgen_alias_2
# define declare_mgen_alias_2(from, to, to2) \
declare_mgen_alias (from, to) \
declare_mgen_alias (from, to2)
#endif
/* Do not generate anything for compat symbols by default. */
#ifndef M_LIBM_NEED_COMPAT
# define M_LIBM_NEED_COMPAT(func) 0