public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] powerpc64: apply -mabi=ibmlongdouble to special files
@ 2020-03-25 21:18 Paul E. Murphy
  0 siblings, 0 replies; only message in thread
From: Paul E. Murphy @ 2020-03-25 21:18 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=57651ee4c84aacad1a66a61fc44689dee77731f5

commit 57651ee4c84aacad1a66a61fc44689dee77731f5
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Feb 7 14:08:08 2020 -0600

    powerpc64: apply -mabi=ibmlongdouble to special files
    
    Some of these files depend on the avoidance of using the various
    register sets of POWER.  When enabling the IEEE 128 long double,
    we must be sure to disable this ABI as some compilers will
    refuse to compile if -mno-vsx and -mabi=ieeelongdouble are both
    present.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>

Diff:
---
 sysdeps/powerpc/powerpc64/Makefile        | 6 ++++++
 sysdeps/powerpc/powerpc64/le/Makefile     | 3 ++-
 sysdeps/powerpc/powerpc64/power7/Makefile | 6 +++++-
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile
index 6e88df1d69..dd49dbbce2 100644
--- a/sysdeps/powerpc/powerpc64/Makefile
+++ b/sysdeps/powerpc/powerpc64/Makefile
@@ -25,6 +25,12 @@ no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \
 				    -ffixed-v$n)) \
 		   -ffixed-vrsave -ffixed-vscr -mno-altivec -mno-vsx
 
+# Likewise, we must disable IEEE long double support as some (all?)
+# compilers will not accept the above options with IEEE long double.
+ifeq ($(ibm128-fcts),yes)
+no-special-regs += -mabi=ibmlongdouble
+endif
+
 # Need to prevent gcc from using fprs in code used during dynamic linking.
 
 CFLAGS-dl-runtime.os = $(no-special-regs)
diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile
index 882cf865dd..d79ad222fc 100644
--- a/sysdeps/powerpc/powerpc64/le/Makefile
+++ b/sysdeps/powerpc/powerpc64/le/Makefile
@@ -6,7 +6,8 @@
 type-ldouble-CFLAGS =
 no-gnu-attribute-CFLAGS =
 ifeq ($(ibm128-fcts),yes)
-type-ldouble-CFLAGS += -mabi=ibmlongdouble
+ibm128-abi-CFLAGS := -mabi=ibmlongdouble
+type-ldouble-CFLAGS += $(ibm128-abi-CFLAGS)
 no-gnu-attribute-CFLAGS = -mno-gnu-attribute
 endif
 
diff --git a/sysdeps/powerpc/powerpc64/power7/Makefile b/sysdeps/powerpc/powerpc64/power7/Makefile
index 89a2296085..9a0e7474bb 100644
--- a/sysdeps/powerpc/powerpc64/power7/Makefile
+++ b/sysdeps/powerpc/powerpc64/power7/Makefile
@@ -1,7 +1,11 @@
 ifeq ($(subdir),elf)
 # Prevent the use of VSX registers and insns in _dl_start, which under -O3
 # optimization may require a TOC reference before relocations are resolved.
-CFLAGS-rtld.c += -mno-vsx
+CFLAGS-rtld.c += $(ibm128-abi-CFLAGS) -mno-vsx
+
+# Likewise, remove options to build IEEE long double
+$(foreach suf,$(all-object-suffixes),$(objpfx)rtld$(suf)): \
+  sysdep-CFLAGS := $(filter-out -mabi=ieeelongdouble,$(sysdep-CFLAGS))
 endif
 
 ifeq ($(subdir),string)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-25 21:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-25 21:18 [glibc] powerpc64: apply -mabi=ibmlongdouble to special files Paul E. Murphy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).