From bc3235ca2e10fcacf214f2ca965b03efbfd43616 Mon Sep 17 00:00:00 2001 From: Doug Simon Date: Tue, 5 Jul 2016 18:00:06 -0700 Subject: [PATCH 01/17] 8159888: [JVMCI] the client VM build is broken when INCLUDE_JVMCI is defined Fix Client VM build Reviewed-by: twisti, kvn --- common/autoconf/generated-configure.sh | 10 +++++----- common/autoconf/hotspot.m4 | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index a92415a2425..4a850ffc09e 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -5094,7 +5094,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1466007828 +DATE_WHEN_GENERATED=1467766758 ############################################################################### # @@ -53354,8 +53354,8 @@ $as_echo "$JVM_FEATURES" >&6; } as_fn_error $? "Specified JVM feature 'management' requires feature 'nmt'" "$LINENO" 5 fi - if [[ " $JVM_FEATURES " =~ " jvmci " ]] && ! [[ " $JVM_FEATURES " =~ " compiler2 " ]] ; then - as_fn_error $? "Specified JVM feature 'jvmci' requires feature 'compiler2'" "$LINENO" 5 + if [[ " $JVM_FEATURES " =~ " jvmci " ]] && ! ( [[ " $JVM_FEATURES " =~ " compiler1 " ]] || [[ " $JVM_FEATURES " =~ " compiler2 " ]] ); then + as_fn_error $? "Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1'" "$LINENO" 5 fi if [[ " $JVM_FEATURES " =~ " compiler2 " ]] && ! [[ " $JVM_FEATURES " =~ " all-gcs " ]] ; then @@ -53395,7 +53395,7 @@ $as_echo "$JVM_FEATURES" >&6; } fi fi - # Only enable jvmci on x86_64, sparcv9 and aarch64, and only on server. + # Only enable jvmci on x86_64, sparcv9 and aarch64. if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \ test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \ test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then @@ -53409,7 +53409,7 @@ $as_echo "$JVM_FEATURES" >&6; } # Enable features depending on variant. JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" - JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES" + JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES" JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES" diff --git a/common/autoconf/hotspot.m4 b/common/autoconf/hotspot.m4 index 3886ea86f65..b919c79aab9 100644 --- a/common/autoconf/hotspot.m4 +++ b/common/autoconf/hotspot.m4 @@ -201,8 +201,8 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES], AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt']) fi - if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! HOTSPOT_CHECK_JVM_FEATURE(compiler2); then - AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2']) + if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! (HOTSPOT_CHECK_JVM_FEATURE(compiler1) || HOTSPOT_CHECK_JVM_FEATURE(compiler2)); then + AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1']) fi if HOTSPOT_CHECK_JVM_FEATURE(compiler2) && ! HOTSPOT_CHECK_JVM_FEATURE(all-gcs); then @@ -242,7 +242,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES], fi fi - # Only enable jvmci on x86_64, sparcv9 and aarch64, and only on server. + # Only enable jvmci on x86_64, sparcv9 and aarch64. if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \ test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \ test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then @@ -256,7 +256,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES], # Enable features depending on variant. JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" - JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES" + JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES" JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES" From 7494c3e82b910653341ff1e90a38b51d6bab2e63 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Sun, 10 Jul 2016 22:00:03 +0100 Subject: [PATCH 02/17] 8156980: Hotspot build doesn't have -std=gnu++98 gcc option 8157358: Syntax error in TOOLCHAIN_CHECK_COMPILER_VERSION Add flags for GCC 6 to JVM_CFLAGS and fix prefix handling Reviewed-by: erikj, kbarrett --- common/autoconf/flags.m4 | 26 +- common/autoconf/generated-configure.sh | 584 ++----------------------- common/autoconf/spec.gmk.in | 2 - common/autoconf/toolchain.m4 | 2 + 4 files changed, 63 insertions(+), 551 deletions(-) diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4 index e4cd491b0ce..6252323d74b 100644 --- a/common/autoconf/flags.m4 +++ b/common/autoconf/flags.m4 @@ -713,6 +713,7 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [[$]$2CXXSTD_CXXFLAG -Werror], IF_FALSE: [$2CXXSTD_CXXFLAG=""]) $2CXXFLAGS_JDK="${$2CXXFLAGS_JDK} ${$2CXXSTD_CXXFLAG}" + $2JVM_CFLAGS="${$2JVM_CFLAGS} ${$2CXXSTD_CXXFLAG}" AC_SUBST([$2CXXSTD_CXXFLAG]) fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then @@ -768,7 +769,7 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], $2CFLAGS_JDK="${$2CFLAGS_JDK} -fno-strict-aliasing" ;; esac - TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: 6, PREFIX: $2, IF_AT_LEAST: FLAGS_SETUP_GCC6_COMPILER_FLAGS) + TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: 6, PREFIX: $2, IF_AT_LEAST: FLAGS_SETUP_GCC6_COMPILER_FLAGS($2)) elif test "x$TOOLCHAIN_TYPE" = xclang; then $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_GNU_SOURCE" @@ -1447,19 +1448,24 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC], AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) ]) -AC_DEFUN_ONCE([FLAGS_SETUP_GCC6_COMPILER_FLAGS], +# FLAGS_SETUP_GCC6_COMPILER_FLAGS([PREFIX]) +# Arguments: +# $1 - Optional prefix for each variable defined. +AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS], [ # These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code # runs afoul of the more aggressive versions of these optimisations. # Notably, value range propagation now assumes that the this pointer of C++ # member functions is non-null. - NO_NULL_POINTER_CHECK_CFLAG="-fno-delete-null-pointer-checks" - FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_NULL_POINTER_CHECK_CFLAG -Werror], - IF_FALSE: [NO_NULL_POINTER_CHECK_CFLAG=""]) - AC_SUBST([NO_NULL_POINTER_CHECK_CFLAG]) + NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks" + dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation + dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror], + dnl IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""]) NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" - FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror], - IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""]) - CFLAGS_JDK="${CFLAGS_JDK} ${NO_NULL_POINTER_CHECK_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" - AC_SUBST([NO_LIFETIME_DSE_CFLAG]) + dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation + dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror], + dnl IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""]) + AC_MSG_NOTICE([GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}]) + $1CFLAGS_JDK="[$]$1CFLAGS_JDK ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" + $1JVM_CFLAGS="[$]$1JVM_CFLAGS ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" ]) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index e8b5461b512..ffcbb377ad2 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -749,8 +749,6 @@ CXXFLAGS_JDKLIB CFLAGS_JDKEXE CFLAGS_JDKLIB MACOSX_VERSION_MIN -NO_LIFETIME_DSE_CFLAG -NO_NULL_POINTER_CHECK_CFLAG CXXSTD_CXXFLAG CXX_O_FLAG_SIZE CXX_O_FLAG_NONE @@ -4092,6 +4090,9 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. +# FLAGS_SETUP_GCC6_COMPILER_FLAGS([PREFIX]) +# Arguments: +# $1 - Optional prefix for each variable defined. # @@ -5094,7 +5095,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1467960715 +DATE_WHEN_GENERATED=1468427332 ############################################################################### # @@ -47232,6 +47233,28 @@ $as_echo "$as_me: WARNING: C compiler version number has a part larger than 9999 BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS" BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS" BUILD_AR="$AR" + + + if test "x$CC_VERSION_NUMBER" != "x$CXX_VERSION_NUMBER"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C and C++ compiler have different version numbers, $CC_VERSION_NUMBER vs $CXX_VERSION_NUMBER." >&5 +$as_echo "$as_me: WARNING: C and C++ compiler have different version numbers, $CC_VERSION_NUMBER vs $CXX_VERSION_NUMBER." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This typically indicates a broken setup, and is not supported" >&5 +$as_echo "$as_me: WARNING: This typically indicates a broken setup, and is not supported" >&2;} + fi + + # We only check CC_VERSION_NUMBER since we assume CXX_VERSION_NUMBER is equal. + if [[ "[$]CC_VERSION_NUMBER" =~ (.*\.){3} ]] ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION_NUMBER. Comparisons might be wrong." >&5 +$as_echo "$as_me: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION_NUMBER. Comparisons might be wrong." >&2;} + fi + + if [[ "[$]CC_VERSION_NUMBER" =~ [0-9]{6} ]] ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION_NUMBER. Comparisons might be wrong." >&5 +$as_echo "$as_me: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION_NUMBER. Comparisons might be wrong." >&2;} + fi + + OPENJDK_BUILD_COMPARABLE_ACTUAL_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", $1, $2, $3) }' <<< "$CC_VERSION_NUMBER"` + fi @@ -49781,6 +49804,7 @@ $as_echo "$supports" >&6; } CXXFLAGS_JDK="${CXXFLAGS_JDK} ${CXXSTD_CXXFLAG}" + JVM_CFLAGS="${JVM_CFLAGS} ${CXXSTD_CXXFLAG}" fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then @@ -49913,542 +49937,12 @@ $as_echo "$supports" >&6; } # runs afoul of the more aggressive versions of these optimisations. # Notably, value range propagation now assumes that the this pointer of C++ # member functions is non-null. - NO_NULL_POINTER_CHECK_CFLAG="-fno-delete-null-pointer-checks" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"" >&5 -$as_echo_n "checking if the C compiler supports \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"... " >&6; } - supports=yes - - saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS $NO_NULL_POINTER_CHECK_CFLAG -Werror" - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - supports=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - CFLAGS="$saved_cflags" - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - C_COMP_SUPPORTS="yes" - else - : - C_COMP_SUPPORTS="no" - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"" >&5 -$as_echo_n "checking if the C++ compiler supports \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"... " >&6; } - supports=yes - - saved_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAG $NO_NULL_POINTER_CHECK_CFLAG -Werror" - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - supports=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - CXXFLAGS="$saved_cxxflags" - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - CXX_COMP_SUPPORTS="yes" - else - : - CXX_COMP_SUPPORTS="no" - fi - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"" >&5 -$as_echo_n "checking if both compilers support \"$NO_NULL_POINTER_CHECK_CFLAG -Werror\"... " >&6; } - supports=no - if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - - else - : - NO_NULL_POINTER_CHECK_CFLAG="" - fi - - - - - - - - NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -$as_echo_n "checking if the C compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } - supports=yes - - saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS $NO_LIFETIME_DSE_CFLAG -Werror" - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - supports=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - CFLAGS="$saved_cflags" - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - C_COMP_SUPPORTS="yes" - else - : - C_COMP_SUPPORTS="no" - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Execute function body - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -$as_echo_n "checking if the C++ compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } - supports=yes - - saved_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAG $NO_LIFETIME_DSE_CFLAG -Werror" - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - supports=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - CXXFLAGS="$saved_cxxflags" - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - CXX_COMP_SUPPORTS="yes" - else - : - CXX_COMP_SUPPORTS="no" - fi - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -$as_echo_n "checking if both compilers support \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } - supports=no - if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -$as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then - : - - else - : - NO_LIFETIME_DSE_CFLAG="" - fi - - - - - - - CFLAGS_JDK="${CFLAGS_JDK} ${NO_NULL_POINTER_CHECK_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" - - + NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks" + NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" + { $as_echo "$as_me:${as_lineno-$LINENO}: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}" >&5 +$as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}" >&6;} + CFLAGS_JDK="$CFLAGS_JDK ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" + JVM_CFLAGS="$JVM_CFLAGS ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" else : @@ -51127,6 +50621,7 @@ $as_echo "$supports" >&6; } OPENJDK_BUILD_CXXFLAGS_JDK="${OPENJDK_BUILD_CXXFLAGS_JDK} ${OPENJDK_BUILD_CXXSTD_CXXFLAG}" + OPENJDK_BUILD_JVM_CFLAGS="${OPENJDK_BUILD_JVM_CFLAGS} ${OPENJDK_BUILD_CXXSTD_CXXFLAG}" fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then @@ -51255,6 +50750,17 @@ $as_echo "$supports" >&6; } if test $OPENJDK_BUILD_COMPARABLE_ACTUAL_VERSION -ge $COMPARABLE_REFERENCE_VERSION ; then : + # These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code + # runs afoul of the more aggressive versions of these optimisations. + # Notably, value range propagation now assumes that the this pointer of C++ + # member functions is non-null. + NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks" + NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" + { $as_echo "$as_me:${as_lineno-$LINENO}: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}" >&5 +$as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}" >&6;} + OPENJDK_BUILD_CFLAGS_JDK="$OPENJDK_BUILD_CFLAGS_JDK ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" + OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" + else : diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index 26705337a95..e9cc8ba27c9 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -391,8 +391,6 @@ CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@ WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@ CFLAGS_CCACHE:=@CFLAGS_CCACHE@ -NO_NULL_POINTER_CHECK_FLAG=@NO_NULL_POINTER_CHECK_CFLAG@ -NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@ CXXSTD_CXXFLAG=@CXXSTD_CXXFLAG@ # Tools that potentially need to be cross compilation aware. diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index e87cb24e7f2..288c9b7dcf3 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -831,6 +831,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS], BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS" BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS" BUILD_AR="$AR" + + TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_]) fi AC_SUBST(BUILD_CC) From fa02e8a39492e3589f9506ca0374a27e50e67dc7 Mon Sep 17 00:00:00 2001 From: Stefan Anzinger Date: Mon, 11 Jul 2016 17:23:20 -0700 Subject: [PATCH 03/17] 8160825: Update minimum Solaris Studio compiler version to 5.13 Reviewed-by: tbell --- common/autoconf/generated-configure.sh | 4 ++-- common/autoconf/toolchain.m4 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index abf15f64763..300e6864b4b 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -4913,7 +4913,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" TOOLCHAIN_MINIMUM_VERSION_clang="3.2" TOOLCHAIN_MINIMUM_VERSION_gcc="4.3" TOOLCHAIN_MINIMUM_VERSION_microsoft="" -TOOLCHAIN_MINIMUM_VERSION_solstudio="5.12" +TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13" TOOLCHAIN_MINIMUM_VERSION_xlc="" # Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called. @@ -5094,7 +5094,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1468235634 +DATE_WHEN_GENERATED=1468281874 ############################################################################### # diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index e87cb24e7f2..c1aba2d4ef6 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -54,7 +54,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" TOOLCHAIN_MINIMUM_VERSION_clang="3.2" TOOLCHAIN_MINIMUM_VERSION_gcc="4.3" TOOLCHAIN_MINIMUM_VERSION_microsoft="" -TOOLCHAIN_MINIMUM_VERSION_solstudio="5.12" +TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13" TOOLCHAIN_MINIMUM_VERSION_xlc="" # Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called. From 03fffa8949419388425f91fa89106982f6988df0 Mon Sep 17 00:00:00 2001 From: Igor Ignatyev Date: Wed, 13 Jul 2016 18:03:18 +0300 Subject: [PATCH 04/17] 8151280: update hotspot tests to use vm.compMode instead of their own logic Update hs compiler tests to use vm.compMode instead of their own logic and to get VM mode using j.t.l.Platform Reviewed-by: kvn, dpochepk --- test/lib/share/classes/jdk/test/lib/Platform.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/lib/share/classes/jdk/test/lib/Platform.java b/test/lib/share/classes/jdk/test/lib/Platform.java index 966f70d6333..8c55f091467 100644 --- a/test/lib/share/classes/jdk/test/lib/Platform.java +++ b/test/lib/share/classes/jdk/test/lib/Platform.java @@ -26,15 +26,15 @@ package jdk.test.lib; import java.util.regex.Pattern; public class Platform { + public static final String vmName = System.getProperty("java.vm.name"); + public static final String vmInfo = System.getProperty("java.vm.info"); private static final String osName = System.getProperty("os.name"); private static final String dataModel = System.getProperty("sun.arch.data.model"); private static final String vmVersion = System.getProperty("java.vm.version"); private static final String javaVersion = System.getProperty("java.version"); private static final String osArch = System.getProperty("os.arch"); - private static final String vmName = System.getProperty("java.vm.name"); private static final String userName = System.getProperty("user.name"); private static final String compiler = System.getProperty("sun.management.compiler"); - private static final String vmInfo = System.getProperty("java.vm.info"); public static boolean isClient() { return vmName.endsWith(" Client VM"); From 03321f4a59207c7caed3a9053b7bac9fea83ea04 Mon Sep 17 00:00:00 2001 From: Gerald Thornbrugh Date: Fri, 15 Jul 2016 16:52:33 -0700 Subject: [PATCH 05/17] 8144278: [TESTBUG] hotspot/runtime/StackGuardPages/testme.sh should use native library build support Reviewed-by: erikj, dsamersoff, dholmes --- common/autoconf/flags.m4 | 18 ++++++++------ common/autoconf/generated-configure.sh | 34 ++++++++++++++------------ make/Main.gmk | 2 +- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4 index 6252323d74b..b3deb92b504 100644 --- a/common/autoconf/flags.m4 +++ b/common/autoconf/flags.m4 @@ -684,7 +684,7 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK], AC_SUBST(CXXFLAGS_TESTEXE) LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" - LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE" + LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE $JAVA_BASE_LDFLAGS" AC_SUBST(LDFLAGS_TESTLIB) AC_SUBST(LDFLAGS_TESTEXE) @@ -1148,11 +1148,11 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${SHARED_LIBRARY_FLAGS}" if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} \ + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \ -libpath:${OUTPUT_ROOT}/support/modules_libs/java.base" $2JDKLIB_LIBS="" else - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} \ + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)" if test "x$1" = "xTARGET"; then @@ -1161,17 +1161,17 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], # Only add client/minimal dir if client/minimal is being built. # Default to server for other variants. if HOTSPOT_CHECK_JVM_VARIANT(server); then - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/server" + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/server" elif HOTSPOT_CHECK_JVM_VARIANT(client); then - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/client" + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/client" elif HOTSPOT_CHECK_JVM_VARIANT(minimal); then - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/minimal" + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/minimal" else - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/server" + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/server" fi elif test "x$1" = "xBUILD"; then # When building a buildjdk, it's always only the server variant - $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} \ + $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_$1_CPU_LIBDIR)/server" fi @@ -1182,6 +1182,8 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], fi +$2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${$2JAVA_BASE_LDFLAGS}" + # Set $2JVM_LIBS (per os) if test "x$OPENJDK_$1_OS" = xlinux; then $2JVM_LIBS="[$]$2JVM_LIBS -lm -ldl -lpthread" diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index ffcbb377ad2..1a089b76e23 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -50429,11 +50429,11 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} ${SHARED_LIBRARY_FLAGS}" if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} \ + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} \ -libpath:${OUTPUT_ROOT}/support/modules_libs/java.base" JDKLIB_LIBS="" else - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} \ + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)" if test "xTARGET" = "xTARGET"; then @@ -50442,17 +50442,17 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA # Only add client/minimal dir if client/minimal is being built. # Default to server for other variants. if [[ " $JVM_VARIANTS " =~ " server " ]] ; then - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/server" + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/server" elif [[ " $JVM_VARIANTS " =~ " client " ]] ; then - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/client" + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/client" elif [[ " $JVM_VARIANTS " =~ " minimal " ]] ; then - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/minimal" + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/minimal" else - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/server" + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/server" fi elif test "xTARGET" = "xBUILD"; then # When building a buildjdk, it's always only the server variant - LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} \ + JAVA_BASE_LDFLAGS="${JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_TARGET_CPU_LIBDIR)/server" fi @@ -50463,6 +50463,8 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA fi +LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} ${JAVA_BASE_LDFLAGS}" + # Set JVM_LIBS (per os) if test "x$OPENJDK_TARGET_OS" = xlinux; then JVM_LIBS="$JVM_LIBS -lm -ldl -lpthread" @@ -51246,11 +51248,11 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} ${SHARED_LIBRARY_FLAGS}" if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} \ + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} \ -libpath:${OUTPUT_ROOT}/support/modules_libs/java.base" OPENJDK_BUILD_JDKLIB_LIBS="" else - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} \ + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)" if test "xBUILD" = "xTARGET"; then @@ -51259,17 +51261,17 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA # Only add client/minimal dir if client/minimal is being built. # Default to server for other variants. if [[ " $JVM_VARIANTS " =~ " server " ]] ; then - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/server" + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/server" elif [[ " $JVM_VARIANTS " =~ " client " ]] ; then - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/client" + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/client" elif [[ " $JVM_VARIANTS " =~ " minimal " ]] ; then - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/minimal" + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/minimal" else - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/server" + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/server" fi elif test "xBUILD" = "xBUILD"; then # When building a buildjdk, it's always only the server variant - OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} \ + OPENJDK_BUILD_JAVA_BASE_LDFLAGS="${OPENJDK_BUILD_JAVA_BASE_LDFLAGS} \ -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base\$(OPENJDK_BUILD_CPU_LIBDIR)/server" fi @@ -51280,6 +51282,8 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA fi +OPENJDK_BUILD_LDFLAGS_JDKLIB="${OPENJDK_BUILD_LDFLAGS_JDKLIB} ${OPENJDK_BUILD_JAVA_BASE_LDFLAGS}" + # Set OPENJDK_BUILD_JVM_LIBS (per os) if test "x$OPENJDK_BUILD_OS" = xlinux; then OPENJDK_BUILD_JVM_LIBS="$OPENJDK_BUILD_JVM_LIBS -lm -ldl -lpthread" @@ -51344,7 +51348,7 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" - LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE" + LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE $JAVA_BASE_LDFLAGS" diff --git a/make/Main.gmk b/make/Main.gmk index d2c74611d4f..f1267291368 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -704,7 +704,7 @@ else test-image-failure-handler: build-test-failure-handler - build-test-hotspot-jtreg-native: buildtools-jdk + build-test-hotspot-jtreg-native: buildtools-jdk import-hotspot build-test-jdk-jtreg-native: buildtools-jdk From 89577d9c2a20979f2bc41150427a1af479ab60dc Mon Sep 17 00:00:00 2001 From: Alan Burlison Date: Wed, 20 Jul 2016 12:52:45 -0700 Subject: [PATCH 06/17] 8161057: Solaris: deprecated/obsolete compiler flags should be removed Reviewed-by: tbell, dcubed, dholmes --- common/autoconf/flags.m4 | 6 +----- common/autoconf/generated-configure.sh | 14 +++----------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4 index b3deb92b504..cc32499be7b 100644 --- a/common/autoconf/flags.m4 +++ b/common/autoconf/flags.m4 @@ -719,15 +719,11 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], if test "x$OPENJDK_TARGET_OS" = xsolaris; then $2CFLAGS_JDK="${$2CFLAGS_JDK} -D__solaris__" $2CXXFLAGS_JDK="${$2CXXFLAGS_JDK} -D__solaris__" - $2CFLAGS_JDKLIB_EXTRA='-xstrconst' - CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" - CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then $2CFLAGS_JDK="${$2CFLAGS_JDK} -D__solaris__" $2CXXFLAGS_JDK="${$2CXXFLAGS_JDK} -D__solaris__" - $2CFLAGS_JDKLIB_EXTRA='-xstrconst' fi $2CFLAGS_JDK="${$2CFLAGS_JDK} ${$2EXTRA_CFLAGS}" @@ -1113,7 +1109,7 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER], fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then LDFLAGS_SOLSTUDIO="-Wl,-z,defs" - $2LDFLAGS_JDK="[$]$2LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -xildoff -ztext" + $2LDFLAGS_JDK="[$]$2LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -ztext" LDFLAGS_CXX_SOLSTUDIO="-norunpath" $2LDFLAGS_CXX_JDK="[$]$2LDFLAGS_CXX_JDK $LDFLAGS_CXX_SOLSTUDIO -xnolib" $2JVM_LDFLAGS="[$]$2JVM_LDFLAGS $LDFLAGS_SOLSTUDIO -library=%none -mt $LDFLAGS_CXX_SOLSTUDIO -z noversion" diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 1a089b76e23..4a2916e7c58 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -5095,7 +5095,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1468427332 +DATE_WHEN_GENERATED=1468500131 ############################################################################### # @@ -49810,15 +49810,11 @@ $as_echo "$supports" >&6; } if test "x$OPENJDK_TARGET_OS" = xsolaris; then CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__" CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__" - CFLAGS_JDKLIB_EXTRA='-xstrconst' - CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" - CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__" CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__" - CFLAGS_JDKLIB_EXTRA='-xstrconst' fi CFLAGS_JDK="${CFLAGS_JDK} ${EXTRA_CFLAGS}" @@ -50394,7 +50390,7 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then LDFLAGS_SOLSTUDIO="-Wl,-z,defs" - LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -xildoff -ztext" + LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -ztext" LDFLAGS_CXX_SOLSTUDIO="-norunpath" LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LDFLAGS_CXX_SOLSTUDIO -xnolib" JVM_LDFLAGS="$JVM_LDFLAGS $LDFLAGS_SOLSTUDIO -library=%none -mt $LDFLAGS_CXX_SOLSTUDIO -z noversion" @@ -50629,15 +50625,11 @@ $as_echo "$supports" >&6; } if test "x$OPENJDK_TARGET_OS" = xsolaris; then OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -D__solaris__" OPENJDK_BUILD_CXXFLAGS_JDK="${OPENJDK_BUILD_CXXFLAGS_JDK} -D__solaris__" - OPENJDK_BUILD_CFLAGS_JDKLIB_EXTRA='-xstrconst' - CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" - CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -D__solaris__" OPENJDK_BUILD_CXXFLAGS_JDK="${OPENJDK_BUILD_CXXFLAGS_JDK} -D__solaris__" - OPENJDK_BUILD_CFLAGS_JDKLIB_EXTRA='-xstrconst' fi OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} ${OPENJDK_BUILD_EXTRA_CFLAGS}" @@ -51213,7 +51205,7 @@ $as_echo "$as_me: GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLA fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then LDFLAGS_SOLSTUDIO="-Wl,-z,defs" - OPENJDK_BUILD_LDFLAGS_JDK="$OPENJDK_BUILD_LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -xildoff -ztext" + OPENJDK_BUILD_LDFLAGS_JDK="$OPENJDK_BUILD_LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -ztext" LDFLAGS_CXX_SOLSTUDIO="-norunpath" OPENJDK_BUILD_LDFLAGS_CXX_JDK="$OPENJDK_BUILD_LDFLAGS_CXX_JDK $LDFLAGS_CXX_SOLSTUDIO -xnolib" OPENJDK_BUILD_JVM_LDFLAGS="$OPENJDK_BUILD_JVM_LDFLAGS $LDFLAGS_SOLSTUDIO -library=%none -mt $LDFLAGS_CXX_SOLSTUDIO -z noversion" From a4dd98020c9c48a77cfc24906f687bf213b24ef8 Mon Sep 17 00:00:00 2001 From: Michail Chernov Date: Thu, 21 Jul 2016 16:07:41 +0300 Subject: [PATCH 07/17] 8161208: Unable to run jtreg tests with MinimalVM Reviewed-by: dholmes, dfazunen --- test/jtreg-ext/requires/VMProps.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/test/jtreg-ext/requires/VMProps.java b/test/jtreg-ext/requires/VMProps.java index 945d754199e..644c8cd366c 100644 --- a/test/jtreg-ext/requires/VMProps.java +++ b/test/jtreg-ext/requires/VMProps.java @@ -23,8 +23,6 @@ package requires; import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.lang.management.RuntimeMXBean; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; @@ -35,14 +33,18 @@ import java.util.concurrent.Callable; import java.util.regex.Matcher; import java.util.regex.Pattern; import sun.hotspot.gc.GC; +import sun.hotspot.WhiteBox; /** * The Class to be invoked by jtreg prior Test Suite execution to * collect information about VM. + * Do not use any API's that may not be available in all target VMs. * Properties set by this Class will be available in the @requires expressions. */ public class VMProps implements Callable> { + private static final WhiteBox WB = WhiteBox.getWhiteBox(); + /** * Collects information about VM properties. * This method will be invoked by jtreg. @@ -131,17 +133,14 @@ public class VMProps implements Callable> { * @return "true" if Flight Recorder is enabled, "false" if is disabled. */ protected String vmFlightRecorder() { - RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); - List arguments = runtimeMxBean.getInputArguments(); - if (arguments.contains("-XX:+UnlockCommercialFeatures")) { - if (arguments.contains("-XX:+FlightRecorder")) { + Boolean isUnlockedCommercialFatures = WB.getBooleanVMFlag("UnlockCommercialFeatures"); + Boolean isFlightRecorder = WB.getBooleanVMFlag("FlightRecorder"); + String startFROptions = WB.getStringVMFlag("StartFlightRecording"); + if (isUnlockedCommercialFatures != null && isUnlockedCommercialFatures) { + if (isFlightRecorder != null && isFlightRecorder) { return "true"; } - if (arguments.contains("-XX:-FlightRecorder")) { - return "false"; - } - if (arguments.stream() - .anyMatch(option -> option.startsWith("-XX:StartFlightRecording"))) { + if (startFROptions != null && !startFROptions.isEmpty()) { return "true"; } } From ed3ce54f5ee68c4197be3a3dbf56224b83f655f9 Mon Sep 17 00:00:00 2001 From: Daniil Titov Date: Thu, 21 Jul 2016 12:26:07 -0700 Subject: [PATCH 08/17] 8156960: Deprecate JSObject.getWindow(Applet) method Reviewed-by: mchung, kcr, smarks, erikj, alexsch --- make/Javadoc.gmk | 62 +++++++++++++++++++++++++++++++++-- make/common/NON_CORE_PKGS.gmk | 3 ++ 2 files changed, 63 insertions(+), 2 deletions(-) diff --git a/make/Javadoc.gmk b/make/Javadoc.gmk index d1607b24bab..379b590c863 100644 --- a/make/Javadoc.gmk +++ b/make/Javadoc.gmk @@ -82,7 +82,7 @@ JNLP_FIRST_COPYRIGHT_YEAR = 1998 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007 JDKNET_FIRST_COPYRIGHT_YEAR = 2014 JACCESSAPI_FIRST_COPYRIGHT_YEAR = 2002 - +JSOBJECT_FIRST_COPYRIGHT_YEAR = 1993 # Oracle name FULL_COMPANY_NAME = Oracle and/or its affiliates @@ -1025,6 +1025,64 @@ $(HTTPSERVER_PACKAGES_FILE): $(call PackageDependencies,$(HTTPSERVER_PKGS)) $(prep-target) $(call PackageFilter,$(HTTPSERVER_PKGS)) +############################################################# +# +# jsobjectdocs +# + +ALL_OTHER_TARGETS += jsobjectdocs + +JSOBJECT_DOCDIR := $(JRE_API_DOCSDIR)/plugin/jsobject +JSOBJECT2COREAPI := ../../$(JDKJRE2COREAPI) +JSOBJECT_DOCTITLE := Java$(TRADEMARK) JSObject Doc +JSOBJECT_WINDOWTITLE := Java JSObject Doc +JSOBJECT_HEADER := Java JSObject Doc +JSOBJECT_BOTTOM := $(call CommonBottom,$(JSOBJECT_FIRST_COPYRIGHT_YEAR)) +# JSOBJECT_PKGS is located in NON_CORE_PKGS.gmk + +JSOBJECT_INDEX_HTML = $(JSOBJECT_DOCDIR)/index.html +JSOBJECT_OPTIONS_FILE = $(DOCSTMPDIR)/jsobject.options +JSOBJECT_PACKAGES_FILE = $(DOCSTMPDIR)/jsobject.packages + +# The modules required to be documented +JSOBJECT_MODULES = jdk.jsobject + +jsobjectdocs: $(JSOBJECT_INDEX_HTML) + +# Set relative location to core api document root +$(JSOBJECT_INDEX_HTML): GET2DOCSDIR=$(JSOBJECT2COREAPI)/.. + +# Run javadoc if the index file is out of date or missing +$(JSOBJECT_INDEX_HTML): $(JSOBJECT_OPTIONS_FILE) $(JSOBJECT_PACKAGES_FILE) $(COREAPI_INDEX_FILE) + $(prep-javadoc) + $(call JavadocSummary,$(JSOBJECT_OPTIONS_FILE),$(JSOBJECT_PACKAGES_FILE)) + $(JAVADOC_CMD_SMALL) -d $(@D) \ + @$(JSOBJECT_OPTIONS_FILE) @$(JSOBJECT_PACKAGES_FILE) + +# Create file with javadoc options in it +$(JSOBJECT_OPTIONS_FILE): + $(prep-target) + @($(call COMMON_JAVADOCFLAGS) ; \ + $(call COMMON_JAVADOCTAGS) ; \ + $(call OptionOnly,-Xdoclint:none) ; \ + $(call OptionPair,-system,none) ; \ + $(call OptionPair,-modulesourcepath,$(RELEASEDOCS_MODULESOURCEPATH)) ; \ + $(call OptionPair,-addmods,$(JSOBJECT_MODULES)) ; \ + $(call OptionPair,-encoding,ascii) ; \ + $(call OptionOnly,-nodeprecatedlist) ; \ + $(call OptionPair,-doctitle,$(JSOBJECT_DOCTITLE)) ; \ + $(call OptionPair,-windowtitle,$(JSOBJECT_WINDOWTITLE) $(DRAFT_WINTITLE)); \ + $(call OptionPair,-header,$(JSOBJECT_HEADER)$(DRAFT_HEADER)); \ + $(call OptionPair,-bottom,$(JSOBJECT_BOTTOM)$(DRAFT_BOTTOM)); \ + $(call OptionTrip,-linkoffline,$(JSOBJECT2COREAPI),$(COREAPI_DOCSDIR)/); \ + ) >> $@ + +# Create a file with the package names in it +$(JSOBJECT_PACKAGES_FILE): $(call PackageDependencies,$(JSOBJECT_PKGS)) + $(prep-target) + $(call PackageFilter,$(JSOBJECT_PKGS)) + + ############################################################# # # mgmtdocs @@ -1610,7 +1668,7 @@ $(JDKNET_PACKAGES_FILE): $(call PackageDependencies,$(JDKNET_PKGS)) # # TODO: Need to decide when the plugin API is ready to publish as experimental API. # This target is temporarily added for internal use for now. -# +# ALL_OTHER_TARGETS += jlinkdocs diff --git a/make/common/NON_CORE_PKGS.gmk b/make/common/NON_CORE_PKGS.gmk index ad546a4456d..e17ff1402ea 100644 --- a/make/common/NON_CORE_PKGS.gmk +++ b/make/common/NON_CORE_PKGS.gmk @@ -114,8 +114,11 @@ JDK_PKGS = jdk \ JACCESSAPI_PKGS = com.sun.java.accessibility.util +JSOBJECT_PKGS = netscape.javascript + # non-core packages in rt.jar NON_CORE_PKGS = $(DOMAPI_PKGS) \ + $(JSOBJECT_PKGS) \ $(MGMT_PKGS) \ $(JAAS_PKGS) \ $(JGSS_PKGS) \ From 337d9bf4de03738cda7b1e29c6ada104cf9595e4 Mon Sep 17 00:00:00 2001 From: Sharath Ballal Date: Mon, 1 Aug 2016 10:51:51 +0300 Subject: [PATCH 09/17] 8158050: Remove SA-JDI Remove SA-JDI Reviewed-by: alanb, dsamersoff --- make/Images.gmk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/make/Images.gmk b/make/Images.gmk index 7ba95286f91..a1b0a70b243 100644 --- a/make/Images.gmk +++ b/make/Images.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -225,7 +225,6 @@ ifneq ($(OPENJDK_TARGET_OS), windows) jmap.1 \ jps.1 \ jrunscript.1 \ - jsadebugd.1 \ jstack.1 \ jstat.1 \ jstatd.1 \ From af3260fbe88730d43ff0873818d8f2b62e2f738d Mon Sep 17 00:00:00 2001 From: Michail Chernov Date: Tue, 2 Aug 2016 15:21:53 +0300 Subject: [PATCH 10/17] 8161604: TestNewSizeFlags fails with RuntimeException: max new size != MaxNewSize value Reviewed-by: sangheki, tschatzl --- test/lib/sun/hotspot/WhiteBox.java | 1 + 1 file changed, 1 insertion(+) diff --git a/test/lib/sun/hotspot/WhiteBox.java b/test/lib/sun/hotspot/WhiteBox.java index e34b27a159f..1db761d6f9d 100644 --- a/test/lib/sun/hotspot/WhiteBox.java +++ b/test/lib/sun/hotspot/WhiteBox.java @@ -84,6 +84,7 @@ public class WhiteBox { public native long getVMAllocationGranularity(); public native long getVMLargePageSize(); public native long getHeapSpaceAlignment(); + public native long getHeapAlignment(); private native boolean isObjectInOldGen0(Object o); public boolean isObjectInOldGen(Object o) { From 66630877b2655bc08e5685e1db4b9d98281b9efe Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Wed, 3 Aug 2016 10:37:08 +0200 Subject: [PATCH 11/17] 8148548: [Linux/Solaris] debuginfo and fastdebuginfo bundle contains demo info Reviewed-by: tbell --- make/Bundles.gmk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/make/Bundles.gmk b/make/Bundles.gmk index 84b7afc2b76..111d7cea4fa 100644 --- a/make/Bundles.gmk +++ b/make/Bundles.gmk @@ -187,7 +187,11 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), ) $(JDK_SYMBOLS_EXCLUDE_PATTERN) \ $(SYMBOLS_EXCLUDE_PATTERN) \ , \ - $(ALL_JDK_FILES) \ + $(filter-out \ + $(JDK_IMAGE_HOMEDIR)/demo/% $(JDK_IMAGE_HOMEDIR)/sample/% \ + , \ + $(ALL_JDK_FILES) \ + ) \ ) \ $(call CacheFind, $(SYMBOLS_IMAGE_DIR)) From ebb077b54441f843396d7ce7bbbb30f46866da18 Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Wed, 3 Aug 2016 10:38:53 +0200 Subject: [PATCH 12/17] 8056269: get_source.sh does not copy the closed repos when cloning local filesystems Reviewed-by: tbell --- common/bin/hgforest.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh index ff0bcdfb0f0..7320aa09a11 100644 --- a/common/bin/hgforest.sh +++ b/common/bin/hgforest.sh @@ -335,7 +335,10 @@ else for j in ${repos_extra} ; do if [ "${i}" = "${j}" ] ; then # it's an "extra" - pull_base="${pull_extra}" + if [ -n "${pull_extra}" ]; then + # if no pull_extra is defined, assume that pull_default is valid + pull_base="${pull_extra}" + fi fi done From 24cc816a9d7d4efa207d058230e16575598c590b Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Thu, 4 Aug 2016 10:00:54 +0200 Subject: [PATCH 13/17] 8162354: Unable to build JDK 9 on a Sparc T7-1 with default boot-jdk 8.0 Reviewed-by: tbell, dholmes --- common/conf/jib-profiles.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/common/conf/jib-profiles.js b/common/conf/jib-profiles.js index cefedb00dca..2fa29a7c634 100644 --- a/common/conf/jib-profiles.js +++ b/common/conf/jib-profiles.js @@ -357,6 +357,18 @@ var getJibProfilesDependencies = function (input, common) { var boot_jdk_platform = input.build_os + "-" + (input.build_cpu == "x86" ? "i586" : input.build_cpu); + var boot_jdk_revision = "8"; + var boot_jdk_subdirpart = "1.8.0"; + // JDK 8 does not work on sparc M7 cpus, need a newer update when building + // on such hardware. + if (input.build_cpu == "sparcv9") { + var cpu_brand = $EXEC("bash -c \"kstat -m cpu_info | grep brand | head -n1 | awk '{ print \$2 }'\""); + if (cpu_brand.trim() == 'SPARC-M7') { + boot_jdk_revision = "8u20"; + boot_jdk_subdirpart = "1.8.0_20"; + } + } + var devkit_platform_revisions = { linux_x64: "gcc4.9.2-OEL6.4+1.0", macosx_x64: "Xcode6.3-MacOSX10.9+1.0", @@ -374,12 +386,12 @@ var getJibProfilesDependencies = function (input, common) { boot_jdk: { server: "javare", module: "jdk", - revision: "8", + revision: boot_jdk_revision, checksum_file: boot_jdk_platform + "/MD5_VALUES", - file: boot_jdk_platform + "/jdk-8-" + boot_jdk_platform + ".tar.gz", + file: boot_jdk_platform + "/jdk-" + boot_jdk_revision + "-" + boot_jdk_platform + ".tar.gz", configure_args: (input.build_os == "macosx" - ? "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk1.8.0.jdk/Contents/Home" - : "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk1.8.0") + ? "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk" + boot_jdk_subdirpart + ".jdk/Contents/Home" + : "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk" + boot_jdk_subdirpart) }, devkit: { From 958b1de2d97b698603091475dce1157c01627286 Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Thu, 4 Aug 2016 10:03:57 +0200 Subject: [PATCH 14/17] 8079788: Fix broken CL version detection in configure for some Visual Studio configurations Reviewed-by: tbell --- common/autoconf/generated-configure.sh | 10 +++++++--- common/autoconf/toolchain.m4 | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 961e90e1142..0aa37b64997 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -5094,7 +5094,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1469202305 +DATE_WHEN_GENERATED=1470297769 ############################################################################### # @@ -43767,8 +43767,12 @@ $as_echo "$as_me: Rewriting OBJDUMP to \"$new_complete\"" >&6;} fi - # Restore old path. - PATH="$OLD_PATH" + # Restore old path, except for the microsoft toolchain, which requires VS_PATH + # to remain in place. Otherwise the compiler will not work in some siutations + # in later configure checks. + if test "x$TOOLCHAIN_TYPE" != "xmicrosoft"; then + PATH="$OLD_PATH" + fi # Restore the flags to the user specified values. # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2" diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index e87cb24e7f2..af73303dadc 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -312,8 +312,12 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION], # Restore path, etc AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION], [ - # Restore old path. - PATH="$OLD_PATH" + # Restore old path, except for the microsoft toolchain, which requires VS_PATH + # to remain in place. Otherwise the compiler will not work in some siutations + # in later configure checks. + if test "x$TOOLCHAIN_TYPE" != "xmicrosoft"; then + PATH="$OLD_PATH" + fi # Restore the flags to the user specified values. # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2" From 2719e407ba02aa7f3e5b2579ee6d05d28a9b6ede Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Thu, 4 Aug 2016 10:05:40 +0200 Subject: [PATCH 15/17] 8160334: Building --with-parfait= fails with No rule to make target 'PARFAIT_NATIVEJMOD Reviewed-by: tbell --- make/CreateJmods.gmk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/make/CreateJmods.gmk b/make/CreateJmods.gmk index bc8e464d74e..42ef85536da 100644 --- a/make/CreateJmods.gmk +++ b/make/CreateJmods.gmk @@ -1,5 +1,5 @@ -# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -82,8 +82,10 @@ ifeq ($(MODULE), java.base) endif endif -# Changes to the jmod tool itself should also trigger a rebuild of all jmods -DEPS += $(JMOD_CMD) +# Changes to the jmod tool itself should also trigger a rebuild of all jmods. +# The variable JMOD_CMD could contain an environment variable assignment before +# the actual command. Filter that out using wildcard before adding to DEPS. +DEPS += $(wildcard $(JMOD_CMD)) ifeq ($(EXTERNAL_BUILDJDK), false) DEPS += $(call CacheFind, $(JDK_OUTPUTDIR)/modules/jdk.jlink/jdk/tools/jmod) endif @@ -100,7 +102,7 @@ $(JMODS_DIR)/$(MODULE).jmod: $(DEPS) --os-name $(REQUIRED_OS_NAME) \ --os-arch $(OPENJDK_TARGET_CPU_LEGACY) \ --os-version $(REQUIRED_OS_VERSION) \ - --modulepath $(JMODS_DIR) \ + --modulepath $(JMODS_DIR) \ --exclude '**{_the.*,*.diz,*.debuginfo,*.dSYM/**,*.pdb,*.map}' \ $(JMOD_FLAGS) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $(MV) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $@ From fe877326b8f9b0d6a0d121b11d32f255c154b0eb Mon Sep 17 00:00:00 2001 From: Kumar Srinivasan Date: Wed, 3 Aug 2016 16:00:49 -0700 Subject: [PATCH 16/17] 8039305: [javadoc] broken link in jdk/api/javadoc/taglet/com/sun/tools/doclets/Taglet.html Reviewed-by: erikj, jjg --- make/Javadoc.gmk | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/make/Javadoc.gmk b/make/Javadoc.gmk index d1607b24bab..0a77525e733 100644 --- a/make/Javadoc.gmk +++ b/make/Javadoc.gmk @@ -576,14 +576,14 @@ $(OLD_DOCLETAPI_PACKAGES_FILE): $(call PackageDependencies,$(OLD_DOCLETAPI_PKGS) ALL_OTHER_TARGETS += tagletapidocs TAGLETAPI_DOCDIR := $(OLD_DOCLET_DIR)/taglet TAGLETAPI2COREAPI := ../../../$(JDKJRE2COREAPI) +TAGLETAPI_DOCTITLE := Taglet API +TAGLETAPI_WINDOWTITLE := Taglet API +TAGLETAPI_HEADER := Taglet API TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR)) # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk -# Temporary directory (special generation rules) -TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp - # The index.html, options, and packages files -TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/com/sun/tools/doclets/Taglet.html +TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages @@ -592,20 +592,12 @@ TAGLETAPI_MODULES = jdk.javadoc tagletapidocs: $(TAGLETAPI_INDEX_FILE) -# Set relative location to core api document root -$(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/.. - # Run javadoc if the index file is out of date or missing $(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE) $(prep-javadoc) - $(RM) -r $(TAGLETAPI_TEMPDIR) - $(MKDIR) -p $(TAGLETAPI_TEMPDIR) $(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE)) - $(JAVADOC_CMD_SMALL) -d $(TAGLETAPI_TEMPDIR) \ + $(JAVADOC_CMD_SMALL) -d $(@D) \ @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE) - cp -r $(TAGLETAPI_TEMPDIR)/com $(TAGLETAPI_DOCDIR) - cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(TAGLETAPI_DOCDIR) - $(RM) -r $(TAGLETAPI_TEMPDIR) # Create file with javadoc options in it $(TAGLETAPI_OPTIONS_FILE): @@ -617,6 +609,10 @@ $(TAGLETAPI_OPTIONS_FILE): $(call OptionPair,-modulesourcepath,$(RELEASEDOCS_MODULESOURCEPATH)) ; \ $(call OptionPair,-addmods,$(TAGLETAPI_MODULES)) ; \ $(call OptionPair,-encoding,ascii) ; \ + $(call OptionOnly,-breakiterator) ; \ + $(call OptionPair,-doctitle,$(TAGLETAPI_DOCTITLE)) ; \ + $(call OptionPair,-windowtitle,$(TAGLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ + $(call OptionPair,-header,$(TAGLETAPI_HEADER)$(DRAFT_HEADER)) ; \ $(call OptionOnly,-nonavbar) ; \ $(call OptionOnly,-noindex) ; \ $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ From a1da9c19c1a98ccd596b1e9bc464a300273f3fdf Mon Sep 17 00:00:00 2001 From: Alejandro Murillo Date: Thu, 4 Aug 2016 17:32:51 +0000 Subject: [PATCH 17/17] Added tag jdk-9+130 for changeset 428c076d7ddf --- .hgtags-top-repo | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 918c4e57478..b44b5caeac9 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -372,3 +372,4 @@ f80c841ae2545eaf9acd2724bccc305d98cefbe2 jdk-9+124 8fa686245bd2a072ece3392743460030f0854520 jdk-9+127 b30ae794d974d7dd3eb4e84203f70021823fa6c6 jdk-9+128 f5902d3841b82cac6e7716a20c24e8e916fb14a8 jdk-9+129 +d94d54a3192fea79234c3ac55cd0b4052d45e954 jdk-9+130