1 --- a/common/autoconf/jdk-options.m4
2 +++ b/common/autoconf/jdk-options.m4
3 @@ -98,7 +98,11 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS
4 [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) @<:@server@:>@])])
6 if test "x$with_jvm_variants" = x; then
7 - with_jvm_variants="server"
8 + if test "x$OPENJDK_TARGET_CPU" = xaarch32; then
9 + with_jvm_variants="client";
11 + with_jvm_variants="server";
15 JVM_VARIANTS=",$with_jvm_variants,"
16 @@ -161,6 +165,9 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS
17 if test "x$VAR_CPU" = xppc64 -o "x$VAR_CPU" = xppc64le ; then
20 + if test "x$OPENJDK_TARGET_CPU" = xaarch32; then
25 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
26 --- a/common/autoconf/platform.m4
27 +++ b/common/autoconf/platform.m4
28 @@ -56,8 +56,8 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU
35 + VAR_CPU_ARCH=aarch32
39 @@ -346,6 +346,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
40 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
41 # On all platforms except MacOSX replace x86_64 with amd64.
42 OPENJDK_TARGET_CPU_LEGACY="amd64"
43 + elif test "x$OPENJDK_TARGET_CPU" = xaarch32; then
44 + OPENJDK_TARGET_CPU_LEGACY="arm"
46 AC_SUBST(OPENJDK_TARGET_CPU_LEGACY)
48 @@ -356,6 +358,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
49 OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
50 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
51 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
52 + elif test "x$OPENJDK_TARGET_CPU" = xaarch32; then
53 + OPENJDK_TARGET_CPU_LEGACY_LIB="arm"
55 AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
57 @@ -389,6 +393,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
58 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
59 # On all platforms except macosx, we replace x86_64 with amd64.
60 OPENJDK_TARGET_CPU_OSARCH="amd64"
61 + elif test "x$OPENJDK_TARGET_CPU" = xaarch32; then
62 + OPENJDK_TARGET_CPU_OSARCH="arm"
64 AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
66 @@ -398,6 +404,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
67 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
68 # On all platforms except macosx, we replace x86_64 with amd64.
69 OPENJDK_TARGET_CPU_JLI="amd64"
70 + elif test "x$OPENJDK_TARGET_CPU" = xaarch32; then
71 + OPENJDK_TARGET_CPU_JLI="arm"
73 # Now setup the -D flags for building libjli.
74 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
75 --- a/hotspot/make/defs.make
76 +++ b/hotspot/make/defs.make
77 @@ -335,6 +335,11 @@ ifneq ($(OSNAME),windows)
79 LIBARCH/aarch32 = aarch32
81 + # Override LIBARCH for aarch32
82 + ifeq ($(ARCH), aarch32)
86 LP64_ARCH += sparcv9 amd64 ia64 ppc64 aarch64 zero
89 --- a/jdk/make/CopyFiles.gmk
90 +++ b/jdk/make/CopyFiles.gmk
91 @@ -328,9 +328,15 @@ else
92 ifeq ($(CLIENT_AND_SERVER), true)
93 COPY_JVM_CFG_FILE := true
95 - # For zero, the default jvm.cfg file is sufficient
96 + # For zero, the default jvm.cfg file is sufficient.
97 ifeq ($(JVM_VARIANT_ZERO), true)
98 COPY_JVM_CFG_FILE := true
100 + ifeq ($(OPENJDK_TARGET_CPU), aarch32)
101 + ifeq ($(JVM_VARIANT_CORE), true)
102 + COPY_JVM_CFG_FILE := true
108 --- a/jdk/make/lib/NioLibraries.gmk
109 +++ b/jdk/make/lib/NioLibraries.gmk
110 @@ -174,6 +174,9 @@ ifeq ($(OPENJDK_TARGET_OS_API), posix)
111 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
114 + ifeq ($(OPENJDK_TARGET_CPU_ARCH), aarch32)
118 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP, \
120 --- a/jdk/make/lib/SoundLibraries.gmk
121 +++ b/jdk/make/lib/SoundLibraries.gmk
122 @@ -147,6 +147,10 @@ else
123 ifeq ($(OPENJDK_TARGET_CPU), aarch64)
124 LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64
127 + ifeq ($(OPENJDK_TARGET_CPU), aarch32)
128 + LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH32
132 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
133 --- a/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
134 +++ b/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
139 +#define X_AARCH32 12
141 // **********************************
142 // Make sure you set X_PLATFORM and X_ARCH defines correctly.
144 +++ b/jdk/src/solaris/bin/aarch32/jvm.cfg
146 +# Copyright (c) 2015, 2015, Oracle and/or its affiliates. All rights reserved.
147 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
149 +# This code is free software; you can redistribute it and/or modify it
150 +# under the terms of the GNU General Public License version 2 only, as
151 +# published by the Free Software Foundation. Oracle designates this
152 +# particular file as subject to the "Classpath" exception as provided
153 +# by Oracle in the LICENSE file that accompanied this code.
155 +# This code is distributed in the hope that it will be useful, but WITHOUT
156 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
157 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
158 +# version 2 for more details (a copy is included in the LICENSE file that
159 +# accompanied this code).
161 +# You should have received a copy of the GNU General Public License version
162 +# 2 along with this work; if not, write to the Free Software Foundation,
163 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
165 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
166 +# or visit www.oracle.com if you need additional information or have any
169 +# List of JVMs that can be used as an option to java, javac, etc.
170 +# Order is important -- first in this list is the default JVM.
171 +# NOTE that this both this file and its format are UNSUPPORTED and
172 +# WILL GO AWAY in a future release.
174 +# You may also select a JVM in an arbitrary location with the
175 +# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
176 +# and may not be available in a future release.