/hg/release/icedtea7-forest-2.4/jdk: PR1713: Support AArch64 Port

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue Mar 18 17:34:13 UTC 2014


changeset 1e3bd243269a in /hg/release/icedtea7-forest-2.4/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1e3bd243269a
author: aph
date: Tue Mar 18 17:10:07 2014 +0000

	PR1713: Support AArch64 Port
	Summary: CFLAGS_REQUIRED and build system changes for AArch64 port.


diffstat:

 make/common/Defs-linux.gmk          |   9 +++----
 make/java/main/java/mapfile-aarch64 |  39 +++++++++++++++++++++++++++++++++++++
 make/javax/sound/SoundDefs.gmk      |  28 +++++++------------------
 src/solaris/bin/aarch64/jvm.cfg     |  36 ++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 25 deletions(-)

diffs (169 lines):

diff -r cf842ff5dba2 -r 1e3bd243269a make/common/Defs-linux.gmk
--- a/make/common/Defs-linux.gmk	Mon Mar 17 16:37:23 2014 +0000
+++ b/make/common/Defs-linux.gmk	Tue Mar 18 17:10:07 2014 +0000
@@ -188,26 +188,25 @@
 #    We need this frame pointer to make it easy to walk the stacks.
 #    This should be the default on X86, but ia64 and amd64 may not have this
 #    as the default.
+CFLAGS_REQUIRED_aarch64 += -fno-omit-frame-pointer -fsigned-char -D_LITTLE_ENDIAN
 CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
 CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
+CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN -fsigned-char -D_LITTLE_ENDIAN
 CFLAGS_REQUIRED_hppa    +=
 CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
 CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
 CFLAGS_REQUIRED_m68k    +=
 CFLAGS_REQUIRED_mips    +=
 CFLAGS_REQUIRED_mipsel  += -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -m32
+CFLAGS_REQUIRED_ppc     += -m32 -fsigned-char -D_BIG_ENDIAN
 CFLAGS_REQUIRED_ppc64   += -m64
 CFLAGS_REQUIRED_s390    +=
 CFLAGS_REQUIRED_s390x   += -m64
+CFLAGS_REQUIRED_sh      += -mieee
 CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
 LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
 CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
 LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
-CFLAGS_REQUIRED_sh      += -mieee
 ifeq ($(ZERO_BUILD), true)
   CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
   ifeq ($(ZERO_ENDIANNESS), little)
diff -r cf842ff5dba2 -r 1e3bd243269a make/java/main/java/mapfile-aarch64
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/java/main/java/mapfile-aarch64	Tue Mar 18 17:10:07 2014 +0000
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+#
+# Specify what global symbols we export.  Note that we're not really
+# interested in declaring a version, simply scoping the file is sufficient.
+#
+
+SUNWprivate_1.1 {
+	global:
+		main;		# Provides basic adb symbol offsets
+		environ;	# Public symbols and required by Java run time
+		_environ;
+		__environ_lock;
+
+	local:
+		*;
+};
diff -r cf842ff5dba2 -r 1e3bd243269a make/javax/sound/SoundDefs.gmk
--- a/make/javax/sound/SoundDefs.gmk	Mon Mar 17 16:37:23 2014 +0000
+++ b/make/javax/sound/SoundDefs.gmk	Tue Mar 18 17:10:07 2014 +0000
@@ -62,6 +62,10 @@
 ifeq ($(ZERO_BUILD), true)
   CPPFLAGS += -DX_ARCH=X_ZERO
 else
+  ifeq ($(ARCH), aarch64)
+    CPPFLAGS += -DX_ARCH=X_AARCH64
+  endif # ARCH amd64
+
   ifeq ($(ARCH), alpha)
     CPPFLAGS += -DX_ARCH=X_ALPHA
   endif # ARCH alpha
@@ -110,6 +114,10 @@
     CPPFLAGS += -DX_ARCH=X_S390X
   endif # ARCH s390x
 
+  ifeq ($(ARCH), sh)
+    CPPFLAGS += -DX_ARCH=X_SH
+  endif # ARCH Renesas SuperH(sh)
+
   ifeq ($(ARCH), sparc)
     CPPFLAGS += -DX_ARCH=X_SPARC
   endif # ARCH sparc
@@ -118,26 +126,6 @@
     CPPFLAGS += -DX_ARCH=X_SPARCV9
   endif # ARCH sparcv9
 
-  ifeq ($(ARCH), aarch64)
-    CPPFLAGS += -DX_ARCH=X_AARCH64
-  endif # ARCH aarch64
-
-  ifeq ($(ARCH), amd64)
-    CPPFLAGS += -DX_ARCH=X_AMD64
-  endif # ARCH amd64
-
-  ifeq ($(ARCH), arm)
-    CPPFLAGS += -DX_ARCH=X_ARM
-  endif # ARCH arm
-
-  ifeq ($(ARCH), ppc)
-    CPPFLAGS += -DX_ARCH=X_PPC
-  endif # ARCH ppc
-
-  ifeq ($(ARCH), sh)
-    CPPFLAGS += -DX_ARCH=X_SH
-  endif # ARCH Renesas SuperH(sh)
-
 endif
 
 
diff -r cf842ff5dba2 -r 1e3bd243269a src/solaris/bin/aarch64/jvm.cfg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/bin/aarch64/jvm.cfg	Tue Mar 18 17:10:07 2014 +0000
@@ -0,0 +1,36 @@
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+# and may not be available in a future release.
+#
+# n.b. server must be first so it is used as the default
+-server KNOWN
+-client ALIASED_TO -server
+-minimal ERROR


More information about the distro-pkg-dev mailing list