# HG changeset patch # User simonis # Date 1372811920 25200 # Node ID 28bea2d65a18ab23a53efb2dbfb2aebe00a6133a # Parent ea73f01b9053e7165e7ba80f242bafecbc6af712 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Summary: Enable new build on Linux/PPC64 Reviewed-by: erikj diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/CompileLaunchers.gmk --- a/jdk/makefiles/CompileLaunchers.gmk Wed Jul 05 19:01:32 2017 +0200 +++ b/jdk/makefiles/CompileLaunchers.gmk Tue Jul 02 17:38:40 2013 -0700 @@ -23,7 +23,7 @@ # questions. # -defalt: all +default: all include $(SPEC) include MakeBase.gmk @@ -128,10 +128,21 @@ $1_CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKEXE)) endif - ifneq ($(wildcard $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU)),) - $1_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU) + # The linker on older SuSE distros (e.g. on SLES 10) complains with: + # "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." + # if feeded with a version script which contains named tags. + ifeq ($(USING_BROKEN_SUSE_LD),yes) + ifneq ($(wildcard $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU).anonymous),) + $1_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU).anonymous + else + $1_MAPFILE:= + endif else - $1_MAPFILE:= + ifneq ($(wildcard $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU)),) + $1_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(OPENJDK_TARGET_CPU) + else + $1_MAPFILE:= + endif endif $(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\ @@ -448,6 +459,16 @@ EXE_OUT_OPTION_save:=$(EXE_OUT_OPTION) EXE_OUT_OPTION:=-Fe endif + +# The linker on older SuSE distros (e.g. on SLES 10) complains with: +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." +# if feeded with a version script which contains named tags. +ifeq ($(USING_BROKEN_SUSE_LD),yes) + UNPACK_MAPFILE=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200.anonymous +else + UNPACK_MAPFILE=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200 +endif + $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\ SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\ EXCLUDE_FILES:=jni.cpp,\ @@ -459,7 +480,7 @@ CFLAGS_linux:=-fPIC,\ CFLAGS_solaris:=-KPIC, \ CFLAGS_macosx:=-fPIC, \ - MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ + MAPFILE:=$(UNPACK_MAPFILE),\ LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ LDFLAGS_windows:=$(CXXFLAGS_JDKEXE),\ LDFLAGS_posix:=$(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \ diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/CompileNativeLibraries.gmk --- a/jdk/makefiles/CompileNativeLibraries.gmk Wed Jul 05 19:01:32 2017 +0200 +++ b/jdk/makefiles/CompileNativeLibraries.gmk Tue Jul 02 17:38:40 2013 -0700 @@ -23,7 +23,7 @@ # questions. # -defalt: all +default: all include $(SPEC) include MakeBase.gmk @@ -2478,11 +2478,14 @@ -framework Cocoa \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation -else ifneq ($(OPENJDK_TARGET_OS), windows) +else ifeq ($(OPENJDK_TARGET_OS), windows) + LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll +else ifeq ($(OPENJDK_TARGET_OS), solaris) + # Solaris still uses OPENWIN_LIB .. LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread -else # OPENJDK_TARGET_OS - LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll -endif # OPENJDK_TARGET_OS +else # .. all other Unixes can use X_LIBS + LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread +endif $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\ LIBRARY:=splashscreen,\ @@ -2862,6 +2865,10 @@ ifeq ($(OPENJDK_TARGET_CPU), ppc) LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC endif + + ifeq ($(OPENJDK_TARGET_CPU), ppc64) + LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64 + endif endif LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/mapfiles/launchers/mapfile-ppc64 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/makefiles/mapfiles/launchers/mapfile-ppc64 Tue Jul 02 17:38:40 2013 -0700 @@ -0,0 +1,39 @@ +# +# Copyright (c) 2004, 2012, 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 ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/mapfiles/launchers/mapfile-ppc64.anonymous --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/makefiles/mapfiles/launchers/mapfile-ppc64.anonymous Tue Jul 02 17:38:40 2013 -0700 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2004, 2012, 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. +# +# +# Define anonymous library interface (i.e. without a version tag) for broken SuSE ld because +# the linker on older SuSE distros (e.g. on SLES 10) complains with: +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." +# if feeded with a version script which contains named tags. + +{ + global: + main; # Provides basic adb symbol offsets + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; + + local: + *; +}; diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/mapfiles/launchers/mapfile-x86.anonymous --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/makefiles/mapfiles/launchers/mapfile-x86.anonymous Tue Jul 02 17:38:40 2013 -0700 @@ -0,0 +1,49 @@ +# +# Copyright (c) 2004, 2012, 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. +# +# +# Define anonymous library interface (i.e. without a version tag) for broken SuSE ld because +# the linker on older SuSE distros (e.g. on SLES 10) complains with: +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." +# if feeded with a version script which contains named tags. + +{ + global: + main; # Provides basic adb symbol offsets + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; + ___Argv; # The following are private, but as they are + _start; # exported from ctr1/crtn, the clever hacker + _init; # might know about them. However note, that + _fini; # their use is strictly not supported. + _lib_version; +# _mcount; + __fsr; + __fsr_init_value; + __longdouble_used; + + local: + *; +}; diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/mapfiles/launchers/mapfile-x86_64.anonymous --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/makefiles/mapfiles/launchers/mapfile-x86_64.anonymous Tue Jul 02 17:38:40 2013 -0700 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2004, 2012, 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. +# +# +# Define anonymous library interface (i.e. without a version tag) for broken SuSE ld because +# the linker on older SuSE distros (e.g. on SLES 10) complains with: +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." +# if feeded with a version script which contains named tags. + +{ + global: + main; # Provides basic adb symbol offsets + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; + + local: + *; +}; diff -r ea73f01b9053 -r 28bea2d65a18 jdk/makefiles/mapfiles/libunpack/mapfile-vers-unpack200.anonymous --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/makefiles/mapfiles/libunpack/mapfile-vers-unpack200.anonymous Tue Jul 02 17:38:40 2013 -0700 @@ -0,0 +1,34 @@ +# +# Copyright (c) 2011, 2012, 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. +# + +# Define anonymous library interface (i.e. without a version tag) for broken SuSE ld because +# the linker on older SuSE distros (e.g. on SLES 10) complains with: +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." +# if feeded with a version script which contains named tags. + +{ + local: + *; +}; diff -r ea73f01b9053 -r 28bea2d65a18 jdk/src/solaris/bin/ppc64/jvm.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/solaris/bin/ppc64/jvm.cfg Tue Jul 02 17:38:40 2013 -0700 @@ -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=" option, but that too is unsupported +# and may not be available in a future release. +# +-server KNOWN