140 lines
4.0 KiB
Diff
140 lines
4.0 KiB
Diff
|
From 5256ffc51e4188a70fa0173cb6b6c94adde03fcb Mon Sep 17 00:00:00 2001
|
|||
|
From: Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|||
|
Date: Fri, 26 Oct 2018 14:39:42 +0100
|
|||
|
Subject: [PATCH 26] i64: fix missing exp2f, log2f and powf symbols in
|
|||
|
libm.a [BZ #23822]
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
[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.
|
|||
|
|
|||
|
(cherry picked from commit ba5b14c7613980dfefcad6b6e88f913e5f596c59)
|
|||
|
---
|
|||
|
ChangeLog | 7 +++++++
|
|||
|
NEWS | 1 +
|
|||
|
sysdeps/ia64/fpu/e_exp2f.S | 6 +++---
|
|||
|
sysdeps/ia64/fpu/e_log2f.S | 6 +++---
|
|||
|
sysdeps/ia64/fpu/e_powf.S | 6 +++---
|
|||
|
5 files changed, 17 insertions(+), 9 deletions(-)
|
|||
|
|
|||
|
diff --git a/ChangeLog b/ChangeLog
|
|||
|
index 6debca5f83..73d5c57f0d 100644
|
|||
|
--- a/ChangeLog
|
|||
|
+++ b/ChangeLog
|
|||
|
@@ -1,3 +1,10 @@
|
|||
|
+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.
|
|||
|
+
|
|||
|
2018-10-25 Florian Weimer <fweimer@redhat.com>
|
|||
|
|
|||
|
[BZ #23562]
|
|||
|
diff --git a/NEWS b/NEWS
|
|||
|
index fda6788519..f4d9885819 100644
|
|||
|
--- a/NEWS
|
|||
|
+++ b/NEWS
|
|||
|
@@ -20,6 +20,7 @@ The following bugs are resolved with this release:
|
|||
|
[23679] gethostid: Missing NULL check for gethostbyname_r result
|
|||
|
[23717] Fix stack overflow in stdlib/tst-setcontext9
|
|||
|
[23821] si_band in siginfo_t has wrong type long int on sparc64
|
|||
|
+ [23822] ia64 static libm.a is missing exp2f, log2f and powf symbols
|
|||
|
|
|||
|
|
|||
|
Version 2.28
|
|||
|
diff --git a/sysdeps/ia64/fpu/e_exp2f.S b/sysdeps/ia64/fpu/e_exp2f.S
|
|||
|
index 77bc6ea686..3010a95a2d 100644
|
|||
|
--- a/sysdeps/ia64/fpu/e_exp2f.S
|
|||
|
+++ b/sysdeps/ia64/fpu/e_exp2f.S
|
|||
|
@@ -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
|
|||
|
diff --git a/sysdeps/ia64/fpu/e_log2f.S b/sysdeps/ia64/fpu/e_log2f.S
|
|||
|
index 5ca3bd61ea..e4ea094344 100644
|
|||
|
--- a/sysdeps/ia64/fpu/e_log2f.S
|
|||
|
+++ b/sysdeps/ia64/fpu/e_log2f.S
|
|||
|
@@ -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
|
|||
|
diff --git a/sysdeps/ia64/fpu/e_powf.S b/sysdeps/ia64/fpu/e_powf.S
|
|||
|
index 7449f8c7d5..945d5cdf28 100644
|
|||
|
--- a/sysdeps/ia64/fpu/e_powf.S
|
|||
|
+++ b/sysdeps/ia64/fpu/e_powf.S
|
|||
|
@@ -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
|