mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-29 08:11:08 +00:00
be668a8d78
This patch changes the exp10f error handling semantics to only set errno according to POSIX rules. New symbol version is introduced at GLIBC_2.32. The old wrappers are kept for compat symbols. There are some outliers that need special handling: - ia64 provides an optimized implementation of exp10f that uses ia64 specific routines to set SVID compatibility. The new symbol version is aliased to the exp10f one. - m68k also provides an optimized implementation, and the new version uses it instead of the sysdeps/ieee754/flt32 one. - riscv and csky uses the generic template implementation that does not provide SVID support. For both cases a new exp10f version is not added, but rather the symbols version of the generic sysdeps/ieee754/flt32 is adjusted instead. Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu.
9 lines
302 B
C
9 lines
302 B
C
#include <libm-alias-float.h>
|
|
#define FUNC __ieee754_exp10f
|
|
#define FUNC_FINITE __exp10f
|
|
#include <e_acosf.c>
|
|
strong_alias (__ieee754_exp10f, __exp10f)
|
|
libm_alias_finite (__ieee754_exp10f, __exp10f)
|
|
versioned_symbol (libm, __exp10f, exp10f, GLIBC_2_32);
|
|
libm_alias_float_other (__ieee754_exp10, exp10)
|