diff --git a/jdk/make/launcher/Launcher-jdk.pack200.gmk b/jdk/make/launcher/Launcher-jdk.pack200.gmk index affdbdb26eb..dbc135bc76d 100644 --- a/jdk/make/launcher/Launcher-jdk.pack200.gmk +++ b/jdk/make/launcher/Launcher-jdk.pack200.gmk @@ -61,13 +61,19 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) UNPACKEXE_LANG := C++ endif +UNPACK_MAPFILE_DIR := $(JDK_TOPDIR)/make/mapfiles/libunpack +UNPACK_MAPFILE_PLATFORM_FILE := \ + $(UNPACK_MAPFILE_DIR)/mapfile-vers-unpack200-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH) + # 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)/make/mapfiles/libunpack/mapfile-vers-unpack200.anonymous + UNPACK_MAPFILE := $(UNPACK_MAPFILE_DIR)/mapfile-vers-unpack200.anonymous +else ifneq ($(wildcard $(UNPACK_MAPFILE_PLATFORM_FILE)), ) + UNPACK_MAPFILE := $(UNPACK_MAPFILE_PLATFORM_FILE) else - UNPACK_MAPFILE = $(JDK_TOPDIR)/make/mapfiles/libunpack/mapfile-vers-unpack200 + UNPACK_MAPFILE := $(UNPACK_MAPFILE_DIR)/mapfile-vers-unpack200 endif $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE, \ diff --git a/jdk/make/mapfiles/launchers/mapfile-x86_64 b/jdk/make/mapfiles/launchers/mapfile-x86_64 index 61c2d1cc3f2..5700d67f2a0 100644 --- a/jdk/make/mapfiles/launchers/mapfile-x86_64 +++ b/jdk/make/mapfiles/launchers/mapfile-x86_64 @@ -34,6 +34,14 @@ SUNWprivate_1.1 { _environ; __environ_lock; + # These are needed by the c runtime in SS12u4 + ___Argv; + __xargv; + __xargc; + _start; + __longdouble_used; + _lib_version; + local: *; }; diff --git a/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-sparc b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-sparc new file mode 100644 index 00000000000..63f2a41a478 --- /dev/null +++ b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-sparc @@ -0,0 +1,41 @@ +# +# Copyright (c) 2011, 2013, 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 library interface. + +SUNWprivate_1.1 { + global: + # These are needed by the c runtime in SS12u4 + _environ; + __environ_lock; + ___Argv; + __xargv; + __xargc; + _start; + _lib_version; + + local: + *; +}; diff --git a/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-x86 b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-x86 new file mode 100644 index 00000000000..60220b18ad3 --- /dev/null +++ b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200-solaris-x86 @@ -0,0 +1,42 @@ +# +# Copyright (c) 2011, 2013, 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 library interface. + +SUNWprivate_1.1 { + global: + # These are needed by the c runtime in SS12u4 + _environ; + __environ_lock; + ___Argv; + __xargv; + __xargc; + _start; + __longdouble_used; + _lib_version; + + local: + *; +};