about summary refs log tree commit diff
path: root/ports/sysdeps/alpha/soft-fp
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-06-24 09:59:26 -0700
committerRichard Henderson <rth@twiddle.net>2013-06-24 18:12:24 -0700
commit385fd0d524817f171c715c1ca0e5647741584682 (patch)
treea6ebec5461c8aec9d0178dc8d48f2cf9edcb9d11 /ports/sysdeps/alpha/soft-fp
parent17db6e8d6b12f55e312fcab46faf5d332c806fb6 (diff)
downloadglibc-385fd0d524817f171c715c1ca0e5647741584682.tar.gz
glibc-385fd0d524817f171c715c1ca0e5647741584682.tar.xz
glibc-385fd0d524817f171c715c1ca0e5647741584682.zip
[BZ #15666] alpha: Add __sqrt*_finite definitions
With compatibility for ev6 and non-ev6 builds, as the non-ev6 did
manage to get definitions emitted for the float and double functions.
Diffstat (limited to 'ports/sysdeps/alpha/soft-fp')
-rw-r--r--ports/sysdeps/alpha/soft-fp/e_sqrtl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ports/sysdeps/alpha/soft-fp/e_sqrtl.c b/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
index 40e97b8875..2cb076e4c6 100644
--- a/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
+++ b/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
@@ -21,6 +21,7 @@
 #include <stdlib.h>
 #include <soft-fp.h>
 #include <quad.h>
+#include <shlib-compat.h>
 
 long double
 __ieee754_sqrtl (const long double a)
@@ -37,3 +38,12 @@ __ieee754_sqrtl (const long double a)
   FP_HANDLE_EXCEPTIONS;
   return c;
 }
+
+/* ??? We forgot to add this symbol in 2.15.  Getting this into 2.18 isn't as
+   straight-forward as just adding the alias, since a generic Versions file
+   includes the 2.15 version and the linker uses the first one it sees.  */
+#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
+versioned_symbol (libm, __ieee754_sqrtl, __sqrtl_finite, GLIBC_2_18);
+#else
+strong_alias(__ieee754_sqrtl, __sqrtl_finite)
+#endif