8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles

Fri, 06 Sep 2013 20:08:29 +0200

author
simonis
date
Fri, 06 Sep 2013 20:08:29 +0200
changeset 6464
b83f7d608548
parent 6463
7687c56b6693
child 6465
666e6ce3976c

8023034: PPC64 (part 14): Implement AIX/PPC64 support in HotSpot makefiles
Reviewed-by: kvn

make/aix/Makefile file | annotate | diff | comparison | revisions
make/aix/adlc_updater file | annotate | diff | comparison | revisions
make/aix/makefiles/adjust-mflags.sh file | annotate | diff | comparison | revisions
make/aix/makefiles/adlc.make file | annotate | diff | comparison | revisions
make/aix/makefiles/build_vm_def.sh file | annotate | diff | comparison | revisions
make/aix/makefiles/buildtree.make file | annotate | diff | comparison | revisions
make/aix/makefiles/compiler2.make file | annotate | diff | comparison | revisions
make/aix/makefiles/core.make file | annotate | diff | comparison | revisions
make/aix/makefiles/debug.make file | annotate | diff | comparison | revisions
make/aix/makefiles/defs.make file | annotate | diff | comparison | revisions
make/aix/makefiles/dtrace.make file | annotate | diff | comparison | revisions
make/aix/makefiles/fastdebug.make file | annotate | diff | comparison | revisions
make/aix/makefiles/jsig.make file | annotate | diff | comparison | revisions
make/aix/makefiles/jvmti.make file | annotate | diff | comparison | revisions
make/aix/makefiles/mapfile-vers-debug file | annotate | diff | comparison | revisions
make/aix/makefiles/mapfile-vers-jsig file | annotate | diff | comparison | revisions
make/aix/makefiles/mapfile-vers-product file | annotate | diff | comparison | revisions
make/aix/makefiles/ppc64.make file | annotate | diff | comparison | revisions
make/aix/makefiles/product.make file | annotate | diff | comparison | revisions
make/aix/makefiles/rules.make file | annotate | diff | comparison | revisions
make/aix/makefiles/sa.make file | annotate | diff | comparison | revisions
make/aix/makefiles/saproc.make file | annotate | diff | comparison | revisions
make/aix/makefiles/top.make file | annotate | diff | comparison | revisions
make/aix/makefiles/trace.make file | annotate | diff | comparison | revisions
make/aix/makefiles/vm.make file | annotate | diff | comparison | revisions
make/aix/makefiles/xlc.make file | annotate | diff | comparison | revisions
make/aix/platform_ppc64 file | annotate | diff | comparison | revisions
make/defs.make file | annotate | diff | comparison | revisions
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/make/aix/Makefile	Fri Sep 06 20:08:29 2013 +0200
     1.3 @@ -0,0 +1,377 @@
     1.4 +#
     1.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     1.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
     1.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8 +#
     1.9 +# This code is free software; you can redistribute it and/or modify it
    1.10 +# under the terms of the GNU General Public License version 2 only, as
    1.11 +# published by the Free Software Foundation.
    1.12 +#
    1.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    1.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.16 +# version 2 for more details (a copy is included in the LICENSE file that
    1.17 +# accompanied this code).
    1.18 +#
    1.19 +# You should have received a copy of the GNU General Public License version
    1.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    1.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.22 +#
    1.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    1.24 +# or visit www.oracle.com if you need additional information or have any
    1.25 +# questions.
    1.26 +#
    1.27 +#
    1.28 +
    1.29 +# This makefile creates a build tree and lights off a build.
    1.30 +# You can go back into the build tree and perform rebuilds or
    1.31 +# incremental builds as desired. Be sure to reestablish
    1.32 +# environment variable settings for LD_LIBRARY_PATH and JAVA_HOME.
    1.33 +
    1.34 +# The make process now relies on java and javac. These can be
    1.35 +# specified either implicitly on the PATH, by setting the
    1.36 +# (JDK-inherited) ALT_BOOTDIR environment variable to full path to a
    1.37 +# JDK in which bin/java and bin/javac are present and working (e.g.,
    1.38 +# /usr/local/java/jdk1.3/solaris), or via the (JDK-inherited)
    1.39 +# default BOOTDIR path value. Note that one of ALT_BOOTDIR
    1.40 +# or BOOTDIR has to be set. We do *not* search javac, javah, rmic etc.
    1.41 +# from the PATH.
    1.42 +#
    1.43 +# One can set ALT_BOOTDIR or BOOTDIR to point to a jdk that runs on
    1.44 +# an architecture that differs from the target architecture, as long
    1.45 +# as the bootstrap jdk runs under the same flavor of OS as the target
    1.46 +# (i.e., if the target is linux, point to a jdk that runs on a linux
    1.47 +# box).  In order to use such a bootstrap jdk, set the make variable
    1.48 +# REMOTE to the desired remote command mechanism, e.g.,
    1.49 +#
    1.50 +#    make REMOTE="rsh -l me myotherlinuxbox"
    1.51 +
    1.52 +# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
    1.53 +# JDI binding on SA produces two binaries:
    1.54 +#  1. sa-jdi.jar       - This is built before building libjvm.so
    1.55 +#                        Please refer to ./makefiles/sa.make
    1.56 +#  2. libsa.so         - Native library for SA - This is built after
    1.57 +#                        libjsig.so (signal interposition library)
    1.58 +#                        Please refer to ./makefiles/vm.make
    1.59 +# If $(GAMMADIR)/agent dir is not present, SA components are not built.
    1.60 +
    1.61 +# No tests on Aix.
    1.62 +TEST_IN_BUILD=false
    1.63 +
    1.64 +ifeq ($(GAMMADIR),)
    1.65 +include ../../make/defs.make
    1.66 +else
    1.67 +include $(GAMMADIR)/make/defs.make
    1.68 +endif
    1.69 +include $(GAMMADIR)/make/$(OSNAME)/makefiles/rules.make
    1.70 +
    1.71 +ifndef CC_INTERP
    1.72 +  ifndef FORCE_TIERED
    1.73 +    FORCE_TIERED=1
    1.74 +  endif
    1.75 +endif
    1.76 +
    1.77 +ifdef LP64
    1.78 +  ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
    1.79 +    _JUNK_ := $(shell echo >&2 \
    1.80 +       $(OSNAME) $(ARCH) "*** ERROR: this platform does not support 64-bit compilers!")
    1.81 +	@exit 1
    1.82 +  endif
    1.83 +endif
    1.84 +
    1.85 +# we need to set up LP64 correctly to satisfy sanity checks in adlc
    1.86 +ifneq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
    1.87 +  MFLAGS += " LP64=1 "
    1.88 +endif
    1.89 +
    1.90 +# pass USE_SUNCC further, through MFLAGS
    1.91 +ifdef USE_SUNCC
    1.92 +  MFLAGS += " USE_SUNCC=1 "
    1.93 +endif
    1.94 +
    1.95 +# The following renders pathnames in generated Makefiles valid on
    1.96 +# machines other than the machine containing the build tree.
    1.97 +#
    1.98 +# For example, let's say my build tree lives on /files12 on
    1.99 +# exact.east.sun.com.  This logic will cause GAMMADIR to begin with
   1.100 +# /net/exact/files12/...
   1.101 +#
   1.102 +# We only do this on SunOS variants, for a couple of reasons:
   1.103 +#  * It is extremely rare that source trees exist on other systems
   1.104 +#  * It has been claimed that the Linux automounter is flakey, so
   1.105 +#    changing GAMMADIR in a way that exercises the automounter could
   1.106 +#    prove to be a source of unreliability in the build process.
   1.107 +# Obviously, this Makefile is only relevant on SunOS boxes to begin
   1.108 +# with, but the SunOS conditionalization will make it easier to
   1.109 +# combine Makefiles in the future (assuming we ever do that).
   1.110 +
   1.111 +ifeq ($(OSNAME),solaris)
   1.112 +
   1.113 +  #   prepend current directory to relative pathnames.
   1.114 +  NEW_GAMMADIR :=                                    \
   1.115 +    $(shell echo $(GAMMADIR) |                       \
   1.116 +      sed -e "s=^\([^/].*\)=$(shell pwd)/\1="        \
   1.117 +     )
   1.118 +  unexport NEW_GAMMADIR
   1.119 +
   1.120 +  # If NEW_GAMMADIR doesn't already start with "/net/":
   1.121 +  ifeq ($(strip $(filter /net/%,$(NEW_GAMMADIR))),)
   1.122 +    #   prepend /net/$(HOST)
   1.123 +    #   remove /net/$(HOST) if name already began with /home/
   1.124 +    #   remove /net/$(HOST) if name already began with /java/
   1.125 +    #   remove /net/$(HOST) if name already began with /lab/
   1.126 +    NEW_GAMMADIR :=                                     \
   1.127 +         $(shell echo $(NEW_GAMMADIR) |                 \
   1.128 +                 sed -e "s=^\(.*\)=/net/$(HOST)\1="     \
   1.129 +                     -e "s=^/net/$(HOST)/home/=/home/=" \
   1.130 +                     -e "s=^/net/$(HOST)/java/=/java/=" \
   1.131 +                     -e "s=^/net/$(HOST)/lab/=/lab/="   \
   1.132 +          )
   1.133 +    # Don't use the new value for GAMMADIR unless a file with the new
   1.134 +    # name actually exists.
   1.135 +    ifneq ($(wildcard $(NEW_GAMMADIR)),)
   1.136 +      GAMMADIR := $(NEW_GAMMADIR)
   1.137 +    endif
   1.138 +  endif
   1.139 +
   1.140 +endif
   1.141 +
   1.142 +# BUILDARCH is set to "zero" for Zero builds.  VARIANTARCH
   1.143 +# is used to give the build directories meaningful names.
   1.144 +VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
   1.145 +
   1.146 +# There is a (semi-) regular correspondence between make targets and actions:
   1.147 +#
   1.148 +#       Target          Tree Type       Build Dir
   1.149 +#
   1.150 +#       debug           compiler2       <os>_<arch>_compiler2/debug
   1.151 +#       fastdebug       compiler2       <os>_<arch>_compiler2/fastdebug
   1.152 +#       optimized       compiler2       <os>_<arch>_compiler2/optimized
   1.153 +#       product         compiler2       <os>_<arch>_compiler2/product
   1.154 +#
   1.155 +#       debug1          compiler1       <os>_<arch>_compiler1/debug
   1.156 +#       fastdebug1      compiler1       <os>_<arch>_compiler1/fastdebug
   1.157 +#       optimized1      compiler1       <os>_<arch>_compiler1/optimized
   1.158 +#       product1        compiler1       <os>_<arch>_compiler1/product
   1.159 +#
   1.160 +#       debugcore       core            <os>_<arch>_core/debug
   1.161 +#       fastdebugcore   core            <os>_<arch>_core/fastdebug
   1.162 +#       optimizedcore   core            <os>_<arch>_core/optimized
   1.163 +#       productcore     core            <os>_<arch>_core/product
   1.164 +#
   1.165 +#       debugzero       zero            <os>_<arch>_zero/debug
   1.166 +#       fastdebugzero   zero            <os>_<arch>_zero/fastdebug
   1.167 +#       optimizedzero   zero            <os>_<arch>_zero/optimized
   1.168 +#       productzero     zero            <os>_<arch>_zero/product
   1.169 +#
   1.170 +#       debugshark      shark           <os>_<arch>_shark/debug
   1.171 +#       fastdebugshark  shark           <os>_<arch>_shark/fastdebug
   1.172 +#       optimizedshark  shark           <os>_<arch>_shark/optimized
   1.173 +#       productshark    shark           <os>_<arch>_shark/product
   1.174 +#
   1.175 +#       fastdebugminimal1 minimal1      <os>_<arch>_minimal1/fastdebug
   1.176 +#       productminimal1   minimal1      <os>_<arch>_minimal1/product
   1.177 +#
   1.178 +# What you get with each target:
   1.179 +#
   1.180 +# debug*     - debug compile with asserts enabled
   1.181 +# fastdebug* - optimized compile, but with asserts enabled
   1.182 +# optimized* - optimized compile, no asserts
   1.183 +# product*   - the shippable thing:  optimized compile, no asserts, -DPRODUCT
   1.184 +
   1.185 +# This target list needs to be coordinated with the usage message
   1.186 +# in the build.sh script:
   1.187 +TARGETS           = debug fastdebug optimized product
   1.188 +
   1.189 +ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
   1.190 +  SUBDIR_DOCS     = $(OSNAME)_$(VARIANTARCH)_docs
   1.191 +else
   1.192 +  SUBDIR_DOCS     = $(OSNAME)_$(BUILDARCH)_docs
   1.193 +endif
   1.194 +SUBDIRS_C1        = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler1/,$(TARGETS))
   1.195 +SUBDIRS_C2        = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
   1.196 +SUBDIRS_TIERED    = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
   1.197 +SUBDIRS_CORE      = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
   1.198 +SUBDIRS_ZERO      = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
   1.199 +SUBDIRS_SHARK     = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
   1.200 +SUBDIRS_MINIMAL1  = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
   1.201 +
   1.202 +TARGETS_C2        = $(TARGETS)
   1.203 +TARGETS_C1        = $(addsuffix 1,$(TARGETS))
   1.204 +TARGETS_TIERED    = $(addsuffix tiered,$(TARGETS))
   1.205 +TARGETS_CORE      = $(addsuffix core,$(TARGETS))
   1.206 +TARGETS_ZERO      = $(addsuffix zero,$(TARGETS))
   1.207 +TARGETS_SHARK     = $(addsuffix shark,$(TARGETS))
   1.208 +TARGETS_MINIMAL1 =  $(addsuffix minimal1,$(TARGETS))
   1.209 +
   1.210 +BUILDTREE_MAKE    = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
   1.211 +BUILDTREE_VARS    = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
   1.212 +BUILDTREE_VARS   += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
   1.213 +BUILDTREE_VARS   += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
   1.214 +
   1.215 +BUILDTREE         = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
   1.216 +
   1.217 +#-------------------------------------------------------------------------------
   1.218 +
   1.219 +# Could make everything by default, but that would take a while.
   1.220 +all:
   1.221 +	@echo "Try '$(MAKE) <target> ...'  where <target> is one or more of"
   1.222 +	@echo "  $(TARGETS_C2)"
   1.223 +	@echo "  $(TARGETS_C1)"
   1.224 +	@echo "  $(TARGETS_CORE)"
   1.225 +	@echo "  $(TARGETS_ZERO)"
   1.226 +	@echo "  $(TARGETS_SHARK)"
   1.227 +	@echo "  $(TARGETS_MINIMAL1)"
   1.228 +
   1.229 +checks: check_os_version check_j2se_version
   1.230 +
   1.231 +# We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
   1.232 +# Solaris 2.5.1, 2.6).
   1.233 +# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
   1.234 +
   1.235 +SUPPORTED_OS_VERSION = AIX
   1.236 +OS_VERSION := $(shell uname -a)
   1.237 +EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
   1.238 +
   1.239 +check_os_version:
   1.240 +ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
   1.241 +	$(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
   1.242 +endif
   1.243 +
   1.244 +# jvmti.make requires XSLT (J2SE 1.4.x or newer):
   1.245 +XSLT_CHECK	= $(REMOTE) $(RUN.JAVAP) javax.xml.transform.TransformerFactory
   1.246 +# If not found then fail fast.
   1.247 +check_j2se_version:
   1.248 +	$(QUIETLY) $(XSLT_CHECK) > /dev/null 2>&1; \
   1.249 +	if [ $$? -ne 0 ]; then \
   1.250 +	  $(REMOTE) $(RUN.JAVA) -version; \
   1.251 +	  echo "*** An XSLT processor (J2SE 1.4.x or newer) is required" \
   1.252 +	  "to bootstrap this build" 1>&2; \
   1.253 +	  exit 1; \
   1.254 +	fi
   1.255 +
   1.256 +$(SUBDIRS_TIERED): $(BUILDTREE_MAKE)
   1.257 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.258 +	$(BUILDTREE) VARIANT=tiered
   1.259 +
   1.260 +$(SUBDIRS_C2): $(BUILDTREE_MAKE)
   1.261 +ifeq ($(FORCE_TIERED),1)
   1.262 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.263 +		$(BUILDTREE) VARIANT=tiered FORCE_TIERED=1
   1.264 +else
   1.265 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.266 +		$(BUILDTREE) VARIANT=compiler2
   1.267 +endif
   1.268 +
   1.269 +$(SUBDIRS_C1): $(BUILDTREE_MAKE)
   1.270 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.271 +	$(BUILDTREE) VARIANT=compiler1
   1.272 +
   1.273 +$(SUBDIRS_CORE): $(BUILDTREE_MAKE)
   1.274 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.275 +	$(BUILDTREE) VARIANT=core
   1.276 +
   1.277 +$(SUBDIRS_ZERO): $(BUILDTREE_MAKE) platform_zero
   1.278 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.279 +	$(BUILDTREE) VARIANT=zero VARIANTARCH=$(VARIANTARCH)
   1.280 +
   1.281 +$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
   1.282 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.283 +	$(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
   1.284 +
   1.285 +$(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
   1.286 +	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
   1.287 +	$(BUILDTREE) VARIANT=minimal1
   1.288 +
   1.289 +
   1.290 +platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
   1.291 +	$(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
   1.292 +
   1.293 +# Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
   1.294 +
   1.295 +$(TARGETS_C2):  $(SUBDIRS_C2)
   1.296 +	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
   1.297 +ifdef INSTALL
   1.298 +	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
   1.299 +endif
   1.300 +
   1.301 +$(TARGETS_TIERED):  $(SUBDIRS_TIERED)
   1.302 +	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
   1.303 +ifdef INSTALL
   1.304 +	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
   1.305 +endif
   1.306 +
   1.307 +$(TARGETS_C1):  $(SUBDIRS_C1)
   1.308 +	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
   1.309 +ifdef INSTALL
   1.310 +	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install
   1.311 +endif
   1.312 +
   1.313 +$(TARGETS_CORE):  $(SUBDIRS_CORE)
   1.314 +	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS)
   1.315 +ifdef INSTALL
   1.316 +	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
   1.317 +endif
   1.318 +
   1.319 +$(TARGETS_ZERO):  $(SUBDIRS_ZERO)
   1.320 +	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS)
   1.321 +ifdef INSTALL
   1.322 +	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install
   1.323 +endif
   1.324 +
   1.325 +$(TARGETS_SHARK):  $(SUBDIRS_SHARK)
   1.326 +	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
   1.327 +ifdef INSTALL
   1.328 +	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
   1.329 +endif
   1.330 +
   1.331 +$(TARGETS_MINIMAL1):  $(SUBDIRS_MINIMAL1)
   1.332 +	cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS)
   1.333 +ifdef INSTALL
   1.334 +	cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS) install
   1.335 +endif
   1.336 +
   1.337 +# Just build the tree, and nothing else:
   1.338 +tree:      $(SUBDIRS_C2)
   1.339 +tree1:     $(SUBDIRS_C1)
   1.340 +treecore:  $(SUBDIRS_CORE)
   1.341 +treezero:  $(SUBDIRS_ZERO)
   1.342 +treeshark: $(SUBDIRS_SHARK)
   1.343 +treeminimal1: $(SUBDIRS_MINIMAL1)
   1.344 +
   1.345 +# Doc target.  This is the same for all build options.
   1.346 +#     Hence create a docs directory beside ...$(ARCH)_[...]
   1.347 +# We specify 'BUILD_FLAVOR=product' so that the proper
   1.348 +# ENABLE_FULL_DEBUG_SYMBOLS value is used.
   1.349 +docs: checks
   1.350 +	$(QUIETLY) mkdir -p $(SUBDIR_DOCS)
   1.351 +	$(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs
   1.352 +
   1.353 +# Synonyms for win32-like targets.
   1.354 +compiler2:  debug product
   1.355 +
   1.356 +compiler1:  debug1 product1
   1.357 +
   1.358 +core: debugcore productcore
   1.359 +
   1.360 +zero: debugzero productzero
   1.361 +
   1.362 +shark: debugshark productshark
   1.363 +
   1.364 +clean_docs:
   1.365 +	rm -rf $(SUBDIR_DOCS)
   1.366 +
   1.367 +clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark clean_minimal1:
   1.368 +	rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
   1.369 +
   1.370 +clean:  clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_minimal1 clean_docs
   1.371 +
   1.372 +include $(GAMMADIR)/make/cscope.make
   1.373 +
   1.374 +#-------------------------------------------------------------------------------
   1.375 +
   1.376 +.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_MINIMAL1)
   1.377 +.PHONY: tree tree1 treecore treezero treeshark
   1.378 +.PHONY: all compiler1 compiler2 core zero shark
   1.379 +.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
   1.380 +.PHONY: checks check_os_version check_j2se_version
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/make/aix/adlc_updater	Fri Sep 06 20:08:29 2013 +0200
     2.3 @@ -0,0 +1,20 @@
     2.4 +#! /bin/sh
     2.5 +#
     2.6 +# This file is used by adlc.make to selectively update generated
     2.7 +# adlc files. Because source and target diretories are relative
     2.8 +# paths, this file is copied to the target build directory before
     2.9 +# use.
    2.10 +#
    2.11 +# adlc-updater <file> <source-dir> <target-dir>
    2.12 +#
    2.13 +fix_lines() {
    2.14 +  # repair bare #line directives in $1 to refer to $2
    2.15 +  awk < $1 > $1+ '
    2.16 +    /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next}
    2.17 +    {print}
    2.18 +  ' F2=$2
    2.19 +  mv $1+ $1
    2.20 +}
    2.21 +fix_lines $2/$1 $3/$1
    2.22 +[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
    2.23 +( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/make/aix/makefiles/adjust-mflags.sh	Fri Sep 06 20:08:29 2013 +0200
     3.3 @@ -0,0 +1,87 @@
     3.4 +#! /bin/sh
     3.5 +#
     3.6 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     3.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.8 +#
     3.9 +# This code is free software; you can redistribute it and/or modify it
    3.10 +# under the terms of the GNU General Public License version 2 only, as
    3.11 +# published by the Free Software Foundation.
    3.12 +#
    3.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    3.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    3.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    3.16 +# version 2 for more details (a copy is included in the LICENSE file that
    3.17 +# accompanied this code).
    3.18 +#
    3.19 +# You should have received a copy of the GNU General Public License version
    3.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    3.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    3.22 +#
    3.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    3.24 +# or visit www.oracle.com if you need additional information or have any
    3.25 +# questions.
    3.26 +#  
    3.27 +#
    3.28 +
    3.29 +# This script is used only from top.make.
    3.30 +# The macro $(MFLAGS-adjusted) calls this script to
    3.31 +# adjust the "-j" arguments to take into account
    3.32 +# the HOTSPOT_BUILD_JOBS variable.  The default
    3.33 +# handling of the "-j" argument by gnumake does
    3.34 +# not meet our needs, so we must adjust it ourselves.
    3.35 +
    3.36 +# This argument adjustment applies to two recursive
    3.37 +# calls to "$(MAKE) $(MFLAGS-adjusted)" in top.make.
    3.38 +# One invokes adlc.make, and the other invokes vm.make.
    3.39 +# The adjustment propagates the desired concurrency
    3.40 +# level down to the sub-make (of the adlc or vm).
    3.41 +# The default behavior of gnumake is to run all
    3.42 +# sub-makes without concurrency ("-j1").
    3.43 +
    3.44 +# Also, we use a make variable rather than an explicit
    3.45 +# "-j<N>" argument to control this setting, so that
    3.46 +# the concurrency setting (which must be tuned separately
    3.47 +# for each MP system) can be set via an environment variable.
    3.48 +# The recommended setting is 1.5x to 2x the number of available
    3.49 +# CPUs on the MP system, which is large enough to keep the CPUs
    3.50 +# busy (even though some jobs may be I/O bound) but not too large,
    3.51 +# we may presume, to overflow the system's swap space.
    3.52 +
    3.53 +set -eu
    3.54 +
    3.55 +default_build_jobs=4
    3.56 +
    3.57 +case $# in
    3.58 +[12])	true;;
    3.59 +*)	>&2 echo "Usage: $0 ${MFLAGS} ${HOTSPOT_BUILD_JOBS}"; exit 2;;
    3.60 +esac
    3.61 +
    3.62 +MFLAGS=$1
    3.63 +HOTSPOT_BUILD_JOBS=${2-}
    3.64 +
    3.65 +# Normalize any -jN argument to the form " -j${HBJ}"
    3.66 +MFLAGS=`
    3.67 +	echo "$MFLAGS" \
    3.68 +	| sed '
    3.69 +		s/^-/ -/
    3.70 +		s/ -\([^ 	][^ 	]*\)j/ -\1 -j/
    3.71 +		s/ -j[0-9][0-9]*/ -j/
    3.72 +		s/ -j\([^ 	]\)/ -j -\1/
    3.73 +		s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/
    3.74 +	' `
    3.75 +
    3.76 +case ${HOTSPOT_BUILD_JOBS} in \
    3.77 +
    3.78 +'') case ${MFLAGS} in
    3.79 +    *\ -j*)
    3.80 +	>&2 echo "# Note: -jN is ineffective for setting parallelism in this makefile." 
    3.81 +	>&2 echo "# please set HOTSPOT_BUILD_JOBS=${default_build_jobs} in the command line or environment."
    3.82 +    esac;;
    3.83 +
    3.84 +?*) case ${MFLAGS} in
    3.85 +     *\ -j*) true;;
    3.86 +     *)      MFLAGS="-j${HOTSPOT_BUILD_JOBS} ${MFLAGS}";;
    3.87 +    esac;;
    3.88 +esac
    3.89 +
    3.90 +echo "${MFLAGS}"
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/make/aix/makefiles/adlc.make	Fri Sep 06 20:08:29 2013 +0200
     4.3 @@ -0,0 +1,233 @@
     4.4 +#
     4.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     4.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4.7 +#
     4.8 +# This code is free software; you can redistribute it and/or modify it
     4.9 +# under the terms of the GNU General Public License version 2 only, as
    4.10 +# published by the Free Software Foundation.
    4.11 +#
    4.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
    4.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    4.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    4.15 +# version 2 for more details (a copy is included in the LICENSE file that
    4.16 +# accompanied this code).
    4.17 +#
    4.18 +# You should have received a copy of the GNU General Public License version
    4.19 +# 2 along with this work; if not, write to the Free Software Foundation,
    4.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    4.21 +#
    4.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    4.23 +# or visit www.oracle.com if you need additional information or have any
    4.24 +# questions.
    4.25 +#  
    4.26 +#
    4.27 +
    4.28 +# This makefile (adlc.make) is included from the adlc.make in the
    4.29 +# build directories.
    4.30 +# It knows how to compile, link, and run the adlc.
    4.31 +
    4.32 +include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/rules.make
    4.33 +
    4.34 +# #########################################################################
    4.35 +
    4.36 +# OUTDIR must be the same as AD_Dir = $(GENERATED)/adfiles in top.make:
    4.37 +GENERATED = ../generated
    4.38 +OUTDIR  = $(GENERATED)/adfiles
    4.39 +
    4.40 +ARCH = $(Platform_arch)
    4.41 +OS = $(Platform_os_family)
    4.42 +
    4.43 +SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad 
    4.44 +
    4.45 +ifeq ("${Platform_arch_model}", "${Platform_arch}")
    4.46 +  SOURCES.AD = \
    4.47 +  $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
    4.48 +  $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
    4.49 +else
    4.50 +  SOURCES.AD = \
    4.51 +  $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
    4.52 +  $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
    4.53 +  $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
    4.54 +endif
    4.55 +
    4.56 +EXEC = $(OUTDIR)/adlc
    4.57 +
    4.58 +# set VPATH so make knows where to look for source files
    4.59 +Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
    4.60 +VPATH += $(Src_Dirs_V:%=%:)
    4.61 +
    4.62 +# set INCLUDES for C preprocessor
    4.63 +Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
    4.64 +INCLUDES += $(Src_Dirs_I:%=-I%)
    4.65 +
    4.66 +# set flags for adlc compilation
    4.67 +CXXFLAGS = $(SYSDEFS) $(INCLUDES)
    4.68 +
    4.69 +# Force assertions on.
    4.70 +CXXFLAGS += -DASSERT
    4.71 +
    4.72 +# CFLAGS_WARN holds compiler options to suppress/enable warnings.
    4.73 +# Suppress warnings (for now)
    4.74 +CFLAGS_WARN = -w
    4.75 +CFLAGS += $(CFLAGS_WARN)
    4.76 +
    4.77 +OBJECTNAMES = \
    4.78 +	adlparse.o \
    4.79 +	archDesc.o \
    4.80 +	arena.o \
    4.81 +	dfa.o \
    4.82 +	dict2.o \
    4.83 +	filebuff.o \
    4.84 +	forms.o \
    4.85 +	formsopt.o \
    4.86 +	formssel.o \
    4.87 +	main.o \
    4.88 +	adlc-opcodes.o \
    4.89 +	output_c.o \
    4.90 +	output_h.o \
    4.91 +
    4.92 +OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
    4.93 +
    4.94 +GENERATEDNAMES = \
    4.95 +        ad_$(Platform_arch_model).cpp \
    4.96 +        ad_$(Platform_arch_model).hpp \
    4.97 +        ad_$(Platform_arch_model)_clone.cpp \
    4.98 +        ad_$(Platform_arch_model)_expand.cpp \
    4.99 +        ad_$(Platform_arch_model)_format.cpp \
   4.100 +        ad_$(Platform_arch_model)_gen.cpp \
   4.101 +        ad_$(Platform_arch_model)_misc.cpp \
   4.102 +        ad_$(Platform_arch_model)_peephole.cpp \
   4.103 +        ad_$(Platform_arch_model)_pipeline.cpp \
   4.104 +        adGlobals_$(Platform_arch_model).hpp \
   4.105 +        dfa_$(Platform_arch_model).cpp \
   4.106 +
   4.107 +GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
   4.108 +
   4.109 +# #########################################################################
   4.110 +
   4.111 +all: $(EXEC)
   4.112 +
   4.113 +$(EXEC) : $(OBJECTS)
   4.114 +	@echo Making adlc
   4.115 +	$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
   4.116 +
   4.117 +# Random dependencies:
   4.118 +$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
   4.119 +
   4.120 +# The source files refer to ostream.h, which sparcworks calls iostream.h
   4.121 +$(OBJECTS): ostream.h
   4.122 +
   4.123 +ostream.h :
   4.124 +	@echo >$@ '#include <iostream.h>'
   4.125 +
   4.126 +dump:
   4.127 +	: OUTDIR=$(OUTDIR)
   4.128 +	: OBJECTS=$(OBJECTS)
   4.129 +	: products = $(GENERATEDFILES)
   4.130 +
   4.131 +all: $(GENERATEDFILES)
   4.132 +
   4.133 +$(GENERATEDFILES): refresh_adfiles
   4.134 +
   4.135 +# Get a unique temporary directory name, so multiple makes can run in parallel.
   4.136 +# Note that product files are updated via "mv", which is atomic.
   4.137 +TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
   4.138 +
   4.139 +# Debuggable by default
   4.140 +CFLAGS += -g
   4.141 +
   4.142 +# Pass -D flags into ADLC.
   4.143 +ADLCFLAGS += $(SYSDEFS)
   4.144 +
   4.145 +# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
   4.146 +ADLCFLAGS += -q -T
   4.147 +
   4.148 +# Normally, debugging is done directly on the ad_<arch>*.cpp files.
   4.149 +# But -g will put #line directives in those files pointing back to <arch>.ad.
   4.150 +# Some builds of gcc 3.2 have a bug that gets tickled by the extra #line directives
   4.151 +# so skip it for 3.2 and ealier.
   4.152 +ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
   4.153 +ADLCFLAGS += -g
   4.154 +endif
   4.155 +
   4.156 +ifdef LP64
   4.157 +ADLCFLAGS += -D_LP64
   4.158 +else
   4.159 +ADLCFLAGS += -U_LP64
   4.160 +endif
   4.161 +
   4.162 +#
   4.163 +# adlc_updater is a simple sh script, under sccs control. It is
   4.164 +# used to selectively update generated adlc files. This should
   4.165 +# provide a nice compilation speed improvement.
   4.166 +#
   4.167 +ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
   4.168 +ADLC_UPDATER = adlc_updater
   4.169 +$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
   4.170 +	$(QUIETLY) cp $< $@; chmod +x $@
   4.171 +
   4.172 +# This action refreshes all generated adlc files simultaneously.
   4.173 +# The way it works is this:
   4.174 +# 1) create a scratch directory to work in.
   4.175 +# 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
   4.176 +# 3) run the compiled adlc executable. This will create new adlc files in the scratch directory.
   4.177 +# 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
   4.178 +# 5) If we actually updated any files, echo a notice.
   4.179 +#
   4.180 +refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
   4.181 +	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
   4.182 +	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
   4.183 +            -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
   4.184 +	    || { rm -rf $(TEMPDIR); exit 1; }
   4.185 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
   4.186 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
   4.187 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
   4.188 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
   4.189 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
   4.190 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
   4.191 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
   4.192 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
   4.193 +	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
   4.194 +	$(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
   4.195 +	$(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
   4.196 +	$(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
   4.197 +		|| echo "Rescanned $(SOURCE.AD) but encountered no changes."
   4.198 +	$(QUIETLY) rm -rf $(TEMPDIR)
   4.199 +
   4.200 +
   4.201 +# #########################################################################
   4.202 +
   4.203 +$(SOURCE.AD): $(SOURCES.AD)
   4.204 +	$(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
   4.205 +
   4.206 +#PROCESS_AD_FILES = cat
   4.207 +# Pass through #line directives, in case user enables -g option above:
   4.208 +PROCESS_AD_FILES = awk '{ \
   4.209 +    if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
   4.210 +    if (need_lineno && $$0 !~ /\/\//) \
   4.211 +      { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
   4.212 +    print }'
   4.213 +
   4.214 +$(OUTDIR)/%.o: %.cpp
   4.215 +	@echo Compiling $<
   4.216 +	$(QUIETLY) $(REMOVE_TARGET)
   4.217 +	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
   4.218 +
   4.219 +# Some object files are given a prefix, to disambiguate
   4.220 +# them from objects of the same name built for the VM.
   4.221 +$(OUTDIR)/adlc-%.o: %.cpp
   4.222 +	@echo Compiling $<
   4.223 +	$(QUIETLY) $(REMOVE_TARGET)
   4.224 +	$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
   4.225 +
   4.226 +# #########################################################################
   4.227 +
   4.228 +clean:
   4.229 +	rm $(OBJECTS)
   4.230 +
   4.231 +cleanall:
   4.232 +	rm $(OBJECTS) $(EXEC)
   4.233 +
   4.234 +# #########################################################################
   4.235 +
   4.236 +.PHONY: all dump refresh_adfiles clean cleanall
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/make/aix/makefiles/build_vm_def.sh	Fri Sep 06 20:08:29 2013 +0200
     5.3 @@ -0,0 +1,18 @@
     5.4 +#!/bin/sh
     5.5 +
     5.6 +# If we're cross compiling use that path for nm
     5.7 +if [ "$CROSS_COMPILE_ARCH" != "" ]; then 
     5.8 +NM=$ALT_COMPILER_PATH/nm
     5.9 +else
    5.10 +# On AIX we have to prevent that we pick up the 'nm' version from the GNU binutils
    5.11 +# which may be installed under /opt/freeware/bin. So better use an absolute path here! 
    5.12 +NM=/usr/bin/nm
    5.13 +fi
    5.14 +
    5.15 +$NM -X64 -B -C $* \
    5.16 +    | awk '{
    5.17 +              if (($2="d" || $2="D") && ($3 ~ /^__vft/ || $3 ~ /^gHotSpotVM/)) print "\t" $3 ";"
    5.18 +              if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
    5.19 +              if ($3 ~ /^SharedArchivePath__9Arguments$/) print "\t" $3 ";"
    5.20 +          }' \
    5.21 +    | sort -u
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/make/aix/makefiles/buildtree.make	Fri Sep 06 20:08:29 2013 +0200
     6.3 @@ -0,0 +1,364 @@
     6.4 +#
     6.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
     6.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
     6.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6.8 +#
     6.9 +# This code is free software; you can redistribute it and/or modify it
    6.10 +# under the terms of the GNU General Public License version 2 only, as
    6.11 +# published by the Free Software Foundation.
    6.12 +#
    6.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    6.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    6.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    6.16 +# version 2 for more details (a copy is included in the LICENSE file that
    6.17 +# accompanied this code).
    6.18 +#
    6.19 +# You should have received a copy of the GNU General Public License version
    6.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    6.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    6.22 +#
    6.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    6.24 +# or visit www.oracle.com if you need additional information or have any
    6.25 +# questions.
    6.26 +#
    6.27 +#
    6.28 +
    6.29 +# Usage:
    6.30 +#
    6.31 +# $(MAKE) -f buildtree.make SRCARCH=srcarch BUILDARCH=buildarch LIBARCH=libarch
    6.32 +#         GAMMADIR=dir OS_FAMILY=os VARIANT=variant
    6.33 +#
    6.34 +# The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
    6.35 +# environment or on the command-line:
    6.36 +#
    6.37 +# ARCH		- sparc, i486, ... HotSpot cpu and os_cpu source directory
    6.38 +# BUILDARCH     - build directory
    6.39 +# LIBARCH       - the corresponding directory in JDK/JRE
    6.40 +# GAMMADIR	- top of workspace
    6.41 +# OS_FAMILY	- operating system
    6.42 +# VARIANT	- core, compiler1, compiler2, or tiered
    6.43 +# HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
    6.44 +# HOTSPOT_BUILD_VERSION   - internal, internal-$(USER_RELEASE_SUFFIX) or empty
    6.45 +# JRE_RELEASE_VERSION     - <major>.<minor>.<micro> (1.7.0)
    6.46 +#
    6.47 +# Builds the directory trees with makefiles plus some convenience files in
    6.48 +# each directory:
    6.49 +#
    6.50 +# Makefile	- for "make foo"
    6.51 +# flags.make	- with macro settings
    6.52 +# vm.make	- to support making "$(MAKE) -v vm.make" in makefiles
    6.53 +# adlc.make	-
    6.54 +# trace.make	- generate tracing event and type definitions
    6.55 +# jvmti.make	- generate JVMTI bindings from the spec (JSR-163)
    6.56 +# sa.make	- generate SA jar file and natives
    6.57 +#
    6.58 +# The makefiles are split this way so that "make foo" will run faster by not
    6.59 +# having to read the dependency files for the vm.
    6.60 +
    6.61 +-include $(SPEC)
    6.62 +include $(GAMMADIR)/make/scm.make
    6.63 +include $(GAMMADIR)/make/defs.make
    6.64 +include $(GAMMADIR)/make/altsrc.make
    6.65 +
    6.66 +
    6.67 +# 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
    6.68 +QUIETLY$(MAKE_VERBOSE)	= @
    6.69 +
    6.70 +ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
    6.71 +  PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
    6.72 +else
    6.73 +  ifdef USE_SUNCC
    6.74 +    PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).suncc
    6.75 +  else
    6.76 +    PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
    6.77 +  endif
    6.78 +endif
    6.79 +
    6.80 +# Allow overriding of the arch part of the directory but default
    6.81 +# to BUILDARCH if nothing is specified
    6.82 +ifeq ($(VARIANTARCH),)
    6.83 +  VARIANTARCH=$(BUILDARCH)
    6.84 +endif
    6.85 +
    6.86 +ifdef FORCE_TIERED
    6.87 +ifeq		($(VARIANT),tiered)
    6.88 +PLATFORM_DIR	= $(OS_FAMILY)_$(VARIANTARCH)_compiler2
    6.89 +else
    6.90 +PLATFORM_DIR	= $(OS_FAMILY)_$(VARIANTARCH)_$(VARIANT)
    6.91 +endif
    6.92 +else
    6.93 +PLATFORM_DIR    = $(OS_FAMILY)_$(VARIANTARCH)_$(VARIANT)
    6.94 +endif
    6.95 +
    6.96 +#
    6.97 +# We do two levels of exclusion in the shared directory.
    6.98 +# TOPLEVEL excludes are pruned, they are not recursively searched,
    6.99 +# but lower level directories can be named without fear of collision.
   6.100 +# ALWAYS excludes are excluded at any level in the directory tree.
   6.101 +#
   6.102 +
   6.103 +ALWAYS_EXCLUDE_DIRS     = $(SCM_DIRS)
   6.104 +
   6.105 +ifeq		($(VARIANT),tiered)
   6.106 +TOPLEVEL_EXCLUDE_DIRS	= $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name agent
   6.107 +else
   6.108 +ifeq		($(VARIANT),compiler2)
   6.109 +TOPLEVEL_EXCLUDE_DIRS	= $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name c1 -o -name agent
   6.110 +else
   6.111 +# compiler1 and core use the same exclude list
   6.112 +TOPLEVEL_EXCLUDE_DIRS	= $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name opto -o -name libadt -o -name agent
   6.113 +endif
   6.114 +endif
   6.115 +
   6.116 +# Get things from the platform file.
   6.117 +COMPILER	= $(shell sed -n 's/^compiler[ 	]*=[ 	]*//p' $(PLATFORM_FILE))
   6.118 +
   6.119 +SIMPLE_DIRS	= \
   6.120 +	$(PLATFORM_DIR)/generated/dependencies \
   6.121 +	$(PLATFORM_DIR)/generated/adfiles \
   6.122 +	$(PLATFORM_DIR)/generated/jvmtifiles \
   6.123 +	$(PLATFORM_DIR)/generated/tracefiles
   6.124 +
   6.125 +TARGETS      = debug fastdebug optimized product
   6.126 +SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
   6.127 +
   6.128 +# For dependencies and recursive makes.
   6.129 +BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
   6.130 +
   6.131 +BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make trace.make sa.make
   6.132 +
   6.133 +BUILDTREE_VARS	= GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
   6.134 +	SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
   6.135 +
   6.136 +# Define variables to be set in flags.make.
   6.137 +# Default values are set in make/defs.make.
   6.138 +ifeq ($(HOTSPOT_BUILD_VERSION),)
   6.139 +  HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
   6.140 +else
   6.141 +  HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
   6.142 +endif
   6.143 +# Set BUILD_USER from system-dependent hints:  $LOGNAME, $(whoami)
   6.144 +ifndef HOTSPOT_BUILD_USER
   6.145 +  HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
   6.146 +endif
   6.147 +ifndef HOTSPOT_BUILD_USER
   6.148 +  HOTSPOT_BUILD_USER := $(shell whoami)
   6.149 +endif
   6.150 +# Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
   6.151 +# or make/hotspot_distro.
   6.152 +ifndef HOTSPOT_VM_DISTRO
   6.153 +  ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
   6.154 +    include $(GAMMADIR)/make/hotspot_distro
   6.155 +  else
   6.156 +    include $(GAMMADIR)/make/openjdk_distro
   6.157 +  endif
   6.158 +endif
   6.159 +
   6.160 +# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK
   6.161 +ifndef OPENJDK
   6.162 +  ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
   6.163 +    OPENJDK=true
   6.164 +  endif
   6.165 +endif
   6.166 +
   6.167 +BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION=  JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
   6.168 +
   6.169 +BUILDTREE	= \
   6.170 +	$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
   6.171 +
   6.172 +BUILDTREE_COMMENT	= echo "\# Generated by $(BUILDTREE_MAKE)"
   6.173 +
   6.174 +all:  $(SUBMAKE_DIRS)
   6.175 +
   6.176 +# Run make in each subdirectory recursively.
   6.177 +$(SUBMAKE_DIRS): $(SIMPLE_DIRS) FORCE
   6.178 +	$(QUIETLY) [ -d $@ ] || { mkdir -p $@; }
   6.179 +	$(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F)
   6.180 +	$(QUIETLY) touch $@
   6.181 +
   6.182 +$(SIMPLE_DIRS):
   6.183 +	$(QUIETLY) mkdir -p $@
   6.184 +
   6.185 +# Convenience macro which takes a source relative path, applies $(1) to the
   6.186 +# absolute path, and then replaces $(GAMMADIR) in the result with a
   6.187 +# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
   6.188 +gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
   6.189 +
   6.190 +# This bit is needed to enable local rebuilds.
   6.191 +# Unless the makefile itself sets LP64, any environmental
   6.192 +# setting of LP64 will interfere with the build.
   6.193 +LP64_SETTING/32 = LP64 = \#empty
   6.194 +LP64_SETTING/64 = LP64 = 1
   6.195 +
   6.196 +DATA_MODE/ppc64 = 64
   6.197 +
   6.198 +DATA_MODE = $(DATA_MODE/$(BUILDARCH))
   6.199 +
   6.200 +flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   6.201 +	@echo Creating $@ ...
   6.202 +	$(QUIETLY) ( \
   6.203 +	$(BUILDTREE_COMMENT); \
   6.204 +	echo; \
   6.205 +	echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
   6.206 +	sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
   6.207 +	echo; \
   6.208 +	echo "GAMMADIR = $(GAMMADIR)"; \
   6.209 +	echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
   6.210 +	echo "OSNAME = $(OSNAME)"; \
   6.211 +	echo "SYSDEFS = \$$(Platform_sysdefs)"; \
   6.212 +	echo "SRCARCH = $(SRCARCH)"; \
   6.213 +	echo "BUILDARCH = $(BUILDARCH)"; \
   6.214 +	echo "LIBARCH = $(LIBARCH)"; \
   6.215 +	echo "TARGET = $(TARGET)"; \
   6.216 +	echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
   6.217 +	echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
   6.218 +	echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
   6.219 +	echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
   6.220 +	echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
   6.221 +	echo "OPENJDK = $(OPENJDK)"; \
   6.222 +	echo "$(LP64_SETTING/$(DATA_MODE))"; \
   6.223 +	echo; \
   6.224 +	echo "# Used for platform dispatching"; \
   6.225 +	echo "TARGET_DEFINES  = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
   6.226 +	echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
   6.227 +	echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
   6.228 +	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
   6.229 +	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
   6.230 +	echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
   6.231 +	echo "CFLAGS += \$$(TARGET_DEFINES)"; \
   6.232 +	echo; \
   6.233 +	echo "Src_Dirs_V = \\"; \
   6.234 +	sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
   6.235 +	echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
   6.236 +	echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
   6.237 +	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
   6.238 +	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
   6.239 +	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
   6.240 +	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
   6.241 +	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
   6.242 +	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
   6.243 +	echo; \
   6.244 +	echo "Src_Dirs_I = \\"; \
   6.245 +	echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \
   6.246 +	echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
   6.247 +	echo "$(call gamma-path,altsrc,share/vm) \\"; \
   6.248 +	echo "$(call gamma-path,commonsrc,share/vm) \\"; \
   6.249 +	echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
   6.250 +	echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
   6.251 +	echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
   6.252 +	echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
   6.253 +	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
   6.254 +	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
   6.255 +	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
   6.256 +	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
   6.257 +	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
   6.258 +	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
   6.259 +	[ -n "$(CFLAGS_BROWSE)" ] && \
   6.260 +	    echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
   6.261 +	[ -n "$(ENABLE_FULL_DEBUG_SYMBOLS)" ] && \
   6.262 +	    echo && echo "ENABLE_FULL_DEBUG_SYMBOLS = $(ENABLE_FULL_DEBUG_SYMBOLS)"; \
   6.263 +	[ -n "$(OBJCOPY)" ] && \
   6.264 +	    echo && echo "OBJCOPY = $(OBJCOPY)"; \
   6.265 +	[ -n "$(STRIP_POLICY)" ] && \
   6.266 +	    echo && echo "STRIP_POLICY = $(STRIP_POLICY)"; \
   6.267 +	[ -n "$(ZIP_DEBUGINFO_FILES)" ] && \
   6.268 +	    echo && echo "ZIP_DEBUGINFO_FILES = $(ZIP_DEBUGINFO_FILES)"; \
   6.269 +	[ -n "$(ZIPEXE)" ] && \
   6.270 +	    echo && echo "ZIPEXE = $(ZIPEXE)"; \
   6.271 +	[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
   6.272 +	    echo && \
   6.273 +	    echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
   6.274 +	    echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
   6.275 +	[ -n "$(INCLUDE_TRACE)" ] && \
   6.276 +	    echo && echo "INCLUDE_TRACE = $(INCLUDE_TRACE)"; \
   6.277 +	echo; \
   6.278 +	[ -n "$(SPEC)" ] && \
   6.279 +	    echo "include $(SPEC)"; \
   6.280 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
   6.281 +	echo "include \$$(GAMMADIR)/make/excludeSrc.make"; \
   6.282 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
   6.283 +	) > $@
   6.284 +
   6.285 +flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   6.286 +	@echo Creating $@ ...
   6.287 +	$(QUIETLY) ( \
   6.288 +	$(BUILDTREE_COMMENT); \
   6.289 +	echo; \
   6.290 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
   6.291 +	) > $@
   6.292 +
   6.293 +../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
   6.294 +	@echo Creating directory list $@
   6.295 +	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
   6.296 +          find $(HS_ALT_SRC)/share/vm/* -prune \
   6.297 +	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
   6.298 +          \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
   6.299 +        fi;
   6.300 +	$(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \
   6.301 +	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
   6.302 +        \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
   6.303 +
   6.304 +Makefile: $(BUILDTREE_MAKE)
   6.305 +	@echo Creating $@ ...
   6.306 +	$(QUIETLY) ( \
   6.307 +	$(BUILDTREE_COMMENT); \
   6.308 +	echo; \
   6.309 +	echo include flags.make; \
   6.310 +	echo; \
   6.311 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/top.make"; \
   6.312 +	) > $@
   6.313 +
   6.314 +vm.make: $(BUILDTREE_MAKE)
   6.315 +	@echo Creating $@ ...
   6.316 +	$(QUIETLY) ( \
   6.317 +	$(BUILDTREE_COMMENT); \
   6.318 +	echo; \
   6.319 +	echo include flags.make; \
   6.320 +	echo include flags_vm.make; \
   6.321 +	echo; \
   6.322 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
   6.323 +	) > $@
   6.324 +
   6.325 +adlc.make: $(BUILDTREE_MAKE)
   6.326 +	@echo Creating $@ ...
   6.327 +	$(QUIETLY) ( \
   6.328 +	$(BUILDTREE_COMMENT); \
   6.329 +	echo; \
   6.330 +	echo include flags.make; \
   6.331 +	echo; \
   6.332 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
   6.333 +	) > $@
   6.334 +
   6.335 +jvmti.make: $(BUILDTREE_MAKE)
   6.336 +	@echo Creating $@ ...
   6.337 +	$(QUIETLY) ( \
   6.338 +	$(BUILDTREE_COMMENT); \
   6.339 +	echo; \
   6.340 +	echo include flags.make; \
   6.341 +	echo; \
   6.342 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
   6.343 +	) > $@
   6.344 +
   6.345 +trace.make: $(BUILDTREE_MAKE)
   6.346 +	@echo Creating $@ ...
   6.347 +	$(QUIETLY) ( \
   6.348 +	$(BUILDTREE_COMMENT); \
   6.349 +	echo; \
   6.350 +	echo include flags.make; \
   6.351 +	echo; \
   6.352 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
   6.353 +	) > $@
   6.354 +
   6.355 +sa.make: $(BUILDTREE_MAKE)
   6.356 +	@echo Creating $@ ...
   6.357 +	$(QUIETLY) ( \
   6.358 +	$(BUILDTREE_COMMENT); \
   6.359 +	echo; \
   6.360 +	echo include flags.make; \
   6.361 +	echo; \
   6.362 +	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
   6.363 +	) > $@
   6.364 +
   6.365 +FORCE:
   6.366 +
   6.367 +.PHONY:  all FORCE
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/make/aix/makefiles/compiler2.make	Fri Sep 06 20:08:29 2013 +0200
     7.3 @@ -0,0 +1,32 @@
     7.4 +#
     7.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     7.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
     7.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     7.8 +#
     7.9 +# This code is free software; you can redistribute it and/or modify it
    7.10 +# under the terms of the GNU General Public License version 2 only, as
    7.11 +# published by the Free Software Foundation.
    7.12 +#
    7.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    7.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    7.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    7.16 +# version 2 for more details (a copy is included in the LICENSE file that
    7.17 +# accompanied this code).
    7.18 +#
    7.19 +# You should have received a copy of the GNU General Public License version
    7.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    7.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    7.22 +#
    7.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    7.24 +# or visit www.oracle.com if you need additional information or have any
    7.25 +# questions.
    7.26 +#  
    7.27 +#
    7.28 +
    7.29 +# Sets make macros for making server version of VM
    7.30 +
    7.31 +TYPE=COMPILER2
    7.32 +
    7.33 +VM_SUBDIR = server
    7.34 +
    7.35 +CFLAGS += -DCOMPILER2
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/make/aix/makefiles/core.make	Fri Sep 06 20:08:29 2013 +0200
     8.3 @@ -0,0 +1,33 @@
     8.4 +#
     8.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     8.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     8.7 +#
     8.8 +# This code is free software; you can redistribute it and/or modify it
     8.9 +# under the terms of the GNU General Public License version 2 only, as
    8.10 +# published by the Free Software Foundation.
    8.11 +#
    8.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
    8.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    8.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    8.15 +# version 2 for more details (a copy is included in the LICENSE file that
    8.16 +# accompanied this code).
    8.17 +#
    8.18 +# You should have received a copy of the GNU General Public License version
    8.19 +# 2 along with this work; if not, write to the Free Software Foundation,
    8.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    8.21 +#
    8.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    8.23 +# or visit www.oracle.com if you need additional information or have any
    8.24 +# questions.
    8.25 +#  
    8.26 +#
    8.27 +
    8.28 +# Sets make macros for making core version of VM
    8.29 +
    8.30 +# Select which files to use (in top.make)
    8.31 +TYPE=CORE
    8.32 +
    8.33 +# There is no "core" directory in JDK. Install core build in server directory.
    8.34 +VM_SUBDIR = server
    8.35 +
    8.36 +# Note:  macros.hpp defines CORE
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/make/aix/makefiles/debug.make	Fri Sep 06 20:08:29 2013 +0200
     9.3 @@ -0,0 +1,41 @@
     9.4 +#
     9.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     9.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
     9.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     9.8 +#
     9.9 +# This code is free software; you can redistribute it and/or modify it
    9.10 +# under the terms of the GNU General Public License version 2 only, as
    9.11 +# published by the Free Software Foundation.
    9.12 +#
    9.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
    9.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    9.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    9.16 +# version 2 for more details (a copy is included in the LICENSE file that
    9.17 +# accompanied this code).
    9.18 +#
    9.19 +# You should have received a copy of the GNU General Public License version
    9.20 +# 2 along with this work; if not, write to the Free Software Foundation,
    9.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    9.22 +#
    9.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    9.24 +# or visit www.oracle.com if you need additional information or have any
    9.25 +# questions.
    9.26 +#
    9.27 +#
    9.28 +
    9.29 +# Sets make macros for making debug version of VM
    9.30 +
    9.31 +# Compiler specific DEBUG_CFLAGS are passed in from gcc.make, sparcWorks.make
    9.32 +DEBUG_CFLAGS/DEFAULT= $(DEBUG_CFLAGS)
    9.33 +DEBUG_CFLAGS/BYFILE = $(DEBUG_CFLAGS/$@)$(DEBUG_CFLAGS/DEFAULT$(DEBUG_CFLAGS/$@))
    9.34 +CFLAGS += $(DEBUG_CFLAGS/BYFILE)
    9.35 +
    9.36 +# Set the environment variable HOTSPARC_GENERIC to "true"
    9.37 +# to inhibit the effect of the previous line on CFLAGS.
    9.38 +
    9.39 +# Linker mapfile
    9.40 +MAPFILE = $(GAMMADIR)/make/aix/makefiles/mapfile-vers-debug
    9.41 +
    9.42 +VERSION = debug
    9.43 +SYSDEFS += -DASSERT -DDEBUG
    9.44 +PICFLAGS = DEFAULT
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/make/aix/makefiles/defs.make	Fri Sep 06 20:08:29 2013 +0200
    10.3 @@ -0,0 +1,231 @@
    10.4 +#
    10.5 +# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
    10.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    10.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    10.8 +#
    10.9 +# This code is free software; you can redistribute it and/or modify it
   10.10 +# under the terms of the GNU General Public License version 2 only, as
   10.11 +# published by the Free Software Foundation.
   10.12 +#
   10.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   10.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   10.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   10.16 +# version 2 for more details (a copy is included in the LICENSE file that
   10.17 +# accompanied this code).
   10.18 +#
   10.19 +# You should have received a copy of the GNU General Public License version
   10.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   10.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   10.22 +#
   10.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   10.24 +# or visit www.oracle.com if you need additional information or have any
   10.25 +# questions.
   10.26 +#
   10.27 +#
   10.28 +
   10.29 +# The common definitions for hotspot AIX builds.
   10.30 +# Include the top level defs.make under make directory instead of this one.
   10.31 +# This file is included into make/defs.make.
   10.32 +
   10.33 +SLASH_JAVA ?= /java
   10.34 +
   10.35 +# Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
   10.36 +#ARCH:=$(shell uname -m)
   10.37 +PATH_SEP = :
   10.38 +ifeq ($(LP64), 1)
   10.39 +  ARCH_DATA_MODEL ?= 64
   10.40 +else
   10.41 +  ARCH_DATA_MODEL ?= 32
   10.42 +endif
   10.43 +
   10.44 +ifeq ($(ARCH_DATA_MODEL), 64)
   10.45 +  ARCH = ppc64
   10.46 +else
   10.47 +  ARCH = ppc
   10.48 +endif
   10.49 +
   10.50 +# PPC
   10.51 +ifeq ($(ARCH), ppc)
   10.52 +  #ARCH_DATA_MODEL = 32
   10.53 +  PLATFORM         = aix-ppc
   10.54 +  VM_PLATFORM      = aix_ppc
   10.55 +  HS_ARCH          = ppc
   10.56 +endif
   10.57 +
   10.58 +# PPC64
   10.59 +ifeq ($(ARCH), ppc64)
   10.60 +  #ARCH_DATA_MODEL = 64
   10.61 +  MAKE_ARGS       += LP64=1
   10.62 +  PLATFORM         = aix-ppc64
   10.63 +  VM_PLATFORM      = aix_ppc64
   10.64 +  HS_ARCH          = ppc
   10.65 +endif
   10.66 +
   10.67 +# On 32 bit aix we build server and client, on 64 bit just server.
   10.68 +ifeq ($(JVM_VARIANTS),)
   10.69 +  ifeq ($(ARCH_DATA_MODEL), 32)
   10.70 +    JVM_VARIANTS:=client,server
   10.71 +    JVM_VARIANT_CLIENT:=true
   10.72 +    JVM_VARIANT_SERVER:=true
   10.73 +  else
   10.74 +    JVM_VARIANTS:=server
   10.75 +    JVM_VARIANT_SERVER:=true
   10.76 +  endif
   10.77 +endif
   10.78 +
   10.79 +# determine if HotSpot is being built in JDK6 or earlier version
   10.80 +JDK6_OR_EARLIER=0
   10.81 +ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
   10.82 +  # if the longer variable names (newer build style) are set, then check those
   10.83 +  ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
   10.84 +    JDK6_OR_EARLIER=1
   10.85 +  endif
   10.86 +else
   10.87 +  # the longer variables aren't set so check the shorter variable names
   10.88 +  ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
   10.89 +    JDK6_OR_EARLIER=1
   10.90 +  endif
   10.91 +endif
   10.92 +
   10.93 +ifeq ($(JDK6_OR_EARLIER),0)
   10.94 +  # Full Debug Symbols is supported on JDK7 or newer.
   10.95 +  # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
   10.96 +  # builds is enabled with debug info files ZIP'ed to save space. For
   10.97 +  # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
   10.98 +  # debug build without debug info isn't very useful.
   10.99 +  # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
  10.100 +  #
  10.101 +  # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
  10.102 +  # disabled for a BUILD_FLAVOR == product build.
  10.103 +  #
  10.104 +  # Note: Use of a different variable name for the FDS override option
  10.105 +  # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
  10.106 +  # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
  10.107 +  # in options via environment variables, use of distinct variables
  10.108 +  # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
  10.109 +  # product build, the FULL_DEBUG_SYMBOLS environment variable will be
  10.110 +  # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
  10.111 +  # the same variable name is used, then different values can be picked
  10.112 +  # up by different parts of the build. Just to be clear, we only need
  10.113 +  # two variable names because the incoming option value can be
  10.114 +  # overridden in some situations, e.g., a BUILD_FLAVOR != product
  10.115 +  # build.
  10.116 +
  10.117 +  # Due to the multiple sub-make processes that occur this logic gets
  10.118 +  # executed multiple times. We reduce the noise by at least checking that
  10.119 +  # BUILD_FLAVOR has been set.
  10.120 +  ifneq ($(BUILD_FLAVOR),)
  10.121 +    ifeq ($(BUILD_FLAVOR), product)
  10.122 +      FULL_DEBUG_SYMBOLS ?= 1
  10.123 +      ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
  10.124 +    else
  10.125 +      # debug variants always get Full Debug Symbols (if available)
  10.126 +      ENABLE_FULL_DEBUG_SYMBOLS = 1
  10.127 +    endif
  10.128 +    _JUNK_ := $(shell \
  10.129 +      echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
  10.130 +    # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
  10.131 +
  10.132 +    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  10.133 +      # Default OBJCOPY comes from GNU Binutils on Linux
  10.134 +      ifeq ($(CROSS_COMPILE_ARCH),)
  10.135 +        DEF_OBJCOPY=/usr/bin/objcopy
  10.136 +      else
  10.137 +        # Assume objcopy is part of the cross-compilation toolset
  10.138 +        ifneq ($(ALT_COMPILER_PATH),)
  10.139 +          DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
  10.140 +        endif
  10.141 +      endif
  10.142 +      OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
  10.143 +      ifneq ($(ALT_OBJCOPY),)
  10.144 +        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
  10.145 +        OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
  10.146 +      endif
  10.147 +
  10.148 +      ifeq ($(OBJCOPY),)
  10.149 +        _JUNK_ := $(shell \
  10.150 +          echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY.")
  10.151 +        ENABLE_FULL_DEBUG_SYMBOLS=0
  10.152 +        _JUNK_ := $(shell \
  10.153 +          echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
  10.154 +      else
  10.155 +        _JUNK_ := $(shell \
  10.156 +          echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
  10.157 +
  10.158 +        # Library stripping policies for .debuginfo configs:
  10.159 +        #   all_strip - strips everything from the library
  10.160 +        #   min_strip - strips most stuff from the library; leaves minimum symbols
  10.161 +        #   no_strip  - does not strip the library at all
  10.162 +        #
  10.163 +        # Oracle security policy requires "all_strip". A waiver was granted on
  10.164 +        # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
  10.165 +        #
  10.166 +        # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
  10.167 +        #
  10.168 +        STRIP_POLICY ?= min_strip
  10.169 +
  10.170 +        _JUNK_ := $(shell \
  10.171 +          echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
  10.172 +
  10.173 +        ZIP_DEBUGINFO_FILES ?= 1
  10.174 +
  10.175 +        _JUNK_ := $(shell \
  10.176 +          echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
  10.177 +      endif
  10.178 +    endif # ENABLE_FULL_DEBUG_SYMBOLS=1
  10.179 +  endif # BUILD_FLAVOR
  10.180 +endif # JDK_6_OR_EARLIER
  10.181 +
  10.182 +# unused JDK_INCLUDE_SUBDIR=aix
  10.183 +
  10.184 +# Library suffix
  10.185 +LIBRARY_SUFFIX=so
  10.186 +
  10.187 +EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
  10.188 +
  10.189 +# client and server subdirectories have symbolic links to ../libjsig.so
  10.190 +EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
  10.191 +#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  10.192 +#  ifeq ($(ZIP_DEBUGINFO_FILES),1)
  10.193 +#    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
  10.194 +#  else
  10.195 +#    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
  10.196 +#  endif
  10.197 +#endif
  10.198 +EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
  10.199 +EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
  10.200 +EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
  10.201 +
  10.202 +ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK) $(JVM_VARIANT_CORE)), true)
  10.203 +  EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
  10.204 +  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
  10.205 +#  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  10.206 +#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  10.207 +#      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
  10.208 +#    else
  10.209 +#      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
  10.210 +#    endif
  10.211 +#  endif
  10.212 +endif
  10.213 +
  10.214 +ifeq ($(JVM_VARIANT_CLIENT),true)
  10.215 +  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
  10.216 +  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
  10.217 +#  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  10.218 +#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  10.219 +#      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
  10.220 +#    else
  10.221 +#      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
  10.222 +#    endif
  10.223 +#  endif
  10.224 +endif
  10.225 +
  10.226 +# Serviceability Binaries
  10.227 +# No SA Support for PPC or zero
  10.228 +ADD_SA_BINARIES/ppc   =
  10.229 +ADD_SA_BINARIES/ppc64 =
  10.230 +ADD_SA_BINARIES/zero  =
  10.231 +
  10.232 +EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
  10.233 +
  10.234 +
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/make/aix/makefiles/dtrace.make	Fri Sep 06 20:08:29 2013 +0200
    11.3 @@ -0,0 +1,27 @@
    11.4 +#
    11.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    11.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    11.7 +#
    11.8 +# This code is free software; you can redistribute it and/or modify it
    11.9 +# under the terms of the GNU General Public License version 2 only, as
   11.10 +# published by the Free Software Foundation.
   11.11 +#
   11.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   11.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   11.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   11.15 +# version 2 for more details (a copy is included in the LICENSE file that
   11.16 +# accompanied this code).
   11.17 +#
   11.18 +# You should have received a copy of the GNU General Public License version
   11.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   11.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   11.21 +#
   11.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   11.23 +# or visit www.oracle.com if you need additional information or have any
   11.24 +# questions.
   11.25 +#  
   11.26 +#
   11.27 +
   11.28 +# Linux does not build jvm_db
   11.29 +LIBJVM_DB =
   11.30 +
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/make/aix/makefiles/fastdebug.make	Fri Sep 06 20:08:29 2013 +0200
    12.3 @@ -0,0 +1,73 @@
    12.4 +#
    12.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
    12.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    12.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12.8 +#
    12.9 +# This code is free software; you can redistribute it and/or modify it
   12.10 +# under the terms of the GNU General Public License version 2 only, as
   12.11 +# published by the Free Software Foundation.
   12.12 +#
   12.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   12.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   12.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   12.16 +# version 2 for more details (a copy is included in the LICENSE file that
   12.17 +# accompanied this code).
   12.18 +#
   12.19 +# You should have received a copy of the GNU General Public License version
   12.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   12.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   12.22 +#
   12.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   12.24 +# or visit www.oracle.com if you need additional information or have any
   12.25 +# questions.
   12.26 +#  
   12.27 +#
   12.28 +
   12.29 +# Sets make macros for making debug version of VM
   12.30 +
   12.31 +# Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make
   12.32 +# Pare down optimization to -O2 if xlCV10.1 is in use.
   12.33 +OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) $(QV10_OPT_CONSERVATIVE)
   12.34 +OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
   12.35 +
   12.36 +# (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
   12.37 +
   12.38 +ifeq ($(BUILDARCH), ia64)
   12.39 +  # Bug in GCC, causes hang.  -O1 will override the -O3 specified earlier
   12.40 +  OPT_CFLAGS/callGenerator.o += -O1
   12.41 +  OPT_CFLAGS/ciTypeFlow.o += -O1
   12.42 +  OPT_CFLAGS/compile.o += -O1
   12.43 +  OPT_CFLAGS/concurrentMarkSweepGeneration.o += -O1
   12.44 +  OPT_CFLAGS/doCall.o += -O1
   12.45 +  OPT_CFLAGS/generateOopMap.o += -O1
   12.46 +  OPT_CFLAGS/generateOptoStub.o += -O1
   12.47 +  OPT_CFLAGS/graphKit.o += -O1
   12.48 +  OPT_CFLAGS/instanceKlass.o += -O1
   12.49 +  OPT_CFLAGS/interpreterRT_ia64.o += -O1
   12.50 +  OPT_CFLAGS/output.o += -O1
   12.51 +  OPT_CFLAGS/parse1.o += -O1
   12.52 +  OPT_CFLAGS/runtime.o += -O1
   12.53 +  OPT_CFLAGS/synchronizer.o += -O1
   12.54 +endif
   12.55 +
   12.56 +
   12.57 +# If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings
   12.58 +CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
   12.59 +
   12.60 +# Set the environment variable HOTSPARC_GENERIC to "true"
   12.61 +# to inhibit the effect of the previous line on CFLAGS.
   12.62 +
   12.63 +# Linker mapfile
   12.64 +MAPFILE = $(GAMMADIR)/make/aix/makefiles/mapfile-vers-debug
   12.65 +
   12.66 +# xlc 10.1 parameters for ipa linkage.
   12.67 +#  - remove ipa linkage altogether. Does not seem to benefit performance, 
   12.68 +#    but increases code footprint.
   12.69 +#  - this is a debug build in the end. Extra effort for ipa linkage is thus 
   12.70 +#    not justified.
   12.71 +LFLAGS_QIPA=
   12.72 +
   12.73 +G_SUFFIX = _g
   12.74 +VERSION = optimized
   12.75 +SYSDEFS += -DASSERT -DFASTDEBUG
   12.76 +PICFLAGS = DEFAULT
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/make/aix/makefiles/jsig.make	Fri Sep 06 20:08:29 2013 +0200
    13.3 @@ -0,0 +1,87 @@
    13.4 +#
    13.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    13.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    13.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    13.8 +#
    13.9 +# This code is free software; you can redistribute it and/or modify it
   13.10 +# under the terms of the GNU General Public License version 2 only, as
   13.11 +# published by the Free Software Foundation.
   13.12 +#
   13.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   13.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   13.16 +# version 2 for more details (a copy is included in the LICENSE file that
   13.17 +# accompanied this code).
   13.18 +#
   13.19 +# You should have received a copy of the GNU General Public License version
   13.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   13.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   13.22 +#
   13.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   13.24 +# or visit www.oracle.com if you need additional information or have any
   13.25 +# questions.
   13.26 +#  
   13.27 +#
   13.28 +
   13.29 +# Rules to build signal interposition library, used by vm.make
   13.30 +
   13.31 +# libjsig.so: signal interposition library
   13.32 +JSIG = jsig
   13.33 +LIBJSIG = lib$(JSIG).so
   13.34 +
   13.35 +LIBJSIG_DEBUGINFO   = lib$(JSIG).debuginfo
   13.36 +LIBJSIG_DIZ         = lib$(JSIG).diz
   13.37 +
   13.38 +JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
   13.39 +
   13.40 +DEST_JSIG           = $(JDK_LIBDIR)/$(LIBJSIG)
   13.41 +DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
   13.42 +DEST_JSIG_DIZ       = $(JDK_LIBDIR)/$(LIBJSIG_DIZ)
   13.43 +
   13.44 +LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
   13.45 +
   13.46 +# On Linux we really dont want a mapfile, as this library is small 
   13.47 +# and preloaded using LD_PRELOAD, making functions private will 
   13.48 +# cause problems with interposing. See CR: 6466665
   13.49 +# LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
   13.50 +
   13.51 +LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
   13.52 +
   13.53 +LFLAGS_JSIG += $(BIN_UTILS)
   13.54 +
   13.55 +# DEBUG_BINARIES overrides everything, use full -g debug information
   13.56 +ifeq ($(DEBUG_BINARIES), true)
   13.57 +  JSIG_DEBUG_CFLAGS = -g
   13.58 +endif
   13.59 +
   13.60 +$(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
   13.61 +	@echo Making signal interposition lib...
   13.62 +	$(QUIETLY) $(CXX) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
   13.63 +                         $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
   13.64 +
   13.65 +#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   13.66 +#	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
   13.67 +#	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
   13.68 +#  ifeq ($(STRIP_POLICY),all_strip)
   13.69 +#	$(QUIETLY) $(STRIP) $@
   13.70 +#  else
   13.71 +#    ifeq ($(STRIP_POLICY),min_strip)
   13.72 +#	$(QUIETLY) $(STRIP) -g $@
   13.73 +#    # implied else here is no stripping at all
   13.74 +#    endif
   13.75 +#  endif
   13.76 +#  ifeq ($(ZIP_DEBUGINFO_FILES),1)
   13.77 +#	$(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
   13.78 +#	$(RM) $(LIBJSIG_DEBUGINFO)
   13.79 +#  endif
   13.80 +#endif
   13.81 +
   13.82 +install_jsig: $(LIBJSIG)
   13.83 +	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
   13.84 +	$(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
   13.85 +	    cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
   13.86 +	$(QUIETLY) test -f $(LIBJSIG_DIZ) && \
   13.87 +	    cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
   13.88 +	$(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
   13.89 +
   13.90 +.PHONY: install_jsig
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/make/aix/makefiles/jvmti.make	Fri Sep 06 20:08:29 2013 +0200
    14.3 @@ -0,0 +1,118 @@
    14.4 +#
    14.5 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
    14.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    14.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    14.8 +#
    14.9 +# This code is free software; you can redistribute it and/or modify it
   14.10 +# under the terms of the GNU General Public License version 2 only, as
   14.11 +# published by the Free Software Foundation.
   14.12 +#
   14.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   14.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   14.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14.16 +# version 2 for more details (a copy is included in the LICENSE file that
   14.17 +# accompanied this code).
   14.18 +#
   14.19 +# You should have received a copy of the GNU General Public License version
   14.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   14.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   14.22 +#
   14.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   14.24 +# or visit www.oracle.com if you need additional information or have any
   14.25 +# questions.
   14.26 +#  
   14.27 +#
   14.28 +
   14.29 +# This makefile (jvmti.make) is included from the jvmti.make in the
   14.30 +# build directories.
   14.31 +#
   14.32 +# It knows how to build and run the tools to generate jvmti.
   14.33 +
   14.34 +include $(GAMMADIR)/make/aix/makefiles/rules.make
   14.35 +
   14.36 +# #########################################################################
   14.37 +
   14.38 +TOPDIR      = $(shell echo `pwd`)
   14.39 +GENERATED   = $(TOPDIR)/../generated
   14.40 +JvmtiOutDir = $(GENERATED)/jvmtifiles
   14.41 +
   14.42 +JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims
   14.43 +InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter
   14.44 +
   14.45 +# set VPATH so make knows where to look for source files
   14.46 +Src_Dirs_V += $(JvmtiSrcDir)
   14.47 +VPATH += $(Src_Dirs_V:%=%:)
   14.48 +
   14.49 +JvmtiGeneratedNames = \
   14.50 +        jvmtiEnv.hpp \
   14.51 +        jvmtiEnter.cpp \
   14.52 +        jvmtiEnterTrace.cpp \
   14.53 +        jvmtiEnvRecommended.cpp \
   14.54 +        bytecodeInterpreterWithChecks.cpp \
   14.55 +        jvmti.h \
   14.56 +
   14.57 +JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java
   14.58 +JvmtiEnvFillClass = $(JvmtiOutDir)/jvmtiEnvFill.class
   14.59 +
   14.60 +JvmtiGenSource = $(JvmtiSrcDir)/jvmtiGen.java
   14.61 +JvmtiGenClass = $(JvmtiOutDir)/jvmtiGen.class
   14.62 +
   14.63 +JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
   14.64 +
   14.65 +XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
   14.66 +
   14.67 +.PHONY: all jvmtidocs clean cleanall
   14.68 +
   14.69 +# #########################################################################
   14.70 +
   14.71 +all: $(JvmtiGeneratedFiles)
   14.72 +
   14.73 +both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl
   14.74 +
   14.75 +$(JvmtiGenClass): $(JvmtiGenSource)
   14.76 +	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource)
   14.77 +
   14.78 +$(JvmtiEnvFillClass): $(JvmtiEnvFillSource)
   14.79 +	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource)
   14.80 +
   14.81 +$(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
   14.82 +	@echo Generating $@
   14.83 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
   14.84 +
   14.85 +$(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
   14.86 +	@echo Generating $@
   14.87 +	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
   14.88 +
   14.89 +$(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
   14.90 +	@echo Generating $@
   14.91 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
   14.92 +
   14.93 +$(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
   14.94 +	@echo Generating $@
   14.95 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
   14.96 +	$(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
   14.97 +
   14.98 +$(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
   14.99 +	@echo Generating $@
  14.100 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
  14.101 +
  14.102 +$(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
  14.103 +	@echo Generating $@
  14.104 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
  14.105 +
  14.106 +jvmtidocs:  $(JvmtiOutDir)/jvmti.html 
  14.107 +
  14.108 +$(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
  14.109 +	@echo Generating $@
  14.110 +	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
  14.111 +
  14.112 +# #########################################################################
  14.113 +
  14.114 +clean :
  14.115 +	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
  14.116 +
  14.117 +cleanall :
  14.118 +	rm $(JvmtiGenClass) $(JvmtiEnvFillClass) $(JvmtiGeneratedFiles)
  14.119 +
  14.120 +# #########################################################################
  14.121 +
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/make/aix/makefiles/mapfile-vers-debug	Fri Sep 06 20:08:29 2013 +0200
    15.3 @@ -0,0 +1,274 @@
    15.4 +#
    15.5 +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
    15.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    15.7 +#
    15.8 +# This code is free software; you can redistribute it and/or modify it
    15.9 +# under the terms of the GNU General Public License version 2 only, as
   15.10 +# published by the Free Software Foundation.
   15.11 +#
   15.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   15.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   15.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   15.15 +# version 2 for more details (a copy is included in the LICENSE file that
   15.16 +# accompanied this code).
   15.17 +#
   15.18 +# You should have received a copy of the GNU General Public License version
   15.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   15.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   15.21 +#
   15.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   15.23 +# or visit www.oracle.com if you need additional information or have any
   15.24 +# questions.
   15.25 +#  
   15.26 +#
   15.27 +
   15.28 +# Define public interface.
   15.29 +
   15.30 +SUNWprivate_1.1 {
   15.31 +        global:
   15.32 +                # JNI
   15.33 +                JNI_CreateJavaVM;
   15.34 +                JNI_GetCreatedJavaVMs;
   15.35 +                JNI_GetDefaultJavaVMInitArgs;
   15.36 +
   15.37 +                # JVM
   15.38 +                JVM_Accept;
   15.39 +                JVM_ActiveProcessorCount;
   15.40 +                JVM_AllocateNewArray;
   15.41 +                JVM_AllocateNewObject;
   15.42 +                JVM_ArrayCopy;
   15.43 +                JVM_AssertionStatusDirectives;
   15.44 +                JVM_Available;
   15.45 +                JVM_Bind;
   15.46 +                JVM_ClassDepth;
   15.47 +                JVM_ClassLoaderDepth;
   15.48 +                JVM_Clone;
   15.49 +                JVM_Close;
   15.50 +                JVM_CX8Field;
   15.51 +                JVM_CompileClass;
   15.52 +                JVM_CompileClasses;
   15.53 +                JVM_CompilerCommand;
   15.54 +                JVM_Connect;
   15.55 +                JVM_ConstantPoolGetClassAt;
   15.56 +                JVM_ConstantPoolGetClassAtIfLoaded;
   15.57 +                JVM_ConstantPoolGetDoubleAt;
   15.58 +                JVM_ConstantPoolGetFieldAt;
   15.59 +                JVM_ConstantPoolGetFieldAtIfLoaded;
   15.60 +                JVM_ConstantPoolGetFloatAt;
   15.61 +                JVM_ConstantPoolGetIntAt;
   15.62 +                JVM_ConstantPoolGetLongAt;
   15.63 +                JVM_ConstantPoolGetMethodAt;
   15.64 +                JVM_ConstantPoolGetMethodAtIfLoaded;
   15.65 +                JVM_ConstantPoolGetMemberRefInfoAt;
   15.66 +                JVM_ConstantPoolGetSize;
   15.67 +                JVM_ConstantPoolGetStringAt;
   15.68 +                JVM_ConstantPoolGetUTF8At;
   15.69 +                JVM_CountStackFrames;
   15.70 +                JVM_CurrentClassLoader;
   15.71 +                JVM_CurrentLoadedClass;
   15.72 +                JVM_CurrentThread;
   15.73 +                JVM_CurrentTimeMillis;
   15.74 +                JVM_DefineClass;
   15.75 +                JVM_DefineClassWithSource;
   15.76 +                JVM_DefineClassWithSourceCond;
   15.77 +                JVM_DesiredAssertionStatus;
   15.78 +                JVM_DisableCompiler;
   15.79 +                JVM_DoPrivileged;
   15.80 +                JVM_DTraceGetVersion;
   15.81 +                JVM_DTraceActivate;
   15.82 +                JVM_DTraceIsProbeEnabled;
   15.83 +                JVM_DTraceIsSupported;
   15.84 +                JVM_DTraceDispose;
   15.85 +                JVM_DumpAllStacks;
   15.86 +                JVM_DumpThreads;
   15.87 +                JVM_EnableCompiler;
   15.88 +                JVM_Exit;
   15.89 +                JVM_FillInStackTrace;
   15.90 +                JVM_FindClassFromClass;
   15.91 +                JVM_FindClassFromClassLoader;
   15.92 +                JVM_FindClassFromBootLoader;
   15.93 +                JVM_FindLibraryEntry;
   15.94 +                JVM_FindLoadedClass;
   15.95 +                JVM_FindPrimitiveClass;
   15.96 +                JVM_FindSignal;
   15.97 +                JVM_FreeMemory;
   15.98 +                JVM_GC;
   15.99 +                JVM_GetAllThreads;
  15.100 +                JVM_GetArrayElement;
  15.101 +                JVM_GetArrayLength;
  15.102 +                JVM_GetCPClassNameUTF;
  15.103 +                JVM_GetCPFieldClassNameUTF;
  15.104 +                JVM_GetCPFieldModifiers;
  15.105 +                JVM_GetCPFieldNameUTF;
  15.106 +                JVM_GetCPFieldSignatureUTF;
  15.107 +                JVM_GetCPMethodClassNameUTF;
  15.108 +                JVM_GetCPMethodModifiers;
  15.109 +                JVM_GetCPMethodNameUTF;
  15.110 +                JVM_GetCPMethodSignatureUTF;
  15.111 +                JVM_GetCallerClass;
  15.112 +                JVM_GetClassAccessFlags;
  15.113 +                JVM_GetClassAnnotations;
  15.114 +                JVM_GetClassCPEntriesCount;
  15.115 +                JVM_GetClassCPTypes;
  15.116 +                JVM_GetClassConstantPool;
  15.117 +                JVM_GetClassContext;
  15.118 +                JVM_GetClassDeclaredConstructors;
  15.119 +                JVM_GetClassDeclaredFields;
  15.120 +                JVM_GetClassDeclaredMethods;
  15.121 +                JVM_GetClassFieldsCount;
  15.122 +                JVM_GetClassInterfaces;
  15.123 +                JVM_GetClassLoader;
  15.124 +                JVM_GetClassMethodsCount;
  15.125 +                JVM_GetClassModifiers;
  15.126 +                JVM_GetClassName;
  15.127 +                JVM_GetClassNameUTF;
  15.128 +		JVM_GetClassSignature;
  15.129 +                JVM_GetClassSigners;
  15.130 +                JVM_GetClassTypeAnnotations;
  15.131 +                JVM_GetComponentType;
  15.132 +                JVM_GetDeclaredClasses;
  15.133 +                JVM_GetDeclaringClass;
  15.134 +                JVM_GetEnclosingMethodInfo;
  15.135 +                JVM_GetFieldAnnotations;
  15.136 +                JVM_GetFieldIxModifiers;
  15.137 +                JVM_GetFieldTypeAnnotations;
  15.138 +                JVM_GetHostName;
  15.139 +                JVM_GetInheritedAccessControlContext;
  15.140 +                JVM_GetInterfaceVersion;
  15.141 +                JVM_GetLastErrorString;
  15.142 +                JVM_GetManagement;
  15.143 +                JVM_GetMethodAnnotations;
  15.144 +                JVM_GetMethodDefaultAnnotationValue;
  15.145 +                JVM_GetMethodIxArgsSize;
  15.146 +                JVM_GetMethodIxByteCode;
  15.147 +                JVM_GetMethodIxByteCodeLength;
  15.148 +                JVM_GetMethodIxExceptionIndexes;
  15.149 +                JVM_GetMethodIxExceptionTableEntry;
  15.150 +                JVM_GetMethodIxExceptionTableLength;
  15.151 +                JVM_GetMethodIxExceptionsCount;
  15.152 +                JVM_GetMethodIxLocalsCount;
  15.153 +                JVM_GetMethodIxMaxStack;
  15.154 +                JVM_GetMethodIxModifiers;
  15.155 +                JVM_GetMethodIxNameUTF;
  15.156 +                JVM_GetMethodIxSignatureUTF;
  15.157 +                JVM_GetMethodParameterAnnotations;
  15.158 +                JVM_GetMethodParameters;
  15.159 +                JVM_GetMethodTypeAnnotations;
  15.160 +                JVM_GetPrimitiveArrayElement;
  15.161 +                JVM_GetProtectionDomain;
  15.162 +                JVM_GetSockName;
  15.163 +                JVM_GetSockOpt;
  15.164 +                JVM_GetStackAccessControlContext;
  15.165 +                JVM_GetStackTraceDepth;
  15.166 +                JVM_GetStackTraceElement;
  15.167 +                JVM_GetSystemPackage;
  15.168 +                JVM_GetSystemPackages;
  15.169 +                JVM_GetThreadStateNames;
  15.170 +                JVM_GetThreadStateValues;
  15.171 +                JVM_GetVersionInfo;
  15.172 +                JVM_Halt;
  15.173 +                JVM_HoldsLock;
  15.174 +                JVM_IHashCode;
  15.175 +                JVM_InitAgentProperties;
  15.176 +                JVM_InitProperties;
  15.177 +                JVM_InitializeCompiler;
  15.178 +                JVM_InitializeSocketLibrary;
  15.179 +                JVM_InternString;
  15.180 +                JVM_Interrupt;
  15.181 +                JVM_InvokeMethod;
  15.182 +                JVM_IsArrayClass;
  15.183 +                JVM_IsConstructorIx;
  15.184 +                JVM_IsInterface;
  15.185 +                JVM_IsInterrupted;
  15.186 +                JVM_IsNaN;
  15.187 +                JVM_IsPrimitiveClass;
  15.188 +                JVM_IsSameClassPackage;
  15.189 +                JVM_IsSilentCompiler;
  15.190 +                JVM_IsSupportedJNIVersion;
  15.191 +                JVM_IsThreadAlive;
  15.192 +                JVM_IsVMGeneratedMethodIx;
  15.193 +                JVM_LatestUserDefinedLoader;
  15.194 +                JVM_Listen;
  15.195 +                JVM_LoadClass0;
  15.196 +                JVM_LoadLibrary;
  15.197 +                JVM_Lseek;
  15.198 +                JVM_MaxObjectInspectionAge;
  15.199 +                JVM_MaxMemory;
  15.200 +                JVM_MonitorNotify;
  15.201 +                JVM_MonitorNotifyAll;
  15.202 +                JVM_MonitorWait;
  15.203 +                JVM_NanoTime;
  15.204 +                JVM_NativePath;
  15.205 +                JVM_NewArray;
  15.206 +                JVM_NewInstanceFromConstructor;
  15.207 +                JVM_NewMultiArray;
  15.208 +                JVM_OnExit;
  15.209 +                JVM_Open;
  15.210 +                JVM_RaiseSignal;
  15.211 +                JVM_RawMonitorCreate;
  15.212 +                JVM_RawMonitorDestroy;
  15.213 +                JVM_RawMonitorEnter;
  15.214 +                JVM_RawMonitorExit;
  15.215 +                JVM_Read;
  15.216 +                JVM_Recv;
  15.217 +                JVM_RecvFrom;
  15.218 +                JVM_RegisterSignal;
  15.219 +                JVM_ReleaseUTF;
  15.220 +                JVM_ResolveClass;
  15.221 +                JVM_ResumeThread;
  15.222 +                JVM_Send;
  15.223 +                JVM_SendTo;
  15.224 +                JVM_SetArrayElement;
  15.225 +                JVM_SetClassSigners;
  15.226 +                JVM_SetLength;
  15.227 +                JVM_SetNativeThreadName;
  15.228 +                JVM_SetPrimitiveArrayElement;
  15.229 +                JVM_SetProtectionDomain;
  15.230 +                JVM_SetSockOpt;
  15.231 +                JVM_SetThreadPriority;
  15.232 +                JVM_Sleep;
  15.233 +                JVM_Socket;
  15.234 +                JVM_SocketAvailable;
  15.235 +                JVM_SocketClose;
  15.236 +                JVM_SocketShutdown;
  15.237 +                JVM_StartThread;
  15.238 +                JVM_StopThread;
  15.239 +                JVM_SuspendThread;
  15.240 +                JVM_SupportsCX8;
  15.241 +                JVM_Sync;
  15.242 +                JVM_Timeout;
  15.243 +                JVM_TotalMemory;
  15.244 +                JVM_TraceInstructions;
  15.245 +                JVM_TraceMethodCalls;
  15.246 +                JVM_UnloadLibrary;
  15.247 +                JVM_Write;
  15.248 +                JVM_Yield;
  15.249 +                JVM_handle_linux_signal;
  15.250 +
  15.251 +                # debug JVM
  15.252 +                JVM_AccessVMBooleanFlag;
  15.253 +                JVM_AccessVMIntFlag;
  15.254 +                JVM_VMBreakPoint;
  15.255 +
  15.256 +                # miscellaneous functions
  15.257 +                jio_fprintf;
  15.258 +                jio_printf;
  15.259 +                jio_snprintf;
  15.260 +                jio_vfprintf;
  15.261 +                jio_vsnprintf;
  15.262 +                fork1;
  15.263 +                numa_warn;
  15.264 +                numa_error;
  15.265 +
  15.266 +                # Needed because there is no JVM interface for this.
  15.267 +                sysThreadAvailableStackWithSlack;
  15.268 +
  15.269 +                # This is for Forte Analyzer profiling support.
  15.270 +                AsyncGetCallTrace;
  15.271 +
  15.272 +		# INSERT VTABLE SYMBOLS HERE
  15.273 +
  15.274 +        local:
  15.275 +                *;
  15.276 +};
  15.277 +
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/make/aix/makefiles/mapfile-vers-jsig	Fri Sep 06 20:08:29 2013 +0200
    16.3 @@ -0,0 +1,38 @@
    16.4 +#
    16.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    16.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    16.7 +#
    16.8 +# This code is free software; you can redistribute it and/or modify it
    16.9 +# under the terms of the GNU General Public License version 2 only, as
   16.10 +# published by the Free Software Foundation.
   16.11 +#
   16.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   16.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   16.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   16.15 +# version 2 for more details (a copy is included in the LICENSE file that
   16.16 +# accompanied this code).
   16.17 +#
   16.18 +# You should have received a copy of the GNU General Public License version
   16.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   16.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   16.21 +#
   16.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   16.23 +# or visit www.oracle.com if you need additional information or have any
   16.24 +# questions.
   16.25 +#  
   16.26 +#
   16.27 +
   16.28 +# Define library interface.
   16.29 +
   16.30 +SUNWprivate_1.1 {
   16.31 +        global:
   16.32 +            JVM_begin_signal_setting;
   16.33 +            JVM_end_signal_setting;
   16.34 +            JVM_get_libjsig_version;
   16.35 +            JVM_get_signal_action;
   16.36 +            sigaction;
   16.37 +            signal;
   16.38 +            sigset;
   16.39 +        local:
   16.40 +                *;
   16.41 +};
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/make/aix/makefiles/mapfile-vers-product	Fri Sep 06 20:08:29 2013 +0200
    17.3 @@ -0,0 +1,267 @@
    17.4 +#
    17.5 +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
    17.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    17.7 +#
    17.8 +# This code is free software; you can redistribute it and/or modify it
    17.9 +# under the terms of the GNU General Public License version 2 only, as
   17.10 +# published by the Free Software Foundation.
   17.11 +#
   17.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   17.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   17.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   17.15 +# version 2 for more details (a copy is included in the LICENSE file that
   17.16 +# accompanied this code).
   17.17 +#
   17.18 +# You should have received a copy of the GNU General Public License version
   17.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   17.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   17.21 +#
   17.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   17.23 +# or visit www.oracle.com if you need additional information or have any
   17.24 +# questions.
   17.25 +#  
   17.26 +#
   17.27 +
   17.28 +# Define public interface.
   17.29 +
   17.30 +SUNWprivate_1.1 {
   17.31 +        global:
   17.32 +                # JNI
   17.33 +                JNI_CreateJavaVM;
   17.34 +                JNI_GetCreatedJavaVMs;
   17.35 +                JNI_GetDefaultJavaVMInitArgs;
   17.36 +
   17.37 +                # JVM
   17.38 +                JVM_Accept;
   17.39 +                JVM_ActiveProcessorCount;
   17.40 +                JVM_AllocateNewArray;
   17.41 +                JVM_AllocateNewObject;
   17.42 +                JVM_ArrayCopy;
   17.43 +                JVM_AssertionStatusDirectives;
   17.44 +                JVM_Available;
   17.45 +                JVM_Bind;
   17.46 +                JVM_ClassDepth;
   17.47 +                JVM_ClassLoaderDepth;
   17.48 +                JVM_Clone;
   17.49 +                JVM_Close;
   17.50 +                JVM_CX8Field;
   17.51 +                JVM_CompileClass;
   17.52 +                JVM_CompileClasses;
   17.53 +                JVM_CompilerCommand;
   17.54 +                JVM_Connect;
   17.55 +                JVM_ConstantPoolGetClassAt;
   17.56 +                JVM_ConstantPoolGetClassAtIfLoaded;
   17.57 +                JVM_ConstantPoolGetDoubleAt;
   17.58 +                JVM_ConstantPoolGetFieldAt;
   17.59 +                JVM_ConstantPoolGetFieldAtIfLoaded;
   17.60 +                JVM_ConstantPoolGetFloatAt;
   17.61 +                JVM_ConstantPoolGetIntAt;
   17.62 +                JVM_ConstantPoolGetLongAt;
   17.63 +                JVM_ConstantPoolGetMethodAt;
   17.64 +                JVM_ConstantPoolGetMethodAtIfLoaded;
   17.65 +                JVM_ConstantPoolGetMemberRefInfoAt;
   17.66 +                JVM_ConstantPoolGetSize;
   17.67 +                JVM_ConstantPoolGetStringAt;
   17.68 +                JVM_ConstantPoolGetUTF8At;
   17.69 +                JVM_CountStackFrames;
   17.70 +                JVM_CurrentClassLoader;
   17.71 +                JVM_CurrentLoadedClass;
   17.72 +                JVM_CurrentThread;
   17.73 +                JVM_CurrentTimeMillis;
   17.74 +                JVM_DefineClass;
   17.75 +                JVM_DefineClassWithSource;
   17.76 +                JVM_DefineClassWithSourceCond;
   17.77 +                JVM_DesiredAssertionStatus;
   17.78 +                JVM_DisableCompiler;
   17.79 +                JVM_DoPrivileged;
   17.80 +                JVM_DTraceGetVersion;
   17.81 +                JVM_DTraceActivate;
   17.82 +                JVM_DTraceIsProbeEnabled;
   17.83 +                JVM_DTraceIsSupported;
   17.84 +                JVM_DTraceDispose;
   17.85 +                JVM_DumpAllStacks;
   17.86 +                JVM_DumpThreads;
   17.87 +                JVM_EnableCompiler;
   17.88 +                JVM_Exit;
   17.89 +                JVM_FillInStackTrace;
   17.90 +                JVM_FindClassFromClass;
   17.91 +                JVM_FindClassFromClassLoader;
   17.92 +                JVM_FindClassFromBootLoader;
   17.93 +                JVM_FindLibraryEntry;
   17.94 +                JVM_FindLoadedClass;
   17.95 +                JVM_FindPrimitiveClass;
   17.96 +                JVM_FindSignal;
   17.97 +                JVM_FreeMemory;
   17.98 +                JVM_GC;
   17.99 +                JVM_GetAllThreads;
  17.100 +                JVM_GetArrayElement;
  17.101 +                JVM_GetArrayLength;
  17.102 +                JVM_GetCPClassNameUTF;
  17.103 +                JVM_GetCPFieldClassNameUTF;
  17.104 +                JVM_GetCPFieldModifiers;
  17.105 +                JVM_GetCPFieldNameUTF;
  17.106 +                JVM_GetCPFieldSignatureUTF;
  17.107 +                JVM_GetCPMethodClassNameUTF;
  17.108 +                JVM_GetCPMethodModifiers;
  17.109 +                JVM_GetCPMethodNameUTF;
  17.110 +                JVM_GetCPMethodSignatureUTF;
  17.111 +                JVM_GetCallerClass;
  17.112 +                JVM_GetClassAccessFlags;
  17.113 +                JVM_GetClassAnnotations;
  17.114 +                JVM_GetClassCPEntriesCount;
  17.115 +                JVM_GetClassCPTypes;
  17.116 +                JVM_GetClassConstantPool;
  17.117 +                JVM_GetClassContext;
  17.118 +                JVM_GetClassDeclaredConstructors;
  17.119 +                JVM_GetClassDeclaredFields;
  17.120 +                JVM_GetClassDeclaredMethods;
  17.121 +                JVM_GetClassFieldsCount;
  17.122 +                JVM_GetClassInterfaces;
  17.123 +                JVM_GetClassLoader;
  17.124 +                JVM_GetClassMethodsCount;
  17.125 +                JVM_GetClassModifiers;
  17.126 +                JVM_GetClassName;
  17.127 +                JVM_GetClassNameUTF;
  17.128 +                JVM_GetClassSignature;
  17.129 +                JVM_GetClassSigners;
  17.130 +                JVM_GetClassTypeAnnotations;
  17.131 +                JVM_GetComponentType;
  17.132 +                JVM_GetDeclaredClasses;
  17.133 +                JVM_GetDeclaringClass;
  17.134 +                JVM_GetEnclosingMethodInfo;
  17.135 +                JVM_GetFieldAnnotations;
  17.136 +                JVM_GetFieldIxModifiers;
  17.137 +                JVM_GetHostName;
  17.138 +                JVM_GetInheritedAccessControlContext;
  17.139 +                JVM_GetInterfaceVersion;
  17.140 +                JVM_GetLastErrorString;
  17.141 +                JVM_GetManagement;
  17.142 +                JVM_GetMethodAnnotations;
  17.143 +                JVM_GetMethodDefaultAnnotationValue;
  17.144 +                JVM_GetMethodIxArgsSize;
  17.145 +                JVM_GetMethodIxByteCode;
  17.146 +                JVM_GetMethodIxByteCodeLength;
  17.147 +                JVM_GetMethodIxExceptionIndexes;
  17.148 +                JVM_GetMethodIxExceptionTableEntry;
  17.149 +                JVM_GetMethodIxExceptionTableLength;
  17.150 +                JVM_GetMethodIxExceptionsCount;
  17.151 +                JVM_GetMethodIxLocalsCount;
  17.152 +                JVM_GetMethodIxMaxStack;
  17.153 +                JVM_GetMethodIxModifiers;
  17.154 +                JVM_GetMethodIxNameUTF;
  17.155 +                JVM_GetMethodIxSignatureUTF;
  17.156 +                JVM_GetMethodParameterAnnotations;
  17.157 +                JVM_GetMethodParameters;
  17.158 +                JVM_GetPrimitiveArrayElement;
  17.159 +                JVM_GetProtectionDomain;
  17.160 +                JVM_GetSockName;
  17.161 +                JVM_GetSockOpt;
  17.162 +                JVM_GetStackAccessControlContext;
  17.163 +                JVM_GetStackTraceDepth;
  17.164 +                JVM_GetStackTraceElement;
  17.165 +                JVM_GetSystemPackage;
  17.166 +                JVM_GetSystemPackages;
  17.167 +                JVM_GetThreadStateNames;
  17.168 +                JVM_GetThreadStateValues;
  17.169 +                JVM_GetVersionInfo;
  17.170 +                JVM_Halt;
  17.171 +                JVM_HoldsLock;
  17.172 +                JVM_IHashCode;
  17.173 +                JVM_InitAgentProperties;
  17.174 +                JVM_InitProperties;
  17.175 +                JVM_InitializeCompiler;
  17.176 +                JVM_InitializeSocketLibrary;
  17.177 +                JVM_InternString;
  17.178 +                JVM_Interrupt;
  17.179 +                JVM_InvokeMethod;
  17.180 +                JVM_IsArrayClass;
  17.181 +                JVM_IsConstructorIx;
  17.182 +                JVM_IsInterface;
  17.183 +                JVM_IsInterrupted;
  17.184 +                JVM_IsNaN;
  17.185 +                JVM_IsPrimitiveClass;
  17.186 +                JVM_IsSameClassPackage;
  17.187 +                JVM_IsSilentCompiler;
  17.188 +                JVM_IsSupportedJNIVersion;
  17.189 +                JVM_IsThreadAlive;
  17.190 +                JVM_IsVMGeneratedMethodIx;
  17.191 +                JVM_LatestUserDefinedLoader;
  17.192 +                JVM_Listen;
  17.193 +                JVM_LoadClass0;
  17.194 +                JVM_LoadLibrary;
  17.195 +                JVM_Lseek;
  17.196 +                JVM_MaxObjectInspectionAge;
  17.197 +                JVM_MaxMemory;
  17.198 +                JVM_MonitorNotify;
  17.199 +                JVM_MonitorNotifyAll;
  17.200 +                JVM_MonitorWait;
  17.201 +                JVM_NanoTime;
  17.202 +                JVM_NativePath;
  17.203 +                JVM_NewArray;
  17.204 +                JVM_NewInstanceFromConstructor;
  17.205 +                JVM_NewMultiArray;
  17.206 +                JVM_OnExit;
  17.207 +                JVM_Open;
  17.208 +                JVM_RaiseSignal;
  17.209 +                JVM_RawMonitorCreate;
  17.210 +                JVM_RawMonitorDestroy;
  17.211 +                JVM_RawMonitorEnter;
  17.212 +                JVM_RawMonitorExit;
  17.213 +                JVM_Read;
  17.214 +                JVM_Recv;
  17.215 +                JVM_RecvFrom;
  17.216 +                JVM_RegisterSignal;
  17.217 +                JVM_ReleaseUTF;
  17.218 +                JVM_ResolveClass;
  17.219 +                JVM_ResumeThread;
  17.220 +                JVM_Send;
  17.221 +                JVM_SendTo;
  17.222 +                JVM_SetArrayElement;
  17.223 +                JVM_SetClassSigners;
  17.224 +                JVM_SetLength;
  17.225 +                JVM_SetNativeThreadName;
  17.226 +                JVM_SetPrimitiveArrayElement;
  17.227 +                JVM_SetProtectionDomain;
  17.228 +                JVM_SetSockOpt;
  17.229 +                JVM_SetThreadPriority;
  17.230 +                JVM_Sleep;
  17.231 +                JVM_Socket;
  17.232 +                JVM_SocketAvailable;
  17.233 +                JVM_SocketClose;
  17.234 +                JVM_SocketShutdown;
  17.235 +                JVM_StartThread;
  17.236 +                JVM_StopThread;
  17.237 +                JVM_SuspendThread;
  17.238 +                JVM_SupportsCX8;
  17.239 +                JVM_Sync;
  17.240 +                JVM_Timeout;
  17.241 +                JVM_TotalMemory;
  17.242 +                JVM_TraceInstructions;
  17.243 +                JVM_TraceMethodCalls;
  17.244 +                JVM_UnloadLibrary;
  17.245 +                JVM_Write;
  17.246 +                JVM_Yield;
  17.247 +                JVM_handle_linux_signal;
  17.248 +
  17.249 +                # miscellaneous functions
  17.250 +                jio_fprintf;
  17.251 +                jio_printf;
  17.252 +                jio_snprintf;
  17.253 +                jio_vfprintf;
  17.254 +                jio_vsnprintf;
  17.255 +                fork1;
  17.256 +                numa_warn;
  17.257 +                numa_error;
  17.258 +
  17.259 +                # Needed because there is no JVM interface for this.
  17.260 +                sysThreadAvailableStackWithSlack;
  17.261 +
  17.262 +                # This is for Forte Analyzer profiling support.
  17.263 +                AsyncGetCallTrace;
  17.264 +
  17.265 +		# INSERT VTABLE SYMBOLS HERE
  17.266 +
  17.267 +        local:
  17.268 +                *;
  17.269 +};
  17.270 +
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/make/aix/makefiles/ppc64.make	Fri Sep 06 20:08:29 2013 +0200
    18.3 @@ -0,0 +1,94 @@
    18.4 +#
    18.5 +# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
    18.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    18.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    18.8 +#
    18.9 +# This code is free software; you can redistribute it and/or modify it
   18.10 +# under the terms of the GNU General Public License version 2 only, as
   18.11 +# published by the Free Software Foundation.
   18.12 +#
   18.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   18.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   18.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   18.16 +# version 2 for more details (a copy is included in the LICENSE file that
   18.17 +# accompanied this code).
   18.18 +#
   18.19 +# You should have received a copy of the GNU General Public License version
   18.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   18.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   18.22 +#
   18.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   18.24 +# or visit www.oracle.com if you need additional information or have any
   18.25 +# questions.
   18.26 +#  
   18.27 +#
   18.28 +
   18.29 +# Produce 64 bits object files.
   18.30 +CFLAGS += -q64
   18.31 +
   18.32 +# Balanced tuning for recent versions of the POWER architecture (if supported by xlc).
   18.33 +QTUNE=$(if $(CXX_SUPPORTS_BALANCED_TUNING),balanced,pwr5)
   18.34 +
   18.35 +# Try to speed up the interpreter: use ppc64 instructions and inline 
   18.36 +# glue code for external functions.
   18.37 +OPT_CFLAGS += -qarch=ppc64 -qtune=$(QTUNE) -qinlglue
   18.38 +
   18.39 +# We need variable length arrays
   18.40 +CFLAGS += -qlanglvl=c99vla
   18.41 +# Just to check for unwanted macro redefinitions
   18.42 +CFLAGS += -qlanglvl=noredefmac
   18.43 +
   18.44 +# Suppress those "implicit private" warnings xlc gives.
   18.45 +#  - The omitted keyword "private" is assumed for base class "...".
   18.46 +CFLAGS += -qsuppress=1540-0198
   18.47 +
   18.48 +# Suppress the following numerous warning:
   18.49 +#  - 1540-1090 (I) The destructor of "..." might not be called.
   18.50 +#  - 1500-010: (W) WARNING in ...: Infinite loop.  Program may not stop.
   18.51 +#    There are several infinite loops in the vm, suppress.
   18.52 +CFLAGS += -qsuppress=1540-1090 -qsuppress=1500-010
   18.53 +
   18.54 +# Suppress 
   18.55 +#  - 540-1088 (W) The exception specification is being ignored.
   18.56 +# caused by throw() in declaration of new() in nmethod.hpp.
   18.57 +CFLAGS += -qsuppress=1540-1088
   18.58 +
   18.59 +# Turn off floating-point optimizations that may alter program semantics
   18.60 +OPT_CFLAGS += -qstrict
   18.61 +
   18.62 +# Disable aggressive optimizations for functions in sharedRuntimeTrig.cpp 
   18.63 +# and sharedRuntimeTrans.cpp on ppc64. 
   18.64 +# -qstrict turns off the following optimizations:
   18.65 +#   * Performing code motion and scheduling on computations such as loads
   18.66 +#     and floating-point computations that may trigger an exception.
   18.67 +#   * Relaxing conformance to IEEE rules.
   18.68 +#   * Reassociating floating-point expressions.
   18.69 +# When using '-qstrict' there still remains one problem
   18.70 +# in javasoft.sqe.tests.api.java.lang.Math.sin5Tests when run in compile-all
   18.71 +# mode, so don't optimize sharedRuntimeTrig.cpp at all.
   18.72 +OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
   18.73 +OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
   18.74 +
   18.75 +# xlc 10.01 parameters for ipa compile.
   18.76 +QIPA_COMPILE=$(if $(CXX_IS_V10),-qipa)
   18.77 +
   18.78 +# Xlc 10.1 parameters for aggressive optimization:
   18.79 +# - qhot=level=1: Most aggressive loop optimizations.
   18.80 +# - qignerrno: Assume errno is not modified by system calls.
   18.81 +# - qinline: Inline method calls. No suboptions for c++ compiles.
   18.82 +# - qxflag=ASMMIDCOALFIX: Activate fix for -O3 problem in interpreter loop.
   18.83 +# - qxflag=asmfastsync: Activate fix for performance problem with inline assembler with memory clobber.
   18.84 +QV10_OPT=$(if $(CXX_IS_V10),-qxflag=ASMMIDCOALFIX -qxflag=asmfastsync)
   18.85 +QV10_OPT_AGGRESSIVE=$(if $(CXX_IS_V10),-qhot=level=1 -qignerrno -qinline)
   18.86 +QV10_OPT_CONSERVATIVE=$(if $(CXX_IS_V10),-qhot=level=1 -qignerrno -qinline)
   18.87 +
   18.88 +# Disallow inlining for synchronizer.cpp, but perform O3 optimizations.
   18.89 +OPT_CFLAGS/synchronizer.o = $(OPT_CFLAGS) -qnoinline
   18.90 +
   18.91 +# Set all the xlC V10.1 options here.
   18.92 +OPT_CFLAGS += $(QIPA_COMPILE) $(QV10_OPT) $(QV10_OPT_AGGRESSIVE)
   18.93 +
   18.94 +export OBJECT_MODE=64
   18.95 +
   18.96 +# Also build launcher as 64 bit executable.
   18.97 +LAUNCHERFLAGS += -q64
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/make/aix/makefiles/product.make	Fri Sep 06 20:08:29 2013 +0200
    19.3 @@ -0,0 +1,58 @@
    19.4 +#
    19.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
    19.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    19.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    19.8 +#
    19.9 +# This code is free software; you can redistribute it and/or modify it
   19.10 +# under the terms of the GNU General Public License version 2 only, as
   19.11 +# published by the Free Software Foundation.
   19.12 +#
   19.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   19.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   19.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   19.16 +# version 2 for more details (a copy is included in the LICENSE file that
   19.17 +# accompanied this code).
   19.18 +#
   19.19 +# You should have received a copy of the GNU General Public License version
   19.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   19.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   19.22 +#
   19.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   19.24 +# or visit www.oracle.com if you need additional information or have any
   19.25 +# questions.
   19.26 +#  
   19.27 +#
   19.28 +
   19.29 +# Sets make macros for making optimized version of Gamma VM
   19.30 +# (This is the "product", not the "release" version.)
   19.31 +
   19.32 +# Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make
   19.33 +OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS)
   19.34 +OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
   19.35 +
   19.36 +# (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
   19.37 +
   19.38 +# If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings
   19.39 +CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
   19.40 +
   19.41 +# Set the environment variable HOTSPARC_GENERIC to "true"
   19.42 +# to inhibit the effect of the previous line on CFLAGS.
   19.43 +
   19.44 +# Linker mapfile
   19.45 +MAPFILE = $(GAMMADIR)/make/aix/makefiles/mapfile-vers-product
   19.46 +
   19.47 +# Remove ipa linkage altogether. Does not seem to benfit performance, but increases code footprint.
   19.48 +LFLAGS_QIPA=
   19.49 +
   19.50 +SYSDEFS += -DPRODUCT
   19.51 +VERSION = optimized
   19.52 +
   19.53 +# use -g to strip library as -x will discard its symbol table; -x is fine for
   19.54 +# executables.
   19.55 +# Note: these macros are not used in .debuginfo configs
   19.56 +STRIP_LIBJVM = $(STRIP) -g $@ || exit 1;
   19.57 +STRIP_AOUT   = $(STRIP) -x $@ || exit 1;
   19.58 +
   19.59 +# If we can create .debuginfo files, then the VM is stripped in vm.make
   19.60 +# and this macro is not used.
   19.61 +# LINK_LIB.CXX/POST_HOOK += $(STRIP_$(LINK_INTO))
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/make/aix/makefiles/rules.make	Fri Sep 06 20:08:29 2013 +0200
    20.3 @@ -0,0 +1,203 @@
    20.4 +#
    20.5 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
    20.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    20.7 +#
    20.8 +# This code is free software; you can redistribute it and/or modify it
    20.9 +# under the terms of the GNU General Public License version 2 only, as
   20.10 +# published by the Free Software Foundation.
   20.11 +#
   20.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   20.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   20.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   20.15 +# version 2 for more details (a copy is included in the LICENSE file that
   20.16 +# accompanied this code).
   20.17 +#
   20.18 +# You should have received a copy of the GNU General Public License version
   20.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   20.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20.21 +#
   20.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   20.23 +# or visit www.oracle.com if you need additional information or have any
   20.24 +# questions.
   20.25 +#  
   20.26 +#
   20.27 +
   20.28 +# Common rules/macros for the vm, adlc.
   20.29 +
   20.30 +# Tell make that .cpp is important
   20.31 +.SUFFIXES: .cpp $(SUFFIXES)
   20.32 +
   20.33 +DEMANGLER       = c++filt
   20.34 +DEMANGLE        = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
   20.35 +
   20.36 +# $(CC) is the c compiler (cc/gcc), $(CXX) is the c++ compiler (CC/g++).
   20.37 +CC_COMPILE       = $(CC) $(CXXFLAGS) $(CFLAGS)
   20.38 +CXX_COMPILE      = $(CXX) $(CXXFLAGS) $(CFLAGS)
   20.39 +
   20.40 +AS.S            = $(AS) $(ASFLAGS)
   20.41 +
   20.42 +COMPILE.CC       = $(CC_COMPILE) -c
   20.43 +GENASM.CC        = $(CC_COMPILE) -S
   20.44 +LINK.CC          = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
   20.45 +LINK_LIB.CC      = $(CC) $(LFLAGS) $(SHARED_FLAG)
   20.46 +PREPROCESS.CC    = $(CC_COMPILE) -E
   20.47 +
   20.48 +COMPILE.CXX      = $(CXX_COMPILE) -c
   20.49 +GENASM.CXX       = $(CXX_COMPILE) -S
   20.50 +LINK.CXX         = $(CXX) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
   20.51 +LINK_NOPROF.CXX  = $(CXX) $(LFLAGS) $(AOUT_FLAGS)
   20.52 +LINK_LIB.CXX     = $(CXX) $(LFLAGS) $(SHARED_FLAG)
   20.53 +PREPROCESS.CXX   = $(CXX_COMPILE) -E
   20.54 +
   20.55 +# cross compiling the jvm with c2 requires host compilers to build
   20.56 +# adlc tool
   20.57 +
   20.58 +HOST.CXX_COMPILE      = $(HOSTCXX) $(CXXFLAGS) $(CFLAGS)
   20.59 +HOST.COMPILE.CXX      = $(HOST.CXX_COMPILE) -c
   20.60 +HOST.LINK_NOPROF.CXX  = $(HOSTCXX) $(LFLAGS) $(AOUT_FLAGS)
   20.61 +
   20.62 +
   20.63 +# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
   20.64 +REMOVE_TARGET   = rm -f $@
   20.65 +
   20.66 +# Note use of ALT_BOOTDIR to explicitly specify location of java and
   20.67 +# javac; this is the same environment variable used in the J2SE build
   20.68 +# process for overriding the default spec, which is BOOTDIR.
   20.69 +# Note also that we fall back to using JAVA_HOME if neither of these is
   20.70 +# specified.
   20.71 +
   20.72 +ifdef ALT_BOOTDIR
   20.73 +
   20.74 +RUN.JAVA  = $(ALT_BOOTDIR)/bin/java
   20.75 +RUN.JAVAP = $(ALT_BOOTDIR)/bin/javap
   20.76 +RUN.JAVAH = $(ALT_BOOTDIR)/bin/javah
   20.77 +RUN.JAR   = $(ALT_BOOTDIR)/bin/jar
   20.78 +COMPILE.JAVAC = $(ALT_BOOTDIR)/bin/javac
   20.79 +COMPILE.RMIC = $(ALT_BOOTDIR)/bin/rmic
   20.80 +BOOT_JAVA_HOME = $(ALT_BOOTDIR)
   20.81 +
   20.82 +else
   20.83 +
   20.84 +ifdef BOOTDIR
   20.85 +
   20.86 +RUN.JAVA  = $(BOOTDIR)/bin/java
   20.87 +RUN.JAVAP = $(BOOTDIR)/bin/javap
   20.88 +RUN.JAVAH = $(BOOTDIR)/bin/javah
   20.89 +RUN.JAR   = $(BOOTDIR)/bin/jar
   20.90 +COMPILE.JAVAC = $(BOOTDIR)/bin/javac
   20.91 +COMPILE.RMIC  = $(BOOTDIR)/bin/rmic
   20.92 +BOOT_JAVA_HOME = $(BOOTDIR)
   20.93 +
   20.94 +else
   20.95 +
   20.96 +ifdef JAVA_HOME
   20.97 +
   20.98 +RUN.JAVA  = $(JAVA_HOME)/bin/java
   20.99 +RUN.JAVAP = $(JAVA_HOME)/bin/javap
  20.100 +RUN.JAVAH = $(JAVA_HOME)/bin/javah
  20.101 +RUN.JAR   = $(JAVA_HOME)/bin/jar
  20.102 +COMPILE.JAVAC = $(JAVA_HOME)/bin/javac
  20.103 +COMPILE.RMIC  = $(JAVA_HOME)/bin/rmic
  20.104 +BOOT_JAVA_HOME = $(JAVA_HOME)
  20.105 +
  20.106 +else
  20.107 +
  20.108 +# take from the PATH, if ALT_BOOTDIR, BOOTDIR and JAVA_HOME are not defined
  20.109 +# note that this is to support hotspot build without SA. To build
  20.110 +# SA along with hotspot, you need to define ALT_BOOTDIR, BOOTDIR or JAVA_HOME
  20.111 +
  20.112 +RUN.JAVA  = java
  20.113 +RUN.JAVAP = javap
  20.114 +RUN.JAVAH = javah
  20.115 +RUN.JAR   = jar
  20.116 +COMPILE.JAVAC = javac
  20.117 +COMPILE.RMIC  = rmic
  20.118 +
  20.119 +endif
  20.120 +endif
  20.121 +endif
  20.122 +
  20.123 +COMPILE.JAVAC += $(BOOTSTRAP_JAVAC_FLAGS)
  20.124 +
  20.125 +SUM = /usr/bin/sum
  20.126 +
  20.127 +# 'gmake MAKE_VERBOSE=y' gives all the gory details.
  20.128 +QUIETLY$(MAKE_VERBOSE)  = @
  20.129 +RUN.JAR$(MAKE_VERBOSE) += >/dev/null
  20.130 +
  20.131 +# Settings for javac
  20.132 +BOOT_SOURCE_LANGUAGE_VERSION = 6
  20.133 +BOOT_TARGET_CLASS_VERSION = 6
  20.134 +JAVAC_FLAGS = -g -encoding ascii
  20.135 +BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
  20.136 +
  20.137 +# With parallel makes, print a message at the end of compilation.
  20.138 +ifeq    ($(findstring j,$(MFLAGS)),j)
  20.139 +COMPILE_DONE    = && { echo Done with $<; }
  20.140 +endif
  20.141 +
  20.142 +# Include $(NONPIC_OBJ_FILES) definition
  20.143 +ifndef LP64
  20.144 +include $(GAMMADIR)/make/pic.make
  20.145 +endif
  20.146 +
  20.147 +include $(GAMMADIR)/make/altsrc.make
  20.148 +
  20.149 +# The non-PIC object files are only generated for 32 bit platforms.
  20.150 +ifdef LP64
  20.151 +%.o: %.cpp
  20.152 +	@echo Compiling $<
  20.153 +	$(QUIETLY) $(REMOVE_TARGET)
  20.154 +	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
  20.155 +else
  20.156 +%.o: %.cpp
  20.157 +	@echo Compiling $<
  20.158 +	$(QUIETLY) $(REMOVE_TARGET)
  20.159 +	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
  20.160 +	   $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
  20.161 +	   $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
  20.162 +endif
  20.163 +
  20.164 +%.o: %.s
  20.165 +	@echo Assembling $<
  20.166 +	$(QUIETLY) $(REMOVE_TARGET)
  20.167 +	$(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
  20.168 +
  20.169 +%.s: %.cpp
  20.170 +	@echo Generating assembly for $<
  20.171 +	$(QUIETLY) $(GENASM.CXX) -o $@ $<
  20.172 +	$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
  20.173 +
  20.174 +# Intermediate files (for debugging macros)
  20.175 +%.i: %.cpp
  20.176 +	@echo Preprocessing $< to $@
  20.177 +	$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
  20.178 +
  20.179 +#  Override gnumake built-in rules which do sccs get operations badly.
  20.180 +#  (They put the checked out code in the current directory, not in the
  20.181 +#  directory of the original file.)  Since this is a symptom of a teamware
  20.182 +#  failure, and since not all problems can be detected by gnumake due
  20.183 +#  to incomplete dependency checking... just complain and stop.
  20.184 +%:: s.%
  20.185 +	@echo "========================================================="
  20.186 +	@echo File $@
  20.187 +	@echo is out of date with respect to its SCCS file.
  20.188 +	@echo This file may be from an unresolved Teamware conflict.
  20.189 +	@echo This is also a symptom of a Teamware bringover/putback failure
  20.190 +	@echo in which SCCS files are updated but not checked out.
  20.191 +	@echo Check for other out of date files in your workspace.
  20.192 +	@echo "========================================================="
  20.193 +	@exit 666
  20.194 +
  20.195 +%:: SCCS/s.%
  20.196 +	@echo "========================================================="
  20.197 +	@echo File $@
  20.198 +	@echo is out of date with respect to its SCCS file.
  20.199 +	@echo This file may be from an unresolved Teamware conflict.
  20.200 +	@echo This is also a symptom of a Teamware bringover/putback failure
  20.201 +	@echo in which SCCS files are updated but not checked out.
  20.202 +	@echo Check for other out of date files in your workspace.
  20.203 +	@echo "========================================================="
  20.204 +	@exit 666
  20.205 +
  20.206 +.PHONY: default
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/make/aix/makefiles/sa.make	Fri Sep 06 20:08:29 2013 +0200
    21.3 @@ -0,0 +1,116 @@
    21.4 +#
    21.5 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
    21.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    21.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    21.8 +#
    21.9 +# This code is free software; you can redistribute it and/or modify it
   21.10 +# under the terms of the GNU General Public License version 2 only, as
   21.11 +# published by the Free Software Foundation.
   21.12 +#
   21.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   21.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   21.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   21.16 +# version 2 for more details (a copy is included in the LICENSE file that
   21.17 +# accompanied this code).
   21.18 +#
   21.19 +# You should have received a copy of the GNU General Public License version
   21.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   21.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   21.22 +#
   21.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   21.24 +# or visit www.oracle.com if you need additional information or have any
   21.25 +# questions.
   21.26 +#
   21.27 +#
   21.28 +
   21.29 +# This makefile (sa.make) is included from the sa.make in the
   21.30 +# build directories.
   21.31 +
   21.32 +# This makefile is used to build Serviceability Agent java code
   21.33 +# and generate JNI header file for native methods.
   21.34 +
   21.35 +include $(GAMMADIR)/make/aix/makefiles/rules.make
   21.36 +
   21.37 +include $(GAMMADIR)/make/defs.make
   21.38 +
   21.39 +AGENT_DIR = $(GAMMADIR)/agent
   21.40 +
   21.41 +include $(GAMMADIR)/make/sa.files
   21.42 +
   21.43 +TOPDIR    = $(shell echo `pwd`)
   21.44 +GENERATED = $(TOPDIR)/../generated
   21.45 +
   21.46 +# tools.jar is needed by the JDI - SA binding
   21.47 +SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
   21.48 +
   21.49 +# TODO: if it's a modules image, check if SA module is installed.
   21.50 +MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
   21.51 +
   21.52 +AGENT_FILES_LIST := $(GENERATED)/agent.classes.list
   21.53 +
   21.54 +SA_CLASSDIR = $(GENERATED)/saclasses
   21.55 +
   21.56 +SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
   21.57 +
   21.58 +SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
   21.59 +
   21.60 +# if $(AGENT_DIR) does not exist, we don't build SA
   21.61 +# also, we don't build SA on Itanium, PowerPC, ARM or zero.
   21.62 +
   21.63 +all:
   21.64 +	if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
   21.65 +             -a "$(SRCARCH)" != "arm" \
   21.66 +             -a "$(SRCARCH)" != "ppc" \
   21.67 +             -a "$(SRCARCH)" != "zero" ] ; then \
   21.68 +	   $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
   21.69 +	fi
   21.70 +
   21.71 +$(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
   21.72 +	$(QUIETLY) echo "Making $@"
   21.73 +	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
   21.74 +	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
   21.75 +	  exit 1; \
   21.76 +	fi
   21.77 +	$(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
   21.78 +	  echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
   21.79 +	  echo ""; \
   21.80 +	  exit 1; \
   21.81 +	fi
   21.82 +	$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
   21.83 +	  mkdir -p $(SA_CLASSDIR);        \
   21.84 +	fi
   21.85 +# Note: When indented, make tries to execute the '$(shell' comment.
   21.86 +# In some environments, cmd processors have limited line length.
   21.87 +# To prevent the javac invocation in the next block from using
   21.88 +# a very long cmd line, we use javac's @file-list option. We
   21.89 +# generate the file lists using make's built-in 'foreach' control
   21.90 +# flow which also avoids cmd processor line length issues. Since
   21.91 +# the 'foreach' is done as part of make's macro expansion phase,
   21.92 +# the initialization of the lists is also done in the same phase
   21.93 +# using '$(shell rm ...' instead of using the more traditional
   21.94 +# 'rm ...' rule.
   21.95 +	$(shell rm -rf $(AGENT_FILES_LIST))
   21.96 +# gnumake 3.78.1 does not accept the *'s that
   21.97 +# are in AGENT_FILES, so use the shell to expand them.
   21.98 +# Be extra carefull to not produce too long command lines in the shell!
   21.99 +	$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
  21.100 +	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
  21.101 +	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
  21.102 +	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
  21.103 +	$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
  21.104 +	$(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
  21.105 +	$(QUIETLY) mkdir -p $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
  21.106 +	$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/*
  21.107 +	$(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources/
  21.108 +	$(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)/
  21.109 +	$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
  21.110 +	$(QUIETLY) $(REMOTE) $(RUN.JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
  21.111 +	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
  21.112 +	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.ia64.IA64ThreadContext
  21.113 +	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
  21.114 +	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
  21.115 +
  21.116 +clean:
  21.117 +	rm -rf $(SA_CLASSDIR)
  21.118 +	rm -rf $(GENERATED)/sa-jdi.jar
  21.119 +	rm -rf $(AGENT_FILES_LIST)
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/make/aix/makefiles/saproc.make	Fri Sep 06 20:08:29 2013 +0200
    22.3 @@ -0,0 +1,117 @@
    22.4 +#
    22.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    22.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    22.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    22.8 +#
    22.9 +# This code is free software; you can redistribute it and/or modify it
   22.10 +# under the terms of the GNU General Public License version 2 only, as
   22.11 +# published by the Free Software Foundation.
   22.12 +#
   22.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   22.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   22.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   22.16 +# version 2 for more details (a copy is included in the LICENSE file that
   22.17 +# accompanied this code).
   22.18 +#
   22.19 +# You should have received a copy of the GNU General Public License version
   22.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   22.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   22.22 +#
   22.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   22.24 +# or visit www.oracle.com if you need additional information or have any
   22.25 +# questions.
   22.26 +#  
   22.27 +#
   22.28 +include $(GAMMADIR)/make/defs.make
   22.29 +
   22.30 +# Rules to build serviceability agent library, used by vm.make
   22.31 +
   22.32 +# libsaproc.so: serviceability agent
   22.33 +
   22.34 +SAPROC = saproc
   22.35 +LIBSAPROC = lib$(SAPROC).so
   22.36 +
   22.37 +LIBSAPROC_DEBUGINFO   = lib$(SAPROC).debuginfo
   22.38 +LIBSAPROC_DIZ         = lib$(SAPROC).diz
   22.39 +
   22.40 +AGENT_DIR = $(GAMMADIR)/agent
   22.41 +
   22.42 +SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
   22.43 +
   22.44 +SASRCFILES = $(SASRCDIR)/salibelf.c                   \
   22.45 +             $(SASRCDIR)/symtab.c                     \
   22.46 +             $(SASRCDIR)/libproc_impl.c               \
   22.47 +             $(SASRCDIR)/ps_proc.c                    \
   22.48 +             $(SASRCDIR)/ps_core.c                    \
   22.49 +             $(SASRCDIR)/LinuxDebuggerLocal.c         \
   22.50 +
   22.51 +SAMAPFILE = $(SASRCDIR)/mapfile
   22.52 +
   22.53 +DEST_SAPROC           = $(JDK_LIBDIR)/$(LIBSAPROC)
   22.54 +DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO)
   22.55 +DEST_SAPROC_DIZ       = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ)
   22.56 +
   22.57 +# DEBUG_BINARIES overrides everything, use full -g debug information
   22.58 +ifeq ($(DEBUG_BINARIES), true)
   22.59 +  SA_DEBUG_CFLAGS = -g
   22.60 +endif
   22.61 +
   22.62 +# if $(AGENT_DIR) does not exist, we don't build SA
   22.63 +# also, we don't build SA on Itanium, PPC, ARM or zero.
   22.64 +
   22.65 +ifneq ($(wildcard $(AGENT_DIR)),)
   22.66 +ifneq ($(filter-out ia64 arm ppc zero,$(SRCARCH)),)
   22.67 +  BUILDLIBSAPROC = $(LIBSAPROC)
   22.68 +endif
   22.69 +endif
   22.70 +
   22.71 +
   22.72 +SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
   22.73 +
   22.74 +$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
   22.75 +	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
   22.76 +	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
   22.77 +	  exit 1; \
   22.78 +	fi
   22.79 +	@echo Making SA debugger back-end...
   22.80 +	$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE                   \
   22.81 +		   -D_FILE_OFFSET_BITS=64                               \
   22.82 +                   $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG)     \
   22.83 +		   $(BIN_UTILS)						\
   22.84 +	           -I$(SASRCDIR)                                        \
   22.85 +	           -I$(GENERATED)                                       \
   22.86 +	           -I$(BOOT_JAVA_HOME)/include                          \
   22.87 +	           -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family)    \
   22.88 +	           $(SASRCFILES)                                        \
   22.89 +	           $(SA_LFLAGS)                                         \
   22.90 +	           $(SA_DEBUG_CFLAGS)                                   \
   22.91 +	           -o $@                                                \
   22.92 +	           -lthread_db
   22.93 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   22.94 +	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
   22.95 +	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
   22.96 +  ifeq ($(STRIP_POLICY),all_strip)
   22.97 +	$(QUIETLY) $(STRIP) $@
   22.98 +  else
   22.99 +    ifeq ($(STRIP_POLICY),min_strip)
  22.100 +	$(QUIETLY) $(STRIP) -g $@
  22.101 +    # implied else here is no stripping at all
  22.102 +    endif
  22.103 +  endif
  22.104 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
  22.105 +	$(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO)
  22.106 +	$(RM) $(LIBSAPROC_DEBUGINFO)
  22.107 +  endif
  22.108 +endif
  22.109 +
  22.110 +install_saproc: $(BUILDLIBSAPROC)
  22.111 +	$(QUIETLY) if [ -e $(LIBSAPROC) ] ; then             \
  22.112 +	  echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)";     \
  22.113 +	  test -f $(LIBSAPROC_DEBUGINFO) &&                  \
  22.114 +	    cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \
  22.115 +	  test -f $(LIBSAPROC_DIZ) &&                  \
  22.116 +	    cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \
  22.117 +	  cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done";  \
  22.118 +	fi
  22.119 +
  22.120 +.PHONY: install_saproc
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/make/aix/makefiles/top.make	Fri Sep 06 20:08:29 2013 +0200
    23.3 @@ -0,0 +1,144 @@
    23.4 +#
    23.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
    23.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    23.7 +#
    23.8 +# This code is free software; you can redistribute it and/or modify it
    23.9 +# under the terms of the GNU General Public License version 2 only, as
   23.10 +# published by the Free Software Foundation.
   23.11 +#
   23.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   23.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   23.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   23.15 +# version 2 for more details (a copy is included in the LICENSE file that
   23.16 +# accompanied this code).
   23.17 +#
   23.18 +# You should have received a copy of the GNU General Public License version
   23.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   23.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   23.21 +#
   23.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   23.23 +# or visit www.oracle.com if you need additional information or have any
   23.24 +# questions.
   23.25 +#  
   23.26 +#
   23.27 +
   23.28 +# top.make is included in the Makefile in the build directories.
   23.29 +# It DOES NOT include the vm dependency info in order to be faster.
   23.30 +# Its main job is to implement the incremental form of make lists.
   23.31 +# It also:
   23.32 +#   -builds and runs adlc via adlc.make
   23.33 +#   -generates JVMTI source and docs via jvmti.make (JSR-163)
   23.34 +#   -generate sa-jdi.jar (JDI binding to core files)
   23.35 +
   23.36 +# It assumes the following flags are set:
   23.37 +# CFLAGS Platform_file, Src_Dirs_I, Src_Dirs_V, SYSDEFS, AOUT, Obj_Files
   23.38 +
   23.39 +# -- D. Ungar (5/97) from a file by Bill Bush
   23.40 +
   23.41 +# Don't override the built-in $(MAKE).
   23.42 +# Instead, use "gmake" (or "gnumake") from the command line.  --Rose
   23.43 +#MAKE = gmake
   23.44 +
   23.45 +include $(GAMMADIR)/make/altsrc.make
   23.46 +
   23.47 +TOPDIR      = $(shell echo `pwd`)
   23.48 +GENERATED   = $(TOPDIR)/../generated
   23.49 +VM          = $(GAMMADIR)/src/share/vm
   23.50 +Plat_File   = $(Platform_file)
   23.51 +CDG         = cd $(GENERATED); 
   23.52 +
   23.53 +ifneq ($(USE_PRECOMPILED_HEADER),0)
   23.54 +UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 
   23.55 +else
   23.56 +UpdatePCH = \# precompiled header is not used
   23.57 +endif
   23.58 +
   23.59 +Cached_plat = $(GENERATED)/platform.current
   23.60 +
   23.61 +AD_Dir   = $(GENERATED)/adfiles
   23.62 +ADLC     = $(AD_Dir)/adlc
   23.63 +AD_Spec  = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad)
   23.64 +AD_Src   = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc)
   23.65 +AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
   23.66 +AD_Files = $(AD_Names:%=$(AD_Dir)/%)
   23.67 +
   23.68 +# AD_Files_If_Required/COMPILER1 = ad_stuff
   23.69 +AD_Files_If_Required/COMPILER2 = ad_stuff
   23.70 +AD_Files_If_Required/TIERED = ad_stuff
   23.71 +AD_Files_If_Required = $(AD_Files_If_Required/$(TYPE))
   23.72 +
   23.73 +# Wierd argument adjustment for "gnumake -j..."
   23.74 +adjust-mflags   = $(GENERATED)/adjust-mflags
   23.75 +MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"`
   23.76 +
   23.77 +
   23.78 +# default target: update lists, make vm
   23.79 +# done in stages to force sequential order with parallel make
   23.80 +#
   23.81 +
   23.82 +default: vm_build_preliminaries the_vm
   23.83 +	@echo All done.
   23.84 +
   23.85 +# This is an explicit dependency for the sake of parallel makes.
   23.86 +vm_build_preliminaries:  checks $(Cached_plat) $(AD_Files_If_Required) trace_stuff jvmti_stuff sa_stuff
   23.87 +	@# We need a null action here, so implicit rules don't get consulted.
   23.88 +
   23.89 +$(Cached_plat): $(Plat_File)
   23.90 +	$(CDG) cp $(Plat_File) $(Cached_plat)
   23.91 +
   23.92 +# make AD files as necessary
   23.93 +ad_stuff: $(Cached_plat) $(adjust-mflags)
   23.94 +	@$(MAKE) -f adlc.make $(MFLAGS-adjusted)
   23.95 +
   23.96 +# generate JVMTI files from the spec
   23.97 +jvmti_stuff: $(Cached_plat) $(adjust-mflags)
   23.98 +	@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
   23.99 +
  23.100 +# generate trace files
  23.101 +trace_stuff: jvmti_stuff $(Cached_plat) $(adjust-mflags)
  23.102 +	@$(MAKE) -f trace.make $(MFLAGS-adjusted)
  23.103 +
  23.104 +# generate SA jar files and native header
  23.105 +sa_stuff:
  23.106 +	@$(MAKE) -f sa.make $(MFLAGS-adjusted)
  23.107 +
  23.108 +# and the VM: must use other makefile with dependencies included
  23.109 +
  23.110 +# We have to go to great lengths to get control over the -jN argument
  23.111 +# to the recursive invocation of vm.make.  The problem is that gnumake
  23.112 +# resets -jN to -j1 for recursive runs.  (How helpful.)
  23.113 +# Note that the user must specify the desired parallelism level via a
  23.114 +# command-line or environment variable name HOTSPOT_BUILD_JOBS.
  23.115 +$(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags.sh
  23.116 +	@+rm -f $@ $@+
  23.117 +	@+cat $< > $@+
  23.118 +	@+chmod +x $@+
  23.119 +	@+mv $@+ $@
  23.120 +
  23.121 +the_vm: vm_build_preliminaries $(adjust-mflags)
  23.122 +	@$(UpdatePCH)
  23.123 +	@$(MAKE) -f vm.make $(MFLAGS-adjusted)
  23.124 +
  23.125 +install gamma: the_vm
  23.126 +	@$(MAKE) -f vm.make $@
  23.127 +
  23.128 +# next rules support "make foo.[ois]"
  23.129 +
  23.130 +%.o %.i %.s:
  23.131 +	$(UpdatePCH) 
  23.132 +	$(MAKE) -f vm.make $(MFLAGS) $@
  23.133 +	#$(MAKE) -f vm.make $@
  23.134 +
  23.135 +# this should force everything to be rebuilt
  23.136 +clean: 
  23.137 +	rm -f $(GENERATED)/*.class
  23.138 +	$(MAKE) -f vm.make $(MFLAGS) clean
  23.139 +
  23.140 +# just in case it doesn't, this should do it
  23.141 +realclean:
  23.142 +	$(MAKE) -f vm.make $(MFLAGS) clean
  23.143 +	rm -fr $(GENERATED)
  23.144 +
  23.145 +.PHONY: default vm_build_preliminaries
  23.146 +.PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
  23.147 +.PHONY: checks check_os_version install
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/make/aix/makefiles/trace.make	Fri Sep 06 20:08:29 2013 +0200
    24.3 @@ -0,0 +1,120 @@
    24.4 +#
    24.5 +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
    24.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    24.7 +#
    24.8 +# This code is free software; you can redistribute it and/or modify it
    24.9 +# under the terms of the GNU General Public License version 2 only, as
   24.10 +# published by the Free Software Foundation.
   24.11 +#
   24.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
   24.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   24.14 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   24.15 +# version 2 for more details (a copy is included in the LICENSE file that
   24.16 +# accompanied this code).
   24.17 +#
   24.18 +# You should have received a copy of the GNU General Public License version
   24.19 +# 2 along with this work; if not, write to the Free Software Foundation,
   24.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   24.21 +#
   24.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   24.23 +# or visit www.oracle.com if you need additional information or have any
   24.24 +# questions.
   24.25 +#
   24.26 +#
   24.27 +
   24.28 +# This makefile (trace.make) is included from the trace.make in the
   24.29 +# build directories.
   24.30 +#
   24.31 +# It knows how to build and run the tools to generate trace files.
   24.32 +
   24.33 +include $(GAMMADIR)/make/linux/makefiles/rules.make
   24.34 +include $(GAMMADIR)/make/altsrc.make
   24.35 +
   24.36 +# #########################################################################
   24.37 +
   24.38 +HAS_ALT_SRC:=$(shell if [ -d $(HS_ALT_SRC)/share/vm/trace ]; then \
   24.39 +  echo "true"; else echo "false";\
   24.40 +  fi)
   24.41 +
   24.42 +TOPDIR      = $(shell echo `pwd`)
   24.43 +GENERATED   = $(TOPDIR)/../generated
   24.44 +JvmtiOutDir = $(GENERATED)/jvmtifiles
   24.45 +TraceOutDir   = $(GENERATED)/tracefiles
   24.46 +
   24.47 +TraceAltSrcDir = $(HS_ALT_SRC)/share/vm/trace
   24.48 +TraceSrcDir = $(HS_COMMON_SRC)/share/vm/trace
   24.49 +
   24.50 +# set VPATH so make knows where to look for source files
   24.51 +Src_Dirs_V += $(TraceSrcDir) $(TraceAltSrcDir)
   24.52 +VPATH += $(Src_Dirs_V:%=%:)
   24.53 +
   24.54 +TraceGeneratedNames =     \
   24.55 +    traceEventClasses.hpp \
   24.56 +	traceEventIds.hpp     \
   24.57 +	traceTypes.hpp
   24.58 +
   24.59 +ifeq ($(HAS_ALT_SRC), true)
   24.60 +TraceGeneratedNames +=  \
   24.61 +	traceRequestables.hpp \
   24.62 +    traceEventControl.hpp
   24.63 +
   24.64 +ifneq ($(INCLUDE_TRACE), false)
   24.65 +TraceGeneratedNames += traceProducer.cpp
   24.66 +endif
   24.67 +
   24.68 +endif
   24.69 +
   24.70 +TraceGeneratedFiles = $(TraceGeneratedNames:%=$(TraceOutDir)/%)
   24.71 +
   24.72 +XSLT = $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
   24.73 +
   24.74 +XML_DEPS =  $(TraceSrcDir)/trace.xml  $(TraceSrcDir)/tracetypes.xml \
   24.75 +	$(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod
   24.76 +ifeq ($(HAS_ALT_SRC), true)
   24.77 +	XML_DEPS += $(TraceAltSrcDir)/traceevents.xml
   24.78 +endif
   24.79 +
   24.80 +.PHONY: all clean cleanall
   24.81 +
   24.82 +# #########################################################################
   24.83 +
   24.84 +all: $(TraceGeneratedFiles)
   24.85 +
   24.86 +GENERATE_CODE= \
   24.87 +  $(QUIETLY) echo Generating $@; \
   24.88 +  $(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
   24.89 +  test -f $@
   24.90 +
   24.91 +$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
   24.92 +	$(GENERATE_CODE)
   24.93 +
   24.94 +$(TraceOutDir)/traceTypes.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceTypes.xsl $(XML_DEPS)
   24.95 +	$(GENERATE_CODE)
   24.96 +
   24.97 +ifeq ($(HAS_ALT_SRC), false)
   24.98 +
   24.99 +$(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS)
  24.100 +	$(GENERATE_CODE)
  24.101 +
  24.102 +else
  24.103 +
  24.104 +$(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS)
  24.105 +	$(GENERATE_CODE)
  24.106 +
  24.107 +$(TraceOutDir)/traceProducer.cpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceProducer.xsl $(XML_DEPS)
  24.108 +	$(GENERATE_CODE)
  24.109 +
  24.110 +$(TraceOutDir)/traceRequestables.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceRequestables.xsl $(XML_DEPS)
  24.111 +	$(GENERATE_CODE)
  24.112 +
  24.113 +$(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventControl.xsl $(XML_DEPS)
  24.114 +	$(GENERATE_CODE)
  24.115 +
  24.116 +endif
  24.117 +
  24.118 +# #########################################################################
  24.119 +
  24.120 +clean cleanall:
  24.121 +	rm $(TraceGeneratedFiles)
  24.122 +
  24.123 +
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/make/aix/makefiles/vm.make	Fri Sep 06 20:08:29 2013 +0200
    25.3 @@ -0,0 +1,377 @@
    25.4 +#
    25.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
    25.6 +# Copyright 2012, 2013 SAP AG. All rights reserved.
    25.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    25.8 +#
    25.9 +# This code is free software; you can redistribute it and/or modify it
   25.10 +# under the terms of the GNU General Public License version 2 only, as
   25.11 +# published by the Free Software Foundation.
   25.12 +#
   25.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   25.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   25.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   25.16 +# version 2 for more details (a copy is included in the LICENSE file that
   25.17 +# accompanied this code).
   25.18 +#
   25.19 +# You should have received a copy of the GNU General Public License version
   25.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   25.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   25.22 +#
   25.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   25.24 +# or visit www.oracle.com if you need additional information or have any
   25.25 +# questions.
   25.26 +#
   25.27 +#
   25.28 +
   25.29 +# Rules to build JVM and related libraries, included from vm.make in the build
   25.30 +# directory.
   25.31 +
   25.32 +# Common build rules.
   25.33 +MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles
   25.34 +include $(MAKEFILES_DIR)/rules.make
   25.35 +include $(GAMMADIR)/make/altsrc.make
   25.36 +
   25.37 +default: build
   25.38 +
   25.39 +#----------------------------------------------------------------------
   25.40 +# Defs
   25.41 +
   25.42 +GENERATED     = ../generated
   25.43 +DEP_DIR       = $(GENERATED)/dependencies
   25.44 +
   25.45 +# reads the generated files defining the set of .o's and the .o .h dependencies
   25.46 +-include $(DEP_DIR)/*.d
   25.47 +
   25.48 +# read machine-specific adjustments (%%% should do this via buildtree.make?)
   25.49 +ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
   25.50 +  include $(MAKEFILES_DIR)/zeroshark.make
   25.51 +else
   25.52 +  include $(MAKEFILES_DIR)/$(BUILDARCH).make
   25.53 +endif
   25.54 +
   25.55 +# set VPATH so make knows where to look for source files
   25.56 +# Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
   25.57 +# The adfiles directory contains ad_<arch>.[ch]pp.
   25.58 +# The jvmtifiles directory contains jvmti*.[ch]pp
   25.59 +Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
   25.60 +VPATH += $(Src_Dirs_V:%=%:)
   25.61 +
   25.62 +# set INCLUDES for C preprocessor.
   25.63 +Src_Dirs_I += $(GENERATED)
   25.64 +# The order is important for the precompiled headers to work.
   25.65 +INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%)
   25.66 +
   25.67 +# SYMFLAG is used by {jsig,saproc}.make
   25.68 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   25.69 +  # always build with debug info when we can create .debuginfo files
   25.70 +  SYMFLAG = -g
   25.71 +else
   25.72 +  ifeq (${VERSION}, debug)
   25.73 +    SYMFLAG = -g
   25.74 +  else
   25.75 +    SYMFLAG =
   25.76 +  endif
   25.77 +endif
   25.78 +
   25.79 +# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
   25.80 +# in $(GAMMADIR)/make/defs.make
   25.81 +ifeq ($(HOTSPOT_BUILD_VERSION),)
   25.82 +  BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\""
   25.83 +else
   25.84 +  BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\""
   25.85 +endif
   25.86 +
   25.87 +# The following variables are defined in the generated flags.make file.
   25.88 +BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\""
   25.89 +JRE_VERSION   = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\""
   25.90 +HS_LIB_ARCH   = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
   25.91 +BUILD_TARGET  = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
   25.92 +BUILD_USER    = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
   25.93 +VM_DISTRO     = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
   25.94 +
   25.95 +CXXFLAGS =           \
   25.96 +  ${SYSDEFS}         \
   25.97 +  ${INCLUDES}        \
   25.98 +  ${BUILD_VERSION}   \
   25.99 +  ${BUILD_TARGET}    \
  25.100 +  ${BUILD_USER}      \
  25.101 +  ${HS_LIB_ARCH}     \
  25.102 +  ${VM_DISTRO}
  25.103 +
  25.104 +# This is VERY important! The version define must only be supplied to vm_version.o
  25.105 +# If not, ccache will not re-use the cache at all, since the version string might contain
  25.106 +# a time and date.
  25.107 +vm_version.o: CXXFLAGS += ${JRE_VERSION}
  25.108 +
  25.109 +CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
  25.110 +
  25.111 +# File specific flags
  25.112 +CXXFLAGS += $(CXXFLAGS/BYFILE)
  25.113 +
  25.114 +
  25.115 +# CFLAGS_WARN holds compiler options to suppress/enable warnings.
  25.116 +CFLAGS += $(CFLAGS_WARN/BYFILE)
  25.117 +
  25.118 +# Do not use C++ exception handling
  25.119 +CFLAGS += $(CFLAGS/NOEX)
  25.120 +
  25.121 +# Extra flags from gnumake's invocation or environment
  25.122 +CFLAGS += $(EXTRA_CFLAGS)
  25.123 +LFLAGS += $(EXTRA_CFLAGS)
  25.124 +
  25.125 +# Don't set excutable bit on stack segment
  25.126 +# the same could be done by separate execstack command
  25.127 +#LFLAGS += -Xlinker -z -Xlinker noexecstack
  25.128 +
  25.129 +LIBS += -lm -ldl -lpthread
  25.130 +
  25.131 +# By default, link the *.o into the library, not the executable.
  25.132 +LINK_INTO$(LINK_INTO) = LIBJVM
  25.133 +
  25.134 +JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
  25.135 +
  25.136 +#----------------------------------------------------------------------
  25.137 +# jvm_db & dtrace
  25.138 +include $(MAKEFILES_DIR)/dtrace.make
  25.139 +
  25.140 +#----------------------------------------------------------------------
  25.141 +# JVM
  25.142 +
  25.143 +JVM      = jvm
  25.144 +LIBJVM   = lib$(JVM).so
  25.145 +
  25.146 +CFLAGS += -DALLOW_OPERATOR_NEW_USAGE
  25.147 +
  25.148 +LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
  25.149 +LIBJVM_DIZ         = lib$(JVM).diz
  25.150 +
  25.151 +SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
  25.152 +
  25.153 +SOURCE_PATHS=\
  25.154 +  $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
  25.155 +      \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
  25.156 +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
  25.157 +SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
  25.158 +SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(SRCARCH)/vm
  25.159 +SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_family)_$(SRCARCH)/vm
  25.160 +
  25.161 +CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
  25.162 +CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles
  25.163 +
  25.164 +ifneq ($(INCLUDE_TRACE), false)
  25.165 +CORE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
  25.166 +  find $(HS_ALT_SRC)/share/vm/jfr -type d; \
  25.167 +  fi)
  25.168 +endif
  25.169 +
  25.170 +COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
  25.171 +COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
  25.172 +
  25.173 +COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
  25.174 +COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt)
  25.175 +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto
  25.176 +COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/libadt
  25.177 +COMPILER2_PATHS += $(GENERATED)/adfiles
  25.178 +
  25.179 +SHARK_PATHS := $(GAMMADIR)/src/share/vm/shark
  25.180 +
  25.181 +# Include dirs per type.
  25.182 +Src_Dirs/CORE      := $(CORE_PATHS)
  25.183 +Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS)
  25.184 +Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS)
  25.185 +Src_Dirs/TIERED    := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
  25.186 +Src_Dirs/ZERO      := $(CORE_PATHS)
  25.187 +Src_Dirs/SHARK     := $(CORE_PATHS) $(SHARK_PATHS)
  25.188 +Src_Dirs := $(Src_Dirs/$(TYPE))
  25.189 +
  25.190 +COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp c2_\* runtime_\*
  25.191 +COMPILER1_SPECIFIC_FILES := c1_\*
  25.192 +SHARK_SPECIFIC_FILES     := shark
  25.193 +ZERO_SPECIFIC_FILES      := zero
  25.194 +
  25.195 +# Always exclude these.
  25.196 +Src_Files_EXCLUDE += jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
  25.197 +
  25.198 +# Exclude per type.
  25.199 +Src_Files_EXCLUDE/CORE      := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
  25.200 +Src_Files_EXCLUDE/COMPILER1 := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
  25.201 +Src_Files_EXCLUDE/COMPILER2 := $(COMPILER1_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
  25.202 +Src_Files_EXCLUDE/TIERED    := $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
  25.203 +Src_Files_EXCLUDE/ZERO      := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
  25.204 +Src_Files_EXCLUDE/SHARK     := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES)
  25.205 +
  25.206 +Src_Files_EXCLUDE +=  $(Src_Files_EXCLUDE/$(TYPE))
  25.207 +
  25.208 +# Disable 155427 on aix.
  25.209 +Src_Files_EXCLUDE += decoder_elf.cpp elfFile.cpp elfStringTable.cpp elfSymbolTable.cpp
  25.210 +
  25.211 +# Special handling of arch model.
  25.212 +ifeq ($(Platform_arch_model), x86_32)
  25.213 +Src_Files_EXCLUDE += \*x86_64\*
  25.214 +endif
  25.215 +ifeq ($(Platform_arch_model), x86_64)
  25.216 +Src_Files_EXCLUDE += \*x86_32\*
  25.217 +endif
  25.218 +
  25.219 +# Locate all source files in the given directory, excluding files in Src_Files_EXCLUDE.
  25.220 +define findsrc
  25.221 +	$(notdir $(shell find $(1)/. ! -name . -prune \
  25.222 +		-a \( -name \*.c -o -name \*.cpp -o -name \*.s \) \
  25.223 +		-a ! \( -name DUMMY $(addprefix -o -name ,$(Src_Files_EXCLUDE)) \)))
  25.224 +endef
  25.225 +
  25.226 +Src_Files := $(foreach e,$(Src_Dirs),$(call findsrc,$(e)))
  25.227 +
  25.228 +Obj_Files = $(sort $(addsuffix .o,$(basename $(Src_Files))))
  25.229 +
  25.230 +JVM_OBJ_FILES = $(Obj_Files)
  25.231 +
  25.232 +vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
  25.233 +
  25.234 +mapfile : $(MAPFILE) vm.def
  25.235 +	rm -f $@
  25.236 +	awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE")	\
  25.237 +                 { system ("cat vm.def"); }		\
  25.238 +               else					\
  25.239 +                 { print $$0 }				\
  25.240 +             }' > $@ < $(MAPFILE)
  25.241 +
  25.242 +mapfile_reorder : mapfile $(REORDERFILE)
  25.243 +	rm -f $@
  25.244 +	cat $^ > $@
  25.245 +
  25.246 +vm.def: $(Res_Files) $(Obj_Files)
  25.247 +	sh $(GAMMADIR)/make/aix/makefiles/build_vm_def.sh *.o > $@
  25.248 +
  25.249 +ifeq ($(JVM_VARIANT_ZEROSHARK), true)
  25.250 +  STATIC_CXX = false
  25.251 +else
  25.252 +  ifeq ($(ZERO_LIBARCH), ppc64)
  25.253 +    STATIC_CXX = false
  25.254 +  else
  25.255 +    STATIC_CXX = true
  25.256 +  endif
  25.257 +endif
  25.258 +
  25.259 +ifeq ($(LINK_INTO),AOUT)
  25.260 +  LIBJVM.o                 =
  25.261 +  LIBJVM_MAPFILE           =
  25.262 +  LIBS_VM                  = $(LIBS)
  25.263 +else
  25.264 +  LIBJVM.o                 = $(JVM_OBJ_FILES)
  25.265 +  LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
  25.266 +  LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
  25.267 +# xlC_r ignores the -o= syntax
  25.268 +# LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
  25.269 +
  25.270 +  # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
  25.271 +  # get around library dependency and compatibility issues. Must use gcc not
  25.272 +  # g++ to link.
  25.273 +  LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
  25.274 +endif
  25.275 +
  25.276 +LINK_VM = $(LINK_LIB.CXX)
  25.277 +
  25.278 +# create loadmap for libjvm.so by default. Helps in diagnosing some problems.
  25.279 +LFLAGS_VM += -bloadmap:libjvm.loadmap
  25.280 +
  25.281 +# rule for building precompiled header
  25.282 +$(PRECOMPILED_HEADER):
  25.283 +	$(QUIETLY) echo Generating precompiled header $@
  25.284 +	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
  25.285 +	$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
  25.286 +
  25.287 +# making the library:
  25.288 +
  25.289 +ifneq ($(JVM_BASE_ADDR),)
  25.290 +# By default shared library is linked at base address == 0. Modify the
  25.291 +# linker script if JVM prefers a different base location. It can also be
  25.292 +# implemented with 'prelink -r'. But 'prelink' is not (yet) available on
  25.293 +# our build platform (AS-2.1).
  25.294 +LD_SCRIPT = libjvm.so.lds
  25.295 +$(LD_SCRIPT): $(LIBJVM_MAPFILE)
  25.296 +	$(QUIETLY) {                                                \
  25.297 +	  rm -rf $@;                                                \
  25.298 +	  $(LINK_VM) -Wl,--verbose $(LFLAGS_VM) 2>&1             |  \
  25.299 +	    sed -e '/^======/,/^======/!d'                          \
  25.300 +		-e '/^======/d'                                     \
  25.301 +		-e 's/0\( + SIZEOF_HEADERS\)/$(JVM_BASE_ADDR)\1/'   \
  25.302 +		> $@;                                               \
  25.303 +	}
  25.304 +LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
  25.305 +endif
  25.306 +
  25.307 +# With more recent Redhat releases (or the cutting edge version Fedora), if
  25.308 +# SELinux is configured to be enabled, the runtime linker will fail to apply
  25.309 +# the text relocation to libjvm.so considering that it is built as a non-PIC
  25.310 +# DSO. To workaround that, we run chcon to libjvm.so after it is built. See
  25.311 +# details in bug 6538311.
  25.312 +$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
  25.313 +	$(QUIETLY) {                                                      \
  25.314 +	    echo Linking vm...;                                           \
  25.315 +	    $(LINK_LIB.CXX/PRE_HOOK)                                      \
  25.316 +	    $(LINK_VM) $(LD_SCRIPT_FLAG)                                  \
  25.317 +		       $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \
  25.318 +	    $(LINK_LIB.CXX/POST_HOOK)                                     \
  25.319 +	    rm -f $@.1; ln -s $@ $@.1;                                    \
  25.320 +	}
  25.321 +# No security contexts on AIX
  25.322 +#           if [ \"$(CROSS_COMPILE_ARCH)\" = \"\" ] ; then              \
  25.323 +#	      if [ -x /usr/sbin/selinuxenabled ] ; then                 \
  25.324 +#	        /usr/sbin/selinuxenabled;                               \
  25.325 +#               if [ $$? = 0 ] ; then					\
  25.326 +#		  /usr/bin/chcon -t textrel_shlib_t $@;                 \
  25.327 +#		  if [ $$? != 0 ]; then                                 \
  25.328 +#		    echo "ERROR: Cannot chcon $@";			\
  25.329 +#		  fi							\
  25.330 +#	        fi							\
  25.331 +#	      fi                                                        \
  25.332 +#           fi 							        \
  25.333 +#	}
  25.334 +
  25.335 +#ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  25.336 +#	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
  25.337 +#	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
  25.338 +#    ifeq ($(STRIP_POLICY),all_strip)
  25.339 +#	$(QUIETLY) $(STRIP) $@
  25.340 +#    else
  25.341 +#      ifeq ($(STRIP_POLICY),min_strip)
  25.342 +#	$(QUIETLY) $(STRIP) -g $@
  25.343 +#      # implied else here is no stripping at all
  25.344 +#      endif
  25.345 +#    endif
  25.346 +#    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  25.347 +#	$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
  25.348 +#	$(RM) $(LIBJVM_DEBUGINFO)
  25.349 +#  endif
  25.350 +#endif
  25.351 +
  25.352 +DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
  25.353 +DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
  25.354 +DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
  25.355 +DEST_JVM_DIZ       = $(DEST_SUBDIR)/$(LIBJVM_DIZ)
  25.356 +
  25.357 +install_jvm: $(LIBJVM)
  25.358 +	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
  25.359 +	$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
  25.360 +	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
  25.361 +	$(QUIETLY) test -f $(LIBJVM_DIZ) && \
  25.362 +	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
  25.363 +	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
  25.364 +
  25.365 +#----------------------------------------------------------------------
  25.366 +# Other files
  25.367 +
  25.368 +# Signal interposition library
  25.369 +include $(MAKEFILES_DIR)/jsig.make
  25.370 +
  25.371 +# Serviceability agent
  25.372 +include $(MAKEFILES_DIR)/saproc.make
  25.373 +
  25.374 +#----------------------------------------------------------------------
  25.375 +
  25.376 +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
  25.377 +
  25.378 +install: install_jvm install_jsig install_saproc
  25.379 +
  25.380 +.PHONY: default build install install_jvm
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/make/aix/makefiles/xlc.make	Fri Sep 06 20:08:29 2013 +0200
    26.3 @@ -0,0 +1,159 @@
    26.4 +#
    26.5 +# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
    26.6 +# Copyright (c) 2012, 2013 SAP. All rights reserved.
    26.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    26.8 +#
    26.9 +# This code is free software; you can redistribute it and/or modify it
   26.10 +# under the terms of the GNU General Public License version 2 only, as
   26.11 +# published by the Free Software Foundation.
   26.12 +#
   26.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   26.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   26.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   26.16 +# version 2 for more details (a copy is included in the LICENSE file that
   26.17 +# accompanied this code).
   26.18 +#
   26.19 +# You should have received a copy of the GNU General Public License version
   26.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   26.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   26.22 +#
   26.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   26.24 +# or visit www.oracle.com if you need additional information or have any
   26.25 +# questions.
   26.26 +#  
   26.27 +#
   26.28 +
   26.29 +#------------------------------------------------------------------------
   26.30 +# CC, CXX & AS
   26.31 +
   26.32 +# Set compiler explicitly
   26.33 +CXX = $(COMPILER_PATH)xlC_r
   26.34 +CC  = $(COMPILER_PATH)xlc_r
   26.35 +HOSTCXX = $(CXX)
   26.36 +HOSTCC  = $(CC)
   26.37 +
   26.38 +AS  = $(CC) -c
   26.39 +
   26.40 +# get xlc version
   26.41 +CXX_VERSION   := $(shell $(CXX) -qversion 2>&1 | sed -n 's/.*Version: \([0-9.]*\)/\1/p')
   26.42 +
   26.43 +# xlc 08.00.0000.0023 and higher supports -qtune=balanced
   26.44 +CXX_SUPPORTS_BALANCED_TUNING=$(shell if [ $(subst .,,$(CXX_VERSION)) -ge 080000000023 ] ; then echo "true" ; fi)
   26.45 +# xlc 10.01 is used with aggressive optimizations to boost performance
   26.46 +CXX_IS_V10=$(shell if [ $(subst .,,$(CXX_VERSION)) -ge 100100000000 ] ; then echo "true" ; fi)
   26.47 +
   26.48 +# check for precompiled headers support
   26.49 +
   26.50 +# Switch off the precompiled header support. Neither xlC 8.0 nor xlC 10.0
   26.51 +# support precompiled headers. Both "understand" the command line switches "-qusepcomp" and 
   26.52 +# "-qgenpcomp" but when we specify them the following message is printed:
   26.53 +# "1506-755 (W) The -qusepcomp option is not supported in this release."
   26.54 +USE_PRECOMPILED_HEADER = 0
   26.55 +ifneq ($(USE_PRECOMPILED_HEADER),0)
   26.56 +PRECOMPILED_HEADER_DIR=.
   26.57 +PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
   26.58 +PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
   26.59 +endif
   26.60 +
   26.61 +
   26.62 +#------------------------------------------------------------------------
   26.63 +# Compiler flags
   26.64 +
   26.65 +# position-independent code
   26.66 +PICFLAG = -qpic=large
   26.67 +
   26.68 +VM_PICFLAG/LIBJVM = $(PICFLAG)
   26.69 +VM_PICFLAG/AOUT   =
   26.70 +VM_PICFLAG        = $(VM_PICFLAG/$(LINK_INTO))
   26.71 +
   26.72 +CFLAGS += $(VM_PICFLAG)
   26.73 +CFLAGS += -qnortti
   26.74 +CFLAGS += -qnoeh
   26.75 +
   26.76 +CFLAGS += -D_REENTRANT
   26.77 +# no xlc counterpart for -fcheck-new
   26.78 +# CFLAGS += -fcheck-new
   26.79 +
   26.80 +ARCHFLAG = -q64
   26.81 +
   26.82 +CFLAGS     += $(ARCHFLAG)
   26.83 +AOUT_FLAGS += $(ARCHFLAG)
   26.84 +LFLAGS     += $(ARCHFLAG)
   26.85 +ASFLAGS    += $(ARCHFLAG)
   26.86 +
   26.87 +# Use C++ Interpreter
   26.88 +ifdef CC_INTERP
   26.89 +  CFLAGS += -DCC_INTERP
   26.90 +endif
   26.91 +
   26.92 +# Keep temporary files (.ii, .s)
   26.93 +# no counterpart on xlc for -save-temps, -pipe
   26.94 +
   26.95 +# Compiler warnings are treated as errors
   26.96 +# Do not treat warnings as errors
   26.97 +# WARNINGS_ARE_ERRORS = -Werror
   26.98 +# Except for a few acceptable ones
   26.99 +# ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
  26.100 +# CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
  26.101 +CFLAGS_WARN/COMMON = 
  26.102 +CFLAGS_WARN/DEFAULT = $(CFLAGS_WARN/COMMON) $(EXTRA_WARNINGS)
  26.103 +# Special cases
  26.104 +CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) 
  26.105 +
  26.106 +# The flags to use for an optimized build
  26.107 +OPT_CFLAGS += -O3
  26.108 +
  26.109 +# Hotspot uses very unstrict aliasing turn this optimization off
  26.110 +OPT_CFLAGS += -qalias=noansi
  26.111 +
  26.112 +OPT_CFLAGS/NOOPT=-qnoopt
  26.113 +
  26.114 +DEPFLAGS = -qmakedep=gcc -MF $(DEP_DIR)/$(@:%=%.d)
  26.115 +
  26.116 +#------------------------------------------------------------------------
  26.117 +# Linker flags
  26.118 +
  26.119 +# statically link libstdc++.so, work with gcc but ignored by g++
  26.120 +STATIC_STDCXX = -Wl,-lC_r
  26.121 +
  26.122 +# Enable linker optimization
  26.123 +# no counterpart on xlc for this 
  26.124 +# LFLAGS += -Xlinker -O1
  26.125 +
  26.126 +# Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
  26.127 +# MAPFLAG = -Xlinker --version-script=FILENAME
  26.128 +
  26.129 +# Build shared library
  26.130 +SHARED_FLAG = -q64 -b64 -bexpall -G -bnoentry -qmkshrobj -brtl -bnolibpath
  26.131 +
  26.132 +#------------------------------------------------------------------------
  26.133 +# Debug flags
  26.134 +
  26.135 +# Always compile with '-g' to get symbols in the stacktraces in the hs_err file
  26.136 +DEBUG_CFLAGS += -g
  26.137 +FASTDEBUG_CFLAGS += -g
  26.138 +OPT_CFLAGS += -g
  26.139 +
  26.140 +# DEBUG_BINARIES overrides everything, use full -g debug information
  26.141 +ifeq ($(DEBUG_BINARIES), true)
  26.142 +  DEBUG_CFLAGS = -g
  26.143 +  CFLAGS += $(DEBUG_CFLAGS)
  26.144 +endif
  26.145 +
  26.146 +# If we are building HEADLESS, pass on to VM
  26.147 +# so it can set the java.awt.headless property
  26.148 +ifdef HEADLESS
  26.149 +CFLAGS += -DHEADLESS
  26.150 +endif
  26.151 +
  26.152 +# We are building Embedded for a small device
  26.153 +# favor code space over speed
  26.154 +ifdef MINIMIZE_RAM_USAGE
  26.155 +CFLAGS += -DMINIMIZE_RAM_USAGE
  26.156 +endif
  26.157 +
  26.158 +ifdef CROSS_COMPILE_ARCH
  26.159 +  STRIP = $(ALT_COMPILER_PATH)/strip
  26.160 +else
  26.161 +  STRIP = strip
  26.162 +endif
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/make/aix/platform_ppc64	Fri Sep 06 20:08:29 2013 +0200
    27.3 @@ -0,0 +1,17 @@
    27.4 +os_family = aix
    27.5 +
    27.6 +arch = ppc
    27.7 +
    27.8 +arch_model = ppc_64
    27.9 +
   27.10 +os_arch = aix_ppc
   27.11 +
   27.12 +os_arch_model = aix_ppc_64
   27.13 +
   27.14 +lib_arch = ppc64
   27.15 +
   27.16 +compiler = xlc
   27.17 +
   27.18 +gnu_dis_arch = ppc64
   27.19 +
   27.20 +sysdefs = -DAIX -DPPC64
    28.1 --- a/make/defs.make	Fri Sep 06 10:13:17 2013 +0200
    28.2 +++ b/make/defs.make	Fri Sep 06 20:08:29 2013 +0200
    28.3 @@ -166,11 +166,15 @@
    28.4    HOST := $(shell uname -n)
    28.5  endif
    28.6  
    28.7 -# If not SunOS, not Linux and not BSD, assume Windows
    28.8 +# If not SunOS, not Linux not BSD and not AIX, assume Windows
    28.9  ifneq ($(OS), Linux)
   28.10    ifneq ($(OS), SunOS)
   28.11      ifneq ($(OS), bsd)
   28.12 -      OSNAME=windows
   28.13 +      ifneq ($(OS), AIX)
   28.14 +        OSNAME=windows
   28.15 +      else
   28.16 +        OSNAME=aix
   28.17 +      endif
   28.18      else
   28.19        OSNAME=bsd
   28.20      endif

mercurial