提交 814d2ffe 编写于 作者: D dcubed

7136506: FDS: rework jdk repo Full Debug Symbols support

Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Preserve symlinks in zip archives.
Reviewed-by: dholmes, ohair
上级 f7f3d351
# #
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -73,55 +73,60 @@ SCRIPT_SUFFIX = ...@@ -73,55 +73,60 @@ SCRIPT_SUFFIX =
# CC compiler object code output directive flag value # CC compiler object code output directive flag value
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required! CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
# Default OBJCOPY comes from GNU Binutils on Linux: ENABLE_FULL_DEBUG_SYMBOLS ?= 1
DEF_OBJCOPY=/usr/bin/objcopy # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
ifdef CROSS_COMPILE_ARCH
# don't try to generate .debuginfo files when cross compiling ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
_JUNK_ := $(shell \ # Default OBJCOPY comes from GNU Binutils on Linux:
echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \ DEF_OBJCOPY=/usr/bin/objcopy
"skipping .debuginfo generation.") ifdef CROSS_COMPILE_ARCH
OBJCOPY= # don't try to generate .debuginfo files when cross compiling
else _JUNK_ := $(shell \
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
ifneq ($(ALT_OBJCOPY),) "skipping .debuginfo generation.")
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") OBJCOPY=
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path else
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
ifneq ($(ALT_OBJCOPY),)
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
endif
endif endif
endif
ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
# The setting of OBJCOPY above enables the JDK build to import # JDK build to import .debuginfo or .diz files from the HotSpot build.
# .debuginfo files from the HotSpot build. However, adding FDS # However, adding FDS support to the JDK build will occur in phases
# support to the JDK build will occur in phases so a different # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS)
# make variable is used to indicate that a particular library # is used to indicate that a particular library supports FDS.
# supports FDS.
ifeq ($(OBJCOPY),) ifeq ($(OBJCOPY),)
_JUNK_ := $(shell \ _JUNK_ := $(shell \
echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
else ENABLE_FULL_DEBUG_SYMBOLS=0
_JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY="min_strip"
ifeq ($(ALT_STRIP_POLICY),)
STRIP_POLICY=$(DEF_STRIP_POLICY)
else else
STRIP_POLICY=$(ALT_STRIP_POLICY) _JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
STRIP_POLICY ?= min_strip
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
ZIP_DEBUGINFO_FILES ?= 1
_JUNK_ := $(shell \
echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
endif endif
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
endif
endif endif
# #
...@@ -412,6 +417,7 @@ JA_TARGET_ENCODINGS = UTF-8 ...@@ -412,6 +417,7 @@ JA_TARGET_ENCODINGS = UTF-8
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH) HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX) SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
# The JDI - Serviceability Agent binding is not currently supported # The JDI - Serviceability Agent binding is not currently supported
# on Linux-ia64. # on Linux-ia64.
......
# #
# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -73,67 +73,68 @@ SCRIPT_SUFFIX = ...@@ -73,67 +73,68 @@ SCRIPT_SUFFIX =
# CC compiler object code output directive flag value # CC compiler object code output directive flag value
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required! CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
ifdef ENABLE_FULL_DEBUG_SYMBOLS ENABLE_FULL_DEBUG_SYMBOLS ?= 1
# Only check for Full Debug Symbols support on Solaris if it is # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
# specifically enabled. Hopefully, it can be enabled by default
# once the .debuginfo size issues are worked out. ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# Default OBJCOPY comes from the SUNWbinutils package:
# Default OBJCOPY comes from the SUNWbinutils package: DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
DEF_OBJCOPY=/usr/sfw/bin/gobjcopy ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64) # On Solaris AMD64/X64, gobjcopy is not happy and fails:
# On Solaris AMD64/X64, gobjcopy is not happy and fails: #
# # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
# usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so # BFD: stKPaiop: Not enough room for program headers, try linking with -N
# BFD: stKPaiop: Not enough room for program headers, try linking with -N # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value # BFD: stKPaiop: Not enough room for program headers, try linking with -N
# BFD: stKPaiop: Not enough room for program headers, try linking with -N # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
# /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value # BFD: stKPaiop: Not enough room for program headers, try linking with -N
# BFD: stKPaiop: Not enough room for program headers, try linking with -N # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value _JUNK_ := $(shell \
_JUNK_ := $(shell \ echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") OBJCOPY=
OBJCOPY= else
else OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) ifneq ($(ALT_OBJCOPY),)
ifneq ($(ALT_OBJCOPY),) _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) endif
endif endif
endif
ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
# The setting of OBJCOPY above enables the JDK build to import # JDK build to import .debuginfo or .diz files from the HotSpot build.
# .debuginfo files from the HotSpot build. However, adding FDS # However, adding FDS support to the JDK build will occur in phases
# support to the JDK build will occur in phases so a different # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS)
# make variable is used to indicate that a particular library # is used to indicate that a particular library supports FDS.
# supports FDS.
ifeq ($(OBJCOPY),) ifeq ($(OBJCOPY),)
_JUNK_ := $(shell \ _JUNK_ := $(shell \
echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
else ENABLE_FULL_DEBUG_SYMBOLS=0
_JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY="min_strip"
ifeq ($(ALT_STRIP_POLICY),)
STRIP_POLICY=$(DEF_STRIP_POLICY)
else else
STRIP_POLICY=$(ALT_STRIP_POLICY) _JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
#
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
STRIP_POLICY ?= min_strip
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
ZIP_DEBUGINFO_FILES ?= 1
_JUNK_ := $(shell \
echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
endif endif
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
endif
endif
endif endif
# #
...@@ -753,5 +754,6 @@ JA_TARGET_ENCODINGS = eucJP UTF-8 PCK ...@@ -753,5 +754,6 @@ JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH) HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX) SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
INCLUDE_SA=true INCLUDE_SA=true
# #
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -75,6 +75,17 @@ endif ...@@ -75,6 +75,17 @@ endif
EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH) EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
# Full Debug Symbols has been enabled on Windows since JDK1.4.1.
# Default is enabled with debug info files ZIP'ed to save space.
ENABLE_FULL_DEBUG_SYMBOLS ?= 1
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ZIP_DEBUGINFO_FILES ?= 1
else
ZIP_DEBUGINFO_FILES=0
endif
# C Compiler flag definitions # C Compiler flag definitions
# #
...@@ -201,7 +212,10 @@ ifeq ($(CC_VERSION),msvc) ...@@ -201,7 +212,10 @@ ifeq ($(CC_VERSION),msvc)
# /D _STATIC_CPPLIB # /D _STATIC_CPPLIB
# Use static link for the C++ runtime (so msvcpnn.dll not needed) # Use static link for the C++ runtime (so msvcpnn.dll not needed)
# #
CFLAGS_COMMON += -Zi -nologo ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
CFLAGS_COMMON += -Zi
endif
CFLAGS_COMMON += -nologo
CFLAGS_OPT = $(CC_OPT) CFLAGS_OPT = $(CC_OPT)
CFLAGS_DBG = -Od $(MS_RUNTIME_DEBUG_OPTION) CFLAGS_DBG = -Od $(MS_RUNTIME_DEBUG_OPTION)
...@@ -305,6 +319,7 @@ HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/bin ...@@ -305,6 +319,7 @@ HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/bin
SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX) SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
SAMAP_NAME = $(LIB_PREFIX)sawindbg.map SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
SA_DIZ_NAME = $(LIB_PREFIX)sawindbg.diz
ifeq ($(ARCH), ia64) ifeq ($(ARCH), ia64)
# SA will never be supported here. # SA will never be supported here.
......
# #
# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -1037,11 +1037,22 @@ ifeq ($(PLATFORM), windows) ...@@ -1037,11 +1037,22 @@ ifeq ($(PLATFORM), windows)
" and/or check your value of ALT_HOTSPOT_LIB_PATH. \n" \ " and/or check your value of ALT_HOTSPOT_LIB_PATH. \n" \
"" >> $(ERROR_FILE) ; \ "" >> $(ERROR_FILE) ; \
fi fi
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
@# @#
@# Check for the .map files - its OK if they are not there.. @# Check for the .map files - its OK if they are not there..
@# @#
ifeq ($(ARCH_DATA_MODEL), 32) ifeq ($(ARCH_DATA_MODEL), 32)
@# There is no 64-bit HotSpot client VM @# There is no 64-bit HotSpot client VM
ifeq ($(ZIP_DEBUGINFO_FILES),1)
@if [ ! -r $(HOTSPOT_CLIENT_PATH)/jvm.diz ]; then \
$(ECHO) "WARNING: HOTSPOT_CLIENT_PATH does not point to valid HotSpot .diz files. \n" \
" These files are optional and aid in the debugging of the JVM. \n" \
" Please check your access to \n" \
" $(HOTSPOT_CLIENT_PATH)/jvm.diz \n" \
" and/or check your value of ALT_HOTSPOT_CLIENT_PATH. \n" \
"" >> $(WARNING_FILE) ; \
fi
else
@if [ ! -r $(HOTSPOT_CLIENT_PATH)/jvm.map ]; then \ @if [ ! -r $(HOTSPOT_CLIENT_PATH)/jvm.map ]; then \
$(ECHO) "WARNING: HOTSPOT_CLIENT_PATH does not point to valid HotSpot .map files. \n" \ $(ECHO) "WARNING: HOTSPOT_CLIENT_PATH does not point to valid HotSpot .map files. \n" \
" These files are optional and aid in the debugging of the JVM. \n" \ " These files are optional and aid in the debugging of the JVM. \n" \
...@@ -1058,7 +1069,18 @@ ifeq ($(PLATFORM), windows) ...@@ -1058,7 +1069,18 @@ ifeq ($(PLATFORM), windows)
" and/or check your value of ALT_HOTSPOT_CLIENT_PATH. \n" \ " and/or check your value of ALT_HOTSPOT_CLIENT_PATH. \n" \
"" >> $(WARNING_FILE) ; \ "" >> $(WARNING_FILE) ; \
fi fi
endif endif
endif
ifeq ($(ZIP_DEBUGINFO_FILES),1)
@if [ ! -r $(HOTSPOT_SERVER_PATH)/jvm.diz ]; then \
$(ECHO) "WARNING: HOTSPOT_SERVER_PATH does not point to valid HotSpot .diz files. \n" \
" These files are optional and aid in the debugging of the JVM. \n" \
" Please check your access to \n" \
" $(HOTSPOT_SERVER_PATH)/jvm.diz \n" \
" and/or check your value of ALT_HOTSPOT_SERVER_PATH. \n" \
"" >> $(WARNING_FILE) ; \
fi
else
@if [ ! -r $(HOTSPOT_SERVER_PATH)/jvm.map ]; then \ @if [ ! -r $(HOTSPOT_SERVER_PATH)/jvm.map ]; then \
$(ECHO) "WARNING: HOTSPOT_SERVER_PATH does not point to valid HotSpot .map files. \n" \ $(ECHO) "WARNING: HOTSPOT_SERVER_PATH does not point to valid HotSpot .map files. \n" \
" These files are optional and aid in the debugging of the JVM. \n" \ " These files are optional and aid in the debugging of the JVM. \n" \
...@@ -1075,6 +1097,8 @@ ifeq ($(PLATFORM), windows) ...@@ -1075,6 +1097,8 @@ ifeq ($(PLATFORM), windows)
" and/or check your value of ALT_HOTSPOT_SERVER_PATH. \n" \ " and/or check your value of ALT_HOTSPOT_SERVER_PATH. \n" \
"" >> $(WARNING_FILE) ; \ "" >> $(WARNING_FILE) ; \
fi fi
endif
endif
endif endif
......
此差异已折叠。
# #
# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -54,14 +54,26 @@ IMPORT_LIST = ...@@ -54,14 +54,26 @@ IMPORT_LIST =
ifeq ($(INCLUDE_SA), true) ifeq ($(INCLUDE_SA), true)
IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \ IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
$(LIB_LOCATION)/$(SALIB_NAME) $(LIB_LOCATION)/$(SALIB_NAME)
ifeq ($(PLATFORM), windows) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \ ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(LIB_LOCATION)/$(SAPDB_NAME) # the import JDK may not contain .diz files
endif ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DIZ_NAME)),)
ifneq ($(OBJCOPY),) IMPORT_LIST += $(LIB_LOCATION)/$(SA_DIZ_NAME)
# the import JDK may not contain .debuginfo files endif
ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),) else
IMPORT_LIST += $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME) ifeq ($(PLATFORM), windows)
# the import JDK may not contain .pdb files
ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SAPDB_NAME)),)
# assume .map file is present if .pdb is present
IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
$(LIB_LOCATION)/$(SAPDB_NAME)
endif
else
# the import JDK may not contain .debuginfo files
ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),)
IMPORT_LIST += $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME)
endif
endif
endif endif
endif endif
endif # INCLUDE_SA endif # INCLUDE_SA
...@@ -80,17 +92,22 @@ $(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ...@@ -80,17 +92,22 @@ $(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME) $(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
$(install-import-file) $(install-import-file)
ifeq ($(PLATFORM), windows) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(LIB_LOCATION)/$(SA_DIZ_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DIZ_NAME)
$(install-import-file)
else
ifeq ($(PLATFORM), windows)
$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME) $(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
$(install-import-file) $(install-import-file)
$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME) $(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
$(install-import-file) $(install-import-file)
endif # windows else
ifneq ($(OBJCOPY),)
$(LIB_LOCATION)/$(SA_DEBUGINFO_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME) $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME)
$(install-import-file) $(install-import-file)
endif
endif
endif endif
endif # INCLUDE_SA endif # INCLUDE_SA
......
# #
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -27,17 +27,24 @@ ...@@ -27,17 +27,24 @@
JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
ifeq ($(PLATFORM),windows)
ZIPFLAGS=-q
else
# store symbolic links as the link
ZIPFLAGS=-q -y
endif
jprt_build_product: all images jprt_build_product: all images
( $(CD) $(OUTPUTDIR)/j2sdk-image && \ ( $(CD) $(OUTPUTDIR)/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . ) $(ZIPEXE) $(ZIPFLAGS) -r $(JPRT_ARCHIVE_BUNDLE) . )
jprt_build_fastdebug: fastdebug images jprt_build_fastdebug: fastdebug images
( $(CD) $(OUTPUTDIR)/j2sdk-image && \ ( $(CD) $(OUTPUTDIR)/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . ) $(ZIPEXE) $(ZIPFLAGS) -r $(JPRT_ARCHIVE_BUNDLE) . )
jprt_build_debug: debug images jprt_build_debug: debug images
( $(CD) $(OUTPUTDIR)/j2sdk-image && \ ( $(CD) $(OUTPUTDIR)/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . ) $(ZIPEXE) $(ZIPFLAGS) -r $(JPRT_ARCHIVE_BUNDLE) . )
# #
# Phonies to avoid accidents. # Phonies to avoid accidents.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册