Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jan 2020 19:10:40 +0000 (UTC)
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r522831 - in head/java: bootstrap-openjdk8 openjdk8 openjdk8/files
Message-ID:  <202001121910.00CJAe2U022476@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pkubaj
Date: Sun Jan 12 19:10:40 2020
New Revision: 522831
URL: https://svnweb.freebsd.org/changeset/ports/522831

Log:
  java/openjdk8: add bootstrap and fix compilation for powerpc64 elfv2
  
  Since the maintainer didn't respond, I'm adding the bootstrap to my own directory on freefall.
  
  PR:		242965
  Submitted by:	Mikael Urankar (original version)
  Approved by:	java (maintainer timeout)

Added:
  head/java/openjdk8/files/extra-patch-ppc64-elfv2   (contents, props changed)
Modified:
  head/java/bootstrap-openjdk8/Makefile
  head/java/bootstrap-openjdk8/distinfo.ppc64
  head/java/openjdk8/Makefile

Modified: head/java/bootstrap-openjdk8/Makefile
==============================================================================
--- head/java/bootstrap-openjdk8/Makefile	Sun Jan 12 19:04:30 2020	(r522830)
+++ head/java/bootstrap-openjdk8/Makefile	Sun Jan 12 19:10:40 2020	(r522831)
@@ -3,7 +3,8 @@
 PORTNAME=	openjdk8
 PORTVERSION=	${DISTVERSION_${JDK_ARCH}}
 CATEGORIES=	java devel
-MASTER_SITES=	LOCAL/jkim
+MASTER_SITES=	LOCAL/jkim \
+		LOCAL/pkubaj
 PKGNAMEPREFIX=	bootstrap-
 DISTNAME=	${JDK_PORT}-${JDK_ARCH}-${PORTVERSION}
 
@@ -19,7 +20,7 @@ DISTVERSION_aarch64=	r453315
 DISTVERSION_amd64=	r450802
 DISTVERSION_arm=	r450802
 DISTVERSION_i386=	r450802
-DISTVERSION_ppc64=	r455236
+DISTVERSION_ppc64=	r455236 # see below for ELFv2
 
 JDK_ARCH=	${ARCH:C/armv.*/arm/:S/powerpc/ppc/}
 JDK_PORT=	openjdk8
@@ -36,6 +37,10 @@ INSTALLDIR=	${STAGEDIR}${PREFIX}/${JDK_ROOT}
 
 .if ${ARCH} == aarch64 || ${ARCH:Marmv*}
 RUN_DEPENDS+=	${LOCALBASE}/lib/libffi.so.6:devel/libffi
+.endif
+
+.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
+DISTVERSION_ppc64=	r522831
 .endif
 
 do-install:

Modified: head/java/bootstrap-openjdk8/distinfo.ppc64
==============================================================================
--- head/java/bootstrap-openjdk8/distinfo.ppc64	Sun Jan 12 19:04:30 2020	(r522830)
+++ head/java/bootstrap-openjdk8/distinfo.ppc64	Sun Jan 12 19:10:40 2020	(r522831)
@@ -1,3 +1,5 @@
-TIMESTAMP = 1512091763
+TIMESTAMP = 1577641270
 SHA256 (openjdk8-ppc64-r455236.tar.xz) = 81ac56dbffd860d41e7d6d2a2dc29e6f65ee155db9c92a1c9ccc688b2d7a1f19
 SIZE (openjdk8-ppc64-r455236.tar.xz) = 28179536
+SHA256 (openjdk8-ppc64-r522831.tar.xz) = 2bb8b860e76cf8eb02a0a229d36421046790d7907b2f55a52c95b990072dda00
+SIZE (openjdk8-ppc64-r522831.tar.xz) = 28740136

Modified: head/java/openjdk8/Makefile
==============================================================================
--- head/java/openjdk8/Makefile	Sun Jan 12 19:04:30 2020	(r522830)
+++ head/java/openjdk8/Makefile	Sun Jan 12 19:10:40 2020	(r522831)
@@ -195,14 +195,9 @@ LIB_DEPENDS+=	libffi.so:devel/libffi
 .endif
 
 .if ${COMPILER_TYPE} == clang
-.if ${COMPILER_VERSION} >= 35
-MAKE_ENV+=	COMPILER_WARNINGS_FATAL=false
-.endif
-MAKE_ENV+=	USE_CLANG=true
-.if ${COMPILER_FEATURES:Mlibc++}
+MAKE_ENV+=	COMPILER_WARNINGS_FATAL=false USE_CLANG=true
 CONFIGURE_ENV+=	LIBCXX="-lc++"
 .endif
-.endif
 
 # GCC is broken with PCH: https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html
 .if ${COMPILER_TYPE} == gcc
@@ -212,6 +207,11 @@ MAKE_ARGS+=	USE_PRECOMPILED_HEADER=1
 .else
 MAKE_ARGS+=	USE_PRECOMPILED_HEADER=0
 .endif
+.endif
+
+.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ppc64-elfv2
+MAKE_ARGS+=	USE_PRECOMPILED_HEADER=0
 .endif
 
 .if empty(ICONV_LIB)

Added: head/java/openjdk8/files/extra-patch-ppc64-elfv2
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/openjdk8/files/extra-patch-ppc64-elfv2	Sun Jan 12 19:10:40 2020	(r522831)
@@ -0,0 +1,48 @@
+--- common/autoconf/flags.m4.orig	2019-07-11 17:47:26.232244000 +0200
++++ common/autoconf/flags.m4	2019-07-11 17:48:11.252733000 +0200
+@@ -563,7 +563,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
+       CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_BIG_ENDIAN"
+     fi
+   fi
+-  if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
++  if test "x$OPENJDK_TARGET_CPU" = xppc64; then
+     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DABI_ELFv2"
+   fi
+   
+--- common/autoconf/generated-configure.sh.orig	2019-07-11 17:47:33.640280000 +0200
++++ common/autoconf/generated-configure.sh	2019-07-11 17:49:51.392598000 +0200
+@@ -41992,7 +41992,7 @@ $as_echo "$supports" >&6; }
+       CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_BIG_ENDIAN"
+     fi
+   fi
+-  if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
++  if test "x$OPENJDK_TARGET_CPU" = xppc64; then
+     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DABI_ELFv2"
+   fi
+ 
+--- hotspot/make/bsd/makefiles/ppc64.make.orig	2019-07-11 22:27:35.314715000 +0200
++++ hotspot/make/bsd/makefiles/ppc64.make	2019-07-12 11:28:56.070546000 +0200
+@@ -37,11 +37,8 @@ ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big 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
++  CFLAGS += -mcpu=powerpc64 -mtune=power5 -DABI_ELFv2
+ else
+   # Little endian machine uses ELFv2 ABI.
+   CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2
+--- hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp.orig	2019-07-12 11:49:27.065494000 +0200
++++ hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	2019-07-12 11:49:34.924308000 +0200
+@@ -42,8 +42,6 @@
+ #include "opto/runtime.hpp"
+ #endif
+ 
+-#include <alloca.h>
+-
+ #define __ masm->
+ 
+ #ifdef PRODUCT



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