changeset 12461:3642a826880b icedtea-3.3.0

PR3286: -ffp-contract not available on older GCCs Summary: Only add -ffp-contract when available from the compiler
author andrew
date Wed, 25 Jan 2017 04:22:03 +0000
parents 35c50c9dfb9c
children 1179be40f1e3
files make/lib/CoreLibraries.gmk
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/make/lib/CoreLibraries.gmk	Mon Dec 12 08:06:31 2016 -0500
+++ b/make/lib/CoreLibraries.gmk	Wed Jan 25 04:22:03 2017 +0000
@@ -34,12 +34,15 @@
 endif
 
 ifeq ($(OPENJDK_TARGET_OS), linux)
-  ifeq ($(OPENJDK_TARGET_CPU), ppc64)
-    BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
-  else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
-    BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
-  else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
-    BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+  ifeq ($(FP_CONTRACT_SUPPORTED), true)
+    FP_CONTRACT_CFLAGS := -ffp-contract=off
+    ifeq ($(OPENJDK_TARGET_CPU), ppc64)
+      BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+    else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
+      BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+    else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
+      BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+    endif
   endif
 endif
 
@@ -54,9 +57,9 @@
           -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
       CFLAGS_windows_debug := -DLOGGING, \
       CFLAGS_aix := -qfloat=nomaf, \
-      CFLAGS_linux_ppc64 := -ffp-contract=off, \
-      CFLAGS_linux_ppc64le := -ffp-contract=off, \
-      CFLAGS_linux_aarch64 := -ffp-contract=off, \
+      CFLAGS_linux_ppc64 := $(FP_CONTRACT_CFLAGS), \
+      CFLAGS_linux_ppc64le := $(FP_CONTRACT_CFLAGS), \
+      CFLAGS_linux_aarch64 := $(FP_CONTRACT_CFLAGS), \
       ARFLAGS := $(ARFLAGS), \
       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))