[COMMITTED] tile: define __NO_LONG_DOUBLE_MATH
Commit Message
On 11/24/2015 8:09 PM, Joseph Myers wrote:
> On Tue, 24 Nov 2015, Chris Metcalf wrote:
>
>> as well, so it seemed uncontroversial. And I only chose 2.12 on the theory
>> that they
>> should have been exported then. I don't really care what version I export
> That's not how things work. The version is always the version where the
> symbols were actually first exported, not where they "should" have been
> exported; you never add symbols to a past release version. See exp2l in
> math/Versions or fallocate64 in sysdeps/unix/sysv/linux/<various 32-bit
> architectures>/Versions for examples.
Yes, good point. See attached patch that I will plan to commit after it passes tests.
>> them as, since there's really no way for userspace to generate a
>> reference to them,
> Which is why it would be optimal not to export them at all.
>
>> what would be cleaner here and I am happy to make the change, but it does seem
>> like it should be a change for every platform without long double, not just
>> tile.
> Well, you don't remove symbols from old versions either. Optimally the
> default should be that they aren't exported, with existing no-long-double
> platforms that had the exports defining some macro in their sysdeps files
> (e.g. math_private.h) to cause them to be exported (and ideally causing
> them to be exported as compat symbols only, given that it's not possible
> for the headers to generate references to them).
But apparently there are subtleties, given the bug I cited in my previous email that
led to __isnanl causing a link failure on hppa. I would have thought that would be
impossible. So I think I will not try tackling this at the moment...
Thanks!
commit 0c82839a29cb5a0d46141c1a1fab19085649034c
Author: Chris Metcalf <cmetcalf@ezchip.com>
Date: Wed Nov 25 13:26:30 2015 -0500
tile: Adjust version number for __finitel, __isinfl, __isnanl
They should have been added with version 2.23, not 2.12.
Comments
On Wed, 25 Nov 2015, Chris Metcalf wrote:
> But apparently there are subtleties, given the bug I cited in my previous
> email that
> led to __isnanl causing a link failure on hppa. I would have thought that
> would be
> impossible. So I think I will not try tackling this at the moment...
If someone were to write an isnan macro call with an argument whose size
isn't that of float or double (e.g. an integer argument), that would have
resulted in a call to __isnanl without __NO_LONG_DOUBLE_MATH defined.
Such code has undefined behavior - all those macros require arguments of
real floating type - but it could explain the __isnanl call.
@@ -1,3 +1,16 @@
+2015-11-25 Chris Metcalf <cmetcalf@ezchip.com>
+
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist:
+ Adjust version number for __finitel, __isinfl, and __isnanl.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
+
2015-11-25 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Destroy reply port
@@ -182,7 +182,6 @@ GLIBC_2.12 __fgetws_chk F
GLIBC_2.12 __fgetws_unlocked_chk F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __flbf F
GLIBC_2.12 __fork F
GLIBC_2.12 __fpending F
@@ -228,11 +227,9 @@ GLIBC_2.12 __isdigit_l F
GLIBC_2.12 __isgraph_l F
GLIBC_2.12 __isinf F
GLIBC_2.12 __isinff F
-GLIBC_2.12 __isinfl F
GLIBC_2.12 __islower_l F
GLIBC_2.12 __isnan F
GLIBC_2.12 __isnanf F
-GLIBC_2.12 __isnanl F
GLIBC_2.12 __isoc99_fscanf F
GLIBC_2.12 __isoc99_fwscanf F
GLIBC_2.12 __isoc99_scanf F
@@ -2092,6 +2089,9 @@ GLIBC_2.18 __cxa_thread_atexit_impl F
GLIBC_2.22 GLIBC_2.22 A
GLIBC_2.22 fmemopen F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
+GLIBC_2.23 __isinfl F
+GLIBC_2.23 __isnanl F
GLIBC_2.23 fts64_children F
GLIBC_2.23 fts64_close F
GLIBC_2.23 fts64_open F
@@ -5,7 +5,6 @@ GLIBC_2.12 __clog10f F
GLIBC_2.12 __clog10l F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __fpclassify F
GLIBC_2.12 __fpclassifyf F
GLIBC_2.12 __signbit F
@@ -370,6 +369,7 @@ GLIBC_2.18 GLIBC_2.18 A
GLIBC_2.18 __issignaling F
GLIBC_2.18 __issignalingf F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
GLIBC_2.23 __signgam D 0x4
GLIBC_2.23 lgamma F
GLIBC_2.23 lgammaf F
@@ -182,7 +182,6 @@ GLIBC_2.12 __fgetws_chk F
GLIBC_2.12 __fgetws_unlocked_chk F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __flbf F
GLIBC_2.12 __fork F
GLIBC_2.12 __fpending F
@@ -228,11 +227,9 @@ GLIBC_2.12 __isdigit_l F
GLIBC_2.12 __isgraph_l F
GLIBC_2.12 __isinf F
GLIBC_2.12 __isinff F
-GLIBC_2.12 __isinfl F
GLIBC_2.12 __islower_l F
GLIBC_2.12 __isnan F
GLIBC_2.12 __isnanf F
-GLIBC_2.12 __isnanl F
GLIBC_2.12 __isoc99_fscanf F
GLIBC_2.12 __isoc99_fwscanf F
GLIBC_2.12 __isoc99_scanf F
@@ -2092,6 +2089,9 @@ GLIBC_2.18 __cxa_thread_atexit_impl F
GLIBC_2.22 GLIBC_2.22 A
GLIBC_2.22 fmemopen F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
+GLIBC_2.23 __isinfl F
+GLIBC_2.23 __isnanl F
GLIBC_2.23 fts64_children F
GLIBC_2.23 fts64_close F
GLIBC_2.23 fts64_open F
@@ -5,7 +5,6 @@ GLIBC_2.12 __clog10f F
GLIBC_2.12 __clog10l F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __fpclassify F
GLIBC_2.12 __fpclassifyf F
GLIBC_2.12 __signbit F
@@ -370,6 +369,7 @@ GLIBC_2.18 GLIBC_2.18 A
GLIBC_2.18 __issignaling F
GLIBC_2.18 __issignalingf F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
GLIBC_2.23 __signgam D 0x4
GLIBC_2.23 lgamma F
GLIBC_2.23 lgammaf F
@@ -182,7 +182,6 @@ GLIBC_2.12 __fgetws_chk F
GLIBC_2.12 __fgetws_unlocked_chk F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __flbf F
GLIBC_2.12 __fork F
GLIBC_2.12 __fpending F
@@ -228,11 +227,9 @@ GLIBC_2.12 __isdigit_l F
GLIBC_2.12 __isgraph_l F
GLIBC_2.12 __isinf F
GLIBC_2.12 __isinff F
-GLIBC_2.12 __isinfl F
GLIBC_2.12 __islower_l F
GLIBC_2.12 __isnan F
GLIBC_2.12 __isnanf F
-GLIBC_2.12 __isnanl F
GLIBC_2.12 __isoc99_fscanf F
GLIBC_2.12 __isoc99_fwscanf F
GLIBC_2.12 __isoc99_scanf F
@@ -2092,6 +2089,9 @@ GLIBC_2.18 __cxa_thread_atexit_impl F
GLIBC_2.22 GLIBC_2.22 A
GLIBC_2.22 fmemopen F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
+GLIBC_2.23 __isinfl F
+GLIBC_2.23 __isnanl F
GLIBC_2.23 fts64_children F
GLIBC_2.23 fts64_close F
GLIBC_2.23 fts64_open F
@@ -5,7 +5,6 @@ GLIBC_2.12 __clog10f F
GLIBC_2.12 __clog10l F
GLIBC_2.12 __finite F
GLIBC_2.12 __finitef F
-GLIBC_2.12 __finitel F
GLIBC_2.12 __fpclassify F
GLIBC_2.12 __fpclassifyf F
GLIBC_2.12 __signbit F
@@ -370,6 +369,7 @@ GLIBC_2.18 GLIBC_2.18 A
GLIBC_2.18 __issignaling F
GLIBC_2.18 __issignalingf F
GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __finitel F
GLIBC_2.23 __signgam D 0x4
GLIBC_2.23 lgamma F
GLIBC_2.23 lgammaf F