8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64

Tue, 02 Jul 2013 17:38:10 -0700

author
simonis
date
Tue, 02 Jul 2013 17:38:10 -0700
changeset 965
3ef3f4174c2b
parent 748
c156084add48
child 966
81632308f60d

8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64
Summary: Enable new build on Linux/PPC64
Reviewed-by: erikj

common/autoconf/boot-jdk.m4 file | annotate | diff | comparison | revisions
common/autoconf/configure.ac file | annotate | diff | comparison | revisions
common/autoconf/generated-configure.sh file | annotate | diff | comparison | revisions
common/autoconf/hotspot-spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/jdk-options.m4 file | annotate | diff | comparison | revisions
common/autoconf/spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/toolchain.m4 file | annotate | diff | comparison | revisions
     1.1 --- a/common/autoconf/boot-jdk.m4	Tue Jun 25 13:47:00 2013 -0700
     1.2 +++ b/common/autoconf/boot-jdk.m4	Tue Jul 02 17:38:10 2013 -0700
     1.3 @@ -316,7 +316,7 @@
     1.4  
     1.5      # Minimum amount of heap memory.
     1.6      ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
     1.7 -    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
     1.8 +    if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
     1.9          # Why does macosx need more heap? Its the huge JDK batch.
    1.10          ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
    1.11      else
     2.1 --- a/common/autoconf/configure.ac	Tue Jun 25 13:47:00 2013 -0700
     2.2 +++ b/common/autoconf/configure.ac	Tue Jul 02 17:38:10 2013 -0700
     2.3 @@ -88,6 +88,7 @@
     2.4  
     2.5  # These are needed to be able to create a configuration name (and thus the output directory)
     2.6  JDKOPT_SETUP_JDK_VARIANT
     2.7 +JDKOPT_SETUP_JVM_INTERPRETER
     2.8  JDKOPT_SETUP_JVM_VARIANTS
     2.9  JDKOPT_SETUP_DEBUG_LEVEL
    2.10  
     3.1 --- a/common/autoconf/generated-configure.sh	Tue Jun 25 13:47:00 2013 -0700
     3.2 +++ b/common/autoconf/generated-configure.sh	Tue Jul 02 17:38:10 2013 -0700
     3.3 @@ -638,6 +638,7 @@
     3.4  CFLAGS_DEBUG_SYMBOLS
     3.5  ZIP_DEBUGINFO_FILES
     3.6  ENABLE_DEBUG_SYMBOLS
     3.7 +USING_BROKEN_SUSE_LD
     3.8  COMPILER_SUPPORTS_TARGET_BITS_FLAG
     3.9  ZERO_ARCHFLAG
    3.10  LDFLAGS_CXX_JDK
    3.11 @@ -824,6 +825,7 @@
    3.12  DEBUG_LEVEL
    3.13  MACOSX_UNIVERSAL
    3.14  INCLUDE_SA
    3.15 +JVM_VARIANT_CORE
    3.16  JVM_VARIANT_ZEROSHARK
    3.17  JVM_VARIANT_ZERO
    3.18  JVM_VARIANT_KERNEL
    3.19 @@ -831,6 +833,7 @@
    3.20  JVM_VARIANT_CLIENT
    3.21  JVM_VARIANT_SERVER
    3.22  JVM_VARIANTS
    3.23 +JVM_INTERPRETER
    3.24  JDK_VARIANT
    3.25  SET_OPENJDK
    3.26  BUILD_LOG_WRAPPER
    3.27 @@ -975,6 +978,7 @@
    3.28  with_devkit
    3.29  enable_openjdk_only
    3.30  with_jdk_variant
    3.31 +with_jvm_interpreter
    3.32  with_jvm_variants
    3.33  enable_debug
    3.34  with_debug_level
    3.35 @@ -1713,8 +1717,10 @@
    3.36    --with-devkit           use this directory as base for tools-dir and
    3.37                            sys-root (for cross-compiling)
    3.38    --with-jdk-variant      JDK variant to build (normal) [normal]
    3.39 +  --with-jvm-interpreter  JVM interpreter to build (template, cpp) [template]
    3.40    --with-jvm-variants     JVM variants (separated by commas) to build (server,
    3.41 -                          client, minimal1, kernel, zero, zeroshark) [server]
    3.42 +                          client, minimal1, kernel, zero, zeroshark, core)
    3.43 +                          [server]
    3.44    --with-debug-level      set the debug level (release, fastdebug, slowdebug)
    3.45                            [release]
    3.46    --with-conf-name        use this as the name of the configuration [generated
    3.47 @@ -2845,7 +2851,7 @@
    3.48        || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
    3.49  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    3.50  as_fn_error $? "failed to load site script $ac_site_file
    3.51 -See \`config.log' for more details" "$LINENO" 5 ; }
    3.52 +See \`config.log' for more details" "$LINENO" 5; }
    3.53    fi
    3.54  done
    3.55  
    3.56 @@ -3505,6 +3511,8 @@
    3.57  
    3.58  
    3.59  
    3.60 +
    3.61 +
    3.62  ###############################################################################
    3.63  #
    3.64  # Should we build only OpenJDK even if closed sources are present?
    3.65 @@ -3782,7 +3790,7 @@
    3.66  #CUSTOM_AUTOCONF_INCLUDE
    3.67  
    3.68  # Do not change or remove the following line, it is needed for consistency checks:
    3.69 -DATE_WHEN_GENERATED=1371547824
    3.70 +DATE_WHEN_GENERATED=1372808067
    3.71  
    3.72  ###############################################################################
    3.73  #
    3.74 @@ -6560,7 +6568,7 @@
    3.75  $as_echo "$ac_cv_build" >&6; }
    3.76  case $ac_cv_build in
    3.77  *-*-*) ;;
    3.78 -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
    3.79 +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
    3.80  esac
    3.81  build=$ac_cv_build
    3.82  ac_save_IFS=$IFS; IFS='-'
    3.83 @@ -6593,7 +6601,7 @@
    3.84  $as_echo "$ac_cv_host" >&6; }
    3.85  case $ac_cv_host in
    3.86  *-*-*) ;;
    3.87 -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
    3.88 +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
    3.89  esac
    3.90  host=$ac_cv_host
    3.91  ac_save_IFS=$IFS; IFS='-'
    3.92 @@ -6626,7 +6634,7 @@
    3.93  $as_echo "$ac_cv_target" >&6; }
    3.94  case $ac_cv_target in
    3.95  *-*-*) ;;
    3.96 -*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
    3.97 +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
    3.98  esac
    3.99  target=$ac_cv_target
   3.100  ac_save_IFS=$IFS; IFS='-'
   3.101 @@ -7572,6 +7580,37 @@
   3.102  $as_echo "$JDK_VARIANT" >&6; }
   3.103  
   3.104  
   3.105 +###############################################################################
   3.106 +#
   3.107 +# Check which interpreter of the JVM we want to build.
   3.108 +# Currently we have:
   3.109 +#    template: Template interpreter (the default)
   3.110 +#    cpp     : C++ interpreter
   3.111 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which interpreter of the JVM to build" >&5
   3.112 +$as_echo_n "checking which interpreter of the JVM to build... " >&6; }
   3.113 +
   3.114 +# Check whether --with-jvm-interpreter was given.
   3.115 +if test "${with_jvm_interpreter+set}" = set; then :
   3.116 +  withval=$with_jvm_interpreter;
   3.117 +fi
   3.118 +
   3.119 +
   3.120 +if test "x$with_jvm_interpreter" = x; then
   3.121 +     with_jvm_interpreter="template"
   3.122 +fi
   3.123 +
   3.124 +JVM_INTERPRETER="$with_jvm_interpreter"
   3.125 +
   3.126 +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then
   3.127 +   as_fn_error $? "The available JVM interpreters are: template, cpp" "$LINENO" 5
   3.128 +fi
   3.129 +
   3.130 +
   3.131 +
   3.132 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_interpreter" >&5
   3.133 +$as_echo "$with_jvm_interpreter" >&6; }
   3.134 +
   3.135 +
   3.136  
   3.137  ###############################################################################
   3.138  #
   3.139 @@ -7584,6 +7623,7 @@
   3.140  #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
   3.141  #    zero: no machine code interpreter, no compiler
   3.142  #    zeroshark: zero interpreter and shark/llvm compiler backend
   3.143 +#    core: interpreter only, no compiler (only works on some platforms)
   3.144  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM to build" >&5
   3.145  $as_echo_n "checking which variants of the JVM to build... " >&6; }
   3.146  
   3.147 @@ -7598,10 +7638,10 @@
   3.148  fi
   3.149  
   3.150  JVM_VARIANTS=",$with_jvm_variants,"
   3.151 -TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
   3.152 +TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//' -e 's/core,//'`
   3.153  
   3.154  if test "x$TEST_VARIANTS" != "x,"; then
   3.155 -   as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark" "$LINENO" 5
   3.156 +   as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core" "$LINENO" 5
   3.157  fi
   3.158  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5
   3.159  $as_echo "$with_jvm_variants" >&6; }
   3.160 @@ -7612,6 +7652,7 @@
   3.161  JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
   3.162  JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
   3.163  JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
   3.164 +JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
   3.165  
   3.166  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
   3.167      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
   3.168 @@ -7631,7 +7672,7 @@
   3.169  
   3.170  # Replace the commas with AND for use in the build directory name.
   3.171  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
   3.172 -COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
   3.173 +COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'`
   3.174  if test "x$COUNT_VARIANTS" != "x,1"; then
   3.175      BUILDING_MULTIPLE_JVM_VARIANTS=yes
   3.176  else
   3.177 @@ -7646,6 +7687,7 @@
   3.178  
   3.179  
   3.180  
   3.181 +
   3.182  INCLUDE_SA=true
   3.183  if test "x$JVM_VARIANT_ZERO" = xtrue ; then
   3.184      INCLUDE_SA=false
   3.185 @@ -7653,6 +7695,9 @@
   3.186  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
   3.187      INCLUDE_SA=false
   3.188  fi
   3.189 +if test "x$VAR_CPU" = xppc64 ; then
   3.190 +    INCLUDE_SA=false
   3.191 +fi
   3.192  
   3.193  
   3.194  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
   3.195 @@ -7769,6 +7814,10 @@
   3.196      HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
   3.197  fi
   3.198  
   3.199 +if test "x$JVM_VARIANT_CORE" = xtrue; then
   3.200 +    HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
   3.201 +fi
   3.202 +
   3.203  HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
   3.204  
   3.205  # On Macosx universal binaries are produced, but they only contain
   3.206 @@ -15718,7 +15767,7 @@
   3.207  	JVM_ARG_OK=false
   3.208      fi
   3.209  
   3.210 -    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
   3.211 +    if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
   3.212          # Why does macosx need more heap? Its the huge JDK batch.
   3.213  
   3.214      $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
   3.215 @@ -20041,7 +20090,7 @@
   3.216  test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.217  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.218  as_fn_error $? "no acceptable C compiler found in \$PATH
   3.219 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.220 +See \`config.log' for more details" "$LINENO" 5; }
   3.221  
   3.222  # Provide some information about the compiler.
   3.223  $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
   3.224 @@ -20156,7 +20205,7 @@
   3.225  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.226  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.227  as_fn_error 77 "C compiler cannot create executables
   3.228 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.229 +See \`config.log' for more details" "$LINENO" 5; }
   3.230  else
   3.231    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
   3.232  $as_echo "yes" >&6; }
   3.233 @@ -20199,7 +20248,7 @@
   3.234    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.235  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.236  as_fn_error $? "cannot compute suffix of executables: cannot compile and link
   3.237 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.238 +See \`config.log' for more details" "$LINENO" 5; }
   3.239  fi
   3.240  rm -f conftest conftest$ac_cv_exeext
   3.241  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
   3.242 @@ -20258,7 +20307,7 @@
   3.243  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.244  as_fn_error $? "cannot run C compiled programs.
   3.245  If you meant to cross compile, use \`--host'.
   3.246 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.247 +See \`config.log' for more details" "$LINENO" 5; }
   3.248      fi
   3.249    fi
   3.250  fi
   3.251 @@ -20310,7 +20359,7 @@
   3.252  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.253  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.254  as_fn_error $? "cannot compute suffix of object files: cannot compile
   3.255 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.256 +See \`config.log' for more details" "$LINENO" 5; }
   3.257  fi
   3.258  rm -f conftest.$ac_cv_objext conftest.$ac_ext
   3.259  fi
   3.260 @@ -24485,7 +24534,7 @@
   3.261    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.262  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.263  as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
   3.264 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.265 +See \`config.log' for more details" "$LINENO" 5; }
   3.266  fi
   3.267  
   3.268  ac_ext=cpp
   3.269 @@ -24885,7 +24934,7 @@
   3.270    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.271  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.272  as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
   3.273 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.274 +See \`config.log' for more details" "$LINENO" 5; }
   3.275  fi
   3.276  
   3.277  ac_ext=cpp
   3.278 @@ -28722,7 +28771,7 @@
   3.279       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   3.280  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   3.281  as_fn_error 77 "cannot compute sizeof (int *)
   3.282 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.283 +See \`config.log' for more details" "$LINENO" 5; }
   3.284     else
   3.285       ac_cv_sizeof_int_p=0
   3.286     fi
   3.287 @@ -29724,6 +29773,27 @@
   3.288  
   3.289  
   3.290  
   3.291 +  # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
   3.292 +  USING_BROKEN_SUSE_LD=no
   3.293 +  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
   3.294 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken SuSE 'ld' which only understands anonymous version tags in executables" >&5
   3.295 +$as_echo_n "checking for broken SuSE 'ld' which only understands anonymous version tags in executables... " >&6; }
   3.296 +    echo "SUNWprivate_1.1 { local: *; };" > version-script.map
   3.297 +    echo "int main() { }" > main.c
   3.298 +    if $CXX -Xlinker -version-script=version-script.map main.c 2>&5 >&5; then
   3.299 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
   3.300 +$as_echo "no" >&6; }
   3.301 +      USING_BROKEN_SUSE_LD=no
   3.302 +    else
   3.303 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
   3.304 +$as_echo "yes" >&6; }
   3.305 +      USING_BROKEN_SUSE_LD=yes
   3.306 +    fi
   3.307 +    rm -rf version-script.map main.c
   3.308 +  fi
   3.309 +
   3.310 +
   3.311 +
   3.312  # Setup debug symbols (need objcopy from the toolchain for that)
   3.313  
   3.314  #
   3.315 @@ -29945,7 +30015,7 @@
   3.316    have_x=disabled
   3.317  else
   3.318    case $x_includes,$x_libraries in #(
   3.319 -    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
   3.320 +    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
   3.321      *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
   3.322    $as_echo_n "(cached) " >&6
   3.323  else
   3.324 @@ -32605,7 +32675,7 @@
   3.325  See the pkg-config man page for more details.
   3.326  
   3.327  To get pkg-config, see <http://pkg-config.freedesktop.org/>.
   3.328 -See \`config.log' for more details" "$LINENO" 5 ; }
   3.329 +See \`config.log' for more details" "$LINENO" 5; }
   3.330  else
   3.331  	LIBFFI_CFLAGS=$pkg_cv_LIBFFI_CFLAGS
   3.332  	LIBFFI_LIBS=$pkg_cv_LIBFFI_LIBS
   3.333 @@ -34134,7 +34204,7 @@
   3.334      "$OUTPUT_ROOT/spec.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" ;;
   3.335      "$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;;
   3.336  
   3.337 -  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
   3.338 +  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   3.339    esac
   3.340  done
   3.341  
   3.342 @@ -34449,7 +34519,7 @@
   3.343    esac
   3.344    case $ac_mode$ac_tag in
   3.345    :[FHL]*:*);;
   3.346 -  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
   3.347 +  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   3.348    :[FH]-) ac_tag=-:-;;
   3.349    :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   3.350    esac
   3.351 @@ -34477,7 +34547,7 @@
   3.352  	   [\\/$]*) false;;
   3.353  	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
   3.354  	   esac ||
   3.355 -	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
   3.356 +	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
   3.357        esac
   3.358        case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
   3.359        as_fn_append ac_file_inputs " '$ac_f'"
   3.360 @@ -34504,7 +34574,7 @@
   3.361  
   3.362      case $ac_tag in
   3.363      *:-:* | *:-) cat >"$tmp/stdin" \
   3.364 -      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
   3.365 +      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
   3.366      esac
   3.367      ;;
   3.368    esac
     4.1 --- a/common/autoconf/hotspot-spec.gmk.in	Tue Jun 25 13:47:00 2013 -0700
     4.2 +++ b/common/autoconf/hotspot-spec.gmk.in	Tue Jul 02 17:38:10 2013 -0700
     4.3 @@ -91,6 +91,11 @@
     4.4  ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
     4.5  ALT_EXPORT_PATH=$(HOTSPOT_DIST)
     4.6  
     4.7 +JVM_INTERPRETER:=@JVM_INTERPRETER@
     4.8 +ifeq ($(JVM_INTERPRETER), cpp)
     4.9 +  CC_INTERP=true
    4.10 +endif
    4.11 +
    4.12  HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ @STATIC_CXX_SETTING@
    4.13  # This is used from the libjvm build for C/C++ code.
    4.14  HOTSPOT_BUILD_JOBS:=$(JOBS)
     5.1 --- a/common/autoconf/jdk-options.m4	Tue Jun 25 13:47:00 2013 -0700
     5.2 +++ b/common/autoconf/jdk-options.m4	Tue Jul 02 17:38:10 2013 -0700
     5.3 @@ -51,6 +51,33 @@
     5.4  AC_MSG_RESULT([$JDK_VARIANT])
     5.5  ])
     5.6  
     5.7 +AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_INTERPRETER],
     5.8 +[
     5.9 +###############################################################################
    5.10 +#
    5.11 +# Check which interpreter of the JVM we want to build.
    5.12 +# Currently we have:
    5.13 +#    template: Template interpreter (the default)
    5.14 +#    cpp     : C++ interpreter
    5.15 +AC_MSG_CHECKING([which interpreter of the JVM to build])
    5.16 +AC_ARG_WITH([jvm-interpreter], [AS_HELP_STRING([--with-jvm-interpreter],
    5.17 +	[JVM interpreter to build (template, cpp) @<:@template@:>@])])
    5.18 +
    5.19 +if test "x$with_jvm_interpreter" = x; then
    5.20 +     with_jvm_interpreter="template"
    5.21 +fi
    5.22 +
    5.23 +JVM_INTERPRETER="$with_jvm_interpreter"
    5.24 +
    5.25 +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then
    5.26 +   AC_MSG_ERROR([The available JVM interpreters are: template, cpp])
    5.27 +fi
    5.28 +
    5.29 +AC_SUBST(JVM_INTERPRETER)
    5.30 +
    5.31 +AC_MSG_RESULT([$with_jvm_interpreter])
    5.32 +])
    5.33 +
    5.34  AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
    5.35  [
    5.36  
    5.37 @@ -65,19 +92,20 @@
    5.38  #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
    5.39  #    zero: no machine code interpreter, no compiler
    5.40  #    zeroshark: zero interpreter and shark/llvm compiler backend
    5.41 +#    core: interpreter only, no compiler (only works on some platforms)
    5.42  AC_MSG_CHECKING([which variants of the JVM to build])
    5.43  AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
    5.44 -	[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
    5.45 +	[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) @<:@server@:>@])])
    5.46  
    5.47  if test "x$with_jvm_variants" = x; then
    5.48       with_jvm_variants="server"
    5.49  fi
    5.50  
    5.51  JVM_VARIANTS=",$with_jvm_variants,"
    5.52 -TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
    5.53 +TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//' -e 's/core,//'`
    5.54  
    5.55  if test "x$TEST_VARIANTS" != "x,"; then
    5.56 -   AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
    5.57 +   AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core])
    5.58  fi   
    5.59  AC_MSG_RESULT([$with_jvm_variants])
    5.60  
    5.61 @@ -87,6 +115,7 @@
    5.62  JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
    5.63  JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
    5.64  JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
    5.65 +JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
    5.66  
    5.67  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
    5.68      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
    5.69 @@ -106,7 +135,7 @@
    5.70  
    5.71  # Replace the commas with AND for use in the build directory name.
    5.72  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
    5.73 -COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
    5.74 +COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'`
    5.75  if test "x$COUNT_VARIANTS" != "x,1"; then
    5.76      BUILDING_MULTIPLE_JVM_VARIANTS=yes
    5.77  else
    5.78 @@ -120,6 +149,7 @@
    5.79  AC_SUBST(JVM_VARIANT_KERNEL)
    5.80  AC_SUBST(JVM_VARIANT_ZERO)
    5.81  AC_SUBST(JVM_VARIANT_ZEROSHARK)
    5.82 +AC_SUBST(JVM_VARIANT_CORE)
    5.83  
    5.84  INCLUDE_SA=true
    5.85  if test "x$JVM_VARIANT_ZERO" = xtrue ; then
    5.86 @@ -128,6 +158,9 @@
    5.87  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
    5.88      INCLUDE_SA=false
    5.89  fi
    5.90 +if test "x$VAR_CPU" = xppc64 ; then
    5.91 +    INCLUDE_SA=false
    5.92 +fi
    5.93  AC_SUBST(INCLUDE_SA)
    5.94  
    5.95  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
    5.96 @@ -237,6 +270,10 @@
    5.97      HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
    5.98  fi
    5.99  
   5.100 +if test "x$JVM_VARIANT_CORE" = xtrue; then
   5.101 +    HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
   5.102 +fi
   5.103 +
   5.104  HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
   5.105  
   5.106  # On Macosx universal binaries are produced, but they only contain
     6.1 --- a/common/autoconf/spec.gmk.in	Tue Jun 25 13:47:00 2013 -0700
     6.2 +++ b/common/autoconf/spec.gmk.in	Tue Jul 02 17:38:10 2013 -0700
     6.3 @@ -206,6 +206,7 @@
     6.4  JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@
     6.5  JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@
     6.6  JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@
     6.7 +JVM_VARIANT_CORE:=@JVM_VARIANT_CORE@
     6.8  
     6.9  # Universal binaries on macosx
    6.10  MACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@
    6.11 @@ -347,6 +348,11 @@
    6.12  # The linker can be gcc or ld on posix systems, or link.exe on windows systems.
    6.13  LD:=@FIXPATH@ @LD@
    6.14  
    6.15 +# The linker on older SuSE distros (e.g. on SLES 10) complains with:
    6.16 +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable."
    6.17 +# if feeded with a version script which contains named tags.
    6.18 +USING_BROKEN_SUSE_LD:=@USING_BROKEN_SUSE_LD@
    6.19 +
    6.20  # LDFLAGS used to link the jdk native libraries (C-code)
    6.21  LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
    6.22  LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
     7.1 --- a/common/autoconf/toolchain.m4	Tue Jun 25 13:47:00 2013 -0700
     7.2 +++ b/common/autoconf/toolchain.m4	Tue Jul 02 17:38:10 2013 -0700
     7.3 @@ -1093,6 +1093,24 @@
     7.4      [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
     7.5      [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
     7.6    AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
     7.7 +
     7.8 +
     7.9 +  # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
    7.10 +  USING_BROKEN_SUSE_LD=no
    7.11 +  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
    7.12 +    AC_MSG_CHECKING([for broken SuSE 'ld' which only understands anonymous version tags in executables])
    7.13 +    echo "SUNWprivate_1.1 { local: *; };" > version-script.map
    7.14 +    echo "int main() { }" > main.c
    7.15 +    if $CXX -Xlinker -version-script=version-script.map main.c 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD; then
    7.16 +      AC_MSG_RESULT(no)
    7.17 +      USING_BROKEN_SUSE_LD=no
    7.18 +    else
    7.19 +      AC_MSG_RESULT(yes)
    7.20 +      USING_BROKEN_SUSE_LD=yes
    7.21 +    fi
    7.22 +    rm -rf version-script.map main.c
    7.23 +  fi
    7.24 +  AC_SUBST(USING_BROKEN_SUSE_LD)
    7.25  ])
    7.26  
    7.27  # Setup the JTREG paths

mercurial