Tue, 24 Apr 2012 15:20:40 -0700
Merge
1.1 --- a/make/Makefile Mon Apr 23 11:03:30 2012 -0700 1.2 +++ b/make/Makefile Tue Apr 24 15:20:40 2012 -0700 1.3 @@ -136,31 +136,36 @@ 1.4 ifeq ($(OSNAME),windows) 1.5 @$(ECHO) "No docs ($(VM_TARGET)) for windows" 1.6 else 1.7 +# We specify 'BUILD_FLAVOR=product' so that the proper 1.8 +# ENABLE_FULL_DEBUG_SYMBOLS value is used. 1.9 $(CD) $(OUTPUTDIR); \ 1.10 $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.11 - $(MAKE_ARGS) docs 1.12 + $(MAKE_ARGS) BUILD_FLAVOR=product docs 1.13 endif 1.14 1.15 # Build variation of hotspot 1.16 $(C1_VM_TARGETS): 1.17 $(CD) $(GAMMADIR)/make; \ 1.18 - $(MAKE) VM_TARGET=$@ generic_build1 $(ALT_OUT) 1.19 + $(MAKE) BUILD_FLAVOR=$(@:%1=%) VM_TARGET=$@ generic_build1 $(ALT_OUT) 1.20 1.21 $(C2_VM_TARGETS): 1.22 $(CD) $(GAMMADIR)/make; \ 1.23 - $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT) 1.24 + $(MAKE) BUILD_FLAVOR=$@ VM_TARGET=$@ generic_build2 $(ALT_OUT) 1.25 1.26 $(KERNEL_VM_TARGETS): 1.27 $(CD) $(GAMMADIR)/make; \ 1.28 - $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) 1.29 + $(MAKE) BUILD_FLAVOR=$(@:%kernel=%) VM_TARGET=$@ \ 1.30 + generic_buildkernel $(ALT_OUT) 1.31 1.32 $(ZERO_VM_TARGETS): 1.33 $(CD) $(GAMMADIR)/make; \ 1.34 - $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT) 1.35 + $(MAKE) BUILD_FLAVOR=$(@:%zero=%) VM_TARGET=$@ \ 1.36 + generic_buildzero $(ALT_OUT) 1.37 1.38 $(SHARK_VM_TARGETS): 1.39 $(CD) $(GAMMADIR)/make; \ 1.40 - $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) 1.41 + $(MAKE) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ \ 1.42 + generic_buildshark $(ALT_OUT) 1.43 1.44 # Build compiler1 (client) rule, different for platforms 1.45 generic_build1: 1.46 @@ -237,25 +242,37 @@ 1.47 # Export file rule 1.48 generic_export: $(EXPORT_LIST) 1.49 export_product: 1.50 - $(MAKE) VM_SUBDIR=product generic_export 1.51 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ 1.52 + generic_export 1.53 export_fastdebug: 1.54 - $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export 1.55 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ 1.56 + EXPORT_SUBDIR=/$(@:export_%=%) \ 1.57 + generic_export 1.58 export_debug: 1.59 - $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export 1.60 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=${VM_DEBUG} \ 1.61 + EXPORT_SUBDIR=/$(@:export_%=%) \ 1.62 + generic_export 1.63 export_optimized: 1.64 - $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export 1.65 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ 1.66 + EXPORT_SUBDIR=/$(@:export_%=%) \ 1.67 + generic_export 1.68 export_product_jdk:: 1.69 - $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 1.70 - VM_SUBDIR=product generic_export 1.71 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \ 1.72 + VM_SUBDIR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 1.73 + generic_export 1.74 export_optimized_jdk:: 1.75 - $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 1.76 - VM_SUBDIR=optimized generic_export 1.77 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \ 1.78 + VM_SUBDIR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 1.79 + generic_export 1.80 export_fastdebug_jdk:: 1.81 - $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \ 1.82 - VM_SUBDIR=fastdebug generic_export 1.83 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \ 1.84 + VM_SUBDIR=$(@:export_%_jdk=%) \ 1.85 + ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ 1.86 + generic_export 1.87 export_debug_jdk:: 1.88 - $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \ 1.89 - VM_SUBDIR=${VM_DEBUG} generic_export 1.90 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) VM_SUBDIR=${VM_DEBUG} \ 1.91 + ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ 1.92 + generic_export 1.93 1.94 # Export file copy rules 1.95 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt 1.96 @@ -300,6 +317,8 @@ 1.97 $(install-file) 1.98 1.99 # Other libraries (like SA) 1.100 +$(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz 1.101 + $(install-file) 1.102 $(EXPORT_JRE_BIN_DIR)/%.dll: $(MISC_DIR)/%.dll 1.103 $(install-file) 1.104 $(EXPORT_JRE_BIN_DIR)/%.pdb: $(MISC_DIR)/%.pdb 1.105 @@ -308,6 +327,8 @@ 1.106 $(install-file) 1.107 1.108 # Client files always come from C1 area 1.109 +$(EXPORT_CLIENT_DIR)/%.diz: $(C1_DIR)/%.diz 1.110 + $(install-file) 1.111 $(EXPORT_CLIENT_DIR)/%.dll: $(C1_DIR)/%.dll 1.112 $(install-file) 1.113 $(EXPORT_CLIENT_DIR)/%.pdb: $(C1_DIR)/%.pdb 1.114 @@ -316,6 +337,8 @@ 1.115 $(install-file) 1.116 1.117 # Server files always come from C2 area 1.118 +$(EXPORT_SERVER_DIR)/%.diz: $(C2_DIR)/%.diz 1.119 + $(install-file) 1.120 $(EXPORT_SERVER_DIR)/%.dll: $(C2_DIR)/%.dll 1.121 $(install-file) 1.122 $(EXPORT_SERVER_DIR)/%.pdb: $(C2_DIR)/%.pdb 1.123 @@ -324,6 +347,8 @@ 1.124 $(install-file) 1.125 1.126 # Kernel files always come from kernel area 1.127 +$(EXPORT_KERNEL_DIR)/%.diz: $(KERNEL_DIR)/%.diz 1.128 + $(install-file) 1.129 $(EXPORT_KERNEL_DIR)/%.dll: $(KERNEL_DIR)/%.dll 1.130 $(install-file) 1.131 $(EXPORT_KERNEL_DIR)/%.pdb: $(KERNEL_DIR)/%.pdb 1.132 @@ -347,6 +372,12 @@ 1.133 $(install-file) 1.134 $(EXPORT_SERVER_DIR)/64/%.debuginfo: $(C2_DIR)/%.debuginfo 1.135 $(install-file) 1.136 + $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C2_DIR)/%.diz 1.137 + $(install-file) 1.138 + $(EXPORT_SERVER_DIR)/%.diz: $(C2_DIR)/%.diz 1.139 + $(install-file) 1.140 + $(EXPORT_SERVER_DIR)/64/%.diz: $(C2_DIR)/%.diz 1.141 + $(install-file) 1.142 endif 1.143 ifeq ($(JVM_VARIANT_CLIENT), true) 1.144 $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX) 1.145 @@ -361,6 +392,12 @@ 1.146 $(install-file) 1.147 $(EXPORT_CLIENT_DIR)/64/%.debuginfo: $(C1_DIR)/%.debuginfo 1.148 $(install-file) 1.149 + $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C1_DIR)/%.diz 1.150 + $(install-file) 1.151 + $(EXPORT_CLIENT_DIR)/%.diz: $(C1_DIR)/%.diz 1.152 + $(install-file) 1.153 + $(EXPORT_CLIENT_DIR)/64/%.diz: $(C1_DIR)/%.diz 1.154 + $(install-file) 1.155 endif 1.156 ifeq ($(JVM_VARIANT_ZEROSHARK), true) 1.157 $(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_DIR)/%.$(LIBRARY_SUFFIX)
2.1 --- a/make/linux/Makefile Mon Apr 23 11:03:30 2012 -0700 2.2 +++ b/make/linux/Makefile Tue Apr 24 15:20:40 2012 -0700 2.3 @@ -1,5 +1,5 @@ 2.4 # 2.5 -# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 2.6 +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 2.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 # 2.9 # This code is free software; you can redistribute it and/or modify it 2.10 @@ -210,7 +210,7 @@ 2.11 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make 2.12 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) 2.13 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 2.14 -BUILDTREE_VARS += OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) 2.15 +BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE) 2.16 2.17 BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS) 2.18 2.19 @@ -337,9 +337,11 @@ 2.20 2.21 # Doc target. This is the same for all build options. 2.22 # Hence create a docs directory beside ...$(ARCH)_[...] 2.23 +# We specify 'BUILD_FLAVOR=product' so that the proper 2.24 +# ENABLE_FULL_DEBUG_SYMBOLS value is used. 2.25 docs: checks 2.26 $(QUIETLY) mkdir -p $(SUBDIR_DOCS) 2.27 - $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) jvmtidocs 2.28 + $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs 2.29 2.30 # Synonyms for win32-like targets. 2.31 compiler2: jvmg product
3.1 --- a/make/linux/makefiles/buildtree.make Mon Apr 23 11:03:30 2012 -0700 3.2 +++ b/make/linux/makefiles/buildtree.make Tue Apr 24 15:20:40 2012 -0700 3.3 @@ -1,5 +1,5 @@ 3.4 # 3.5 -# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 3.6 +# Copyright (c) 2005, 2012, 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 @@ -236,10 +236,16 @@ 3.11 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ 3.12 [ -n "$(CFLAGS_BROWSE)" ] && \ 3.13 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ 3.14 + [ -n "$(ENABLE_FULL_DEBUG_SYMBOLS)" ] && \ 3.15 + echo && echo "ENABLE_FULL_DEBUG_SYMBOLS = $(ENABLE_FULL_DEBUG_SYMBOLS)"; \ 3.16 [ -n "$(OBJCOPY)" ] && \ 3.17 echo && echo "OBJCOPY = $(OBJCOPY)"; \ 3.18 [ -n "$(STRIP_POLICY)" ] && \ 3.19 echo && echo "STRIP_POLICY = $(STRIP_POLICY)"; \ 3.20 + [ -n "$(ZIP_DEBUGINFO_FILES)" ] && \ 3.21 + echo && echo "ZIP_DEBUGINFO_FILES = $(ZIP_DEBUGINFO_FILES)"; \ 3.22 + [ -n "$(ZIPEXE)" ] && \ 3.23 + echo && echo "ZIPEXE = $(ZIPEXE)"; \ 3.24 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ 3.25 echo && \ 3.26 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
4.1 --- a/make/linux/makefiles/defs.make Mon Apr 23 11:03:30 2012 -0700 4.2 +++ b/make/linux/makefiles/defs.make Tue Apr 24 15:20:40 2012 -0700 4.3 @@ -141,32 +141,70 @@ 4.4 endif 4.5 4.6 ifeq ($(JDK6_OR_EARLIER),0) 4.7 - # Full Debug Symbols is supported on JDK7 or newer 4.8 + # Full Debug Symbols is supported on JDK7 or newer. 4.9 + # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product 4.10 + # builds is enabled with debug info files ZIP'ed to save space. For 4.11 + # BUILD_FLAVOR != product builds, FDS is always enabled, after all a 4.12 + # debug build without debug info isn't very useful. 4.13 + # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled. 4.14 + # 4.15 + # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be 4.16 + # disabled for a BUILD_FLAVOR == product build. 4.17 + # 4.18 + # Note: Use of a different variable name for the FDS override option 4.19 + # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS 4.20 + # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass 4.21 + # in options via environment variables, use of distinct variables 4.22 + # prevents strange behaviours. For example, in a BUILD_FLAVOR != 4.23 + # product build, the FULL_DEBUG_SYMBOLS environment variable will be 4.24 + # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If 4.25 + # the same variable name is used, then different values can be picked 4.26 + # up by different parts of the build. Just to be clear, we only need 4.27 + # two variable names because the incoming option value can be 4.28 + # overridden in some situations, e.g., a BUILD_FLAVOR != product 4.29 + # build. 4.30 4.31 - # Default OBJCOPY comes from GNU Binutils on Linux: 4.32 - DEF_OBJCOPY=/usr/bin/objcopy 4.33 - ifdef CROSS_COMPILE_ARCH 4.34 - # don't try to generate .debuginfo files when cross compiling 4.35 - _JUNK_ := $(shell \ 4.36 - echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \ 4.37 - "skipping .debuginfo generation.") 4.38 + ifeq ($(BUILD_FLAVOR), product) 4.39 + FULL_DEBUG_SYMBOLS ?= 1 4.40 + ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS) 4.41 + else 4.42 + # debug variants always get Full Debug Symbols (if available) 4.43 + ENABLE_FULL_DEBUG_SYMBOLS = 1 4.44 + endif 4.45 + _JUNK_ := $(shell \ 4.46 + echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") 4.47 + # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later 4.48 + 4.49 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 4.50 + # Default OBJCOPY comes from GNU Binutils on Linux: 4.51 + DEF_OBJCOPY=/usr/bin/objcopy 4.52 + ifdef CROSS_COMPILE_ARCH 4.53 + # don't try to generate .debuginfo files when cross compiling 4.54 + _JUNK_ := $(shell \ 4.55 + echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \ 4.56 + "skipping .debuginfo generation.") 4.57 + OBJCOPY= 4.58 + else 4.59 + OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) 4.60 + ifneq ($(ALT_OBJCOPY),) 4.61 + _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") 4.62 + OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) 4.63 + endif 4.64 + endif 4.65 + else 4.66 OBJCOPY= 4.67 - else 4.68 - OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) 4.69 - ifneq ($(ALT_OBJCOPY),) 4.70 - _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") 4.71 - # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path 4.72 - OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) 4.73 - endif 4.74 endif 4.75 - 4.76 + 4.77 ifeq ($(OBJCOPY),) 4.78 _JUNK_ := $(shell \ 4.79 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") 4.80 + ENABLE_FULL_DEBUG_SYMBOLS=0 4.81 + _JUNK_ := $(shell \ 4.82 + echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") 4.83 else 4.84 _JUNK_ := $(shell \ 4.85 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") 4.86 - 4.87 + 4.88 # Library stripping policies for .debuginfo configs: 4.89 # all_strip - strips everything from the library 4.90 # min_strip - strips most stuff from the library; leaves minimum symbols 4.91 @@ -175,15 +213,17 @@ 4.92 # Oracle security policy requires "all_strip". A waiver was granted on 4.93 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. 4.94 # 4.95 - DEF_STRIP_POLICY="min_strip" 4.96 - ifeq ($(ALT_STRIP_POLICY),) 4.97 - STRIP_POLICY=$(DEF_STRIP_POLICY) 4.98 - else 4.99 - STRIP_POLICY=$(ALT_STRIP_POLICY) 4.100 - endif 4.101 - 4.102 + # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled. 4.103 + # 4.104 + STRIP_POLICY ?= min_strip 4.105 + 4.106 _JUNK_ := $(shell \ 4.107 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") 4.108 + 4.109 + ZIP_DEBUGINFO_FILES ?= 1 4.110 + 4.111 + _JUNK_ := $(shell \ 4.112 + echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)") 4.113 endif 4.114 endif 4.115 4.116 @@ -199,8 +239,12 @@ 4.117 4.118 # client and server subdirectories have symbolic links to ../libjsig.so 4.119 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) 4.120 -ifneq ($(OBJCOPY),) 4.121 - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo 4.122 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 4.123 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 4.124 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz 4.125 + else 4.126 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo 4.127 + endif 4.128 endif 4.129 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server 4.130 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client 4.131 @@ -210,16 +254,24 @@ 4.132 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) 4.133 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt 4.134 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX) 4.135 - ifneq ($(OBJCOPY),) 4.136 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo 4.137 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 4.138 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 4.139 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz 4.140 + else 4.141 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo 4.142 + endif 4.143 endif 4.144 endif 4.145 4.146 ifeq ($(JVM_VARIANT_CLIENT),true) 4.147 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt 4.148 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) 4.149 - ifneq ($(OBJCOPY),) 4.150 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo 4.151 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 4.152 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 4.153 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz 4.154 + else 4.155 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo 4.156 + endif 4.157 endif 4.158 endif 4.159 4.160 @@ -229,9 +281,14 @@ 4.161 $(EXPORT_LIB_DIR)/sa-jdi.jar 4.162 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ 4.163 $(EXPORT_LIB_DIR)/sa-jdi.jar 4.164 -ifneq ($(OBJCOPY),) 4.165 - ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 4.166 - ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 4.167 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 4.168 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 4.169 + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz 4.170 + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz 4.171 + else 4.172 + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 4.173 + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 4.174 + endif 4.175 endif 4.176 ADD_SA_BINARIES/ppc = 4.177 ADD_SA_BINARIES/ia64 =
5.1 --- a/make/linux/makefiles/gcc.make Mon Apr 23 11:03:30 2012 -0700 5.2 +++ b/make/linux/makefiles/gcc.make Tue Apr 24 15:20:40 2012 -0700 5.3 @@ -1,5 +1,5 @@ 5.4 # 5.5 -# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 5.6 +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 5.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.8 # 5.9 # This code is free software; you can redistribute it and/or modify it 5.10 @@ -230,7 +230,7 @@ 5.11 DEBUG_CFLAGS += -gstabs 5.12 endif 5.13 5.14 -ifneq ($(OBJCOPY),) 5.15 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 5.16 FASTDEBUG_CFLAGS/ia64 = -g 5.17 FASTDEBUG_CFLAGS/amd64 = -g 5.18 FASTDEBUG_CFLAGS/arm = -g
6.1 --- a/make/linux/makefiles/jsig.make Mon Apr 23 11:03:30 2012 -0700 6.2 +++ b/make/linux/makefiles/jsig.make Tue Apr 24 15:20:40 2012 -0700 6.3 @@ -1,5 +1,5 @@ 6.4 # 6.5 -# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 6.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -32,12 +32,15 @@ 6.11 LIBJSIG_G = lib$(JSIG_G).so 6.12 6.13 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo 6.14 +LIBJSIG_DIZ = lib$(JSIG).diz 6.15 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo 6.16 +LIBJSIG_G_DIZ = lib$(JSIG_G).diz 6.17 6.18 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm 6.19 6.20 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) 6.21 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO) 6.22 +DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ) 6.23 6.24 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig 6.25 6.26 @@ -58,7 +61,7 @@ 6.27 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 6.28 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl 6.29 $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } 6.30 -ifneq ($(OBJCOPY),) 6.31 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 6.32 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) 6.33 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ 6.34 ifeq ($(STRIP_POLICY),all_strip) 6.35 @@ -70,12 +73,19 @@ 6.36 endif 6.37 endif 6.38 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } 6.39 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 6.40 + $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) 6.41 + $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) 6.42 + [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); } 6.43 + endif 6.44 endif 6.45 6.46 install_jsig: $(LIBJSIG) 6.47 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" 6.48 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ 6.49 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) 6.50 + $(QUIETLY) test -f $(LIBJSIG_DIZ) && \ 6.51 + cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ) 6.52 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" 6.53 6.54 .PHONY: install_jsig
7.1 --- a/make/linux/makefiles/saproc.make Mon Apr 23 11:03:30 2012 -0700 7.2 +++ b/make/linux/makefiles/saproc.make Tue Apr 24 15:20:40 2012 -0700 7.3 @@ -33,7 +33,9 @@ 7.4 LIBSAPROC_G = lib$(SAPROC_G).so 7.5 7.6 LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo 7.7 +LIBSAPROC_DIZ = lib$(SAPROC).diz 7.8 LIBSAPROC_G_DEBUGINFO = lib$(SAPROC_G).debuginfo 7.9 +LIBSAPROC_G_DIZ = lib$(SAPROC_G).diz 7.10 7.11 AGENT_DIR = $(GAMMADIR)/agent 7.12 7.13 @@ -50,6 +52,7 @@ 7.14 7.15 DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC) 7.16 DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO) 7.17 +DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ) 7.18 7.19 # DEBUG_BINARIES overrides everything, use full -g debug information 7.20 ifeq ($(DEBUG_BINARIES), true) 7.21 @@ -87,7 +90,7 @@ 7.22 -o $@ \ 7.23 -lthread_db 7.24 $(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } 7.25 -ifneq ($(OBJCOPY),) 7.26 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 7.27 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) 7.28 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ 7.29 ifeq ($(STRIP_POLICY),all_strip) 7.30 @@ -99,6 +102,11 @@ 7.31 endif 7.32 endif 7.33 [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } 7.34 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 7.35 + $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 7.36 + $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 7.37 + [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } 7.38 + endif 7.39 endif 7.40 7.41 install_saproc: $(BUILDLIBSAPROC) 7.42 @@ -106,6 +114,8 @@ 7.43 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \ 7.44 test -f $(LIBSAPROC_DEBUGINFO) && \ 7.45 cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \ 7.46 + test -f $(LIBSAPROC_DIZ) && \ 7.47 + cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \ 7.48 cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \ 7.49 fi 7.50
8.1 --- a/make/linux/makefiles/vm.make Mon Apr 23 11:03:30 2012 -0700 8.2 +++ b/make/linux/makefiles/vm.make Tue Apr 24 15:20:40 2012 -0700 8.3 @@ -61,7 +61,7 @@ 8.4 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) 8.5 8.6 # SYMFLAG is used by {jsig,saproc}.make 8.7 -ifneq ($(OBJCOPY),) 8.8 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 8.9 # always build with debug info when we can create .debuginfo files 8.10 SYMFLAG = -g 8.11 else 8.12 @@ -139,7 +139,9 @@ 8.13 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so 8.14 8.15 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo 8.16 +LIBJVM_DIZ = lib$(JVM).diz 8.17 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo 8.18 +LIBJVM_G_DIZ = lib$(JVM)$(G_SUFFIX).diz 8.19 8.20 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt 8.21 8.22 @@ -331,7 +333,7 @@ 8.23 fi \ 8.24 } 8.25 ifeq ($(CROSS_COMPILE_ARCH),) 8.26 - ifneq ($(OBJCOPY),) 8.27 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 8.28 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) 8.29 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ 8.30 ifeq ($(STRIP_POLICY),all_strip) 8.31 @@ -343,17 +345,25 @@ 8.32 endif 8.33 endif 8.34 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 8.35 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 8.36 + $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 8.37 + $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 8.38 + [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); } 8.39 + endif 8.40 endif 8.41 endif 8.42 8.43 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) 8.44 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) 8.45 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) 8.46 +DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) 8.47 8.48 install_jvm: $(LIBJVM) 8.49 @echo "Copying $(LIBJVM) to $(DEST_JVM)" 8.50 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ 8.51 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) 8.52 + $(QUIETLY) test -f $(LIBJVM_DIZ) && \ 8.53 + cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ) 8.54 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" 8.55 8.56 #----------------------------------------------------------------------
9.1 --- a/make/solaris/Makefile Mon Apr 23 11:03:30 2012 -0700 9.2 +++ b/make/solaris/Makefile Tue Apr 24 15:20:40 2012 -0700 9.3 @@ -1,5 +1,5 @@ 9.4 # 9.5 -# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 9.6 +# Copyright (c) 1998, 2012, Oracle and/or its affiliates. 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 @@ -168,7 +168,7 @@ 9.11 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make 9.12 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) 9.13 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 9.14 -BUILDTREE_VARS += OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) 9.15 +BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE) 9.16 9.17 BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS) 9.18 9.19 @@ -278,9 +278,11 @@ 9.20 9.21 # Doc target. This is the same for all build options. 9.22 # Hence create a docs directory beside ...$(ARCH)_[...] 9.23 +# We specify 'BUILD_FLAVOR=product' so that the proper 9.24 +# ENABLE_FULL_DEBUG_SYMBOLS value is used. 9.25 docs: checks 9.26 $(QUIETLY) mkdir -p $(SUBDIR_DOCS) 9.27 - $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) jvmtidocs 9.28 + $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs 9.29 9.30 # Synonyms for win32-like targets. 9.31 compiler2: jvmg product
10.1 --- a/make/solaris/makefiles/buildtree.make Mon Apr 23 11:03:30 2012 -0700 10.2 +++ b/make/solaris/makefiles/buildtree.make Tue Apr 24 15:20:40 2012 -0700 10.3 @@ -1,5 +1,5 @@ 10.4 # 10.5 -# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 10.6 +# Copyright (c) 2000, 2012, Oracle and/or its affiliates. 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 @@ -229,10 +229,16 @@ 10.11 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ 10.12 [ -n "$(CFLAGS_BROWSE)" ] && \ 10.13 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ 10.14 + [ -n "$(ENABLE_FULL_DEBUG_SYMBOLS)" ] && \ 10.15 + echo && echo "ENABLE_FULL_DEBUG_SYMBOLS = $(ENABLE_FULL_DEBUG_SYMBOLS)"; \ 10.16 [ -n "$(OBJCOPY)" ] && \ 10.17 echo && echo "OBJCOPY = $(OBJCOPY)"; \ 10.18 [ -n "$(STRIP_POLICY)" ] && \ 10.19 echo && echo "STRIP_POLICY = $(STRIP_POLICY)"; \ 10.20 + [ -n "$(ZIP_DEBUGINFO_FILES)" ] && \ 10.21 + echo && echo "ZIP_DEBUGINFO_FILES = $(ZIP_DEBUGINFO_FILES)"; \ 10.22 + [ -n "$(ZIPEXE)" ] && \ 10.23 + echo && echo "ZIPEXE = $(ZIPEXE)"; \ 10.24 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ 10.25 echo && \ 10.26 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
11.1 --- a/make/solaris/makefiles/defs.make Mon Apr 23 11:03:30 2012 -0700 11.2 +++ b/make/solaris/makefiles/defs.make Tue Apr 24 15:20:40 2012 -0700 11.3 @@ -86,45 +86,77 @@ 11.4 endif 11.5 11.6 ifeq ($(JDK6_OR_EARLIER),0) 11.7 - # Full Debug Symbols is supported on JDK7 or newer 11.8 + # Full Debug Symbols is supported on JDK7 or newer. 11.9 + # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product 11.10 + # builds is enabled with debug info files ZIP'ed to save space. For 11.11 + # BUILD_FLAVOR != product builds, FDS is always enabled, after all a 11.12 + # debug build without debug info isn't very useful. 11.13 + # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled. 11.14 + # 11.15 + # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be 11.16 + # disabled for a BUILD_FLAVOR == product build. 11.17 + # 11.18 + # Note: Use of a different variable name for the FDS override option 11.19 + # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS 11.20 + # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass 11.21 + # in options via environment variables, use of distinct variables 11.22 + # prevents strange behaviours. For example, in a BUILD_FLAVOR != 11.23 + # product build, the FULL_DEBUG_SYMBOLS environment variable will be 11.24 + # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If 11.25 + # the same variable name is used, then different values can be picked 11.26 + # up by different parts of the build. Just to be clear, we only need 11.27 + # two variable names because the incoming option value can be 11.28 + # overridden in some situations, e.g., a BUILD_FLAVOR != product 11.29 + # build. 11.30 11.31 -ifdef ENABLE_FULL_DEBUG_SYMBOLS 11.32 - # Only check for Full Debug Symbols support on Solaris if it is 11.33 - # specifically enabled. Hopefully, it can be enabled by default 11.34 - # once the .debuginfo size issues are worked out. 11.35 - 11.36 - # Default OBJCOPY comes from the SUNWbinutils package: 11.37 - DEF_OBJCOPY=/usr/sfw/bin/gobjcopy 11.38 - ifeq ($(VM_PLATFORM),solaris_amd64) 11.39 - # On Solaris AMD64/X64, gobjcopy is not happy and fails: 11.40 - # 11.41 - # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so 11.42 - # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.43 - # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value 11.44 - # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.45 - # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value 11.46 - # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.47 - # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value 11.48 - _JUNK_ := $(shell \ 11.49 - echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") 11.50 + ifeq ($(BUILD_FLAVOR), product) 11.51 + FULL_DEBUG_SYMBOLS ?= 1 11.52 + ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS) 11.53 + else 11.54 + # debug variants always get Full Debug Symbols (if available) 11.55 + ENABLE_FULL_DEBUG_SYMBOLS = 1 11.56 + endif 11.57 + _JUNK_ := $(shell \ 11.58 + echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") 11.59 + # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later 11.60 + 11.61 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 11.62 + # Default OBJCOPY comes from the SUNWbinutils package: 11.63 + DEF_OBJCOPY=/usr/sfw/bin/gobjcopy 11.64 + ifeq ($(VM_PLATFORM),solaris_amd64) 11.65 + # On Solaris AMD64/X64, gobjcopy is not happy and fails: 11.66 + # 11.67 + # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so 11.68 + # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.69 + # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value 11.70 + # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.71 + # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value 11.72 + # BFD: stKPaiop: Not enough room for program headers, try linking with -N 11.73 + # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value 11.74 + _JUNK_ := $(shell \ 11.75 + echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") 11.76 + OBJCOPY= 11.77 + else 11.78 + OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) 11.79 + ifneq ($(ALT_OBJCOPY),) 11.80 + _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") 11.81 + OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) 11.82 + endif 11.83 + endif 11.84 + else 11.85 OBJCOPY= 11.86 - else 11.87 - OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) 11.88 - ifneq ($(ALT_OBJCOPY),) 11.89 - _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") 11.90 - # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path 11.91 - OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) 11.92 - endif 11.93 endif 11.94 -endif 11.95 - 11.96 + 11.97 ifeq ($(OBJCOPY),) 11.98 _JUNK_ := $(shell \ 11.99 echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") 11.100 + ENABLE_FULL_DEBUG_SYMBOLS=0 11.101 + _JUNK_ := $(shell \ 11.102 + echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") 11.103 else 11.104 _JUNK_ := $(shell \ 11.105 echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") 11.106 - 11.107 + 11.108 # Library stripping policies for .debuginfo configs: 11.109 # all_strip - strips everything from the library 11.110 # min_strip - strips most stuff from the library; leaves minimum symbols 11.111 @@ -133,14 +165,17 @@ 11.112 # Oracle security policy requires "all_strip". A waiver was granted on 11.113 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. 11.114 # 11.115 - DEF_STRIP_POLICY="min_strip" 11.116 - ifeq ($(ALT_STRIP_POLICY),) 11.117 - STRIP_POLICY=$(DEF_STRIP_POLICY) 11.118 - else 11.119 - STRIP_POLICY=$(ALT_STRIP_POLICY) 11.120 - endif 11.121 + # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled. 11.122 + # 11.123 + STRIP_POLICY ?= min_strip 11.124 + 11.125 _JUNK_ := $(shell \ 11.126 echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") 11.127 + 11.128 + ZIP_DEBUGINFO_FILES ?= 1 11.129 + 11.130 + _JUNK_ := $(shell \ 11.131 + echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)") 11.132 endif 11.133 endif 11.134 11.135 @@ -156,8 +191,12 @@ 11.136 11.137 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX) 11.138 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) 11.139 -ifneq ($(OBJCOPY),) 11.140 - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo 11.141 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 11.142 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 11.143 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz 11.144 + else 11.145 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo 11.146 + endif 11.147 endif 11.148 11.149 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar 11.150 @@ -174,10 +213,16 @@ 11.151 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) 11.152 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) 11.153 endif 11.154 - ifneq ($(OBJCOPY),) 11.155 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo 11.156 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo 11.157 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo 11.158 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 11.159 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 11.160 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz 11.161 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz 11.162 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz 11.163 + else 11.164 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo 11.165 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo 11.166 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo 11.167 + endif 11.168 endif 11.169 endif 11.170 ifeq ($(JVM_VARIANT_CLIENT),true) 11.171 @@ -189,19 +234,33 @@ 11.172 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX) 11.173 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX) 11.174 endif 11.175 - ifneq ($(OBJCOPY),) 11.176 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo 11.177 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo 11.178 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo 11.179 - ifeq ($(ARCH_DATA_MODEL),32) 11.180 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo 11.181 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo 11.182 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 11.183 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 11.184 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz 11.185 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz 11.186 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz 11.187 + ifeq ($(ARCH_DATA_MODEL),32) 11.188 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz 11.189 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz 11.190 + endif 11.191 + else 11.192 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo 11.193 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo 11.194 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo 11.195 + ifeq ($(ARCH_DATA_MODEL),32) 11.196 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo 11.197 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo 11.198 + endif 11.199 endif 11.200 endif 11.201 endif 11.202 11.203 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) 11.204 -ifneq ($(OBJCOPY),) 11.205 - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 11.206 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 11.207 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 11.208 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz 11.209 + else 11.210 + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo 11.211 + endif 11.212 endif 11.213 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
12.1 --- a/make/solaris/makefiles/dtrace.make Mon Apr 23 11:03:30 2012 -0700 12.2 +++ b/make/solaris/makefiles/dtrace.make Tue Apr 24 15:20:40 2012 -0700 12.3 @@ -1,5 +1,5 @@ 12.4 # 12.5 -# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 12.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -41,15 +41,19 @@ 12.11 LIBJVM_DB = libjvm_db.so 12.12 LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so 12.13 12.14 -LIBJVM_DB_DEBUGINFO = libjvm_db.debuginfo 12.15 +LIBJVM_DB_DEBUGINFO = libjvm_db.debuginfo 12.16 +LIBJVM_DB_DIZ = libjvm_db.diz 12.17 LIBJVM_DB_G_DEBUGINFO = libjvm$(G_SUFFIX)_db.debuginfo 12.18 +LIBJVM_DB_G_DIZ = libjvm$(G_SUFFIX)_db.diz 12.19 12.20 JVM_DTRACE = jvm_dtrace 12.21 LIBJVM_DTRACE = libjvm_dtrace.so 12.22 LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so 12.23 12.24 -LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.debuginfo 12.25 +LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.debuginfo 12.26 +LIBJVM_DTRACE_DIZ = libjvm_dtrace.diz 12.27 LIBJVM_DTRACE_G_DEBUGINFO = libjvm$(G_SUFFIX)_dtrace.debuginfo 12.28 +LIBJVM_DTRACE_G_DIZ = libjvm$(G_SUFFIX)_dtrace.diz 12.29 12.30 JVMOFFS = JvmOffsets 12.31 JVMOFFS.o = $(JVMOFFS).o 12.32 @@ -95,10 +99,14 @@ 12.33 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) 12.34 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G) 12.35 12.36 -XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO) 12.37 -XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO) 12.38 -XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO) 12.39 +XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO) 12.40 +XLIBJVM_DB_DIZ = 64/$(LIBJVM_DB_DIZ) 12.41 +XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO) 12.42 +XLIBJVM_DB_G_DIZ = 64/$(LIBJVM_DB_G_DIZ) 12.43 +XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO) 12.44 +XLIBJVM_DTRACE_DIZ = 64/$(LIBJVM_DTRACE_DIZ) 12.45 XLIBJVM_DTRACE_G_DEBUGINFO = 64/$(LIBJVM_DTRACE_G_DEBUGINFO) 12.46 +XLIBJVM_DTRACE_G_DIZ = 64/$(LIBJVM_DTRACE_G_DIZ) 12.47 12.48 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) 12.49 @echo Making $@ 12.50 @@ -106,7 +114,7 @@ 12.51 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ 12.52 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc 12.53 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); } 12.54 -ifneq ($(OBJCOPY),) 12.55 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 12.56 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO) 12.57 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DB_DEBUGINFO) $@ 12.58 ifeq ($(STRIP_POLICY),all_strip) 12.59 @@ -117,7 +125,12 @@ 12.60 # implied else here is no stripping at all 12.61 endif 12.62 endif 12.63 - [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); } 12.64 + [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); } 12.65 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 12.66 + $(ZIPEXE) -q -y $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO) 12.67 + $(RM) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO) 12.68 + [ -f $(XLIBJVM_DB_G_DIZ) ] || { ln -s $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_G_DIZ); } 12.69 + endif 12.70 endif 12.71 12.72 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 12.73 @@ -126,7 +139,7 @@ 12.74 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ 12.75 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor 12.76 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); } 12.77 -ifneq ($(OBJCOPY),) 12.78 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 12.79 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO) 12.80 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DTRACE_DEBUGINFO) $@ 12.81 ifeq ($(STRIP_POLICY),all_strip) 12.82 @@ -137,7 +150,12 @@ 12.83 # implied else here is no stripping at all 12.84 endif 12.85 endif 12.86 - [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); } 12.87 + [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); } 12.88 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 12.89 + $(ZIPEXE) -q -y $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO) 12.90 + $(RM) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO) 12.91 + [ -f $(XLIBJVM_DTRACE_G_DIZ) ] || { ln -s $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_G_DIZ); } 12.92 + endif 12.93 endif 12.94 12.95 endif # ifneq ("${ISA}","${BUILDARCH}") 12.96 @@ -185,7 +203,7 @@ 12.97 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ 12.98 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc 12.99 [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); } 12.100 -ifneq ($(OBJCOPY),) 12.101 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 12.102 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO) 12.103 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@ 12.104 ifeq ($(STRIP_POLICY),all_strip) 12.105 @@ -197,6 +215,11 @@ 12.106 endif 12.107 endif 12.108 [ -f $(LIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO); } 12.109 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 12.110 + $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO) 12.111 + $(RM) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO) 12.112 + [ -f $(LIBJVM_DB_G_DIZ) ] || { ln -s $(LIBJVM_DB_DIZ) $(LIBJVM_DB_G_DIZ); } 12.113 + endif 12.114 endif 12.115 12.116 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 12.117 @@ -204,7 +227,7 @@ 12.118 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ 12.119 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor 12.120 [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); } 12.121 -ifneq ($(OBJCOPY),) 12.122 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 12.123 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO) 12.124 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@ 12.125 ifeq ($(STRIP_POLICY),all_strip) 12.126 @@ -216,6 +239,11 @@ 12.127 endif 12.128 endif 12.129 [ -f $(LIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO); } 12.130 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 12.131 + $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO) 12.132 + $(RM) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO) 12.133 + [ -f $(LIBJVM_DTRACE_G_DIZ) ] || { ln -s $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_G_DIZ); } 12.134 + endif 12.135 endif 12.136 12.137 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
13.1 --- a/make/solaris/makefiles/jsig.make Mon Apr 23 11:03:30 2012 -0700 13.2 +++ b/make/solaris/makefiles/jsig.make Tue Apr 24 15:20:40 2012 -0700 13.3 @@ -1,5 +1,5 @@ 13.4 # 13.5 -# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 13.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -32,12 +32,15 @@ 13.11 LIBJSIG_G = lib$(JSIG_G).so 13.12 13.13 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo 13.14 +LIBJSIG_DIZ = lib$(JSIG).diz 13.15 LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo 13.16 +LIBJSIG_G_DIZ = lib$(JSIG_G).diz 13.17 13.18 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm 13.19 13.20 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) 13.21 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO) 13.22 +DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ) 13.23 13.24 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig 13.25 13.26 @@ -54,7 +57,7 @@ 13.27 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ 13.28 $(LFLAGS_JSIG) -o $@ $< -ldl 13.29 [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } 13.30 -ifneq ($(OBJCOPY),) 13.31 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 13.32 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) 13.33 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ 13.34 ifeq ($(STRIP_POLICY),all_strip) 13.35 @@ -66,12 +69,19 @@ 13.36 endif 13.37 endif 13.38 [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } 13.39 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 13.40 + $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) 13.41 + $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) 13.42 + [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); } 13.43 + endif 13.44 endif 13.45 13.46 install_jsig: $(LIBJSIG) 13.47 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" 13.48 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ 13.49 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) 13.50 + $(QUIETLY) test -f $(LIBJSIG_DIZ) && \ 13.51 + cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ) 13.52 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" 13.53 13.54 .PHONY: install_jsig
14.1 --- a/make/solaris/makefiles/saproc.make Mon Apr 23 11:03:30 2012 -0700 14.2 +++ b/make/solaris/makefiles/saproc.make Tue Apr 24 15:20:40 2012 -0700 14.3 @@ -1,5 +1,5 @@ 14.4 # 14.5 -# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 14.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -33,7 +33,9 @@ 14.11 LIBSAPROC_G = lib$(SAPROC_G).so 14.12 14.13 LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo 14.14 +LIBSAPROC_DIZ = lib$(SAPROC).diz 14.15 LIBSAPROC_G_DEBUGINFO = lib$(SAPROC_G).debuginfo 14.16 +LIBSAPROC_G_DIZ = lib$(SAPROC_G).diz 14.17 14.18 AGENT_DIR = $(GAMMADIR)/agent 14.19 14.20 @@ -45,6 +47,7 @@ 14.21 14.22 DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC) 14.23 DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO) 14.24 +DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ) 14.25 14.26 # if $(AGENT_DIR) does not exist, we don't build SA 14.27 14.28 @@ -105,7 +108,7 @@ 14.29 -o $@ \ 14.30 -ldl -ldemangle -lthread -lc 14.31 [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } 14.32 -ifneq ($(OBJCOPY),) 14.33 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 14.34 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) 14.35 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ 14.36 ifeq ($(STRIP_POLICY),all_strip) 14.37 @@ -117,6 +120,11 @@ 14.38 endif 14.39 endif 14.40 [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } 14.41 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 14.42 + $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 14.43 + $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) 14.44 + [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } 14.45 + endif 14.46 endif 14.47 14.48 install_saproc: $(BULDLIBSAPROC) 14.49 @@ -124,6 +132,8 @@ 14.50 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \ 14.51 test -f $(LIBSAPROC_DEBUGINFO) && \ 14.52 cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \ 14.53 + test -f $(LIBSAPROC_DIZ) && \ 14.54 + cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \ 14.55 cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \ 14.56 fi 14.57
15.1 --- a/make/solaris/makefiles/sparcWorks.make Mon Apr 23 11:03:30 2012 -0700 15.2 +++ b/make/solaris/makefiles/sparcWorks.make Tue Apr 24 15:20:40 2012 -0700 15.3 @@ -1,5 +1,5 @@ 15.4 # 15.5 -# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 15.6 +# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 15.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 15.8 # 15.9 # This code is free software; you can redistribute it and/or modify it 15.10 @@ -488,12 +488,12 @@ 15.11 # The -g0 setting allows the C++ frontend to inline, which is a big win. 15.12 # The -xs setting disables 'lazy debug info' which puts everything in 15.13 # the .so instead of requiring the '.o' files. 15.14 -ifneq ($(OBJCOPY),) 15.15 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 15.16 OPT_CFLAGS += -g0 -xs 15.17 endif 15.18 DEBUG_CFLAGS = -g 15.19 FASTDEBUG_CFLAGS = -g0 15.20 -ifneq ($(OBJCOPY),) 15.21 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 15.22 DEBUG_CFLAGS += -xs 15.23 FASTDEBUG_CFLAGS += -xs 15.24 endif
16.1 --- a/make/solaris/makefiles/vm.make Mon Apr 23 11:03:30 2012 -0700 16.2 +++ b/make/solaris/makefiles/vm.make Tue Apr 24 15:20:40 2012 -0700 16.3 @@ -56,7 +56,7 @@ 16.4 INCLUDES += $(Src_Dirs_I:%=-I%) 16.5 16.6 # SYMFLAG is used by {dtrace,jsig,saproc}.make. 16.7 -ifneq ($(OBJCOPY),) 16.8 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 16.9 # always build with debug info when we can create .debuginfo files 16.10 # and disable 'lazy debug info' so the .so has everything. 16.11 SYMFLAG = -g -xs 16.12 @@ -152,7 +152,9 @@ 16.13 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so 16.14 16.15 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo 16.16 +LIBJVM_DIZ = lib$(JVM).diz 16.17 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo 16.18 +LIBJVM_G_DIZ = lib$(JVM)$(G_SUFFIX).diz 16.19 16.20 SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt 16.21 16.22 @@ -283,7 +285,7 @@ 16.23 $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1 16.24 $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G) 16.25 $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1 16.26 -ifneq ($(OBJCOPY),) 16.27 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 16.28 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) 16.29 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ 16.30 ifeq ($(STRIP_POLICY),all_strip) 16.31 @@ -295,6 +297,11 @@ 16.32 endif 16.33 endif 16.34 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 16.35 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 16.36 + $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 16.37 + $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 16.38 + [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); } 16.39 + endif 16.40 endif 16.41 endif # filter -sbfast -xsbfast 16.42 16.43 @@ -302,11 +309,14 @@ 16.44 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) 16.45 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) 16.46 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) 16.47 +DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) 16.48 16.49 install_jvm: $(LIBJVM) 16.50 @echo "Copying $(LIBJVM) to $(DEST_JVM)" 16.51 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ 16.52 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) 16.53 + $(QUIETLY) test -f $(LIBJVM_DIZ) && \ 16.54 + cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ) 16.55 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" 16.56 16.57 #----------------------------------------------------------------------
17.1 --- a/make/windows/build.make Mon Apr 23 11:03:30 2012 -0700 17.2 +++ b/make/windows/build.make Tue Apr 24 15:20:40 2012 -0700 17.3 @@ -1,5 +1,5 @@ 17.4 # 17.5 -# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 17.6 +# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 17.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 17.8 # 17.9 # This code is free software; you can redistribute it and/or modify it 17.10 @@ -302,6 +302,10 @@ 17.11 @ echo MT=$(MT) >> $@ 17.12 @ echo RC=$(RC) >> $@ 17.13 @ sh $(WorkSpace)/make/windows/get_msc_ver.sh >> $@ 17.14 + @ if "$(ENABLE_FULL_DEBUG_SYMBOLS)" NEQ "" echo ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) >> $@ 17.15 + @ if "$(ZIP_DEBUGINFO_FILES)" NEQ "" echo ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) >> $@ 17.16 + @ if "$(RM)" NEQ "" echo RM=$(RM) >> $@ 17.17 + @ if "$(ZIPEXE)" NEQ "" echo ZIPEXE=$(ZIPEXE) >> $@ 17.18 17.19 checks: checkVariant checkWorkSpace checkSA 17.20
18.1 --- a/make/windows/makefiles/compile.make Mon Apr 23 11:03:30 2012 -0700 18.2 +++ b/make/windows/makefiles/compile.make Tue Apr 24 15:20:40 2012 -0700 18.3 @@ -1,5 +1,5 @@ 18.4 # 18.5 -# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 18.6 +# Copyright (c) 1997, 2012, Oracle and/or its affiliates. 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 @@ -54,8 +54,10 @@ 18.11 # These are always used in all compiles 18.12 CXX_FLAGS=/nologo /W3 /WX 18.13 18.14 -# Let's add debug information always too. 18.15 +# Let's add debug information when Full Debug Symbols is enabled 18.16 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 18.17 CXX_FLAGS=$(CXX_FLAGS) /Zi 18.18 +!endif 18.19 18.20 # Based on BUILDARCH we add some flags and select the default compiler name 18.21 !if "$(BUILDARCH)" == "ia64" 18.22 @@ -239,7 +241,10 @@ 18.23 LD_FLAGS= $(LD_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \ 18.24 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ 18.25 uuid.lib Wsock32.lib winmm.lib /nologo /machine:$(MACHINE) /opt:REF \ 18.26 - /opt:ICF,8 /map /debug 18.27 + /opt:ICF,8 18.28 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 18.29 +LD_FLAGS= $(LD_FLAGS) /map /debug 18.30 +!endif 18.31 18.32 18.33 !if $(MSC_VER) >= 1600
19.1 --- a/make/windows/makefiles/debug.make Mon Apr 23 11:03:30 2012 -0700 19.2 +++ b/make/windows/makefiles/debug.make Tue Apr 24 15:20:40 2012 -0700 19.3 @@ -61,6 +61,12 @@ 19.4 # separately. Use ";#2" for .dll and ";#1" for .exe: 19.5 $(MT) /manifest $@.manifest /outputresource:$@;#2 19.6 !endif 19.7 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 19.8 +!if "$(ZIP_DEBUGINFO_FILES)" == "1" 19.9 + $(ZIPEXE) -q $*.diz $*.map $*.pdb 19.10 + $(RM) $*.map $*.pdb 19.11 +!endif 19.12 +!endif 19.13 19.14 !include $(WorkSpace)/make/windows/makefiles/shared.make 19.15 !include $(WorkSpace)/make/windows/makefiles/sa.make
20.1 --- a/make/windows/makefiles/defs.make Mon Apr 23 11:03:30 2012 -0700 20.2 +++ b/make/windows/makefiles/defs.make Tue Apr 24 15:20:40 2012 -0700 20.3 @@ -107,6 +107,50 @@ 20.4 endif 20.5 endif 20.6 20.7 +# Full Debug Symbols has been enabled on Windows since JDK1.4.1 so 20.8 +# there is no need for an "earlier than JDK7 check". 20.9 +# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product 20.10 +# builds is enabled with debug info files ZIP'ed to save space. For 20.11 +# BUILD_FLAVOR != product builds, FDS is always enabled, after all a 20.12 +# debug build without debug info isn't very useful. 20.13 +# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled. 20.14 +# 20.15 +# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be 20.16 +# disabled for a BUILD_FLAVOR == product build. 20.17 +# 20.18 +# Note: Use of a different variable name for the FDS override option 20.19 +# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS 20.20 +# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass 20.21 +# in options via environment variables, use of distinct variables 20.22 +# prevents strange behaviours. For example, in a BUILD_FLAVOR != 20.23 +# product build, the FULL_DEBUG_SYMBOLS environment variable will be 20.24 +# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If 20.25 +# the same variable name is used, then different values can be picked 20.26 +# up by different parts of the build. Just to be clear, we only need 20.27 +# two variable names because the incoming option value can be 20.28 +# overridden in some situations, e.g., a BUILD_FLAVOR != product 20.29 +# build. 20.30 + 20.31 +ifeq ($(BUILD_FLAVOR), product) 20.32 + FULL_DEBUG_SYMBOLS ?= 1 20.33 + ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS) 20.34 +else 20.35 + # debug variants always get Full Debug Symbols (if available) 20.36 + ENABLE_FULL_DEBUG_SYMBOLS = 1 20.37 +endif 20.38 +_JUNK_ := $(shell \ 20.39 + echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)") 20.40 +MAKE_ARGS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) 20.41 + 20.42 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 20.43 + ZIP_DEBUGINFO_FILES ?= 1 20.44 +else 20.45 + ZIP_DEBUGINFO_FILES=0 20.46 +endif 20.47 +MAKE_ARGS += ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) 20.48 +MAKE_ARGS += RM="$(RM)" 20.49 +MAKE_ARGS += ZIPEXE=$(ZIPEXE) 20.50 + 20.51 # On 32 bit windows we build server, client and kernel, on 64 bit just server. 20.52 ifeq ($(JVM_VARIANTS),) 20.53 ifeq ($(ARCH_DATA_MODEL), 32) 20.54 @@ -193,29 +237,53 @@ 20.55 ifeq ($(JVM_VARIANT_SERVER),true) 20.56 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt 20.57 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.$(LIBRARY_SUFFIX) 20.58 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb 20.59 - EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map 20.60 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 20.61 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 20.62 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.diz 20.63 + else 20.64 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb 20.65 + EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map 20.66 + endif 20.67 + endif 20.68 EXPORT_LIST += $(EXPORT_LIB_DIR)/jvm.lib 20.69 endif 20.70 ifeq ($(JVM_VARIANT_CLIENT),true) 20.71 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt 20.72 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.$(LIBRARY_SUFFIX) 20.73 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb 20.74 - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map 20.75 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 20.76 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 20.77 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.diz 20.78 + else 20.79 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb 20.80 + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map 20.81 + endif 20.82 + endif 20.83 endif 20.84 ifeq ($(JVM_VARIANT_KERNEL),true) 20.85 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/Xusage.txt 20.86 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.$(LIBRARY_SUFFIX) 20.87 - EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb 20.88 - EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map 20.89 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 20.90 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 20.91 + EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.diz 20.92 + else 20.93 + EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb 20.94 + EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map 20.95 + endif 20.96 + endif 20.97 endif 20.98 20.99 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar 20.100 20.101 ifeq ($(BUILD_WIN_SA), 1) 20.102 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.$(LIBRARY_SUFFIX) 20.103 - EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb 20.104 - EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map 20.105 + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) 20.106 + ifeq ($(ZIP_DEBUGINFO_FILES),1) 20.107 + EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.diz 20.108 + else 20.109 + EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb 20.110 + EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map 20.111 + endif 20.112 + endif 20.113 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar 20.114 # Must pass this down to nmake. 20.115 MAKE_ARGS += BUILD_WIN_SA=1
21.1 --- a/make/windows/makefiles/fastdebug.make Mon Apr 23 11:03:30 2012 -0700 21.2 +++ b/make/windows/makefiles/fastdebug.make Tue Apr 24 15:20:40 2012 -0700 21.3 @@ -61,6 +61,12 @@ 21.4 # separately. Use ";#2" for .dll and ";#1" for .exe: 21.5 $(MT) /manifest $@.manifest /outputresource:$@;#2 21.6 !endif 21.7 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 21.8 +!if "$(ZIP_DEBUGINFO_FILES)" == "1" 21.9 + $(ZIPEXE) -q $*.diz $*.map $*.pdb 21.10 + $(RM) $*.map $*.pdb 21.11 +!endif 21.12 +!endif 21.13 21.14 !include $(WorkSpace)/make/windows/makefiles/shared.make 21.15 !include $(WorkSpace)/make/windows/makefiles/sa.make
22.1 --- a/make/windows/makefiles/product.make Mon Apr 23 11:03:30 2012 -0700 22.2 +++ b/make/windows/makefiles/product.make Tue Apr 24 15:20:40 2012 -0700 22.3 @@ -72,6 +72,12 @@ 22.4 # separately. Use ";#2" for .dll and ";#1" for .exe: 22.5 $(MT) /manifest $@.manifest /outputresource:$@;#2 22.6 !endif 22.7 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 22.8 +!if "$(ZIP_DEBUGINFO_FILES)" == "1" 22.9 + $(ZIPEXE) -q $*.diz $*.map $*.pdb 22.10 + $(RM) $*.map $*.pdb 22.11 +!endif 22.12 +!endif 22.13 22.14 !include $(WorkSpace)/make/windows/makefiles/shared.make 22.15 !include $(WorkSpace)/make/windows/makefiles/sa.make
23.1 --- a/make/windows/makefiles/sa.make Mon Apr 23 11:03:30 2012 -0700 23.2 +++ b/make/windows/makefiles/sa.make Tue Apr 24 15:20:40 2012 -0700 23.3 @@ -1,5 +1,5 @@ 23.4 # 23.5 -# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 23.6 +# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 23.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 23.8 # 23.9 # This code is free software; you can redistribute it and/or modify it 23.10 @@ -94,13 +94,19 @@ 23.11 SA_LD_FLAGS = bufferoverflowU.lib 23.12 !endif 23.13 !else 23.14 -SA_CFLAGS = /nologo $(MS_RUNTIME_OPTION) /W3 /Gm $(GX_OPTION) /ZI /Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 23.15 +SA_CFLAGS = /nologo $(MS_RUNTIME_OPTION) /W3 /Gm $(GX_OPTION) /Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 23.16 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 23.17 +SA_CFLAGS = $(SA_CFLAGS) /ZI 23.18 +!endif 23.19 !endif 23.20 !if "$(MT)" != "" 23.21 SA_LD_FLAGS = /manifest $(SA_LD_FLAGS) 23.22 !endif 23.23 SASRCFILE = $(AGENT_DIR)/src/os/win32/windbg/sawindbg.cpp 23.24 -SA_LFLAGS = $(SA_LD_FLAGS) /nologo /subsystem:console /map /debug /machine:$(MACHINE) 23.25 +SA_LFLAGS = $(SA_LD_FLAGS) /nologo /subsystem:console /machine:$(MACHINE) 23.26 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 23.27 +SA_LFLAGS = $(SA_LFLAGS) /map /debug 23.28 +!endif 23.29 23.30 # Note that we do not keep sawindbj.obj around as it would then 23.31 # get included in the dumpbin command in build_vm_def.sh 23.32 @@ -114,14 +120,20 @@ 23.33 /I"$(BootStrapDir)/include" /I"$(BootStrapDir)/include/win32" 23.34 /I"$(GENERATED)" $(SA_CFLAGS) 23.35 $(SASRCFILE) 23.36 - /out:sawindbg.obj 23.37 + /out:$*.obj 23.38 << 23.39 set LIB=$(SA_LIB)$(LIB) 23.40 - $(LD) /out:$@ /DLL sawindbg.obj dbgeng.lib $(SA_LFLAGS) 23.41 + $(LD) /out:$@ /DLL $*.obj dbgeng.lib $(SA_LFLAGS) 23.42 !if "$(MT)" != "" 23.43 $(MT) /manifest $(@F).manifest /outputresource:$(@F);#2 23.44 !endif 23.45 - -@rm -f sawindbg.obj 23.46 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" 23.47 +!if "$(ZIP_DEBUGINFO_FILES)" == "1" 23.48 + $(ZIPEXE) -q $*.diz $*.map $*.pdb 23.49 + $(RM) $*.map $*.pdb 23.50 +!endif 23.51 +!endif 23.52 + -@rm -f $*.obj 23.53 23.54 cleanall : 23.55 rm -rf $(GENERATED:\=/)/saclasses