This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 3/3] powerpc64le: Disable compiler support for float128 when reusing ldbl-128
- From: "Gabriel F. T. Gomes" <gabriel at inconstante dot eti dot br>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 7 Sep 2017 07:43:52 -0300
- Subject: [PATCH 3/3] powerpc64le: Disable compiler support for float128 when reusing ldbl-128
- Authentication-results: sourceware.org; auth=none
- References: <20170907104352.7748-1-gabriel@inconstante.eti.br>
Some files under sysdeps/ieee754/ldbl-128ibm are able to reuse the
implementation in sysdeps/ieee754/ldbl-128 by defining _Float128 to long
double. This relies on compiler support for _Float128 being disabled.
On powerpc, such support is currently disabled by default, however, it
will get enabled by default [1], requiring that this Makefile actively
disable compiler support for float128 for the required files.
[1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
Tested for powerpc64le with patched [1] and unpatched gcc.
* sysdeps/powerpc/powerpc64le/Makefile (CFLAGS-e_expl.c)
(CFLAGS-e_j0l.c, CFLAGS-e_j1l.c, CFLAGS-e_lgammal_r.c)
(CFLAGS-s_cbrtl.c): New variables.
---
sysdeps/powerpc/powerpc64le/Makefile | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/sysdeps/powerpc/powerpc64le/Makefile b/sysdeps/powerpc/powerpc64le/Makefile
index 3fd9d9a715..a1d37135e5 100644
--- a/sysdeps/powerpc/powerpc64le/Makefile
+++ b/sysdeps/powerpc/powerpc64le/Makefile
@@ -20,6 +20,19 @@ CFLAGS-test-math-issignaling.cc += -mfloat128
CFLAGS-test-math-iszero.cc += -mfloat128
$(objpfx)test-float128% $(objpfx)test-ifloat128% $(objpfx)test-math-iszero: \
gnulib-tests += $(f128-loader-link)
+
+# Some files under sysdeps/ieee754/ldbl-128ibm are able to reuse the
+# implementation in sysdeps/ieee754/ldbl-128 by defining _Float128 to
+# long double. This relies on compiler support for _Float128 being
+# disabled. On powerpc, such support used to be disabled by default,
+# however, it will get enabled by default [1], requiring that this
+# Makefile actively disable it for the following files.
+# [1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
+CFLAGS-e_expl.c += -mno-float128
+CFLAGS-e_j0l.c += -mno-float128
+CFLAGS-e_j1l.c += -mno-float128
+CFLAGS-e_lgammal_r.c += -mno-float128
+CFLAGS-s_cbrtl.c += -mno-float128
endif
# Append flags to string <-> _Float128 routines.
--
2.13.5