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)
This commit is contained in:
@@ -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
|
||||
@@ -38,6 +39,10 @@ INSTALLDIR= ${STAGEDIR}${PREFIX}/${JDK_ROOT}
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libffi.so.6:devel/libffi
|
||||
.endif
|
||||
|
||||
.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
|
||||
DISTVERSION_ppc64= r522831
|
||||
.endif
|
||||
|
||||
do-install:
|
||||
@cd ${WRKSRC} && ${COPYTREE_SHARE} . ${INSTALLDIR}
|
||||
@cd ${WRKSRC} && ${COPYTREE_BIN} bin ${INSTALLDIR}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -214,6 +209,11 @@ 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)
|
||||
ICONV_CPPFLAGS= -DLIBICONV_PLUG
|
||||
.else
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user