Mercurial > hg > release > icedtea7-forest-2.5 > jdk
changeset 7257:57d6eb834154
Initial PPC-Port checkin
With this change the JDK repository should build on Linux/PPC with a IBM JDK7 boot JDK.
- change some mapfiles to use use the anonymous name space to avoid problems with old SuSE linkers
- intruduce special environment variable "FT_CFLAGS" for the freetype sanity check.
- introduced new ppc64 configuration in make/common/Defs-linux.gmk
- define ppc64 for the sound build
Compiled with the following command lines:
debug build:
------------
make FT_CFLAGS=-m64 LANG=C ALT_BOOTDIR=/sapmnt/depot/tools/gen/linuxppc64/licenseware/jse/1.7.0 ALT_OUTPUTDIR=/priv/d046063/OpenJDK/output_ppc-aix_jdk_dbg ARCH_DATA_MODEL=64 HOTSPOT_BUILD_JOBS=8 PARALLEL_COMPILE_JOBS=8 ALT_FREETYPE_LIB_PATH=/usr/local/lib ALT_FREETYPE_HEADERS_PATH=/usr/local/include ANT_HOME=/usr/local/apache-ant-1.8.4 ANT_ARGS=-autoproxy IDLJ=$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar com.sun.tools.corba.se.idl.toJavaPortable.Compile RMIC=$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar sun.rmi.rmic.Main VERBOSE=true HOTSPOT_TARGET=all_debugcore CC_INTERP=true OPENJDK=true CORE_BUILD=true debug_build 2>&1 | tee /priv/d046063/OpenJDK/output_ppc-aix_jdk_dbg.log
product build:
--------------
make FT_CFLAGS=-m64 LANG=C ALT_BOOTDIR=/sapmnt/depot/tools/gen/linuxppc64/licenseware/jse/1.7.0 ALT_OUTPUTDIR=/priv/d046063/OpenJDK/output_ppc-aix_jdk_opt ARCH_DATA_MODEL=64 HOTSPOT_BUILD_JOBS=8 PARALLEL_COMPILE_JOBS=8 ALT_FREETYPE_LIB_PATH=/usr/local/lib ALT_FREETYPE_HEADERS_PATH=/usr/local/include ANT_HOME=/usr/local/apache-ant-1.8.4 ANT_ARGS=-autoproxy IDLJ=$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar com.sun.tools.corba.se.idl.toJavaPortable.Compile RMIC=$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar sun.rmi.rmic.Main VERBOSE=true HOTSPOT_TARGET=all_productcore CC_INTERP=true OPENJDK=true CORE_BUILD=true product_build 2>&1 | tee /priv/d046063/OpenJDK/output_ppc-aix_jdk_opt.log
author | simonis |
---|---|
date | Fri, 22 Jun 2012 15:53:27 +0200 |
parents | aa49fe749096 |
children | ef2483557937 |
files | make/com/sun/java/pack/mapfile-vers make/com/sun/java/pack/mapfile-vers-unpack200 make/common/Defs-linux.gmk make/java/main/java/mapfile-ppc64 make/javax/sound/SoundDefs.gmk make/tools/freetypecheck/Makefile src/solaris/bin/ppc64/jvm.cfg |
diffstat | 7 files changed, 103 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/make/com/sun/java/pack/mapfile-vers Fri Jun 01 11:46:14 2012 -0700 +++ b/make/com/sun/java/pack/mapfile-vers Fri Jun 22 15:53:27 2012 +0200 @@ -26,7 +26,12 @@ # Define library interface. -SUNWprivate_1.1 { +# On older SuSE releases the linker will complain about: +# Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable +# So we better completely omit the version for now. +# + +{ global: Java_com_sun_java_util_jar_pack_NativeUnpack_finish; Java_com_sun_java_util_jar_pack_NativeUnpack_getNextFile;
--- a/make/com/sun/java/pack/mapfile-vers-unpack200 Fri Jun 01 11:46:14 2012 -0700 +++ b/make/com/sun/java/pack/mapfile-vers-unpack200 Fri Jun 22 15:53:27 2012 +0200 @@ -25,7 +25,12 @@ # Define library interface. -SUNWprivate_1.1 { +# On older SuSE releases the linker will complain about: +# Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable +# So we better completely omit the version for now. +# + +{ local: *; };
--- a/make/common/Defs-linux.gmk Fri Jun 01 11:46:14 2012 -0700 +++ b/make/common/Defs-linux.gmk Fri Jun 22 15:53:27 2012 +0200 @@ -200,6 +200,8 @@ LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN +CFLAGS_REQUIRED_ppc64 += -m64 +LDFLAGS_COMMON_ppc64 += -m64 -L/lib64 -Wl,-melf64ppc ifeq ($(ZERO_BUILD), true) CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) ifeq ($(ZERO_ENDIANNESS), little) @@ -429,7 +431,7 @@ override LIBDL = -ldl override MOOT_PRIORITIES = true override NO_INTERRUPTIBLE_IO = true -ifeq ($(ARCH), amd64) +ifeq ($(ARCH), $(findstring $(ARCH), amd64 ppc64)) override OPENWIN_LIB = $(OPENWIN_HOME)/lib64 else override OPENWIN_LIB = $(OPENWIN_HOME)/lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/java/main/java/mapfile-ppc64 Fri Jun 22 15:53:27 2012 +0200 @@ -0,0 +1,43 @@ +# +# 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. +# +# On older SuSE releases the linker will complain about: +# Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable +# So we better completely omit the version for now. +# + +{ + global: + main; # Provides basic adb symbol offsets + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; + + local: + *; +};
--- a/make/javax/sound/SoundDefs.gmk Fri Jun 01 11:46:14 2012 -0700 +++ b/make/javax/sound/SoundDefs.gmk Fri Jun 22 15:53:27 2012 +0200 @@ -86,6 +86,10 @@ CPPFLAGS += -DX_ARCH=X_PPC endif # ARCH ppc + ifeq ($(ARCH), ppc64) + CPPFLAGS += -DX_ARCH=X_PPC + endif # ARCH ppc64 + endif
--- a/make/tools/freetypecheck/Makefile Fri Jun 01 11:46:14 2012 -0700 +++ b/make/tools/freetypecheck/Makefile Fri Jun 22 15:53:27 2012 +0200 @@ -35,7 +35,7 @@ # Used on openjdk only ifeq ($(OPENJDK),true) -# Start with CFLAGS (which gets us the required -xarch setting on solaris) +# Start with FT_CFLAGS (which gets us the required -xarch setting on solaris) ifeq ($(PLATFORM), windows) FT_OPTIONS = /nologo /c FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype.dll @@ -44,7 +44,7 @@ FT_LD_OPTIONS += /manifest endif else - FT_OPTIONS = $(CFLAGS) + FT_OPTIONS = $(FT_CFLAGS) FT_LD_OPTIONS = -L$(FREETYPE_LIB_PATH) # Add runtime lib search path to ensure test will be runnable ifeq ($(PLATFORM), solaris) @@ -68,10 +68,10 @@ # On windows we need to copy dll to test dir to ensure it will be found # at runtime -$(FT_TEST): freetypecheck.c +$(FT_TEST): FRC $(prep-target) ifeq ($(PLATFORM), windows) - $(CC) $(FT_OPTIONS) $(CC_OBJECT_OUTPUT_FLAG)$(FT_OBJ) $< + $(CC) $(FT_OPTIONS) $(CC_OBJECT_OUTPUT_FLAG)$(FT_OBJ) freetypecheck.c $(LINK) $(FT_LD_OPTIONS) /OUT:$(FT_TEST) $(FT_OBJ) $(CP) $(FREETYPE_DLL) $(@D)/ ifdef MT @@ -79,7 +79,7 @@ $(MT) /manifest $(FT_TEST).manifest /outputresource:$(FT_TEST);#1 endif else - @$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS) + $(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ freetypecheck.c $(FT_LD_OPTIONS) endif else @@ -93,3 +93,6 @@ clean:: $(RM) $(FT_TEST) +# Force rule +FRC: +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/solaris/bin/ppc64/jvm.cfg Fri Jun 22 15:53:27 2012 +0200 @@ -0,0 +1,33 @@ +# 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. +# +-server KNOWN