about summary refs log tree commit diff
path: root/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/alpha/soft-fp/e_sqrtl.c')
-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