Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 May 2016 05:14:41 +0000 (UTC)
From:      Greg Lewis <glewis@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r415373 - in head/java/openjdk8: . files
Message-ID:  <201605170514.u4H5EfDK094235@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glewis
Date: Tue May 17 05:14:41 2016
New Revision: 415373
URL: https://svnweb.freebsd.org/changeset/ports/415373

Log:
  . Update to 8u92.

Deleted:
  head/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp
  head/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp
Modified:
  head/java/openjdk8/Makefile
  head/java/openjdk8/distinfo
  head/java/openjdk8/files/patch-bsd
  head/java/openjdk8/files/patch-bsd-test

Modified: head/java/openjdk8/Makefile
==============================================================================
--- head/java/openjdk8/Makefile	Tue May 17 02:50:53 2016	(r415372)
+++ head/java/openjdk8/Makefile	Tue May 17 05:14:41 2016	(r415373)
@@ -23,7 +23,8 @@ PATCHFILES=	patch-8u05-b13.xz \
 		patch-8u66-b17-1.xz \
 		patch-8u72-b15.xz \
 		patch-8u74-b02.xz \
-		patch-8u77-b03.xz
+		patch-8u77-b03.xz \
+		patch-8u92-b14.xz
 
 MAINTAINER=	java@FreeBSD.org
 COMMENT?=	Java Development Kit ${JDK_MAJOR_VERSION}
@@ -201,8 +202,8 @@ NO_CCACHE=		yes
 NOPRECIOUSMAKEVARS=	yes
 
 JDK_MAJOR_VERSION=	8
-JDK_UPDATE_VERSION=	77
-JDK_BUILD_NUMBER=	03
+JDK_UPDATE_VERSION=	92
+JDK_BUILD_NUMBER=	14
 DIST_BUILD_NUMBER=	132
 JTREG_VERSION=		4.1
 JTREG_BUILD_NUMBER=	b08

Modified: head/java/openjdk8/distinfo
==============================================================================
--- head/java/openjdk8/distinfo	Tue May 17 02:50:53 2016	(r415372)
+++ head/java/openjdk8/distinfo	Tue May 17 05:14:41 2016	(r415373)
@@ -28,3 +28,5 @@ SHA256 (patch-8u74-b02.xz) = c21a08d00d8
 SIZE (patch-8u74-b02.xz) = 2056
 SHA256 (patch-8u77-b03.xz) = d6469852d556ff9e379852e5a64cc104faf0545804c7f18f65b9840a8cb3a1c1
 SIZE (patch-8u77-b03.xz) = 4404
+SHA256 (patch-8u92-b14.xz) = c3c8e607048c61c8b425849c6bb73add59ba9887e4a9d4f6147ab51ad11c8d17
+SIZE (patch-8u92-b14.xz) = 172836

Modified: head/java/openjdk8/files/patch-bsd
==============================================================================
--- head/java/openjdk8/files/patch-bsd	Tue May 17 02:50:53 2016	(r415372)
+++ head/java/openjdk8/files/patch-bsd	Tue May 17 05:14:41 2016	(r415373)
@@ -1,5 +1,5 @@
---- ./common/autoconf/build-performance.m4	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/build-performance.m4	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/build-performance.m4	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/build-performance.m4	Sun May 01 23:37:49 2016 -0700
 @@ -41,6 +41,10 @@
      # Looks like a MacOSX system
      NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print [$]5}'`
@@ -38,8 +38,8 @@
        AC_MSG_RESULT([no, disabling ccache])
        CCACHE=
      else
---- ./common/autoconf/generated-configure.sh	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/generated-configure.sh	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/generated-configure.sh	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/generated-configure.sh	Sun May 01 23:37:49 2016 -0700
 @@ -646,6 +646,8 @@
  LIBM
  LIBZIP_CAN_USE_MMAP
@@ -102,8 +102,8 @@
  #CUSTOM_AUTOCONF_INCLUDE
  
  # Do not change or remove the following line, it is needed for consistency checks:
--DATE_WHEN_GENERATED=1445418840
-+DATE_WHEN_GENERATED=1454212428
+-DATE_WHEN_GENERATED=1449096260
++DATE_WHEN_GENERATED=1460430898
  
  ###############################################################################
  #
@@ -265,6 +265,15 @@
      fi
    else
      if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+@@ -29667,7 +29732,7 @@
+   #
+   case $COMPILER_NAME in
+     gcc )
+-      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
++      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -Wno-sign-compare \
+       -pipe \
+       -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+       case $OPENJDK_TARGET_CPU_ARCH in
 @@ -29749,22 +29814,37 @@
    CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
  
@@ -619,8 +628,8 @@
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5
  $as_echo "no, disabling ccache" >&6; }
        CCACHE=
---- ./common/autoconf/jdk-options.m4	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/jdk-options.m4	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/jdk-options.m4	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/jdk-options.m4	Sun May 01 23:37:49 2016 -0700
 @@ -410,6 +410,20 @@
  
    ###############################################################################
@@ -642,8 +651,8 @@
    # Enable or disable the elliptic curve crypto implementation
    #
    AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
---- ./common/autoconf/libraries.m4	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/libraries.m4	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/libraries.m4	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/libraries.m4	Sun May 01 23:37:49 2016 -0700
 @@ -69,9 +69,15 @@
    fi
  
@@ -781,8 +790,8 @@
 +
    AC_SUBST(LIBCXX)
  ])
---- ./common/autoconf/platform.m4	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/platform.m4	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/platform.m4	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/platform.m4	Sun May 01 23:37:49 2016 -0700
 @@ -30,7 +30,7 @@
  [
    # First argument is the cpu name from the trip/quad
@@ -842,8 +851,8 @@
      OPENJDK_TARGET_CPU_OSARCH="i386"
    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
      # On all platforms except macosx, we replace x86_64 with amd64.
---- ./common/autoconf/spec.gmk.in	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/spec.gmk.in	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/spec.gmk.in	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/spec.gmk.in	Sun May 01 23:37:49 2016 -0700
 @@ -76,6 +76,7 @@
  OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@
  OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@
@@ -880,8 +889,8 @@
  USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
  LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
  MSVCR_DLL:=@MSVCR_DLL@
---- ./common/autoconf/toolchain.m4	Fri Dec 18 11:33:41 2015 -0800
-+++ ./common/autoconf/toolchain.m4	Sat Jan 30 22:11:02 2016 -0800
+--- ./common/autoconf/toolchain.m4	Tue Mar 22 11:03:36 2016 -0700
++++ ./common/autoconf/toolchain.m4	Sun May 01 23:37:49 2016 -0700
 @@ -72,7 +72,7 @@
    else
      COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
@@ -921,6 +930,15 @@
      fi
    else
      if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+@@ -957,7 +961,7 @@
+   #
+   case $COMPILER_NAME in
+     gcc )
+-      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
++      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -Wno-sign-compare \
+       -pipe \
+       -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+       case $OPENJDK_TARGET_CPU_ARCH in
 @@ -1039,22 +1043,33 @@
    CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
  
@@ -967,16 +985,16 @@
    fi
    if test "x$OPENJDK_TARGET_OS" = xlinux; then
      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
---- ./configure	Fri Dec 18 11:33:41 2015 -0800
-+++ ./configure	Sat Jan 30 22:11:02 2016 -0800
+--- ./configure	Tue Mar 22 11:03:36 2016 -0700
++++ ./configure	Sun May 01 23:37:49 2016 -0700
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
  #
  # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
---- ./make/Javadoc.gmk	Fri Dec 18 11:33:41 2015 -0800
-+++ ./make/Javadoc.gmk	Sat Jan 30 22:11:02 2016 -0800
+--- ./make/Javadoc.gmk	Tue Mar 22 11:03:36 2016 -0700
++++ ./make/Javadoc.gmk	Sun May 01 23:37:49 2016 -0700
 @@ -46,8 +46,18 @@
  
  BUILD_NUMBER=$(JDK_BUILD_NUMBER)
@@ -997,8 +1015,8 @@
      -Djava.awt.headless=true \
      $(NEW_JAVADOC) \
      -bootclasspath $(JDK_OUTPUTDIR)/classes
---- ./make/Main.gmk	Fri Dec 18 11:33:41 2015 -0800
-+++ ./make/Main.gmk	Sat Jan 30 22:11:02 2016 -0800
+--- ./make/Main.gmk	Tue Mar 22 11:03:36 2016 -0700
++++ ./make/Main.gmk	Sun May 01 23:37:49 2016 -0700
 @@ -58,7 +58,11 @@
  
  # Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line,
@@ -1011,8 +1029,8 @@
  
  ### Main targets
  
---- ./make/common/MakeBase.gmk	Fri Dec 18 11:33:41 2015 -0800
-+++ ./make/common/MakeBase.gmk	Sat Jan 30 22:11:02 2016 -0800
+--- ./make/common/MakeBase.gmk	Tue Mar 22 11:03:36 2016 -0700
++++ ./make/common/MakeBase.gmk	Sun May 01 23:37:49 2016 -0700
 @@ -338,7 +338,7 @@
      # (and causing a crash on Cygwin).
      # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
@@ -1033,8 +1051,8 @@
  endef
  
  # Make directory without forking mkdir if not needed
---- ./make/common/NativeCompilation.gmk	Fri Dec 18 11:33:41 2015 -0800
-+++ ./make/common/NativeCompilation.gmk	Sat Jan 30 22:11:02 2016 -0800
+--- ./make/common/NativeCompilation.gmk	Tue Mar 22 11:03:36 2016 -0700
++++ ./make/common/NativeCompilation.gmk	Sun May 01 23:37:49 2016 -0700
 @@ -151,9 +151,9 @@
    #   CC the compiler to use, default is $(CC)
    #   LDEXE the linker to use for linking executables, default is $(LDEXE)
@@ -1048,8 +1066,21 @@
  
    ifneq (,$$($1_BIN))
      $$(error BIN has been replaced with OBJECT_DIR)
---- ./hotspot/make/bsd/makefiles/build_vm_def.sh	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/build_vm_def.sh	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/Makefile	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/Makefile	Mon May 09 17:15:53 2016 -0400
+@@ -66,6 +66,10 @@
+     FORCE_TIERED=1
+   endif
+ endif
++# C1 is not ported on ppc64, so we cannot build a tiered VM:
++ifeq ($(ARCH),ppc64)
++  FORCE_TIERED=0
++endif
+ 
+ ifdef LP64
+   ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
+--- ./hotspot/make/bsd/makefiles/build_vm_def.sh	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/build_vm_def.sh	Mon May 09 17:15:53 2016 -0400
 @@ -1,12 +1,28 @@
  #!/bin/sh
  
@@ -1085,8 +1116,8 @@
 +        if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";"
 +    }' | sort -u ;;
 +esac
---- ./hotspot/make/bsd/makefiles/debug.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/debug.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/debug.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/debug.make	Mon May 09 17:15:53 2016 -0400
 @@ -35,7 +35,10 @@
  # to inhibit the effect of the previous line on CFLAGS.
  
@@ -1099,8 +1130,57 @@
  
  VERSION = debug
  SYSDEFS += -DASSERT
---- ./hotspot/make/bsd/makefiles/fastdebug.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/fastdebug.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/defs.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/defs.make	Mon May 09 17:15:53 2016 -0400
+@@ -29,7 +29,10 @@
+ SLASH_JAVA ?= /java
+ 
+ # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
+-ARCH:=$(shell uname -m)
++# ARCH can be set explicitly in spec.gmk
++ifndef ARCH
++  ARCH := $(shell uname -m)
++endif
+ PATH_SEP = :
+ ifeq ($(LP64), 1)
+   ARCH_DATA_MODEL ?= 64
+@@ -124,6 +127,15 @@
+   HS_ARCH          = ppc
+ endif
+ 
++# PPC64
++ifeq ($(ARCH), ppc64)
++  ARCH_DATA_MODEL  = 64
++  MAKE_ARGS        += LP64=1
++  PLATFORM         = bsd-ppc64
++  VM_PLATFORM      = bsd_ppc64
++  HS_ARCH          = ppc
++endif
++
+ # On 32 bit bsd we build server and client, on 64 bit just server.
+ ifeq ($(JVM_VARIANTS),)
+   ifeq ($(ARCH_DATA_MODEL), 32)
+@@ -321,6 +333,18 @@
+ ifeq ($(JVM_VARIANT_MINIMAL1),true)
+   EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
+   EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
++
++  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
++    ifeq ($(ZIP_DEBUGINFO_FILES),1)
++        EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
++    else
++      ifeq ($(OS_VENDOR), Darwin)
++          EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
++      else
++          EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
++      endif
++    endif
++  endif
+ endif
+ 
+ # Serviceability Binaries
+--- ./hotspot/make/bsd/makefiles/fastdebug.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/fastdebug.make	Mon May 09 17:15:53 2016 -0400
 @@ -56,7 +56,10 @@
  # to inhibit the effect of the previous line on CFLAGS.
  
@@ -1113,8 +1193,8 @@
  
  VERSION = fastdebug
  SYSDEFS += -DASSERT -DCHECK_UNHANDLED_OOPS
---- ./hotspot/make/bsd/makefiles/gcc.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/gcc.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/gcc.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/gcc.make	Mon May 09 17:15:53 2016 -0400
 @@ -168,6 +168,9 @@
    CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
  endif
@@ -1156,40 +1236,92 @@
    ifeq ($(USE_CLANG),)
      WARNING_FLAGS += -Wconversion
    endif
-@@ -432,17 +438,20 @@
-   # (warning: that could easily inflate libjvm.so to 150M!)
-   # Note: The Itanium gcc compiler crashes when using -gstabs.
-   DEBUG_CFLAGS/ia64  = -g
+@@ -421,53 +427,43 @@
+   CFLAGS += -flimit-debug-info
+ endif
+ 
++# Use the stabs format for debugging information (this is the default
++# on gcc-2.91). It's good enough, has all the information about line
++# numbers and local variables, and libjvm.so is only about 16M.
++# Change this back to "-g" if you want the most expressive format.
++# (warning: that could easily inflate libjvm.so to 150M!)
++# Note: The Itanium gcc compiler crashes when using -gstabs.
++# Don't use stabs on gcc>=4.8 because it is incompatible with
++# pre-compiled-headers
++ifeq ($(USE_CLANG), true)
++  # Clang doesn't understand -gstabs
++  STABS_CFLAGS += -g
++else
++  ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 8 \) \))" "1"
++    # GCC >= 4.8
++    STABS_CFLAGS += -g
++  else
++    STABS_CFLAGS/ia64  = -g
++    STABS_CFLAGS/arm   = -g
++    STABS_CFLAGS/ppc   = -g
++    ifeq ($(STABS_CFLAGS/$(BUILDARCH)),)
++      STABS_CFLAGS += -gstabs
++    else
++      STABS_CFLAGS += $(STABS_CFLAGS/$(BUILDARCH))
++    endif
++  endif
++endif
++
+ # DEBUG_BINARIES uses full -g debug information for all configs
+ ifeq ($(DEBUG_BINARIES), true)
+   CFLAGS += -g
+ else
+-  # Use the stabs format for debugging information (this is the default
+-  # on gcc-2.91). It's good enough, has all the information about line
+-  # numbers and local variables, and libjvm.so is only about 16M.
+-  # Change this back to "-g" if you want the most expressive format.
+-  # (warning: that could easily inflate libjvm.so to 150M!)
+-  # Note: The Itanium gcc compiler crashes when using -gstabs.
+-  DEBUG_CFLAGS/ia64  = -g
 -  DEBUG_CFLAGS/amd64 = -g
-   DEBUG_CFLAGS/arm   = -g
-   DEBUG_CFLAGS/ppc   = -g
-   DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
-   ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
+-  DEBUG_CFLAGS/arm   = -g
+-  DEBUG_CFLAGS/ppc   = -g
+-  DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
+-  ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
 -  DEBUG_CFLAGS += -gstabs
-+      ifeq ($(USE_CLANG), true)
-+        # Clang doesn't understand -gstabs
-+        DEBUG_CFLAGS += -g
-+      else
-+        DEBUG_CFLAGS += -gstabs
-+      endif
-   endif
+-  endif
++  DEBUG_CFLAGS += ${STABS_CFLAGS}
    
    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-     FASTDEBUG_CFLAGS/ia64  = -g
+-    FASTDEBUG_CFLAGS/ia64  = -g
 -    FASTDEBUG_CFLAGS/amd64 = -g
-     FASTDEBUG_CFLAGS/arm   = -g
-     FASTDEBUG_CFLAGS/ppc   = -g
-     FASTDEBUG_CFLAGS += $(FASTDEBUG_CFLAGS/$(BUILDARCH))
-@@ -456,7 +465,6 @@
-     endif
+-    FASTDEBUG_CFLAGS/arm   = -g
+-    FASTDEBUG_CFLAGS/ppc   = -g
+-    FASTDEBUG_CFLAGS += $(FASTDEBUG_CFLAGS/$(BUILDARCH))
+-    ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
+-      ifeq ($(USE_CLANG), true)
+-        # Clang doesn't understand -gstabs
+-        FASTDEBUG_CFLAGS += -g
+-      else
+-        FASTDEBUG_CFLAGS += -gstabs
+-      endif
+-    endif
++    FASTDEBUG_CFLAGS += ${STABS_CFLAGS}
    
-     OPT_CFLAGS/ia64  = -g
+-    OPT_CFLAGS/ia64  = -g
 -    OPT_CFLAGS/amd64 = -g
-     OPT_CFLAGS/arm   = -g
-     OPT_CFLAGS/ppc   = -g
-     OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
+-    OPT_CFLAGS/arm   = -g
+-    OPT_CFLAGS/ppc   = -g
+-    OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
+-    ifeq ($(OPT_CFLAGS/$(BUILDARCH)),)
+-      ifeq ($(USE_CLANG), true)
+-        # Clang doesn't understand -gstabs
+-        OPT_CFLAGS += -g
+-      else
+-        OPT_CFLAGS += -gstabs
+-      endif
+-    endif
++    OPT_CFLAGS += ${STABS_CFLAGS}
+   endif
+ endif
+ 
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/launcher.make	Mon Jan 25 21:17:47 2016 -0800
++++ ./hotspot/make/bsd/makefiles/launcher.make	Mon May 09 17:15:53 2016 -0400
 @@ -0,0 +1,117 @@
 +#
 +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
@@ -1308,8 +1440,8 @@
 +	$(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
 +	$(QUIETLY) chmod +x $@
 +
---- ./hotspot/make/bsd/makefiles/mapfile-vers-debug	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/mapfile-vers-debug	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug	Mon May 09 17:15:53 2016 -0400
 @@ -21,246 +21,254 @@
  # questions.
  #
@@ -1797,7 +1929,7 @@
 +                *;
 +};
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx	Mon Jan 25 21:17:47 2016 -0800
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx	Mon May 09 17:15:53 2016 -0400
 @@ -0,0 +1,266 @@
 +#
 +# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
@@ -2065,8 +2197,8 @@
 +
 +                # INSERT VTABLE SYMBOLS HERE
 +
---- ./hotspot/make/bsd/makefiles/mapfile-vers-product	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/mapfile-vers-product	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product	Mon May 09 17:15:53 2016 -0400
 @@ -21,241 +21,249 @@
  # questions.
  #
@@ -2545,7 +2677,7 @@
 +                *;
 +};
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx	Mon Jan 25 21:17:47 2016 -0800
++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx	Mon May 09 17:15:53 2016 -0400
 @@ -0,0 +1,261 @@
 +#
 +# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
@@ -2808,8 +2940,8 @@
 +
 +                # INSERT VTABLE SYMBOLS HERE
 +
---- ./hotspot/make/bsd/makefiles/optimized.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/optimized.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/optimized.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/optimized.make	Mon May 09 17:15:53 2016 -0400
 @@ -38,6 +38,9 @@
  # to inhibit the effect of the previous line on CFLAGS.
  
@@ -2821,8 +2953,113 @@
 +MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug$(MAPSUFX)
  
  VERSION = optimized
---- ./hotspot/make/bsd/makefiles/product.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/product.make	Mon Jan 25 21:17:47 2016 -0800
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ ./hotspot/make/bsd/makefiles/ppc64.make	Mon May 09 17:15:53 2016 -0400
+@@ -0,0 +1,102 @@
++#
++# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
++# Copyright 2012, 2013 SAP AG. 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
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# 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.
++#
++#
++
++# make c code know it is on a 64 bit platform.
++CFLAGS += -D_LP64=1
++
++ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined)
++  # This can happen during hotspot standalone build. Set endianness from
++  # uname. We assume build and target machines are the same.
++  OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big)
++endif
++
++ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),)
++  $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little')
++endif
++
++ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big)
++  # fixes `relocation truncated to fit' error for gcc 4.1.
++  CFLAGS += -mminimal-toc
++
++  # finds use ppc64 instructions, but schedule for power5
++  CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
++else
++  # Little endian machine uses ELFv2 ABI.
++  CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2
++
++  # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
++  CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
++endif
++#
++# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
++# Copyright 2012, 2013 SAP AG. 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
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# 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.
++#
++#
++
++# make c code know it is on a 64 bit platform.
++CFLAGS += -D_LP64=1
++
++ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined)
++  # This can happen during hotspot standalone build. Set endianness from
++  # uname. We assume build and target machines are the same.
++  OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big)
++endif
++
++ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),)
++  $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little')
++endif
++
++ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big)
++  # fixes `relocation truncated to fit' error for gcc 4.1.
++  CFLAGS += -mminimal-toc
++
++  # finds use ppc64 instructions, but schedule for power5
++  CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
++else
++  # Little endian machine uses ELFv2 ABI.
++  CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2
++
++  # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
++  CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
++endif
+--- ./hotspot/make/bsd/makefiles/product.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/product.make	Mon May 09 17:15:53 2016 -0400
 @@ -38,7 +38,10 @@
  # to inhibit the effect of the previous line on CFLAGS.
  
@@ -2835,8 +3072,8 @@
  
  SYSDEFS += -DPRODUCT
  VERSION = optimized
---- ./hotspot/make/bsd/makefiles/rules.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/rules.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/rules.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/rules.make	Mon May 09 17:15:53 2016 -0400
 @@ -34,7 +34,7 @@
  CC_COMPILE       = $(CC) $(CXXFLAGS) $(CFLAGS)
  CXX_COMPILE      = $(CXX) $(CXXFLAGS) $(CFLAGS)
@@ -2846,8 +3083,8 @@
  
  COMPILE.CC       = $(CC_COMPILE) -c
  GENASM.CC        = $(CC_COMPILE) -S
---- ./hotspot/make/bsd/makefiles/vm.make	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/make/bsd/makefiles/vm.make	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/make/bsd/makefiles/vm.make	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/make/bsd/makefiles/vm.make	Mon May 09 17:15:53 2016 -0400
 @@ -107,7 +107,7 @@
  # File specific flags
  CXXFLAGS += $(CXXFLAGS/BYFILE)
@@ -2857,8 +3094,68 @@
  CXXFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\""
  endif
  
---- ./hotspot/src/cpu/x86/vm/jni_x86.h	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/cpu/x86/vm/jni_x86.h	Mon Jan 25 21:17:47 2016 -0800
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ ./hotspot/make/bsd/platform_ppc64	Mon May 09 17:15:53 2016 -0400
+@@ -0,0 +1,34 @@
++os_family = bsd
++
++arch = ppc
++
++arch_model = ppc_64
++
++os_arch = bsd_ppc
++
++os_arch_model = bsd_ppc_64
++
++lib_arch = ppc64
++
++compiler = gcc
++
++gnu_dis_arch = ppc64
++
++sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64
++os_family = bsd
++
++arch = ppc
++
++arch_model = ppc_64
++
++os_arch = bsd_ppc
++
++os_arch_model = bsd_ppc_64
++
++lib_arch = ppc64
++
++compiler = gcc
++
++gnu_dis_arch = ppc64
++
++sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64
+--- ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp	Mon May 09 17:15:53 2016 -0400
+@@ -277,5 +277,9 @@
+ #if defined(TARGET_OS_ARCH_linux_ppc)
+ #include "bytes_linux_ppc.inline.hpp"
+ #endif
++#if defined(TARGET_OS_ARCH_bsd_ppc)
++#include "bytes_bsd_ppc.inline.hpp"
++#endif
++
+ 
+ #endif // CPU_PPC_VM_BYTES_PPC_HPP
+--- ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp	Mon May 09 17:15:53 2016 -0400
+@@ -307,6 +307,8 @@
+   // Although AIX runs on big endian CPU, float is in most significant
+   // word of an argument slot.
+   __ stfs(floatSlot, 0, arg_c);
++#elif defined(BSD)
++  __ stfs(floatSlot, 4, arg_c);
+ #else
+ #error "unknown OS"
+ #endif
+--- ./hotspot/src/cpu/x86/vm/jni_x86.h	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/x86/vm/jni_x86.h	Mon May 09 17:15:53 2016 -0400
 @@ -34,7 +34,7 @@
  #ifndef __has_attribute
    #define __has_attribute(x) 0
@@ -2868,8 +3165,8 @@
    #define JNIEXPORT     __attribute__((visibility("default")))
    #define JNIIMPORT     __attribute__((visibility("default")))
  #else
---- ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Mon May 09 17:15:53 2016 -0400
 @@ -2266,7 +2266,7 @@
    if (!is_critical_native) {
      // reset handle block
@@ -2879,9 +3176,9 @@
  
      // Any exception pending?
      __ cmpptr(Address(thread, in_bytes(Thread::pending_exception_offset())), (int32_t)NULL_WORD);
---- ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Mon Jan 25 21:17:47 2016 -0800
-@@ -1287,7 +1287,7 @@
+--- ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Mon May 09 17:15:53 2016 -0400
+@@ -1293,7 +1293,7 @@
  
    // reset handle block
    __ movptr(t, Address(thread, JavaThread::active_handles_offset()));
@@ -2890,9 +3187,9 @@
  
    // If result was an oop then unbox and save it in the frame
    { Label L;
---- ./hotspot/src/cpu/x86/vm/x86_32.ad	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/cpu/x86/vm/x86_32.ad	Mon Jan 25 21:17:47 2016 -0800
-@@ -1246,6 +1246,7 @@
+--- ./hotspot/src/cpu/x86/vm/x86_32.ad	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/cpu/x86/vm/x86_32.ad	Mon May 09 17:15:53 2016 -0400
+@@ -1250,6 +1250,7 @@
  
  
    Unimplemented();
@@ -2900,8 +3197,8 @@
  }
  
  #ifndef PRODUCT
---- ./hotspot/src/os/aix/vm/os_aix.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/aix/vm/os_aix.cpp	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/aix/vm/os_aix.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/aix/vm/os_aix.cpp	Mon May 09 17:15:53 2016 -0400
 @@ -5236,6 +5236,10 @@
      return 0;
    }
@@ -2914,8 +3211,8 @@
  }
  
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp	Mon Jan 25 21:17:47 2016 -0800
-@@ -0,0 +1,47 @@
++++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp	Mon May 09 17:15:53 2016 -0400
+@@ -0,0 +1,53 @@
 +/*
 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -2951,6 +3248,12 @@
 +  char* result;
 +  size_t size = (size_t)buflen;
 +
++#ifdef PPC64
++  // On PPC64 ElfDecoder::decode() may return a dot (.) prefixed name
++  // (see elfFuncDescTable.hpp for details)
++  if (symbol && *symbol == '.') symbol += 1;
++#endif
++
 +  // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small,
 +  // __cxa_demangle will call system "realloc" for additional memory, which
 +  // may use different malloc/realloc mechanism that allocates 'buf'.
@@ -2963,8 +3266,8 @@
 +  return false;
 +}
 +#endif
---- ./hotspot/src/os/bsd/vm/jsig.c	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/bsd/vm/jsig.c	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/bsd/vm/jsig.c	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/bsd/vm/jsig.c	Mon May 09 17:15:53 2016 -0400
 @@ -165,9 +165,8 @@
  }
  
@@ -2977,8 +3280,8 @@
  
  static int call_os_sigaction(int sig, const struct sigaction  *act,
                               struct sigaction *oact) {
---- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp	Mon May 09 17:15:53 2016 -0400
 @@ -50,6 +50,7 @@
      case INTERRUPT_SIGNAL:
      case SIGFPE:
@@ -3088,8 +3391,8 @@
 +  jio_snprintf(buf, len, "SIG%s", signame);
 +  return true;
  }
---- ./hotspot/src/os/bsd/vm/jvm_bsd.h	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.h	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/bsd/vm/jvm_bsd.h	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.h	Mon May 09 17:15:53 2016 -0400
 @@ -112,20 +112,6 @@
  #define SHUTDOWN2_SIGNAL SIGINT
  #define SHUTDOWN3_SIGNAL SIGTERM
@@ -3111,8 +3414,8 @@
  #endif /* JVM_MD_H */
  
  #endif // OS_BSD_VM_JVM_BSD_H
---- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp	Mon May 09 17:15:53 2016 -0400
 @@ -30,7 +30,7 @@
  
  void OSThread::pd_initialize() {
@@ -3122,8 +3425,8 @@
    _thread_id        = 0;
  #else
    _thread_id        = NULL;
---- ./hotspot/src/os/bsd/vm/os_bsd.cpp	Fri Dec 18 11:38:02 2015 -0800
-+++ ./hotspot/src/os/bsd/vm/os_bsd.cpp	Mon Jan 25 21:17:47 2016 -0800
+--- ./hotspot/src/os/bsd/vm/os_bsd.cpp	Tue Mar 22 11:05:52 2016 -0700
++++ ./hotspot/src/os/bsd/vm/os_bsd.cpp	Mon May 09 17:15:53 2016 -0400
 @@ -97,16 +97,31 @@
  # include <sys/shm.h>
  #ifndef __APPLE__
@@ -3156,7 +3459,15 @@
  #ifdef __APPLE__
  # include <mach/mach.h> // semaphore_* API
  # include <mach-o/dyld.h>
-@@ -169,6 +184,27 @@
+@@ -136,6 +151,7 @@
+ volatile uint64_t         os::Bsd::_max_abstime   = 0;
+ #else
+ int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL;
++int (*os::Bsd::_getcpuclockid)(pthread_t, clockid_t *) = NULL;
+ #endif
+ pthread_t os::Bsd::_main_thread;
+ int os::Bsd::_page_size = -1;
+@@ -169,6 +185,27 @@
  
  // available here means free
  julong os::Bsd::available_memory() {
@@ -3184,7 +3495,7 @@
    uint64_t available = physical_memory() >> 2;
  #ifdef __APPLE__
    mach_msg_type_number_t count = HOST_VM_INFO64_COUNT;
-@@ -208,7 +244,7 @@
+@@ -208,7 +245,7 @@
    static bool init = false;
    static bool privileges = false;
    if (!init) {
@@ -3193,7 +3504,16 @@
      init = true;
    }
    return privileges;
-@@ -411,12 +447,21 @@
+@@ -229,6 +266,8 @@
+ static char cpu_arch[] = "arm";
+ #elif defined(PPC32)
+ static char cpu_arch[] = "ppc";
++#elif defined(PPC64)
++static char cpu_arch[] = "ppc64";
+ #elif defined(SPARC)
+ #  ifdef _LP64
+ static char cpu_arch[] = "sparcv9";
+@@ -411,12 +450,21 @@
      const char *v = ::getenv("LD_LIBRARY_PATH");
      const char *v_colon = ":";
      if (v == NULL) { v = ""; v_colon = ""; }
@@ -3215,7 +3535,39 @@
      Arguments::set_library_path(ld_library_path);
      FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal);
    }
-@@ -1190,35 +1235,38 @@
+@@ -591,6 +639,9 @@
+   sigaddset(&unblocked_sigs, SIGSEGV);
+   sigaddset(&unblocked_sigs, SIGBUS);
+   sigaddset(&unblocked_sigs, SIGFPE);
++#if defined(PPC64)
++  sigaddset(&unblocked_sigs, SIGTRAP);
++#endif
+   sigaddset(&unblocked_sigs, SR_signum);
+ 
+   if (!ReduceSignalUsage) {
+@@ -983,6 +1034,13 @@
+ bool os::vtime_enabled()  { return false; }
+ 
+ double os::elapsedVTime() {
++#ifdef RUSAGE_THREAD
++  struct rusage usage;
++  int retval = getrusage(RUSAGE_THREAD, &usage);
++  if (retval == 0) {
++    return (double) (usage.ru_utime.tv_sec + usage.ru_stime.tv_sec) + (double) (usage.ru_utime.tv_usec + usage.ru_stime.tv_usec) / (1000 * 1000);
++  }
++#endif
+   // better than nothing, but not much
+   return elapsedTime();
+ }
+@@ -1013,6 +1071,7 @@
+     // yes, monotonic clock is supported
+     _clock_gettime = ::clock_gettime;
+   }
++  _getcpuclockid = (int (*)(pthread_t, clockid_t *))dlsym(RTLD_DEFAULT, "pthread_getcpuclockid");
+ }
+ #endif
+ 
+@@ -1190,35 +1249,38 @@
  pid_t os::Bsd::gettid() {
    int retval = -1;
  
@@ -3266,7 +3618,7 @@
  #else
    return (intx)::pthread_self();
  #endif
-@@ -1696,14 +1744,14 @@
+@@ -1696,14 +1758,14 @@
  }
  
  void os::print_os_info_brief(outputStream* st) {
@@ -3283,7 +3635,7 @@
  
    os::Posix::print_uname_info(st);
  
-@@ -1716,6 +1764,29 @@
+@@ -1716,6 +1778,29 @@
    // Nothing to do for now.
  }
  
@@ -3313,7 +3665,7 @@
  void os::print_memory_info(outputStream* st) {
  
    st->print("Memory:");
-@@ -1725,11 +1796,14 @@
+@@ -1725,11 +1810,14 @@
              os::physical_memory() >> 10);
    st->print("(" UINT64_FORMAT "k free)",
              os::available_memory() >> 10);
@@ -3333,7 +3685,17 @@
    st->cr();
  }
  
-@@ -1965,7 +2039,7 @@
+@@ -1768,6 +1856,9 @@
+   print_signal_handler(st, SHUTDOWN2_SIGNAL , buf, buflen);
+   print_signal_handler(st, SHUTDOWN3_SIGNAL , buf, buflen);
+   print_signal_handler(st, BREAK_SIGNAL, buf, buflen);
++#if defined(PPC64)
++  print_signal_handler(st, SIGTRAP, buf, buflen);
++#endif
+ }
+ 
+ static char saved_jvm_path[MAXPATHLEN] = {0};
+@@ -1965,7 +2056,7 @@
      os_semaphore_t _semaphore;
  };
  
@@ -3342,7 +3704,7 @@
    SEM_INIT(_semaphore, 0);
  }
  
-@@ -2153,7 +2227,7 @@
+@@ -2153,7 +2244,7 @@
        if (::write(fd, "", 1) == 1) {
          mmap(base, size,
               PROT_READ|PROT_WRITE|PROT_EXEC,
@@ -3351,7 +3713,7 @@
        }
      }
      ::close(fd);
-@@ -2263,7 +2337,7 @@
+@@ -2263,7 +2354,7 @@
    return ::mprotect(addr, size, PROT_NONE) == 0;
  #else
    uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
@@ -3360,7 +3722,7 @@
    return res  != (uintptr_t) MAP_FAILED;
  #endif
  }
-@@ -2290,7 +2364,7 @@
+@@ -2290,7 +2381,7 @@
    char * addr;
    int flags;
  
@@ -3369,7 +3731,7 @@
    if (fixed) {
      assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address");
      flags |= MAP_FIXED;
-@@ -2779,6 +2853,7 @@
+@@ -2779,6 +2870,7 @@
    return OS_OK;
  #elif defined(__FreeBSD__)
    int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
@@ -3377,7 +3739,17 @@
  #elif defined(__APPLE__) || defined(__NetBSD__)
    struct sched_param sp;
    int policy;
-@@ -3373,18 +3448,6 @@
+@@ -3325,6 +3417,9 @@
+     set_signal_handler(SIGBUS, true);
+     set_signal_handler(SIGILL, true);
+     set_signal_handler(SIGFPE, true);
++#if defined(PPC64)
++    set_signal_handler(SIGTRAP, true);
++#endif
+     set_signal_handler(SIGXFSZ, true);
+ 
+ #if defined(__APPLE__)
+@@ -3373,18 +3468,6 @@
    }

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605170514.u4H5EfDK094235>