7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris

Fri, 23 Mar 2012 11:50:33 -0700

author
dcubed
date
Fri, 23 Mar 2012 11:50:33 -0700
changeset 3724
d652a62d6e03
parent 3583
3b24e7e01d20
child 3725
744728c16316

7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files.
Reviewed-by: dholmes, ohair, sspitsyn

make/Makefile file | annotate | diff | comparison | revisions
make/linux/Makefile file | annotate | diff | comparison | revisions
make/linux/makefiles/buildtree.make file | annotate | diff | comparison | revisions
make/linux/makefiles/defs.make file | annotate | diff | comparison | revisions
make/linux/makefiles/gcc.make file | annotate | diff | comparison | revisions
make/linux/makefiles/jsig.make file | annotate | diff | comparison | revisions
make/linux/makefiles/saproc.make file | annotate | diff | comparison | revisions
make/linux/makefiles/vm.make file | annotate | diff | comparison | revisions
make/solaris/Makefile file | annotate | diff | comparison | revisions
make/solaris/makefiles/buildtree.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/defs.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/dtrace.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/jsig.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/saproc.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/sparcWorks.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/vm.make file | annotate | diff | comparison | revisions
make/windows/build.make file | annotate | diff | comparison | revisions
make/windows/makefiles/compile.make file | annotate | diff | comparison | revisions
make/windows/makefiles/debug.make file | annotate | diff | comparison | revisions
make/windows/makefiles/defs.make file | annotate | diff | comparison | revisions
make/windows/makefiles/fastdebug.make file | annotate | diff | comparison | revisions
make/windows/makefiles/product.make file | annotate | diff | comparison | revisions
make/windows/makefiles/sa.make file | annotate | diff | comparison | revisions
     1.1 --- a/make/Makefile	Mon Feb 20 22:32:30 2012 -0800
     1.2 +++ b/make/Makefile	Fri Mar 23 11:50:33 2012 -0700
     1.3 @@ -298,6 +298,8 @@
     1.4  	$(install-file)
     1.5  
     1.6  # Other libraries (like SA)
     1.7 +$(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz
     1.8 +	$(install-file)
     1.9  $(EXPORT_JRE_BIN_DIR)/%.dll: $(MISC_DIR)/%.dll
    1.10  	$(install-file)
    1.11  $(EXPORT_JRE_BIN_DIR)/%.pdb: $(MISC_DIR)/%.pdb
    1.12 @@ -306,6 +308,8 @@
    1.13  	$(install-file)
    1.14  
    1.15  # Client files always come from C1 area
    1.16 +$(EXPORT_CLIENT_DIR)/%.diz:  $(C1_DIR)/%.diz
    1.17 +	$(install-file)
    1.18  $(EXPORT_CLIENT_DIR)/%.dll:  $(C1_DIR)/%.dll
    1.19  	$(install-file)
    1.20  $(EXPORT_CLIENT_DIR)/%.pdb:  $(C1_DIR)/%.pdb
    1.21 @@ -314,6 +318,8 @@
    1.22  	$(install-file)
    1.23  
    1.24  # Server files always come from C2 area
    1.25 +$(EXPORT_SERVER_DIR)/%.diz:  $(C2_DIR)/%.diz
    1.26 +	$(install-file)
    1.27  $(EXPORT_SERVER_DIR)/%.dll:  $(C2_DIR)/%.dll
    1.28  	$(install-file)
    1.29  $(EXPORT_SERVER_DIR)/%.pdb:  $(C2_DIR)/%.pdb
    1.30 @@ -322,6 +328,8 @@
    1.31  	$(install-file)
    1.32  
    1.33  # Kernel files always come from kernel area
    1.34 +$(EXPORT_KERNEL_DIR)/%.diz:  $(KERNEL_DIR)/%.diz
    1.35 +	$(install-file)
    1.36  $(EXPORT_KERNEL_DIR)/%.dll:  $(KERNEL_DIR)/%.dll
    1.37  	$(install-file)
    1.38  $(EXPORT_KERNEL_DIR)/%.pdb:  $(KERNEL_DIR)/%.pdb
    1.39 @@ -371,6 +379,20 @@
    1.40  	$(install-file)
    1.41  $(EXPORT_SERVER_DIR)/64/%.debuginfo:    $(C2_DIR)/%.debuginfo
    1.42  	$(install-file)
    1.43 +
    1.44 +# ZIP'ed debug info for shared library
    1.45 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C1_DIR)/%.diz
    1.46 +	$(install-file)
    1.47 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C2_DIR)/%.diz
    1.48 +	$(install-file)
    1.49 +$(EXPORT_CLIENT_DIR)/%.diz:       $(C1_DIR)/%.diz
    1.50 +	$(install-file)
    1.51 +$(EXPORT_CLIENT_DIR)/64/%.diz:    $(C1_DIR)/%.diz
    1.52 +	$(install-file)
    1.53 +$(EXPORT_SERVER_DIR)/%.diz:       $(C2_DIR)/%.diz
    1.54 +	$(install-file)
    1.55 +$(EXPORT_SERVER_DIR)/64/%.diz:    $(C2_DIR)/%.diz
    1.56 +	$(install-file)
    1.57    endif
    1.58  endif
    1.59  
     2.1 --- a/make/linux/Makefile	Mon Feb 20 22:32:30 2012 -0800
     2.2 +++ b/make/linux/Makefile	Fri Mar 23 11:50:33 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  
     3.1 --- a/make/linux/makefiles/buildtree.make	Mon Feb 20 22:32:30 2012 -0800
     3.2 +++ b/make/linux/makefiles/buildtree.make	Fri Mar 23 11:50:33 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 @@ -235,10 +235,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 Feb 20 22:32:30 2012 -0800
     4.2 +++ b/make/linux/makefiles/defs.make	Fri Mar 23 11:50:33 2012 -0700
     4.3 @@ -1,5 +1,5 @@
     4.4  #
     4.5 -# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
     4.6 +# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
     4.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4.8  #
     4.9  # This code is free software; you can redistribute it and/or modify it
    4.10 @@ -129,32 +129,40 @@
    4.11  endif
    4.12  
    4.13  ifeq ($(JDK6_OR_EARLIER),0)
    4.14 -  # Full Debug Symbols is supported on JDK7 or newer
    4.15 +  # Full Debug Symbols is supported on JDK7 or newer.
    4.16 +  # Default is enabled with .debuginfo files ZIP'ed to save space.
    4.17  
    4.18 -  # Default OBJCOPY comes from GNU Binutils on Linux:
    4.19 -  DEF_OBJCOPY=/usr/bin/objcopy
    4.20 -  ifdef CROSS_COMPILE_ARCH
    4.21 -    # don't try to generate .debuginfo files when cross compiling
    4.22 -    _JUNK_ := $(shell \
    4.23 -      echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
    4.24 -        "skipping .debuginfo generation.")
    4.25 +  ENABLE_FULL_DEBUG_SYMBOLS ?= 1
    4.26 +  # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
    4.27 +
    4.28 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
    4.29 +    # Default OBJCOPY comes from GNU Binutils on Linux:
    4.30 +    DEF_OBJCOPY=/usr/bin/objcopy
    4.31 +    ifdef CROSS_COMPILE_ARCH
    4.32 +      # don't try to generate .debuginfo files when cross compiling
    4.33 +      _JUNK_ := $(shell \
    4.34 +        echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
    4.35 +          "skipping .debuginfo generation.")
    4.36 +      OBJCOPY=
    4.37 +    else
    4.38 +      OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
    4.39 +      ifneq ($(ALT_OBJCOPY),)
    4.40 +        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
    4.41 +        OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
    4.42 +      endif
    4.43 +    endif
    4.44 +  else
    4.45      OBJCOPY=
    4.46 -  else
    4.47 -    OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
    4.48 -    ifneq ($(ALT_OBJCOPY),)
    4.49 -      _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
    4.50 -      # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
    4.51 -      OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
    4.52 -    endif
    4.53    endif
    4.54 -  
    4.55 +
    4.56    ifeq ($(OBJCOPY),)
    4.57      _JUNK_ := $(shell \
    4.58        echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
    4.59 +    ENABLE_FULL_DEBUG_SYMBOLS=0
    4.60    else
    4.61      _JUNK_ := $(shell \
    4.62        echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
    4.63 -  
    4.64 +
    4.65      # Library stripping policies for .debuginfo configs:
    4.66      #   all_strip - strips everything from the library
    4.67      #   min_strip - strips most stuff from the library; leaves minimum symbols
    4.68 @@ -163,15 +171,17 @@
    4.69      # Oracle security policy requires "all_strip". A waiver was granted on
    4.70      # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
    4.71      #
    4.72 -    DEF_STRIP_POLICY="min_strip"
    4.73 -    ifeq ($(ALT_STRIP_POLICY),)
    4.74 -      STRIP_POLICY=$(DEF_STRIP_POLICY)
    4.75 -    else
    4.76 -      STRIP_POLICY=$(ALT_STRIP_POLICY)
    4.77 -    endif
    4.78 -  
    4.79 +    # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
    4.80 +    #
    4.81 +    STRIP_POLICY ?= min_strip
    4.82 +
    4.83      _JUNK_ := $(shell \
    4.84        echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
    4.85 +
    4.86 +    ZIP_DEBUGINFO_FILES ?= 1
    4.87 +
    4.88 +    _JUNK_ := $(shell \
    4.89 +      echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
    4.90    endif
    4.91  endif
    4.92  
    4.93 @@ -187,8 +197,12 @@
    4.94  
    4.95  # client and server subdirectories have symbolic links to ../libjsig.so
    4.96  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
    4.97 -ifneq ($(OBJCOPY),)
    4.98 -  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
    4.99 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   4.100 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
   4.101 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
   4.102 +  else
   4.103 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
   4.104 +  endif
   4.105  endif
   4.106  EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
   4.107  EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
   4.108 @@ -196,8 +210,12 @@
   4.109  ifndef BUILD_CLIENT_ONLY
   4.110  EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
   4.111  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
   4.112 -  ifneq ($(OBJCOPY),)
   4.113 -    EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
   4.114 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   4.115 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
   4.116 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
   4.117 +    else
   4.118 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
   4.119 +    endif
   4.120    endif
   4.121  endif
   4.122  
   4.123 @@ -205,8 +223,12 @@
   4.124    ifeq ($(ARCH_DATA_MODEL), 32)
   4.125      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
   4.126      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
   4.127 -    ifneq ($(OBJCOPY),)
   4.128 -      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
   4.129 +    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   4.130 +      ifeq ($(ZIP_DEBUGINFO_FILES),1)
   4.131 +        EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
   4.132 +      else
   4.133 +        EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
   4.134 +      endif
   4.135      endif
   4.136    endif
   4.137  endif
   4.138 @@ -217,9 +239,14 @@
   4.139                          $(EXPORT_LIB_DIR)/sa-jdi.jar 
   4.140  ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
   4.141                          $(EXPORT_LIB_DIR)/sa-jdi.jar 
   4.142 -ifneq ($(OBJCOPY),)
   4.143 -  ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
   4.144 -  ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
   4.145 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   4.146 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
   4.147 +    ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
   4.148 +    ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
   4.149 +  else
   4.150 +    ADD_SA_BINARIES/x86   += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
   4.151 +    ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
   4.152 +  endif
   4.153  endif
   4.154  ADD_SA_BINARIES/ppc   = 
   4.155  ADD_SA_BINARIES/ia64  = 
     5.1 --- a/make/linux/makefiles/gcc.make	Mon Feb 20 22:32:30 2012 -0800
     5.2 +++ b/make/linux/makefiles/gcc.make	Fri Mar 23 11:50:33 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 @@ -224,7 +224,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 Feb 20 22:32:30 2012 -0800
     6.2 +++ b/make/linux/makefiles/jsig.make	Fri Mar 23 11:50:33 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 Feb 20 22:32:30 2012 -0800
     7.2 +++ b/make/linux/makefiles/saproc.make	Fri Mar 23 11:50:33 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 Feb 20 22:32:30 2012 -0800
     8.2 +++ b/make/linux/makefiles/vm.make	Fri Mar 23 11:50:33 2012 -0700
     8.3 @@ -1,5 +1,5 @@
     8.4  #
     8.5 -# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
     8.6 +# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
     8.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     8.8  #
     8.9  # This code is free software; you can redistribute it and/or modify it
    8.10 @@ -61,7 +61,7 @@
    8.11  INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%)
    8.12  
    8.13  # SYMFLAG is used by {jsig,saproc}.make
    8.14 -ifneq ($(OBJCOPY),)
    8.15 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
    8.16    # always build with debug info when we can create .debuginfo files
    8.17    SYMFLAG = -g
    8.18  else
    8.19 @@ -139,7 +139,9 @@
    8.20  LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
    8.21  
    8.22  LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
    8.23 +LIBJVM_DIZ         = lib$(JVM).diz
    8.24  LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
    8.25 +LIBJVM_G_DIZ       = lib$(JVM)$(G_SUFFIX).diz
    8.26  
    8.27  SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
    8.28  
    8.29 @@ -331,7 +333,7 @@
    8.30              fi 								\
    8.31  	}
    8.32  ifeq ($(CROSS_COMPILE_ARCH),)
    8.33 -  ifneq ($(OBJCOPY),)
    8.34 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
    8.35  	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
    8.36  	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
    8.37      ifeq ($(STRIP_POLICY),all_strip)
    8.38 @@ -343,17 +345,25 @@
    8.39        endif
    8.40      endif
    8.41  	$(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
    8.42 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
    8.43 +	$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
    8.44 +	$(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
    8.45 +	[ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); }
    8.46 +    endif
    8.47    endif
    8.48  endif
    8.49  
    8.50  DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
    8.51  DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
    8.52  DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
    8.53 +DEST_JVM_DIZ       = $(DEST_SUBDIR)/$(LIBJVM_DIZ)
    8.54  
    8.55  install_jvm: $(LIBJVM)
    8.56  	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
    8.57  	$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
    8.58  	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
    8.59 +	$(QUIETLY) test -f $(LIBJVM_DIZ) && \
    8.60 +	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
    8.61  	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
    8.62  
    8.63  #----------------------------------------------------------------------
     9.1 --- a/make/solaris/Makefile	Mon Feb 20 22:32:30 2012 -0800
     9.2 +++ b/make/solaris/Makefile	Fri Mar 23 11:50:33 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  
    10.1 --- a/make/solaris/makefiles/buildtree.make	Mon Feb 20 22:32:30 2012 -0800
    10.2 +++ b/make/solaris/makefiles/buildtree.make	Fri Mar 23 11:50:33 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 @@ -228,10 +228,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 Feb 20 22:32:30 2012 -0800
    11.2 +++ b/make/solaris/makefiles/defs.make	Fri Mar 23 11:50:33 2012 -0700
    11.3 @@ -1,5 +1,5 @@
    11.4  #
    11.5 -# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
    11.6 +# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
    11.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    11.8  #
    11.9  # This code is free software; you can redistribute it and/or modify it
   11.10 @@ -74,45 +74,47 @@
   11.11  endif
   11.12  
   11.13  ifeq ($(JDK6_OR_EARLIER),0)
   11.14 -  # Full Debug Symbols is supported on JDK7 or newer
   11.15 +  # Full Debug Symbols is supported on JDK7 or newer.
   11.16 +  # Default is enabled with .debuginfo files ZIP'ed to save space.
   11.17  
   11.18 -ifdef ENABLE_FULL_DEBUG_SYMBOLS
   11.19 -  # Only check for Full Debug Symbols support on Solaris if it is
   11.20 -  # specifically enabled. Hopefully, it can be enabled by default
   11.21 -  # once the .debuginfo size issues are worked out.
   11.22 -  
   11.23 -  # Default OBJCOPY comes from the SUNWbinutils package:
   11.24 -  DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
   11.25 -  ifeq ($(VM_PLATFORM),solaris_amd64)
   11.26 -    # On Solaris AMD64/X64, gobjcopy is not happy and fails:
   11.27 -    #
   11.28 -    # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
   11.29 -    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.30 -    # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
   11.31 -    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.32 -    # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
   11.33 -    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.34 -    # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
   11.35 -    _JUNK_ := $(shell \
   11.36 -      echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
   11.37 +  ENABLE_FULL_DEBUG_SYMBOLS ?= 1
   11.38 +  # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
   11.39 +
   11.40 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   11.41 +    # Default OBJCOPY comes from the SUNWbinutils package:
   11.42 +    DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
   11.43 +    ifeq ($(VM_PLATFORM),solaris_amd64)
   11.44 +      # On Solaris AMD64/X64, gobjcopy is not happy and fails:
   11.45 +      #
   11.46 +      # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
   11.47 +      # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.48 +      # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
   11.49 +      # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.50 +      # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
   11.51 +      # BFD: stKPaiop: Not enough room for program headers, try linking with -N
   11.52 +      # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
   11.53 +      _JUNK_ := $(shell \
   11.54 +        echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
   11.55 +      OBJCOPY=
   11.56 +    else
   11.57 +      OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
   11.58 +      ifneq ($(ALT_OBJCOPY),)
   11.59 +        _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
   11.60 +        OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
   11.61 +      endif
   11.62 +    endif
   11.63 +  else
   11.64      OBJCOPY=
   11.65 -  else
   11.66 -    OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
   11.67 -    ifneq ($(ALT_OBJCOPY),)
   11.68 -      _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
   11.69 -      # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
   11.70 -      OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
   11.71 -    endif
   11.72    endif
   11.73 -endif
   11.74 -  
   11.75 +
   11.76    ifeq ($(OBJCOPY),)
   11.77      _JUNK_ := $(shell \
   11.78        echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
   11.79 +    ENABLE_FULL_DEBUG_SYMBOLS=0
   11.80    else
   11.81      _JUNK_ := $(shell \
   11.82        echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
   11.83 -  
   11.84 +
   11.85      # Library stripping policies for .debuginfo configs:
   11.86      #   all_strip - strips everything from the library
   11.87      #   min_strip - strips most stuff from the library; leaves minimum symbols
   11.88 @@ -121,14 +123,17 @@
   11.89      # Oracle security policy requires "all_strip". A waiver was granted on
   11.90      # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
   11.91      #
   11.92 -    DEF_STRIP_POLICY="min_strip"
   11.93 -    ifeq ($(ALT_STRIP_POLICY),)
   11.94 -      STRIP_POLICY=$(DEF_STRIP_POLICY)
   11.95 -    else
   11.96 -      STRIP_POLICY=$(ALT_STRIP_POLICY)
   11.97 -    endif
   11.98 +    # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
   11.99 +    #
  11.100 +    STRIP_POLICY ?= min_strip
  11.101 +
  11.102      _JUNK_ := $(shell \
  11.103        echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
  11.104 +
  11.105 +    ZIP_DEBUGINFO_FILES ?= 1
  11.106 +
  11.107 +    _JUNK_ := $(shell \
  11.108 +      echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
  11.109    endif
  11.110  endif
  11.111  
  11.112 @@ -144,8 +149,12 @@
  11.113  
  11.114  # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX)
  11.115  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
  11.116 -ifneq ($(OBJCOPY),)
  11.117 -  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
  11.118 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  11.119 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
  11.120 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
  11.121 +  else
  11.122 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
  11.123 +  endif
  11.124  endif
  11.125  
  11.126  EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
  11.127 @@ -156,10 +165,16 @@
  11.128  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
  11.129  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
  11.130  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
  11.131 -  ifneq ($(OBJCOPY),)
  11.132 -    EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
  11.133 -    EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
  11.134 -    EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
  11.135 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  11.136 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  11.137 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
  11.138 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz
  11.139 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz
  11.140 +    else
  11.141 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
  11.142 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
  11.143 +      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
  11.144 +    endif
  11.145    endif
  11.146  endif
  11.147  ifeq ($(ARCH_DATA_MODEL), 32)
  11.148 @@ -169,25 +184,42 @@
  11.149    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
  11.150    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
  11.151    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
  11.152 -  ifneq ($(OBJCOPY),)
  11.153 -    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
  11.154 -    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
  11.155 -    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
  11.156 -    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
  11.157 -    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
  11.158 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  11.159 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
  11.160 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
  11.161 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz
  11.162 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz
  11.163 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz
  11.164 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz
  11.165 +    else
  11.166 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
  11.167 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
  11.168 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
  11.169 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
  11.170 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
  11.171 +    endif
  11.172    endif
  11.173    ifneq ($(BUILD_CLIENT_ONLY), true)
  11.174      EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
  11.175      EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
  11.176 -    ifneq ($(OBJCOPY),)
  11.177 -      EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
  11.178 -      EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
  11.179 +    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  11.180 +      ifeq ($(ZIP_DEBUGINFO_FILES),1)
  11.181 +        EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.diz
  11.182 +        EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.diz
  11.183 +      else
  11.184 +        EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
  11.185 +        EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
  11.186 +      endif
  11.187      endif
  11.188    endif
  11.189  endif
  11.190  
  11.191  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX)
  11.192 -ifneq ($(OBJCOPY),)
  11.193 -  EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
  11.194 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
  11.195 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
  11.196 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
  11.197 +  else
  11.198 +    EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
  11.199 +  endif
  11.200  endif
  11.201  EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar 
    12.1 --- a/make/solaris/makefiles/dtrace.make	Mon Feb 20 22:32:30 2012 -0800
    12.2 +++ b/make/solaris/makefiles/dtrace.make	Fri Mar 23 11:50:33 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 Feb 20 22:32:30 2012 -0800
    13.2 +++ b/make/solaris/makefiles/jsig.make	Fri Mar 23 11:50:33 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 Feb 20 22:32:30 2012 -0800
    14.2 +++ b/make/solaris/makefiles/saproc.make	Fri Mar 23 11:50:33 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 Feb 20 22:32:30 2012 -0800
    15.2 +++ b/make/solaris/makefiles/sparcWorks.make	Fri Mar 23 11:50:33 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 @@ -484,12 +484,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 Feb 20 22:32:30 2012 -0800
    16.2 +++ b/make/solaris/makefiles/vm.make	Fri Mar 23 11:50:33 2012 -0700
    16.3 @@ -1,5 +1,5 @@
    16.4  #
    16.5 -# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
    16.6 +# Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
    16.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    16.8  #
    16.9  # This code is free software; you can redistribute it and/or modify it
   16.10 @@ -56,7 +56,7 @@
   16.11  INCLUDES += $(Src_Dirs_I:%=-I%)
   16.12  
   16.13  # SYMFLAG is used by {dtrace,jsig,saproc}.make.
   16.14 -ifneq ($(OBJCOPY),)
   16.15 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   16.16    # always build with debug info when we can create .debuginfo files
   16.17    # and disable 'lazy debug info' so the .so has everything.
   16.18    SYMFLAG = -g -xs
   16.19 @@ -152,7 +152,9 @@
   16.20  LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
   16.21  
   16.22  LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
   16.23 +LIBJVM_DIZ         = lib$(JVM).diz
   16.24  LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
   16.25 +LIBJVM_G_DIZ       = lib$(JVM)$(G_SUFFIX).diz
   16.26  
   16.27  SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
   16.28  
   16.29 @@ -283,7 +285,7 @@
   16.30  	$(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
   16.31  	$(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
   16.32  	$(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
   16.33 -ifneq ($(OBJCOPY),)
   16.34 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   16.35  	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
   16.36  	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
   16.37    ifeq ($(STRIP_POLICY),all_strip)
   16.38 @@ -295,6 +297,11 @@
   16.39      endif
   16.40    endif
   16.41  	$(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
   16.42 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
   16.43 +	$(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
   16.44 +	$(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
   16.45 +	[ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); }
   16.46 +  endif
   16.47  endif
   16.48  endif # filter -sbfast -xsbfast
   16.49  
   16.50 @@ -302,11 +309,14 @@
   16.51  DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
   16.52  DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
   16.53  DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
   16.54 +DEST_JVM_DIZ       = $(DEST_SUBDIR)/$(LIBJVM_DIZ)
   16.55  
   16.56  install_jvm: $(LIBJVM)
   16.57  	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
   16.58  	$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
   16.59  	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
   16.60 +	$(QUIETLY) test -f $(LIBJVM_DIZ) && \
   16.61 +	    cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
   16.62  	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
   16.63  
   16.64  #----------------------------------------------------------------------
    17.1 --- a/make/windows/build.make	Mon Feb 20 22:32:30 2012 -0800
    17.2 +++ b/make/windows/build.make	Fri Mar 23 11:50:33 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 @@ -298,6 +298,10 @@
   17.11  	@ echo Platform_arch=$(Platform_arch)        		>> $@
   17.12  	@ echo Platform_arch_model=$(Platform_arch_model)	>> $@
   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 Feb 20 22:32:30 2012 -0800
    18.2 +++ b/make/windows/makefiles/compile.make	Fri Mar 23 11:50:33 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 @@ -52,8 +52,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 @@ -229,7 +231,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 Feb 20 22:32:30 2012 -0800
    19.2 +++ b/make/windows/makefiles/debug.make	Fri Mar 23 11:50:33 2012 -0700
    19.3 @@ -1,5 +1,5 @@
    19.4  #
    19.5 -# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
    19.6 +# Copyright (c) 1997, 2012, Oracle and/or its affiliates. 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 @@ -61,6 +61,12 @@
   19.11  # separately.  Use ";#2" for .dll and ";#1" for .exe:
   19.12  	$(MT) /manifest $@.manifest /outputresource:$@;#2
   19.13  !endif
   19.14 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
   19.15 +!if "$(ZIP_DEBUGINFO_FILES)" == "1"
   19.16 +	$(ZIPEXE) -q $*.diz $*.map $*.pdb
   19.17 +	$(RM) $*.map $*.pdb
   19.18 +!endif
   19.19 +!endif
   19.20  
   19.21  !include $(WorkSpace)/make/windows/makefiles/shared.make
   19.22  !include $(WorkSpace)/make/windows/makefiles/sa.make
    20.1 --- a/make/windows/makefiles/defs.make	Mon Feb 20 22:32:30 2012 -0800
    20.2 +++ b/make/windows/makefiles/defs.make	Fri Mar 23 11:50:33 2012 -0700
    20.3 @@ -1,5 +1,5 @@
    20.4  #
    20.5 -# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
    20.6 +# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
    20.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    20.8  #
    20.9  # This code is free software; you can redistribute it and/or modify it
   20.10 @@ -107,6 +107,22 @@
   20.11    endif
   20.12  endif
   20.13  
   20.14 +# Full Debug Symbols has been enabled on Windows since JDK1.4.1 so
   20.15 +# there is no need for an "earlier than JDK7 check".
   20.16 +# Default is enabled with debug info files ZIP'ed to save space.
   20.17 +
   20.18 +ENABLE_FULL_DEBUG_SYMBOLS ?= 1
   20.19 +MAKE_ARGS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)
   20.20 +
   20.21 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   20.22 +  ZIP_DEBUGINFO_FILES ?= 1
   20.23 +else
   20.24 +  ZIP_DEBUGINFO_FILES=0
   20.25 +endif
   20.26 +MAKE_ARGS += ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)
   20.27 +MAKE_ARGS += RM="$(RM)"
   20.28 +MAKE_ARGS += ZIPEXE=$(ZIPEXE)
   20.29 +
   20.30  JDK_INCLUDE_SUBDIR=win32
   20.31  
   20.32  # Library suffix
   20.33 @@ -179,25 +195,49 @@
   20.34  
   20.35  EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
   20.36  EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.$(LIBRARY_SUFFIX)
   20.37 -EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb
   20.38 -EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map
   20.39 +ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   20.40 +  ifeq ($(ZIP_DEBUGINFO_FILES),1)
   20.41 +    EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.diz
   20.42 +  else
   20.43 +    EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb
   20.44 +    EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map
   20.45 +  endif
   20.46 +endif
   20.47  EXPORT_LIST += $(EXPORT_LIB_DIR)/jvm.lib
   20.48  ifeq ($(ARCH_DATA_MODEL), 32)
   20.49    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
   20.50    EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.$(LIBRARY_SUFFIX)
   20.51 -  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb
   20.52 -  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map
   20.53 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   20.54 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
   20.55 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.diz
   20.56 +    else
   20.57 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb
   20.58 +      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map
   20.59 +    endif
   20.60 +  endif
   20.61    # kernel vm
   20.62    EXPORT_LIST += $(EXPORT_KERNEL_DIR)/Xusage.txt
   20.63    EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.$(LIBRARY_SUFFIX)
   20.64 -  EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb
   20.65 -  EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map
   20.66 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   20.67 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
   20.68 +      EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.diz
   20.69 +    else
   20.70 +      EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb
   20.71 +      EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map
   20.72 +    endif
   20.73 +  endif
   20.74  endif
   20.75  
   20.76  ifeq ($(BUILD_WIN_SA), 1)
   20.77    EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.$(LIBRARY_SUFFIX)
   20.78 -  EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb
   20.79 -  EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map
   20.80 +  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   20.81 +    ifeq ($(ZIP_DEBUGINFO_FILES),1)
   20.82 +      EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.diz
   20.83 +    else
   20.84 +      EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb
   20.85 +      EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map
   20.86 +    endif
   20.87 +  endif
   20.88    EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
   20.89    # Must pass this down to nmake.
   20.90    MAKE_ARGS += BUILD_WIN_SA=1
    21.1 --- a/make/windows/makefiles/fastdebug.make	Mon Feb 20 22:32:30 2012 -0800
    21.2 +++ b/make/windows/makefiles/fastdebug.make	Fri Mar 23 11:50:33 2012 -0700
    21.3 @@ -1,5 +1,5 @@
    21.4  #
    21.5 -# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
    21.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -61,6 +61,12 @@
   21.11  # separately.  Use ";#2" for .dll and ";#1" for .exe:
   21.12  	$(MT) /manifest $@.manifest /outputresource:$@;#2
   21.13  !endif
   21.14 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
   21.15 +!if "$(ZIP_DEBUGINFO_FILES)" == "1"
   21.16 +	$(ZIPEXE) -q $*.diz $*.map $*.pdb
   21.17 +	$(RM) $*.map $*.pdb
   21.18 +!endif
   21.19 +!endif
   21.20  
   21.21  !include $(WorkSpace)/make/windows/makefiles/shared.make
   21.22  !include $(WorkSpace)/make/windows/makefiles/sa.make
    22.1 --- a/make/windows/makefiles/product.make	Mon Feb 20 22:32:30 2012 -0800
    22.2 +++ b/make/windows/makefiles/product.make	Fri Mar 23 11:50:33 2012 -0700
    22.3 @@ -1,5 +1,5 @@
    22.4  #
    22.5 -# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
    22.6 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -72,6 +72,12 @@
   22.11  # separately.  Use ";#2" for .dll and ";#1" for .exe:
   22.12  	$(MT) /manifest $@.manifest /outputresource:$@;#2
   22.13  !endif
   22.14 +!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
   22.15 +!if "$(ZIP_DEBUGINFO_FILES)" == "1"
   22.16 +	$(ZIPEXE) -q $*.diz $*.map $*.pdb
   22.17 +	$(RM) $*.map $*.pdb
   22.18 +!endif
   22.19 +!endif
   22.20  
   22.21  !include $(WorkSpace)/make/windows/makefiles/shared.make
   22.22  !include $(WorkSpace)/make/windows/makefiles/sa.make
    23.1 --- a/make/windows/makefiles/sa.make	Mon Feb 20 22:32:30 2012 -0800
    23.2 +++ b/make/windows/makefiles/sa.make	Fri Mar 23 11:50:33 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

mercurial