--- old/make/hotspot/lib/JvmOverrideFiles.gmk 2018-09-13 11:12:21.527514991 +0200 +++ new/make/hotspot/lib/JvmOverrideFiles.gmk 2018-09-13 11:12:21.220515608 +0200 @@ -38,22 +38,28 @@ BUILD_LIBJVM_interp_masm_x86.cpp_CXXFLAGS := -Wno-uninitialized 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 + +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 ($(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) - - ifeq ($(TOOLCHAIN_TYPE), clang) - JVM_PRECOMPILED_HEADER_EXCLUDE := \ - sharedRuntimeTrig.cpp \ - sharedRuntimeTrans.cpp \ - # - endif - endif - ifeq ($(OPENJDK_TARGET_CPU), x86) # Performance measurements show that by compiling GC related code, we could # significantly reduce the GC pause time on 32 bit Linux/Unix platforms by