RFR: 8340574: Drop stackMapTable.cpp to -O1 for MacOS on XCode 16 to work around JDK-8340341

Erik Joelsson erikj at openjdk.org
Mon Sep 23 13:12:44 UTC 2024


On Sun, 22 Sep 2024 09:46:43 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> Trivial change to drop the optimization level (for both fastdebug and release) of stackMapTable.cpp to O1 on MacOS with Xcode 16.
> 
> This is a workaround for https://bugs.openjdk.org/browse/JDK-8340341, which prevents building on MacOS.
> 
> Tested: with patch fastdebug and release builds are green again.

make/hotspot/lib/JvmOverrideFiles.gmk line 91:

> 89:     # See JDK-8340341
> 90:     ifeq "$(firstword $(subst ., ,$(CXX_VERSION_NUMBER)))" "16"
> 91:       BUILD_LIBJVM_stackMapTable.cpp_CXXFLAGS := "-O1"

As Julian points out, we don't use quotes in makefiles (as make doesn't treat or interpret quotes a quotes, they are just literal characters).
Suggestion:

    ifeq ($(firstword $(subst ., ,$(CXX_VERSION_NUMBER))), 16)
      BUILD_LIBJVM_stackMapTable.cpp_CXXFLAGS := -O1


I also kind of agree with David Holmes, this compiler has shown that we can't trust it. At the very least, we should include a big warning somewhere, probably in configure.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21119#discussion_r1771384120


More information about the build-dev mailing list