--- a/common/autoconf/flags.m4 Tue Jan 19 15:17:21 2016 -0800
+++ b/common/autoconf/flags.m4 Wed Jan 20 09:53:52 2016 +0100
@@ -403,7 +403,7 @@
CXXFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
CFLAGS_DEBUG_SYMBOLS="-g -xs"
- # FIXME: likely a bug, this disables debug symbols rather than enables them
+ # -g0 enables debug symbols without disabling inlining.
CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g"
--- a/common/autoconf/generated-configure.sh Tue Jan 19 15:17:21 2016 -0800
+++ b/common/autoconf/generated-configure.sh Wed Jan 20 09:53:52 2016 +0100
@@ -688,11 +688,11 @@
FIXPATH_DETACH_FLAG
FIXPATH
GCOV_ENABLED
-ZIP_DEBUGINFO_FILES
-ENABLE_DEBUG_SYMBOLS
STRIP_POLICY
DEBUG_BINARIES
-NATIVE_DEBUG_SYMBOLS
+ZIP_EXTERNAL_DEBUG_SYMBOLS
+COPY_DEBUG_SYMBOLS
+COMPILE_WITH_DEBUG_SYMBOLS
CFLAGS_WARNINGS_ARE_ERRORS
DISABLE_WARNING_PREFIX
HOTSPOT_SET_WARNINGS_AS_ERRORS
@@ -4119,6 +4119,16 @@
+ # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
+ # will basically do slowdebug builds when DEBUG_BINARIES is set for
+ # fastdebug builds
+ DEBUG_BINARIES=false
+ # Fastdebug builds with this setting will essentially be slowdebug
+ # in hotspot.
+ # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
+ # will basically do slowdebug builds when DEBUG_BINARIES is set for
+ # fastdebug builds
+ DEBUG_BINARIES=false
#
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -4839,7 +4849,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1452935762
+DATE_WHEN_GENERATED=1453279620
###############################################################################
#
@@ -47031,7 +47041,7 @@
CXXFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
CFLAGS_DEBUG_SYMBOLS="-g -xs"
- # FIXME: likely a bug, this disables debug symbols rather than enables them
+ # -g0 enables debug symbols without disabling inlining.
CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g"
@@ -48271,26 +48281,31 @@
fi
fi
- ENABLE_DEBUG_SYMBOLS=true
- ZIP_DEBUGINFO_FILES=true
- # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
- # will basically do slowdebug builds when DEBUG_BINARIES is set for
- # fastdebug builds
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=true
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=true
+
+ # Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true
DEBUG_BINARIES=false
STRIP_POLICY=min_strip
+
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
- ENABLE_DEBUG_SYMBOLS=false
- ZIP_DEBUGINFO_FILES=false
+ COMPILE_WITH_DEBUG_SYMBOLS=false
+ COPY_DEBUG_SYMBOLS=false
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
DEBUG_BINARIES=false
STRIP_POLICY=no_strip
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
- ENABLE_DEBUG_SYMBOLS=false # -g option only
- ZIP_DEBUGINFO_FILES=false
- # Fastdebug builds with this setting will essentially be slowdebug
- # in hotspot.
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=false
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
+ # Hotspot legacy support, will turn on -g when COPY_DEBUG_SYMBOLS=false
DEBUG_BINARIES=true
STRIP_POLICY=no_strip
STRIP=""
+
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
@@ -48301,11 +48316,11 @@
fi
fi
- ENABLE_DEBUG_SYMBOLS=true
- ZIP_DEBUGINFO_FILES=false
- # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
- # will basically do slowdebug builds when DEBUG_BINARIES is set for
- # fastdebug builds
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=true
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
+ # Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true
DEBUG_BINARIES=false
STRIP_POLICY=min_strip
else
@@ -48356,6 +48371,8 @@
+ # Legacy values
+
--- a/common/autoconf/hotspot-spec.gmk.in Tue Jan 19 15:17:21 2016 -0800
+++ b/common/autoconf/hotspot-spec.gmk.in Wed Jan 20 09:53:52 2016 +0100
@@ -118,7 +118,7 @@
# Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
# creation.
-ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
+ifeq ($(COPY_DEBUG_SYMBOLS), true)
FULL_DEBUG_SYMBOLS=1
# Ensure hotspot uses the objcopy that configure located
ALT_OBJCOPY:=$(OBJCOPY)
@@ -127,12 +127,15 @@
endif
# Hotspot expects the variable ZIP_DEBUGINFO_FILES=1/0 and not true/false.
-ifeq ($(ZIP_DEBUGINFO_FILES)$(ENABLE_DEBUG_SYMBOLS), truetrue)
+ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
ZIP_DEBUGINFO_FILES:=1
else
ZIP_DEBUGINFO_FILES:=0
endif
+DEBUG_BINARIES := @DEBUG_BINARIES@
+STRIP_POLICY := @STRIP_POLICY@
+
ifeq ($(OPENJDK_TARGET_OS), windows)
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
# environment variables (in Windows path style).
--- a/common/autoconf/jdk-options.m4 Tue Jan 19 15:17:21 2016 -0800
+++ b/common/autoconf/jdk-options.m4 Wed Jan 20 09:53:52 2016 +0100
@@ -251,26 +251,31 @@
fi
fi
- ENABLE_DEBUG_SYMBOLS=true
- ZIP_DEBUGINFO_FILES=true
- # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
- # will basically do slowdebug builds when DEBUG_BINARIES is set for
- # fastdebug builds
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=true
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=true
+
+ # Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true
DEBUG_BINARIES=false
STRIP_POLICY=min_strip
+
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
- ENABLE_DEBUG_SYMBOLS=false
- ZIP_DEBUGINFO_FILES=false
+ COMPILE_WITH_DEBUG_SYMBOLS=false
+ COPY_DEBUG_SYMBOLS=false
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
DEBUG_BINARIES=false
STRIP_POLICY=no_strip
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
- ENABLE_DEBUG_SYMBOLS=false # -g option only
- ZIP_DEBUGINFO_FILES=false
- # Fastdebug builds with this setting will essentially be slowdebug
- # in hotspot.
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=false
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
+ # Hotspot legacy support, will turn on -g when COPY_DEBUG_SYMBOLS=false
DEBUG_BINARIES=true
STRIP_POLICY=no_strip
STRIP=""
+
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
@@ -281,11 +286,11 @@
fi
fi
- ENABLE_DEBUG_SYMBOLS=true
- ZIP_DEBUGINFO_FILES=false
- # -g is already added by ENABLE_DEBUG_SYMBOLS and the hotspot makefiles
- # will basically do slowdebug builds when DEBUG_BINARIES is set for
- # fastdebug builds
+ COMPILE_WITH_DEBUG_SYMBOLS=true
+ COPY_DEBUG_SYMBOLS=true
+ ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+
+ # Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true
DEBUG_BINARIES=false
STRIP_POLICY=min_strip
else
@@ -302,11 +307,13 @@
BASIC_DEPRECATED_ARG_ENABLE(zip-debug-info, zip_debug_info,
[Please use --with-native-debug-symbols=zipped .])
- AC_SUBST(NATIVE_DEBUG_SYMBOLS)
+ AC_SUBST(COMPILE_WITH_DEBUG_SYMBOLS)
+ AC_SUBST(COPY_DEBUG_SYMBOLS)
+ AC_SUBST(ZIP_EXTERNAL_DEBUG_SYMBOLS)
+
+ # Legacy values
AC_SUBST(DEBUG_BINARIES)
AC_SUBST(STRIP_POLICY)
- AC_SUBST(ENABLE_DEBUG_SYMBOLS)
- AC_SUBST(ZIP_DEBUGINFO_FILES)
])
################################################################################
--- a/common/autoconf/spec.gmk.in Tue Jan 19 15:17:21 2016 -0800
+++ b/common/autoconf/spec.gmk.in Wed Jan 20 09:53:52 2016 +0100
@@ -424,13 +424,12 @@
#
# Options for generating debug symbols
-ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
+COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@
+COPY_DEBUG_SYMBOLS := @COPY_DEBUG_SYMBOLS@
+ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@
+
CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
-ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
-NATIVE_DEBUG_SYMBOLS:=@NATIVE_DEBUG_SYMBOLS@
-DEBUG_BINARIES:=@DEBUG_BINARIES@
-STRIP_POLICY:=@STRIP_POLICY@
#
# Compress (or not) jars
--- a/make/common/NativeCompilation.gmk Tue Jan 19 15:17:21 2016 -0800
+++ b/make/common/NativeCompilation.gmk Wed Jan 20 09:53:52 2016 +0100
@@ -305,7 +305,6 @@
# RC_FLAGS flags for RC.
# MAPFILE mapfile
# REORDER reorder file
-# DEBUG_SYMBOLS add debug symbols (if configured on)
# CC the compiler to use, default is $(CC)
# LD the linker to use, default is $(LD)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
@@ -538,25 +537,9 @@
$1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)
endif
- ifeq ($(DEBUG_BINARIES), true)
- $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
- $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
- endif
- ifeq ($$($1_DEBUG_SYMBOLS), true)
- ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
- ifdef OPENJDK
- # Always add debug symbols
- $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
- $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
- else
- # Programs don't get the debug symbols added in the old build. It's not clear if
- # this is intentional.
- ifeq ($$($1_PROGRAM),)
- $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
- $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
- endif
- endif
- endif
+ ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
+ $1_EXTRA_CFLAGS += $(CFLAGS_DEBUG_SYMBOLS)
+ $1_EXTRA_CXXFLAGS += $(CXXFLAGS_DEBUG_SYMBOLS)
endif
ifneq (,$$($1_REORDER))
@@ -695,67 +678,67 @@
# Need to make sure TARGET is first on list
$1 := $$($1_TARGET)
- ifeq ($$($1_STATIC_LIBRARY),)
- ifeq ($$($1_DEBUG_SYMBOLS), true)
- ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
- ifneq ($$($1_OUTPUT_DIR), $$($1_OBJECT_DIR))
- # The dependency on TARGET is needed on windows for debuginfo files
- # to be rebuilt properly.
- $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% $$($1_TARGET)
+
+ ifeq ($(COPY_DEBUG_SYMBOLS), true)
+ # Only copy debug symbols for dynamic libraries and programs.
+ ifeq ($$($1_STATIC_LIBRARY), )
+ ifneq ($$($1_OUTPUT_DIR), $$($1_OBJECT_DIR))
+ # The dependency on TARGET is needed on windows for debuginfo files
+ # to be rebuilt properly.
+ $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% $$($1_TARGET)
$(CP) $$< $$@
- endif
+ endif
- # Generate debuginfo files.
- ifeq ($(OPENJDK_TARGET_OS), windows)
- $1_EXTRA_LDFLAGS += "-pdb:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb" \
- "-map:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map"
- $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb \
- $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map
- # No separate command is needed for debuginfo on windows, instead
- # touch target to make sure it has a later time stamp than the debug
- # symbol files to avoid unnecessary relinking on rebuild.
- $1_CREATE_DEBUGINFO_CMDS := $(TOUCH) $$($1_TARGET)
+ # Generate debuginfo files.
+ ifeq ($(OPENJDK_TARGET_OS), windows)
+ $1_EXTRA_LDFLAGS += "-pdb:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb" \
+ "-map:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map"
+ $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb \
+ $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map
+ # No separate command is needed for debuginfo on windows, instead
+ # touch target to make sure it has a later time stamp than the debug
+ # symbol files to avoid unnecessary relinking on rebuild.
+ $1_CREATE_DEBUGINFO_CMDS := $(TOUCH) $$($1_TARGET)
- else ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
- $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).debuginfo
- # Setup the command line creating debuginfo files, to be run after linking.
- # It cannot be run separately since it updates the original target file
- $1_CREATE_DEBUGINFO_CMDS := \
- $(OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE) \
- $(CD) $$($1_OUTPUT_DIR) && \
- $(OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
+ else ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
+ $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).debuginfo
+ # Setup the command line creating debuginfo files, to be run after linking.
+ # It cannot be run separately since it updates the original target file
+ $1_CREATE_DEBUGINFO_CMDS := \
+ $(OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE) \
+ $(CD) $$($1_OUTPUT_DIR) && \
+ $(OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
- else ifeq ($(OPENJDK_TARGET_OS), macosx)
- $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_BASENAME).dSYM
- # On Macosx, the debuginfo generation doesn't touch the linked binary, but
- # to avoid always relinking, touch it anyway to force a later timestamp than
- # the dSYM files.
- $1_CREATE_DEBUGINFO_CMDS := \
- $(DSYMUTIL) --out $$($1_DEBUGINFO_FILES) $$($1_TARGET) $$(NEWLINE) \
- $(TOUCH) $$($1_TARGET)
- endif # OPENJDK_TARGET_OS
+ else ifeq ($(OPENJDK_TARGET_OS), macosx)
+ $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_BASENAME).dSYM
+ # On Macosx, the debuginfo generation doesn't touch the linked binary, but
+ # to avoid always relinking, touch it anyway to force a later timestamp than
+ # the dSYM files.
+ $1_CREATE_DEBUGINFO_CMDS := \
+ $(DSYMUTIL) --out $$($1_DEBUGINFO_FILES) $$($1_TARGET) $$(NEWLINE) \
+ $(TOUCH) $$($1_TARGET)
+ endif # OPENJDK_TARGET_OS
- # This dependency dance ensures that debug info files get rebuilt
- # properly if deleted.
- $$($1_TARGET): $$($1_DEBUGINFO_FILES)
- $$($1_DEBUGINFO_FILES): $$($1_ALL_OBJS)
+ # This dependency dance ensures that debug info files get rebuilt
+ # properly if deleted.
+ $$($1_TARGET): $$($1_DEBUGINFO_FILES)
+ $$($1_DEBUGINFO_FILES): $$($1_ALL_OBJS)
- ifeq ($(ZIP_DEBUGINFO_FILES), true)
- $1_DEBUGINFO_ZIP := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).diz
- $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_ZIP))
+ ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
+ $1_DEBUGINFO_ZIP := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).diz
+ $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_ZIP))
- # The dependency on TARGET is needed for debuginfo files
- # to be rebuilt properly.
- $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
+ # The dependency on TARGET is needed for debuginfo files
+ # to be rebuilt properly.
+ $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
$(CD) $$($1_OBJECT_DIR) \
- && $(ZIP) -q $$@ $$(notdir $$($1_DEBUGINFO_FILES))
+ && $(ZIP) -q -r $$@ $$(notdir $$($1_DEBUGINFO_FILES))
- else
- $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_FILES))
- endif
- endif # $(ENABLE_DEBUG_SYMBOLS)
- endif # $1_DEBUG_SYMBOLS
- endif # !STATIC_LIBRARY
+ else
+ $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_FILES))
+ endif
+ endif # !STATIC_LIBRARY
+ endif # COPY_DEBUG_SYMBOLS
ifeq ($$($1_STRIP_SYMBOLS), true)
ifneq ($$($1_STRIP), )
--- a/make/common/TestFilesCompilation.gmk Tue Jan 19 15:17:21 2016 -0800
+++ b/make/common/TestFilesCompilation.gmk Wed Jan 20 09:53:52 2016 +0100
@@ -87,7 +87,7 @@
CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$($1_PREFIX)$$(name)), \
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$($1_PREFIX)$$(name)), \
OPTIMIZATION := LOW, \
- DEBUG_SYMBOLS := true)) \
+ )) \
$$(eval $1 += $$(BUILD_TEST_$$(name)) ) \
)