This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH COMMITTED] Adjust sparc 32-bit __sqrtl_finite version tag.
- From: David Miller <davem at davemloft dot net>
- To: rth at twiddle dot net
- Cc: joseph at codesourcery dot com, libc-alpha at sourceware dot org
- Date: Mon, 25 Jan 2016 11:26:17 -0800 (PST)
- Subject: Re: [PATCH COMMITTED] Adjust sparc 32-bit __sqrtl_finite version tag.
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 10 dot 1601251846010 dot 10557 at digraph dot polyomino dot org dot uk> <20160125 dot 110050 dot 1847019402132253680 dot davem at davemloft dot net> <56A6729E dot 5050703 at twiddle dot net>
From: Richard Henderson <rth@twiddle.net>
Date: Mon, 25 Jan 2016 11:08:14 -0800
> On 01/25/2016 11:00 AM, David Miller wrote:
>> }
>> strong_alias (__ieee754_sqrtl, __sqrtl_finite)
>> +
>> +#include <shlib-compat.h>
>> +versioned_symbol (libm, __sqrtl_finite, sqrtl_finite, GLIBC_2_23);
>
> sqrtl_finite (no underscores) is not an exported symbol.
>
> Drop the strong alias and version from __ieee754_sqrtl to __sqrtl_finite.
Aha, I see. Testing the following...
diff --git a/sysdeps/sparc/sparc32/fpu/e_sqrtl.c b/sysdeps/sparc/sparc32/fpu/e_sqrtl.c
index 46ad861..b0ce44a 100644
--- a/sysdeps/sparc/sparc32/fpu/e_sqrtl.c
+++ b/sysdeps/sparc/sparc32/fpu/e_sqrtl.c
@@ -25,4 +25,6 @@ __ieee754_sqrtl (long double x)
{
return _Q_sqrt (x);
}
-strong_alias (__ieee754_sqrtl, __sqrtl_finite)
+
+#include <shlib-compat.h>
+versioned_symbol (libm, __ieee754_sqrtl, __sqrtl_finite, GLIBC_2_23);
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions
index c9a5b3e..a0b9c19 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions
@@ -24,3 +24,9 @@ libc {
fallocate64;
}
}
+
+libm {
+ GLIBC_2.23 {
+ __sqrtl_finite;
+ }
+}