Skip to content

Commit 8d665f6

Browse files
authored
Merge pull request #21923 from pshipton/mz31
Add z/OS 31-bit cmake support, add missing zlinux 31-bit option
2 parents 1b62215 + 7d23fd2 commit 8d665f6

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

runtime/cmake/caches/linux_390.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ set(J9VM_GC_ENABLE_DOUBLE_MAP OFF CACHE BOOL "")
3131
set(J9VM_INTERP_ATOMIC_FREE_JNI ON CACHE BOOL "")
3232
set(J9VM_INTERP_ATOMIC_FREE_JNI_USES_FLUSH ON CACHE BOOL "")
3333
set(J9VM_INTERP_TWO_PASS_EXCLUSIVE ON CACHE BOOL "")
34+
set(J9VM_JIT_32BIT_USES64BIT_REGISTERS ON CACHE BOOL "")
3435
set(J9VM_JIT_RUNTIME_INSTRUMENTATION ON CACHE BOOL "")
3536
set(J9VM_JIT_TRANSACTION_DIAGNOSTIC_THREAD_BLOCK ON CACHE BOOL "")
3637
set(J9VM_PORT_RUNTIME_INSTRUMENTATION ON CACHE BOOL "")

runtime/cmake/caches/zos_390.cmake

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
################################################################################
2+
# Copyright IBM Corp. and others 2025
3+
#
4+
# This program and the accompanying materials are made available under
5+
# the terms of the Eclipse Public License 2.0 which accompanies this
6+
# distribution and is available at https://www.eclipse.org/legal/epl-2.0/
7+
# or the Apache License, Version 2.0 which accompanies this distribution and
8+
# is available at https://www.apache.org/licenses/LICENSE-2.0.
9+
#
10+
# This Source Code may also be made available under the following
11+
# Secondary Licenses when the conditions for such availability set
12+
# forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
13+
# General Public License, version 2 with the GNU Classpath
14+
# Exception [1] and GNU General Public License, version 2 with the
15+
# OpenJDK Assembly Exception [2].
16+
#
17+
# [1] https://www.gnu.org/software/classpath/license.html
18+
# [2] https://openjdk.org/legal/assembly-exception.html
19+
#
20+
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0
21+
################################################################################
22+
23+
set(J9VM_ARCH_S390 ON CACHE BOOL "")
24+
set(J9VM_ENV_CALL_VIA_TABLE ON CACHE BOOL "")
25+
set(J9VM_ENV_DATA64 OFF CACHE BOOL "")
26+
set(J9VM_ENV_LITTLE_ENDIAN OFF CACHE BOOL "")
27+
28+
# We need to modify the c/c++ compile rules to tweak the order of options for a2e.
29+
# Namely we need to make sure that the nosearch flag appears before our include paths.
30+
set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> <INCLUDES> -o <OBJECT> -c <SOURCE>" CACHE STRING "")
31+
set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> <INCLUDES> -o <OBJECT> -c <SOURCE>" CACHE STRING "")
32+
33+
set(OMR_ENV_DATA32 ON CACHE BOOL "")
34+
set(OMR_ENV_DATA64 OFF CACHE BOOL "")
35+
set(OMR_THR_SPIN_WAKE_CONTROL OFF CACHE BOOL "")
36+
set(OMR_USE_NATIVE_ENCODING OFF CACHE BOOL "")
37+
if(JAVA_SPEC_VERSION EQUAL 8)
38+
set(OMR_ZOS_COMPILE_TARGET "zOSV1R13" CACHE STRING "")
39+
set(OMR_ZOS_COMPILE_ARCHITECTURE 7 CACHE STRING "")
40+
set(OMR_ZOS_COMPILE_TUNE 10 CACHE STRING "")
41+
else()
42+
set(OMR_ZOS_COMPILE_TARGET "zOSV2R3" CACHE STRING "")
43+
set(OMR_ZOS_COMPILE_ARCHITECTURE 10 CACHE STRING "")
44+
set(OMR_ZOS_COMPILE_TUNE 12 CACHE STRING "")
45+
endif()
46+
set(OMR_ZOS_LINK_COMPAT ${OMR_ZOS_COMPILE_TARGET} CACHE STRING "")
47+
48+
set(J9VM_GC_SUBPOOLS_ALIAS ON CACHE BOOL "")
49+
set(J9VM_GC_TLH_PREFETCH_FTA OFF CACHE BOOL "")
50+
set(J9VM_INTERP_ATOMIC_FREE_JNI ON CACHE BOOL "")
51+
set(J9VM_JIT_32BIT_USES64BIT_REGISTERS ON CACHE BOOL "")
52+
set(J9VM_JIT_FREE_SYSTEM_STACK_POINTER ON CACHE BOOL "")
53+
set(J9VM_JIT_RUNTIME_INSTRUMENTATION ON CACHE BOOL "")
54+
set(J9VM_JIT_TRANSACTION_DIAGNOSTIC_THREAD_BLOCK ON CACHE BOOL "")
55+
set(J9VM_OPT_SHR_MSYNC_SUPPORT ON CACHE BOOL "")
56+
set(J9VM_PORT_RUNTIME_INSTRUMENTATION ON CACHE BOOL "")
57+
set(J9VM_PORT_ZOS_CEEHDLRSUPPORT ON CACHE BOOL "")
58+
set(J9VM_THR_ASYNC_NAME_UPDATE OFF CACHE BOOL "")
59+
60+
include("${CMAKE_CURRENT_LIST_DIR}/common.cmake")

0 commit comments

Comments
 (0)