i64: fix missing exp2f, log2f and powf symbols in libm.a [BZ #23822]
Commit Message
When new symbol versions were introduced without SVID compatible
error handling the exp2f, log2f and powf symbols were accidentally
removed from the ia64 lim.a. The regression was introduced by
the commits
f5f0f5265162fe6f4f238abcd3086985f7c38d6d
New expf and exp2f version without SVID compat wrapper
72d3d281080be9f674982067d72874fd6cdb4b64
New symbol version for logf, log2f and powf without SVID compat
With WEAK_LIBM_ENTRY(foo), there is a hidden __foo and weak foo
symbol definition in both SHARED and !SHARED build.
2018-10-26 Szabolcs Nagy <szabolcs.nagy@arm.com>
[BZ #23822]
* sysdeps/ia64/fpu/e_exp2f.S (exp2f): Use WEAK_LIBM_ENTRY.
* sysdeps/ia64/fpu/e_log2f.S (log2f): Likewise.
* sysdeps/ia64/fpu/e_exp2f.S (powf): Likewise.
Comments
On Fri, 26 Oct 2018, Szabolcs Nagy wrote:
> When new symbol versions were introduced without SVID compatible
> error handling the exp2f, log2f and powf symbols were accidentally
> removed from the ia64 lim.a. The regression was introduced by
> the commits
>
> f5f0f5265162fe6f4f238abcd3086985f7c38d6d
> New expf and exp2f version without SVID compat wrapper
>
> 72d3d281080be9f674982067d72874fd6cdb4b64
> New symbol version for logf, log2f and powf without SVID compat
>
> With WEAK_LIBM_ENTRY(foo), there is a hidden __foo and weak foo
> symbol definition in both SHARED and !SHARED build.
>
> 2018-10-26 Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> [BZ #23822]
> * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Use WEAK_LIBM_ENTRY.
> * sysdeps/ia64/fpu/e_log2f.S (log2f): Likewise.
> * sysdeps/ia64/fpu/e_exp2f.S (powf): Likewise.
OK (should also be applied to the release/2.27/master and
release/2.28/master branches, as a fix for a regression present in those
release branches).
@@ -221,7 +221,7 @@ LOCAL_OBJECT_END(T_table)
.section .text
-GLOBAL_LIBM_ENTRY(__exp2f)
+WEAK_LIBM_ENTRY(exp2f)
{.mfi
@@ -468,10 +468,10 @@ OUT_RANGE_exp2:
}
;;
-GLOBAL_LIBM_END(__exp2f)
+WEAK_LIBM_END(exp2f)
libm_alias_float_other (__exp2, exp2)
#ifdef SHARED
-.symver __exp2f,exp2f@@GLIBC_2.27
+.symver exp2f,exp2f@@GLIBC_2.27
.weak __exp2f_compat
.set __exp2f_compat,__exp2f
.symver __exp2f_compat,exp2f@GLIBC_2.2
@@ -252,7 +252,7 @@ LOCAL_OBJECT_END(T_table)
.section .text
-GLOBAL_LIBM_ENTRY(__log2f)
+WEAK_LIBM_ENTRY(log2f)
{ .mfi
alloc r32=ar.pfs,1,4,4,0
@@ -491,10 +491,10 @@ SPECIAL_log2f:
br.ret.sptk b0;;
}
-GLOBAL_LIBM_END(__log2f)
+WEAK_LIBM_END(log2f)
libm_alias_float_other (__log2, log2)
#ifdef SHARED
-.symver __log2f,log2f@@GLIBC_2.27
+.symver log2f,log2f@@GLIBC_2.27
.weak __log2f_compat
.set __log2f_compat,__log2f
.symver __log2f_compat,log2f@GLIBC_2.2
@@ -868,7 +868,7 @@ data8 0xEAC0C6E7DD24392F , 0x00003FFF
LOCAL_OBJECT_END(pow_tbl2)
.section .text
-GLOBAL_LIBM_ENTRY(__powf)
+WEAK_LIBM_ENTRY(powf)
// Get exponent of x. Will be used to calculate K.
{ .mfi
@@ -2002,10 +2002,10 @@ POW_OVER_UNDER_ERROR:
}
;;
-GLOBAL_LIBM_END(__powf)
+WEAK_LIBM_END(powf)
libm_alias_float_other (__pow, pow)
#ifdef SHARED
-.symver __powf,powf@@GLIBC_2.27
+.symver powf,powf@@GLIBC_2.27
.weak __powf_compat
.set __powf_compat,__powf
.symver __powf_compat,powf@GLIBC_2.2