common/autoconf/generated-configure.sh
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/common/autoconf/generated-configure.sh Tue Dec 13 12:41:02 2016
--- new/common/autoconf/generated-configure.sh Tue Dec 13 12:41:00 2016
*** 751,760 ****
--- 751,761 ----
CXXFLAGS_JDKLIB
CFLAGS_JDKEXE
CFLAGS_JDKLIB
MACOSX_VERSION_MIN
CXXSTD_CXXFLAG
+ JDK_ARCH_ABI_PROP_NAME
CXX_O_FLAG_SIZE
CXX_O_FLAG_NONE
CXX_O_FLAG_DEBUG
CXX_O_FLAG_NORM
CXX_O_FLAG_HI
*** 1132,1141 ****
--- 1133,1143 ----
with_custom_make_dir
with_jdk_variant
enable_debug
with_debug_level
with_jvm_variants
+ with_cpu_port
with_devkit
with_sys_root
with_sysroot
with_tools_dir
with_toolchain_path
*** 1181,1190 ****
--- 1183,1193 ----
with_extra_cxxflags
with_extra_ldflags
with_toolchain_version
with_build_devkit
with_jtreg
+ with_abi_profile
enable_warnings_as_errors
with_native_debug_symbols
enable_debug_symbols
enable_zip_debug_info
enable_native_coverage
*** 2037,2046 ****
--- 2040,2051 ----
--with-debug-level set the debug level (release, fastdebug, slowdebug,
optimized) [release]
--with-jvm-variants JVM variants (separated by commas) to build
(server,client,minimal,core,zero,zeroshark,custom)
[server]
+ --with-cpu-port specify sources to use for Hotspot 64-bit ARM port
+ (arm64,aarch64) [aarch64]
--with-devkit use this devkit for compilers, tools and resources
--with-sys-root alias for --with-sysroot for backwards compatability
--with-sysroot use this directory as sysroot
--with-tools-dir alias for --with-toolchain-path for backwards
compatibility
*** 2119,2128 ****
--- 2124,2137 ----
the version of the toolchain to look for, use
'--help' to show possible values [platform
dependent]
--with-build-devkit Devkit to use for the build platform toolchain
--with-jtreg Regression Test Harness [probed]
+ --with-abi-profile specify ABI profile for ARM builds
+ (arm-vfp-sflt,arm-vfp-hflt,arm-sflt,
+ armv5-vfp-sflt,armv6-vfp-hflt,arm64,aarch64)
+ [toolchain dependent]
--with-native-debug-symbols
set the native debug symbol configuration (none,
internal, external, zipped) [varying]
--with-stdc++lib=<static>,<dynamic>,<default>
force linking of the C++ runtime on Linux to either
*** 4010,4019 ****
--- 4019,4034 ----
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
+ ################################################################################
+ #
+ # Setup ABI profile (for arm)
+ #
+
+
# Reset the global CFLAGS/LDFLAGS variables and initialize them with the
# corresponding configure arguments instead
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
*** 4270,4280 ****
--- 4285,4296 ----
# questions.
#
# All valid JVM features, regardless of platform
VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti jvmci \
! graal fprof vm-structs jni-check services management all-gcs nmt cds static-build aot"
! graal fprof vm-structs jni-check services management all-gcs nmt cds \
+ static-build link-time-opt aot"
# All valid JVM variants
VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom"
###############################################################################
*** 4330,4339 ****
--- 4346,4365 ----
# Validate JVM features once all setup is complete, including custom setup.
#
################################################################################
+ #
+ # Specify which sources will be used to build the 64-bit ARM port
+ #
+ # --with-cpu-port=arm64 will use hotspot/src/cpu/arm
+ # --with-cpu-port=aarch64 will use hotspot/src/cpu/aarch64
+ #
+
+
+
+ ################################################################################
# Check if gtest should be built
#
#
*** 5140,5150 ****
--- 5166,5176 ----
# definitions. It is replaced with custom functionality when building
# custom sources.
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
! DATE_WHEN_GENERATED=1481496095
! DATE_WHEN_GENERATED=1481572389
###############################################################################
#
# Initialization / Boot-strapping
#
*** 16719,16728 ****
--- 16745,16774 ----
if test "${with_jvm_variants+set}" = set; then :
withval=$with_jvm_variants;
fi
+
+
+ # Check whether --with-cpu-port was given.
+ if test "${with_cpu_port+set}" = set; then :
+ withval=$with_cpu_port;
+ fi
+
+
+ if test "x$with_cpu_port" != x; then
+ if test "x$OPENJDK_TARGET_CPU" != xaarch64; then
+ as_fn_error $? "--with-cpu-port only available on aarch64" "$LINENO" 5
+ fi
+ if test "x$with_cpu_port" != xarm64 && \
+ test "x$with_cpu_port" != xaarch64; then
+ as_fn_error $? "--with-cpu-port must specify arm64 or aarch64" "$LINENO" 5
+ fi
+ HOTSPOT_TARGET_CPU_PORT="$with_cpu_port"
+ fi
+
+
if test "x$with_jvm_variants" = x; then
with_jvm_variants="server"
fi
JVM_VARIANTS_OPT="$with_jvm_variants"
*** 49057,49069 ****
--- 49103,49123 ----
else
# Default works for linux, might work on other platforms as well.
PICFLAG='-fPIC'
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN$1'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=$1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=$1'
+
+ # arm specific settings
+ if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
+ # '-Wl,-z,origin' isn't used on arm.
+ SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN$1'
+ else
+ SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
+ fi
+
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
PICFLAG="-xcode=pic32"
else
*** 49649,49658 ****
--- 49703,49814 ----
+
+ # Check whether --with-abi-profile was given.
+ if test "${with_abi_profile+set}" = set; then :
+ withval=$with_abi_profile;
+ fi
+
+
+ if test "x$with_abi_profile" != x; then
+ if test "x$OPENJDK_TARGET_CPU" != xarm && \
+ test "x$OPENJDK_TARGET_CPU" != xaarch64; then
+ as_fn_error $? "--with-abi-profile only available on arm/aarch64" "$LINENO" 5
+ fi
+
+ OPENJDK_TARGET_ABI_PROFILE=$with_abi_profile
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ABI profle" >&5
+ $as_echo_n "checking for ABI profle... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_ABI_PROFILE" >&5
+ $as_echo "$OPENJDK_TARGET_ABI_PROFILE" >&6; }
+
+ if test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-sflt; then
+ ARM_FLOAT_TYPE=vfp-sflt
+ ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb'
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-hflt; then
+ ARM_FLOAT_TYPE=vfp-hflt
+ ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb'
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-sflt; then
+ ARM_FLOAT_TYPE=sflt
+ ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm'
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv5-vfp-sflt; then
+ ARM_FLOAT_TYPE=vfp-sflt
+ ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm'
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv6-vfp-hflt; then
+ ARM_FLOAT_TYPE=vfp-hflt
+ ARM_ARCH_TYPE_FLAGS='-march=armv6 -marm'
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm64; then
+ # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
+ ARM_FLOAT_TYPE=
+ ARM_ARCH_TYPE_FLAGS=
+ elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xaarch64; then
+ # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
+ ARM_FLOAT_TYPE=
+ ARM_ARCH_TYPE_FLAGS=
+ else
+ as_fn_error $? "Invalid ABI profile: \"$OPENJDK_TARGET_ABI_PROFILE\"" "$LINENO" 5
+ fi
+
+ if test "x$ARM_FLOAT_TYPE" = xvfp-sflt; then
+ ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=softfp -mfpu=vfp -DFLOAT_ARCH=-vfp-sflt'
+ elif test "x$ARM_FLOAT_TYPE" = xvfp-hflt; then
+ ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=hard -mfpu=vfp -DFLOAT_ARCH=-vfp-hflt'
+ elif test "x$ARM_FLOAT_TYPE" = xsflt; then
+ ARM_FLOAT_TYPE_FLAGS='-msoft-float -mfpu=vfp'
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ARM_FLOAT_TYPE floating point flags" >&5
+ $as_echo_n "checking for $ARM_FLOAT_TYPE floating point flags... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARM_FLOAT_TYPE_FLAGS" >&5
+ $as_echo "$ARM_FLOAT_TYPE_FLAGS" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for arch type flags" >&5
+ $as_echo_n "checking for arch type flags... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARM_ARCH_TYPE_FLAGS" >&5
+ $as_echo "$ARM_ARCH_TYPE_FLAGS" >&6; }
+
+ # Now set JDK_ARCH_ABI_PROP_NAME. This is equivalent to the last part of the
+ # autoconf target triplet.
+ JDK_ARCH_ABI_PROP_NAME=`$ECHO $OPENJDK_TARGET_AUTOCONF_NAME | $SED -e 's/.*-\([^-]*\)$/\1/'`
+ # Sanity check that it is a known ABI.
+ if test "x$JDK_ARCH_ABI_PROP_NAME" != xgnu && \
+ test "x$JDK_ARCH_ABI_PROP_NAME" != xgnueabi && \
+ test "x$JDK_ARCH_ABI_PROP_NAME" != xgnueabihf; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown autoconf target triplet ABI: \"$JDK_ARCH_ABI_PROP_NAME\"" >&5
+ $as_echo "$as_me: WARNING: Unknown autoconf target triplet ABI: \"$JDK_ARCH_ABI_PROP_NAME\"" >&2;}
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ABI property name" >&5
+ $as_echo_n "checking for ABI property name... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_ARCH_ABI_PROP_NAME" >&5
+ $as_echo "$JDK_ARCH_ABI_PROP_NAME" >&6; }
+
+
+ # Pass these on to the open part of configure as if they were set using
+ # --with-extra-c[xx]flags.
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
+ # Get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
+ # FIXME: This should not really be set using extra_cflags.
+ if test "x$OPENJDK_TARGET_CPU" = xarm; then
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-psabi"
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -Wno-psabi"
+ fi
+ # Also add JDK_ARCH_ABI_PROP_NAME define, but only to CFLAGS.
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
+ # And pass the architecture flags to the linker as well
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
+ fi
+
+ # When building with an abi profile, the name of that profile is appended on the
+ # bundle platform, which is used in bundle names.
+ if test "x$OPENJDK_TARGET_ABI_PROFILE" != x; then
+ OPENJDK_TARGET_BUNDLE_PLATFORM="$OPENJDK_TARGET_OS_BUNDLE-$OPENJDK_TARGET_ABI_PROFILE"
+ fi
+
+
# Special extras...
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
*** 49800,49809 ****
--- 49956,49966 ----
-pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
arm )
# on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+ COMMON_CCXXFLAGS_JDK="${COMMON_CCXXFLAGS_JDK} -fsigned-char"
;;
ppc )
# on ppc we don't prevent gcc to omit frame pointer but do prevent strict aliasing
CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
;;
*** 50622,50631 ****
--- 50779,50789 ----
-pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_BUILD_CPU_ARCH in
arm )
# on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -fno-strict-aliasing"
+ OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK="${OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK} -fsigned-char"
;;
ppc )
# on ppc we don't prevent gcc to omit frame pointer but do prevent strict aliasing
OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -fno-strict-aliasing"
;;
*** 64070,64079 ****
--- 64228,64250 ----
JVM_FEATURES=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JVM_FEATURES" >&5
$as_echo "$JVM_FEATURES" >&6; }
fi
+ # Override hotspot cpu definitions for ARM platforms
+ if test "x$OPENJDK_TARGET_CPU" = xarm; then
+ HOTSPOT_TARGET_CPU=arm_32
+ HOTSPOT_TARGET_CPU_DEFINE="ARM32"
+ JVM_LDFLAGS="$JVM_LDFLAGS -fsigned-char"
+ JVM_CFLAGS="$JVM_CFLAGS -DARM -fsigned-char"
+ elif test "x$OPENJDK_TARGET_CPU" = xaarch64 && test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
+ HOTSPOT_TARGET_CPU=arm_64
+ HOTSPOT_TARGET_CPU_ARCH=arm
+ JVM_LDFLAGS="$JVM_LDFLAGS -fsigned-char"
+ JVM_CFLAGS="$JVM_CFLAGS -DARM -fsigned-char"
+ fi
+
# Verify that dependencies are met for explicitly set features.
if [[ " $JVM_FEATURES " =~ " jvmti " ]] && ! [[ " $JVM_FEATURES " =~ " services " ]] ; then
as_fn_error $? "Specified JVM feature 'jvmti' requires feature 'services'" "$LINENO" 5
fi
*** 64177,64194 ****
--- 64348,64372 ----
$as_echo "no" >&6; }
fi
JVM_FEATURES_aot=""
fi
+ if test "x$OPENJDK_TARGET_CPU" = xarm ; then
+ # Default to use link time optimizations on minimal on arm
+ JVM_FEATURES_link_time_opt="link-time-opt"
+ else
+ JVM_FEATURES_link_time_opt=""
+ fi
+
# All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jvmti fprof vm-structs jni-check services management all-gcs nmt cds"
# Enable features depending on variant.
JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot $JVM_FEATURES_graal"
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_link_time_opt"
JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_zeroshark="zero shark $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_custom="$JVM_FEATURES"
common/autoconf/generated-configure.sh
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File