Fix namespace conformance issue with Bessel functions.

Message ID 201412222033.sBMKXcti025123@gx-1.internal.tilera.com
State Committed
Headers

Commit Message

Chris Metcalf Dec. 22, 2014, 8:24 p.m. UTC
  Joseph, does this look right?

[BZ #17747]
The y0/y1/yn and j0/j1/jn functions provided a strong_alias
to the "l"-suffixed variants when no long double support was
being compiled.  This breaks namespace conformance when the
basename versions conform but the l-suffixed ones don't.
Fixed by making them weak aliases instead.

2014-12-22  Chris Metcalf  <cmetcalf@ezchip.com>

	[BZ #17747]
	* math/w_j0.c [defined NO_LONG_DOUBLE] (j0, y0): Convert strong
	alias to weak alias for j0l, y0l.
	* math/w_j1.c [defined NO_LONG_DOUBLE] (j1, y1): Likewise.
	* math/w_jn.c [defined NO_LONG_DOUBLE] (jn, yn): Likewise.

---
 ChangeLog   |    6 ++++++
 math/w_j0.c |    4 ++--
 math/w_j1.c |    4 ++--
 math/w_jn.c |    4 ++--
 4 files changed, 12 insertions(+), 6 deletions(-)
  

Comments

Joseph Myers Dec. 22, 2014, 9:09 p.m. UTC | #1
On Mon, 22 Dec 2014, Chris Metcalf wrote:

> 2014-12-22  Chris Metcalf  <cmetcalf@ezchip.com>
> 
> 	[BZ #17747]
> 	* math/w_j0.c [defined NO_LONG_DOUBLE] (j0, y0): Convert strong
> 	alias to weak alias for j0l, y0l.
> 	* math/w_j1.c [defined NO_LONG_DOUBLE] (j1, y1): Likewise.
> 	* math/w_jn.c [defined NO_LONG_DOUBLE] (jn, yn): Likewise.

OK.
  

Patch

diff --git a/math/w_j0.c b/math/w_j0.c
index f7d4f2b..92a8345 100644
--- a/math/w_j0.c
+++ b/math/w_j0.c
@@ -33,7 +33,7 @@  j0 (double x)
   return __ieee754_j0 (x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (j0, j0l)
+weak_alias (j0, j0l)
 #endif
 
 
@@ -64,5 +64,5 @@  y0 (double x)
   return __ieee754_y0 (x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (y0, y0l)
+weak_alias (y0, y0l)
 #endif
diff --git a/math/w_j1.c b/math/w_j1.c
index 1665501..37c6d1f 100644
--- a/math/w_j1.c
+++ b/math/w_j1.c
@@ -33,7 +33,7 @@  j1 (double x)
   return __ieee754_j1 (x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (j1, j1l)
+weak_alias (j1, j1l)
 #endif
 
 
@@ -64,5 +64,5 @@  y1 (double x)
   return __ieee754_y1 (x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (y1, y1l)
+weak_alias (y1, y1l)
 #endif
diff --git a/math/w_jn.c b/math/w_jn.c
index 993b33b..56bd280 100644
--- a/math/w_jn.c
+++ b/math/w_jn.c
@@ -33,7 +33,7 @@  jn (int n, double x)
   return __ieee754_jn (n, x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (jn, jnl)
+weak_alias (jn, jnl)
 #endif
 
 
@@ -64,5 +64,5 @@  yn (int n, double x)
   return __ieee754_yn (n, x);
 }
 #ifdef NO_LONG_DOUBLE
-strong_alias (yn, ynl)
+weak_alias (yn, ynl)
 #endif