--- old/common/autoconf/generated-configure.sh 2015-11-26 23:08:16.873500487 +0900 +++ new/common/autoconf/generated-configure.sh 2015-11-26 23:08:16.675502512 +0900 @@ -688,8 +688,12 @@ FIXPATH_DETACH_FLAG FIXPATH GCOV_ENABLED +JAVA_DEBUG_SYMBOLS ZIP_DEBUGINFO_FILES ENABLE_DEBUG_SYMBOLS +STRIP_POLICY +DEBUG_BINARIES +NATIVE_DEBUG_SYMBOLS CFLAGS_WARNINGS_ARE_ERRORS DISABLE_WARNING_PREFIX HOTSPOT_SET_WARNINGS_AS_ERRORS @@ -1094,6 +1098,8 @@ with_build_devkit with_jtreg enable_warnings_as_errors +with_native_debug_symbols +enable_java_debug_symbols enable_debug_symbols enable_zip_debug_info enable_native_coverage @@ -1874,9 +1880,13 @@ --disable-warnings-as-errors do not consider native warnings to be an error [enabled] - --disable-debug-symbols disable generation of debug symbols [enabled] - --disable-zip-debug-info - disable zipping of debug-info files [enabled] + --enable-java-debug-symbols + enable generating debug symbols in java class files + [disabled] + --enable-debug-symbols Deprecated. Option is kept for backwards + compatibility and is ignored + --enable-zip-debug-info Deprecated. Option is kept for backwards + compatibility and is ignored --enable-native-coverage enable native compilation with code coverage data[disabled] @@ -1968,6 +1978,9 @@ dependent] --with-build-devkit Devkit to use for the build platform toolchain --with-jtreg Regression Test Harness [probed] + --with-native-debug-symbols + set the native debug symbol configuration (none, + internal, external, zipped) [zipped] --with-stdc++lib=,, force linking of the C++ runtime on Linux to either static or dynamic, default is static with dynamic as @@ -4640,7 +4653,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1448463381 +DATE_WHEN_GENERATED=1448546432 ############################################################################### # @@ -47005,65 +47018,116 @@ # Setup debug symbols (need objcopy from the toolchain for that) # - # ENABLE_DEBUG_SYMBOLS - # This must be done after the toolchain is setup, since we're looking at objcopy. + # NATIVE_DEBUG_SYMBOLS # - # Check whether --enable-debug-symbols was given. -if test "${enable_debug_symbols+set}" = set; then : - enableval=$enable_debug_symbols; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what type of native debug symbols to use" >&5 +$as_echo_n "checking what type of native debug symbols to use... " >&6; } + +# Check whether --with-native-debug-symbols was given. +if test "${with_native_debug_symbols+set}" = set; then : + withval=$with_native_debug_symbols; +else + with_native_debug_symbols="zipped" fi + NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NATIVE_DEBUG_SYMBOLS" >&5 +$as_echo "$NATIVE_DEBUG_SYMBOLS" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should generate debug symbols" >&5 -$as_echo_n "checking if we should generate debug symbols... " >&6; } + if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then - if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then - # explicit enabling of enable-debug-symbols and can't find objcopy - # this is an error - as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5 - fi + if test "x$OBJCOPY" = x; then + # explicit enabling of enable-debug-symbols and can't find objcopy + # this is an error + as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5 + fi - if test "x$enable_debug_symbols" = "xyes"; then ENABLE_DEBUG_SYMBOLS=true - elif test "x$enable_debug_symbols" = "xno"; then + ZIP_DEBUGINFO_FILES=true + DEBUG_BINARIES=true + STRIP_POLICY=min_strip + elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then ENABLE_DEBUG_SYMBOLS=false - else - # Default is on if objcopy is found - if test "x$OBJCOPY" != x; then - ENABLE_DEBUG_SYMBOLS=true - # MacOS X and Windows don't use objcopy but default is on for those OSes - elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then - ENABLE_DEBUG_SYMBOLS=true - else - ENABLE_DEBUG_SYMBOLS=false + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=false + STRIP_POLICY=min_strip + elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then + ENABLE_DEBUG_SYMBOLS=false # -g option only + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=true + STRIP_POLICY=no_strip + STRIP="" + elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then + + if test "x$OBJCOPY" = x; then + # explicit enabling of enable-debug-symbols and can't find objcopy + # this is an error + as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5 fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_DEBUG_SYMBOLS" >&5 -$as_echo "$ENABLE_DEBUG_SYMBOLS" >&6; } + ENABLE_DEBUG_SYMBOLS=true + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=true + STRIP_POLICY=min_strip + else + as_fn_error $? "Allowed native debug symbols are: none, internal, external, zipped" "$LINENO" 5 + fi # - # ZIP_DEBUGINFO_FILES + # JAVA_DEBUG_SYMBOLS # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should zip debug-info files" >&5 -$as_echo_n "checking if we should zip debug-info files... " >&6; } - # Check whether --enable-zip-debug-info was given. -if test "${enable_zip_debug_info+set}" = set; then : - enableval=$enable_zip_debug_info; enable_zip_debug_info="${enableval}" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should generate debug symbols in class files" >&5 +$as_echo_n "checking if we should generate debug symbols in class files... " >&6; } + # Check whether --enable-java-debug-symbols was given. +if test "${enable_java_debug_symbols+set}" = set; then : + enableval=$enable_java_debug_symbols; enable_java_debug_symbols="${enableval}" else - enable_zip_debug_info="yes" + enable_java_debug_symbols="no" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_zip_debug_info}" >&5 -$as_echo "${enable_zip_debug_info}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_java_debug_symbols}" >&5 +$as_echo "${enable_java_debug_symbols}" >&6; } - if test "x${enable_zip_debug_info}" = "xno"; then - ZIP_DEBUGINFO_FILES=false + if test "x${enable_java_debug_symbols}" = "xyes"; then + JAVA_DEBUG_SYMBOLS=true + JAVAC_FLAGS="$JAVAC_FLAGS -g" else - ZIP_DEBUGINFO_FILES=true + JAVA_DEBUG_SYMBOLS=false + fi + + # --enable-debug-symbols is deprecated. + # Please use --with-debug-symbols=[internal,external,zipped] . + + # Check whether --enable-debug-symbols was given. +if test "${enable_debug_symbols+set}" = set; then : + enableval=$enable_debug_symbols; +fi + + if test "x$enable_debug_symbols" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --enable-debug-symbols is deprecated and will be ignored." >&5 +$as_echo "$as_me: WARNING: Option --enable-debug-symbols is deprecated and will be ignored." >&2;} fi + # --enable-zip-debug-info is deprecated. + # Please use --with-debug-symbols=zipped . + + # Check whether --enable-zip-debug-info was given. +if test "${enable_zip_debug_info+set}" = set; then : + enableval=$enable_zip_debug_info; +fi + + if test "x$enable_zip_debug_info" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --enable-zip-debug-info is deprecated and will be ignored." >&5 +$as_echo "$as_me: WARNING: Option --enable-zip-debug-info is deprecated and will be ignored." >&2;} + fi + + + + + + + --- old/common/autoconf/jdk-options.m4 2015-11-26 23:08:19.162477076 +0900 +++ new/common/autoconf/jdk-options.m4 2015-11-26 23:08:19.045478272 +0900 @@ -577,55 +577,87 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS], [ # - # ENABLE_DEBUG_SYMBOLS - # This must be done after the toolchain is setup, since we're looking at objcopy. + # NATIVE_DEBUG_SYMBOLS # - AC_ARG_ENABLE([debug-symbols], - [AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])]) - - AC_MSG_CHECKING([if we should generate debug symbols]) - - if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then - # explicit enabling of enable-debug-symbols and can't find objcopy - # this is an error - AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols]) - fi + AC_MSG_CHECKING([what type of native debug symbols to use]) + AC_ARG_WITH([native-debug-symbols], + [AS_HELP_STRING([--with-native-debug-symbols], + [set the native debug symbol configuration (none, internal, external, zipped) @<:@zipped@:>@])], + [], + [with_native_debug_symbols="zipped"]) + NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols + AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS]) + + if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then + + if test "x$OBJCOPY" = x; then + # explicit enabling of enable-debug-symbols and can't find objcopy + # this is an error + AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols]) + fi - if test "x$enable_debug_symbols" = "xyes"; then ENABLE_DEBUG_SYMBOLS=true - elif test "x$enable_debug_symbols" = "xno"; then + ZIP_DEBUGINFO_FILES=true + DEBUG_BINARIES=true + STRIP_POLICY=min_strip + elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then ENABLE_DEBUG_SYMBOLS=false - else - # Default is on if objcopy is found - if test "x$OBJCOPY" != x; then - ENABLE_DEBUG_SYMBOLS=true - # MacOS X and Windows don't use objcopy but default is on for those OSes - elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then - ENABLE_DEBUG_SYMBOLS=true - else - ENABLE_DEBUG_SYMBOLS=false + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=false + STRIP_POLICY=min_strip + elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then + ENABLE_DEBUG_SYMBOLS=false # -g option only + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=true + STRIP_POLICY=no_strip + STRIP="" + elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then + + if test "x$OBJCOPY" = x; then + # explicit enabling of enable-debug-symbols and can't find objcopy + # this is an error + AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols]) fi - fi - AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS]) + ENABLE_DEBUG_SYMBOLS=true + ZIP_DEBUGINFO_FILES=false + DEBUG_BINARIES=true + STRIP_POLICY=min_strip + else + AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped]) + fi # - # ZIP_DEBUGINFO_FILES + # JAVA_DEBUG_SYMBOLS # - AC_MSG_CHECKING([if we should zip debug-info files]) - AC_ARG_ENABLE([zip-debug-info], - [AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])], - [enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"]) - AC_MSG_RESULT([${enable_zip_debug_info}]) - - if test "x${enable_zip_debug_info}" = "xno"; then - ZIP_DEBUGINFO_FILES=false + AC_MSG_CHECKING([if we should generate debug symbols in class files]) + AC_ARG_ENABLE([java-debug-symbols], + [AS_HELP_STRING([--enable-java-debug-symbols],[enable generating debug symbols in java class files @<:@disabled@:>@])], + [enable_java_debug_symbols="${enableval}"], + [enable_java_debug_symbols="no"]) + AC_MSG_RESULT([${enable_java_debug_symbols}]) + + if test "x${enable_java_debug_symbols}" = "xyes"; then + JAVA_DEBUG_SYMBOLS=true + JAVAC_FLAGS="$JAVAC_FLAGS -g" else - ZIP_DEBUGINFO_FILES=true + JAVA_DEBUG_SYMBOLS=false fi + # --enable-debug-symbols is deprecated. + # Please use --with-debug-symbols=[internal,external,zipped] . + BASIC_DEPRECATED_ARG_ENABLE(debug-symbols, debug_symbols) + + # --enable-zip-debug-info is deprecated. + # Please use --with-debug-symbols=zipped . + BASIC_DEPRECATED_ARG_ENABLE(zip-debug-info, zip_debug_info) + + AC_SUBST(NATIVE_DEBUG_SYMBOLS) + AC_SUBST(DEBUG_BINARIES) + AC_SUBST(STRIP_POLICY) AC_SUBST(ENABLE_DEBUG_SYMBOLS) AC_SUBST(ZIP_DEBUGINFO_FILES) + AC_SUBST(JAVA_DEBUG_SYMBOLS) ]) ################################################################################ --- old/common/autoconf/spec.gmk.in 2015-11-26 23:08:19.653472054 +0900 +++ new/common/autoconf/spec.gmk.in 2015-11-26 23:08:19.540473210 +0900 @@ -396,6 +396,10 @@ CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@ CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@ ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@ +NATIVE_DEBUG_SYMBOLS:=@NATIVE_DEBUG_SYMBOLS@ +JAVA_DEBUG_SYMBOLS:=@JAVA_DEBUG_SYMBOLS@ +DEBUG_BINARIES:=@DEBUG_BINARIES@ +STRIP_POLICY:=@STRIP_POLICY@ # # Compress (or not) jars --- old/make/common/NativeCompilation.gmk 2015-11-26 23:08:20.162466848 +0900 +++ new/make/common/NativeCompilation.gmk 2015-11-26 23:08:20.047468024 +0900 @@ -509,6 +509,10 @@ $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