# 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)