Patchwork Make some ldbl-128, ldbl-128ibm arrays const [committed]

login
register
mail settings
Submitter Joseph Myers
Date Dec. 6, 2017, 1:43 p.m.
Message ID <alpine.DEB.2.20.1712061343331.25325@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/24758/
State New
Headers show

Comments

Joseph Myers - Dec. 6, 2017, 1:43 p.m.
I noticed that an x86_64 build of libm unexpectedly contained more
non-constant data than an older version (before _Float128 support)
did.  The problem is non-const arrays in the ldbl-128 j0l and j1l
implementations; this patch makes those arrays, and the corresponding
ldbl-128ibm ones, const.

Tested for x86_64, and tested compilation for powerpc with
build-many-glibcs.py.  Committed.

2017-12-06  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/ieee754/ldbl-128/e_j0l.c (Y0_2N): Make const.
	(Y0_2D): Likewise.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (Y0_2N): Likewise.
	(Y0_2D): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_j0l.c (Y0_2N): Likewise.
	(Y0_2D): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_j1l.c (Y0_2N): Likewise.
	(Y0_2D): Likewise.

Patch

diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c
index fb8d351..9190e27 100644
--- a/sysdeps/ieee754/ldbl-128/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j0l.c
@@ -796,7 +796,7 @@  strong_alias (__ieee754_j0l, __j0l_finite)
    Peak absolute error 1.7e-36 (relative where Y0 > 1)
    0 <= x <= 2   */
 #define NY0_2N 7
-static _Float128 Y0_2N[NY0_2N + 1] = {
+static const _Float128 Y0_2N[NY0_2N + 1] = {
  L(-1.062023609591350692692296993537002558155E19),
   L(2.542000883190248639104127452714966858866E19),
  L(-1.984190771278515324281415820316054696545E18),
@@ -807,7 +807,7 @@  static _Float128 Y0_2N[NY0_2N + 1] = {
   L(8.230845651379566339707130644134372793322E6),
 };
 #define NY0_2D 7
-static _Float128 Y0_2D[NY0_2D + 1] = {
+static const _Float128 Y0_2D[NY0_2D + 1] = {
   L(1.438972634353286978700329883122253752192E20),
   L(1.856409101981569254247700169486907405500E18),
   L(1.219693352678218589553725579802986255614E16),
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 6fc69fa..e7af40e 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -815,7 +815,7 @@  strong_alias (__ieee754_j1l, __j1l_finite)
    Peak relative error 6.2e-38
    0 <= x <= 2   */
 #define NY0_2N 7
-static _Float128 Y0_2N[NY0_2N + 1] = {
+static const _Float128 Y0_2N[NY0_2N + 1] = {
   L(-6.804415404830253804408698161694720833249E19),
   L(1.805450517967019908027153056150465849237E19),
   L(-8.065747497063694098810419456383006737312E17),
@@ -826,7 +826,7 @@  static _Float128 Y0_2N[NY0_2N + 1] = {
   L(9.541172044989995856117187515882879304461E5),
 };
 #define NY0_2D 7
-static _Float128 Y0_2D[NY0_2D + 1] = {
+static const _Float128 Y0_2D[NY0_2D + 1] = {
   L(3.470629591820267059538637461549677594549E20),
   L(4.120796439009916326855848107545425217219E18),
   L(2.477653371652018249749350657387030814542E16),
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j0l.c b/sysdeps/ieee754/ldbl-128ibm/e_j0l.c
index 0a7fe32..42d4488 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_j0l.c
@@ -723,7 +723,7 @@  strong_alias (__ieee754_j0l, __j0l_finite)
    Peak absolute error 1.7e-36 (relative where Y0 > 1)
    0 <= x <= 2   */
 #define NY0_2N 7
-static long double Y0_2N[NY0_2N + 1] = {
+static const long double Y0_2N[NY0_2N + 1] = {
  -1.062023609591350692692296993537002558155E19L,
   2.542000883190248639104127452714966858866E19L,
  -1.984190771278515324281415820316054696545E18L,
@@ -734,7 +734,7 @@  static long double Y0_2N[NY0_2N + 1] = {
   8.230845651379566339707130644134372793322E6L,
 };
 #define NY0_2D 7
-static long double Y0_2D[NY0_2D + 1] = {
+static const long double Y0_2D[NY0_2D + 1] = {
   1.438972634353286978700329883122253752192E20L,
   1.856409101981569254247700169486907405500E18L,
   1.219693352678218589553725579802986255614E16L,
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
index 5956c97..e70cae1 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
@@ -738,7 +738,7 @@  strong_alias (__ieee754_j1l, __j1l_finite)
    Peak relative error 6.2e-38
    0 <= x <= 2   */
 #define NY0_2N 7
-static long double Y0_2N[NY0_2N + 1] = {
+static const long double Y0_2N[NY0_2N + 1] = {
   -6.804415404830253804408698161694720833249E19L,
   1.805450517967019908027153056150465849237E19L,
   -8.065747497063694098810419456383006737312E17L,
@@ -749,7 +749,7 @@  static long double Y0_2N[NY0_2N + 1] = {
   9.541172044989995856117187515882879304461E5L,
 };
 #define NY0_2D 7
-static long double Y0_2D[NY0_2D + 1] = {
+static const long double Y0_2D[NY0_2D + 1] = {
   3.470629591820267059538637461549677594549E20L,
   4.120796439009916326855848107545425217219E18L,
   2.477653371652018249749350657387030814542E16L,