* Re: [PR PATCH] [Updated] apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
@ 2019-06-25 19:17 ` voidlinux-github
2019-06-25 19:17 ` voidlinux-github
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-25 19:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 803 bytes --]
There is an updated pull request by q66 against master on the void-packages repository
https://github.com/void-power/void-packages apl
https://github.com/void-linux/void-packages/pull/12661
apl: patch build on platforms with not enough ldbl range
Not every system has 80-bit or better extended range/precision long doubles, particularly ppc(64) uses either 128-bit long doubles implemented as a double pair (which has extended precision but not range) or just plain 64-bit that is the same as double (with musl which does not implement the 128-bit precision). On those systems, this patch pretty much reverts to the old code (i.e. before 1.8 update) which was not using precomputed tables.
@leahneukirchen
A patch file from https://github.com/void-linux/void-packages/pull/12661.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-apl-12661.patch --]
[-- Type: application/text/x-diff, Size: 2071 bytes --]
From e078d7301c02f1d75146ddf262b5c03178f9d5db Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 25 Jun 2019 01:32:18 +0200
Subject: [PATCH] apl: patch build on platforms with not enough ldbl range
This backports a relevant fix from upstream.
---
srcpkgs/apl/patches/ppc.patch | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 srcpkgs/apl/patches/ppc.patch
diff --git a/srcpkgs/apl/patches/ppc.patch b/srcpkgs/apl/patches/ppc.patch
new file mode 100644
index 00000000000..79ece6547a5
--- /dev/null
+++ b/srcpkgs/apl/patches/ppc.patch
@@ -0,0 +1,35 @@
+This backports the relevant bit of svn revision 1177 to fix build on platforms
+where long double does not have extended range (larger than regular double),
+particularly PowerPC (32 and 64 bit).
+
+On those platforms, the build previously failed with:
+
+Tokenizer.cc:769:4: error: floating constant exceeds range of 'long double' [-Werror=overflow]
+ exp_0_9(1E30)
+ ^~~~~~~
+
+--- src/Tokenizer.cc
++++ src/Tokenizer.cc
+@@ -755,10 +755,10 @@
+ MAX_TOKENIZE_DIGITS = MAX_TOKENIZE_DIGITS_1 - 1 // excl. rounding digit
+ };
+
+-#define exp_0_9(x) x ## 0L, x ## 1L, x ## 2L, x ## 3L, x ## 4L, \
+- x ## 5L, x ## 6L, x ## 7L, x ## 8L, x ## 9L,
++#define exp_0_9(x) x ## 0, x ## 1, x ## 2, x ## 3, x ## 4, \
++ x ## 5, x ## 6, x ## 7, x ## 8, x ## 9,
+
+-static const long double expo_tab[310] =
++static const long double expo_tab[309] =
+ {
+ exp_0_9(1E) exp_0_9(1E1) exp_0_9(1E2) exp_0_9(1E3) exp_0_9(1E4)
+ exp_0_9(1E5) exp_0_9(1E6) exp_0_9(1E7) exp_0_9(1E8) exp_0_9(1E9)
+@@ -766,7 +766,7 @@
+ exp_0_9(1E15) exp_0_9(1E16) exp_0_9(1E17) exp_0_9(1E18) exp_0_9(1E19)
+ exp_0_9(1E20) exp_0_9(1E21) exp_0_9(1E22) exp_0_9(1E23) exp_0_9(1E24)
+ exp_0_9(1E25) exp_0_9(1E26) exp_0_9(1E27) exp_0_9(1E28) exp_0_9(1E29)
+- exp_0_9(1E30)
++ 1E300, 1E301, 1E302, 1E303, 1E304, 1E305, 1E306, 1E307, 1E308
+ };
+
+ static const long double nexpo_tab[310] =
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Updated] apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
2019-06-25 19:17 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-06-25 19:17 ` voidlinux-github
2019-06-25 19:17 ` voidlinux-github
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-25 19:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 803 bytes --]
There is an updated pull request by q66 against master on the void-packages repository
https://github.com/void-power/void-packages apl
https://github.com/void-linux/void-packages/pull/12661
apl: patch build on platforms with not enough ldbl range
Not every system has 80-bit or better extended range/precision long doubles, particularly ppc(64) uses either 128-bit long doubles implemented as a double pair (which has extended precision but not range) or just plain 64-bit that is the same as double (with musl which does not implement the 128-bit precision). On those systems, this patch pretty much reverts to the old code (i.e. before 1.8 update) which was not using precomputed tables.
@leahneukirchen
A patch file from https://github.com/void-linux/void-packages/pull/12661.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-apl-12661.patch --]
[-- Type: application/text/x-diff, Size: 2071 bytes --]
From e078d7301c02f1d75146ddf262b5c03178f9d5db Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 25 Jun 2019 01:32:18 +0200
Subject: [PATCH] apl: patch build on platforms with not enough ldbl range
This backports a relevant fix from upstream.
---
srcpkgs/apl/patches/ppc.patch | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 srcpkgs/apl/patches/ppc.patch
diff --git a/srcpkgs/apl/patches/ppc.patch b/srcpkgs/apl/patches/ppc.patch
new file mode 100644
index 00000000000..79ece6547a5
--- /dev/null
+++ b/srcpkgs/apl/patches/ppc.patch
@@ -0,0 +1,35 @@
+This backports the relevant bit of svn revision 1177 to fix build on platforms
+where long double does not have extended range (larger than regular double),
+particularly PowerPC (32 and 64 bit).
+
+On those platforms, the build previously failed with:
+
+Tokenizer.cc:769:4: error: floating constant exceeds range of 'long double' [-Werror=overflow]
+ exp_0_9(1E30)
+ ^~~~~~~
+
+--- src/Tokenizer.cc
++++ src/Tokenizer.cc
+@@ -755,10 +755,10 @@
+ MAX_TOKENIZE_DIGITS = MAX_TOKENIZE_DIGITS_1 - 1 // excl. rounding digit
+ };
+
+-#define exp_0_9(x) x ## 0L, x ## 1L, x ## 2L, x ## 3L, x ## 4L, \
+- x ## 5L, x ## 6L, x ## 7L, x ## 8L, x ## 9L,
++#define exp_0_9(x) x ## 0, x ## 1, x ## 2, x ## 3, x ## 4, \
++ x ## 5, x ## 6, x ## 7, x ## 8, x ## 9,
+
+-static const long double expo_tab[310] =
++static const long double expo_tab[309] =
+ {
+ exp_0_9(1E) exp_0_9(1E1) exp_0_9(1E2) exp_0_9(1E3) exp_0_9(1E4)
+ exp_0_9(1E5) exp_0_9(1E6) exp_0_9(1E7) exp_0_9(1E8) exp_0_9(1E9)
+@@ -766,7 +766,7 @@
+ exp_0_9(1E15) exp_0_9(1E16) exp_0_9(1E17) exp_0_9(1E18) exp_0_9(1E19)
+ exp_0_9(1E20) exp_0_9(1E21) exp_0_9(1E22) exp_0_9(1E23) exp_0_9(1E24)
+ exp_0_9(1E25) exp_0_9(1E26) exp_0_9(1E27) exp_0_9(1E28) exp_0_9(1E29)
+- exp_0_9(1E30)
++ 1E300, 1E301, 1E302, 1E303, 1E304, 1E305, 1E306, 1E307, 1E308
+ };
+
+ static const long double nexpo_tab[310] =
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
2019-06-25 19:17 ` [PR PATCH] [Updated] " voidlinux-github
2019-06-25 19:17 ` voidlinux-github
@ 2019-06-25 19:17 ` voidlinux-github
2019-06-25 19:26 ` [PR PATCH] [Updated] " voidlinux-github
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-25 19:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 218 bytes --]
New comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/12661#issuecomment-505584852
Comment:
This problem was now fixed in upstream so the added patch is an upstream backport.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Updated] apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
` (2 preceding siblings ...)
2019-06-25 19:17 ` voidlinux-github
@ 2019-06-25 19:26 ` voidlinux-github
2019-06-25 19:26 ` voidlinux-github
2019-06-26 9:10 ` [PR PATCH] [Merged]: " voidlinux-github
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-25 19:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 807 bytes --]
There is an updated pull request by q66 against master on the void-packages repository
https://github.com/void-power/void-packages apl
https://github.com/void-linux/void-packages/pull/12661
apl: patch build on platforms with not enough ldbl range
~~Not every system has 80-bit or better extended range/precision long doubles, particularly ppc(64) uses either 128-bit long doubles implemented as a double pair (which has extended precision but not range) or just plain 64-bit that is the same as double (with musl which does not implement the 128-bit precision). On those systems, this patch pretty much reverts to the old code (i.e. before 1.8 update) which was not using precomputed tables.~~
@leahneukirchen
A patch file from https://github.com/void-linux/void-packages/pull/12661.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-apl-12661.patch --]
[-- Type: application/text/x-diff, Size: 2343 bytes --]
From 96bdc05e6775fcf11ccb5fd69fddad4ee69d3050 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 25 Jun 2019 01:32:18 +0200
Subject: [PATCH] apl: patch build on platforms with not enough ldbl range
This backports a relevant fix from upstream.
---
srcpkgs/apl/patches/ppc.patch | 43 +++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 srcpkgs/apl/patches/ppc.patch
diff --git a/srcpkgs/apl/patches/ppc.patch b/srcpkgs/apl/patches/ppc.patch
new file mode 100644
index 00000000000..1b373e13cdd
--- /dev/null
+++ b/srcpkgs/apl/patches/ppc.patch
@@ -0,0 +1,43 @@
+This backports the relevant bit of svn revision 1177 to fix build on platforms
+where long double does not have extended range (larger than regular double),
+particularly PowerPC (32 and 64 bit).
+
+On those platforms, the build previously failed with:
+
+Tokenizer.cc:769:4: error: floating constant exceeds range of 'long double' [-Werror=overflow]
+ exp_0_9(1E30)
+ ^~~~~~~
+
+--- src/Tokenizer.cc
++++ src/Tokenizer.cc
+@@ -755,10 +755,10 @@
+ MAX_TOKENIZE_DIGITS = MAX_TOKENIZE_DIGITS_1 - 1 // excl. rounding digit
+ };
+
+-#define exp_0_9(x) x ## 0L, x ## 1L, x ## 2L, x ## 3L, x ## 4L, \
+- x ## 5L, x ## 6L, x ## 7L, x ## 8L, x ## 9L,
++#define exp_0_9(x) x ## 0, x ## 1, x ## 2, x ## 3, x ## 4, \
++ x ## 5, x ## 6, x ## 7, x ## 8, x ## 9,
+
+-static const long double expo_tab[310] =
++static const long double expo_tab[309] =
+ {
+ exp_0_9(1E) exp_0_9(1E1) exp_0_9(1E2) exp_0_9(1E3) exp_0_9(1E4)
+ exp_0_9(1E5) exp_0_9(1E6) exp_0_9(1E7) exp_0_9(1E8) exp_0_9(1E9)
+@@ -766,7 +766,7 @@
+ exp_0_9(1E15) exp_0_9(1E16) exp_0_9(1E17) exp_0_9(1E18) exp_0_9(1E19)
+ exp_0_9(1E20) exp_0_9(1E21) exp_0_9(1E22) exp_0_9(1E23) exp_0_9(1E24)
+ exp_0_9(1E25) exp_0_9(1E26) exp_0_9(1E27) exp_0_9(1E28) exp_0_9(1E29)
+- exp_0_9(1E30)
++ 1E300, 1E301, 1E302, 1E303, 1E304, 1E305, 1E306, 1E307, 1E308
+ };
+
+ static const long double nexpo_tab[310] =
+@@ -960,6 +960,7 @@
+
+ if (expo > 0)
+ {
++ if (expo > 308) return false;
+ if (negative) flt_val = - v * expo_tab[expo];
+ else flt_val = v * expo_tab[expo];
+ return true; // OK
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Updated] apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
` (3 preceding siblings ...)
2019-06-25 19:26 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-06-25 19:26 ` voidlinux-github
2019-06-26 9:10 ` [PR PATCH] [Merged]: " voidlinux-github
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-25 19:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 807 bytes --]
There is an updated pull request by q66 against master on the void-packages repository
https://github.com/void-power/void-packages apl
https://github.com/void-linux/void-packages/pull/12661
apl: patch build on platforms with not enough ldbl range
~~Not every system has 80-bit or better extended range/precision long doubles, particularly ppc(64) uses either 128-bit long doubles implemented as a double pair (which has extended precision but not range) or just plain 64-bit that is the same as double (with musl which does not implement the 128-bit precision). On those systems, this patch pretty much reverts to the old code (i.e. before 1.8 update) which was not using precomputed tables.~~
@leahneukirchen
A patch file from https://github.com/void-linux/void-packages/pull/12661.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-apl-12661.patch --]
[-- Type: application/text/x-diff, Size: 2343 bytes --]
From 96bdc05e6775fcf11ccb5fd69fddad4ee69d3050 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 25 Jun 2019 01:32:18 +0200
Subject: [PATCH] apl: patch build on platforms with not enough ldbl range
This backports a relevant fix from upstream.
---
srcpkgs/apl/patches/ppc.patch | 43 +++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 srcpkgs/apl/patches/ppc.patch
diff --git a/srcpkgs/apl/patches/ppc.patch b/srcpkgs/apl/patches/ppc.patch
new file mode 100644
index 00000000000..1b373e13cdd
--- /dev/null
+++ b/srcpkgs/apl/patches/ppc.patch
@@ -0,0 +1,43 @@
+This backports the relevant bit of svn revision 1177 to fix build on platforms
+where long double does not have extended range (larger than regular double),
+particularly PowerPC (32 and 64 bit).
+
+On those platforms, the build previously failed with:
+
+Tokenizer.cc:769:4: error: floating constant exceeds range of 'long double' [-Werror=overflow]
+ exp_0_9(1E30)
+ ^~~~~~~
+
+--- src/Tokenizer.cc
++++ src/Tokenizer.cc
+@@ -755,10 +755,10 @@
+ MAX_TOKENIZE_DIGITS = MAX_TOKENIZE_DIGITS_1 - 1 // excl. rounding digit
+ };
+
+-#define exp_0_9(x) x ## 0L, x ## 1L, x ## 2L, x ## 3L, x ## 4L, \
+- x ## 5L, x ## 6L, x ## 7L, x ## 8L, x ## 9L,
++#define exp_0_9(x) x ## 0, x ## 1, x ## 2, x ## 3, x ## 4, \
++ x ## 5, x ## 6, x ## 7, x ## 8, x ## 9,
+
+-static const long double expo_tab[310] =
++static const long double expo_tab[309] =
+ {
+ exp_0_9(1E) exp_0_9(1E1) exp_0_9(1E2) exp_0_9(1E3) exp_0_9(1E4)
+ exp_0_9(1E5) exp_0_9(1E6) exp_0_9(1E7) exp_0_9(1E8) exp_0_9(1E9)
+@@ -766,7 +766,7 @@
+ exp_0_9(1E15) exp_0_9(1E16) exp_0_9(1E17) exp_0_9(1E18) exp_0_9(1E19)
+ exp_0_9(1E20) exp_0_9(1E21) exp_0_9(1E22) exp_0_9(1E23) exp_0_9(1E24)
+ exp_0_9(1E25) exp_0_9(1E26) exp_0_9(1E27) exp_0_9(1E28) exp_0_9(1E29)
+- exp_0_9(1E30)
++ 1E300, 1E301, 1E302, 1E303, 1E304, 1E305, 1E306, 1E307, 1E308
+ };
+
+ static const long double nexpo_tab[310] =
+@@ -960,6 +960,7 @@
+
+ if (expo > 0)
+ {
++ if (expo > 308) return false;
+ if (negative) flt_val = - v * expo_tab[expo];
+ else flt_val = v * expo_tab[expo];
+ return true; // OK
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Merged]: apl: patch build on platforms with not enough ldbl range
2019-06-24 23:35 [PR PATCH] apl: patch build on platforms with not enough ldbl range voidlinux-github
` (4 preceding siblings ...)
2019-06-25 19:26 ` voidlinux-github
@ 2019-06-26 9:10 ` voidlinux-github
5 siblings, 0 replies; 7+ messages in thread
From: voidlinux-github @ 2019-06-26 9:10 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 655 bytes --]
There's a merged pull request on the void-packages repository
apl: patch build on platforms with not enough ldbl range
https://github.com/void-linux/void-packages/pull/12661
Description: ~~Not every system has 80-bit or better extended range/precision long doubles, particularly ppc(64) uses either 128-bit long doubles implemented as a double pair (which has extended precision but not range) or just plain 64-bit that is the same as double (with musl which does not implement the 128-bit precision). On those systems, this patch pretty much reverts to the old code (i.e. before 1.8 update) which was not using precomputed tables.~~
@leahneukirchen
^ permalink raw reply [flat|nested] 7+ messages in thread