# HG changeset patch
# User sgehwolf
# Date 1536682731 -7200
# Tue Sep 11 18:18:51 2018 +0200
# Node ID 7157249fdd4366d95dd68f3d083ebb0ef84c753b
# Parent 8d86b149e10f0a0896e5fd4d8d407e5fda64a529
8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Reviewed-by: duke
diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk b/make/hotspot/lib/JvmOverrideFiles.gmk
--- a/make/hotspot/lib/JvmOverrideFiles.gmk
+++ b/make/hotspot/lib/JvmOverrideFiles.gmk
@@ -43,20 +43,26 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
endif
endif
+LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
+# If the FDLIBM_CFLAGS variable is non-empty we know
+# that the fdlibm-fork in hotspot can get optimized
+# by using -ffp-contract=off on GCC/Clang platforms.
+ifneq ($(FDLIBM_CFLAGS), )
+ LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
+endif
+
ifeq ($(OPENJDK_TARGET_OS), linux)
BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
- ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
- BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
- BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(CXX_O_FLAG_NONE)
+ BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
+ BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := -DNO_PCH $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
- ifeq ($(TOOLCHAIN_TYPE), clang)
- JVM_PRECOMPILED_HEADER_EXCLUDE := \
- sharedRuntimeTrig.cpp \
- sharedRuntimeTrans.cpp \
- #
- endif
+ ifeq ($(TOOLCHAIN_TYPE), clang)
+ JVM_PRECOMPILED_HEADER_EXCLUDE := \
+ sharedRuntimeTrig.cpp \
+ sharedRuntimeTrans.cpp \
+ #
endif
ifeq ($(OPENJDK_TARGET_CPU), x86)