jvmfwk/Package_rcfiles.mk | 4 +++ jvmfwk/distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml | 11 ++++++++++ jvmfwk/source/fwkbase.cxx | 9 +++++++- 3 files changed, 23 insertions(+), 1 deletion(-)
New commits: commit 81debfba86b1d67d1c2e0ecd9c10ca35c3e7de5e Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Thu Oct 21 13:06:25 2021 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Thu Oct 21 15:13:42 2021 +0200 Restrict macOS ARM64 to Java >= 17 The commit message of e529461bcb126e0975ffa3f86e1fd5a630551de2 "Enable JVM also on macOS ARM64" had identified <https://cdn.azul.com/zulu/bin/zulu17.0.63-ea-jdk17.0.0-ea.27-macosx_aarch64.zip> "to work reliably now" while other (older Zulu) JVMs "have always crashed with SIGBUS that smelled like our uses of pthread_jit_write_protect_np in bridges/source/cpp_uno/shared/vtablefactory.cxx colided with corresponding calls in the in-process JVM". Those observations would be in line with <http://openjdk.java.net/jeps/391> "JEP 391: macOS/AArch64 Port" only implemented for Java 17 now (see <https://github.com/openjdk/jdk/commit/dbc9e4b50cdda35f5712deaf440c49f50b9edc96> "8253795: Implementation of JEP 391: macOS/AArch64 Port"). So for macOS ARM64 assume that all OpenJDK variants (i.e., providing an empty jvmfwk/distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml) of at least Java 17 (i.e., building on recent 3460c16d7f749d8d2a59d8b927df5ec31f64a083 "Make getVersionInformation always return a VersionInfo" and "change the hardcoded '1.8.0' to '17' for just that one platform") work. Change-Id: I11e8ba232cee066a25a49edebd0cc50e24e84124 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123989 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/jvmfwk/Package_rcfiles.mk b/jvmfwk/Package_rcfiles.mk index 7864d628b276..e7010b970da5 100644 --- a/jvmfwk/Package_rcfiles.mk +++ b/jvmfwk/Package_rcfiles.mk @@ -14,7 +14,11 @@ $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/jav else ifeq ($(OS),FREEBSD) $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_freebsd.xml)) else ifeq ($(OS),MACOSX) +ifeq ($(CPUNAME),AARCH64) +$(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml)) +else $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_macosx.xml)) +endif else ifeq ($(OS),LINUX) $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_linux.xml)) else ifeq ($(OS),AIX) diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml new file mode 100644 index 000000000000..329030ccb1c0 --- /dev/null +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx_aarch64.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + --> +<javaSelection xmlns="http://openoffice.org/2004/java/framework/1.0"> + <updated>2021-10-19</updated> +</javaSelection> diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx index 8de3f0c4d00c..fc2223fd842e 100644 --- a/jvmfwk/source/fwkbase.cxx +++ b/jvmfwk/source/fwkbase.cxx @@ -131,7 +131,14 @@ VersionInfo VendorSettings::getVersionInformation(std::u16string_view sVendor) c m_xmlPathContextVendorSettings); if (xmlXPathNodeSetIsEmpty(pathObject->nodesetval)) { - return {{}, "1.8.0", ""}; + return { + {}, +#if defined MACOSX && defined __aarch64__ + "17", +#else + "1.8.0", +#endif + ""}; } VersionInfo aVersionInfo;