summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortnn <tnn>2015-02-21 10:44:14 +0000
committertnn <tnn>2015-02-21 10:44:14 +0000
commite7600fac27b475359c1a4b7065084763e69fed7e (patch)
tree415fabbea5e953daf467dcf34ffe5ebf03e908b8 /lang
parentb6049291a5ee56c41d66044769a034e4ae3441ae (diff)
downloadpkgsrc-e7600fac27b475359c1a4b7065084763e69fed7e.tar.gz
Sync ARM fixes from lang/openjdk8
Diffstat (limited to 'lang')
-rw-r--r--lang/openjdk7/Makefile6
-rw-r--r--lang/openjdk7/distinfo6
-rw-r--r--lang/openjdk7/options.mk31
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp16
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp14
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp47
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp20
7 files changed, 128 insertions, 12 deletions
diff --git a/lang/openjdk7/Makefile b/lang/openjdk7/Makefile
index abc68cdc6a9..dcfc248eab7 100644
--- a/lang/openjdk7/Makefile
+++ b/lang/openjdk7/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.93 2015/02/12 06:18:17 tnn Exp $
+# $NetBSD: Makefile,v 1.94 2015/02/21 10:44:14 tnn Exp $
DISTNAME= openjdk-1.7.76-20150127
PKGNAME= openjdk7-1.7.76
@@ -60,8 +60,8 @@ MAKE_ENV+= JAVA_HOME=
MAKE_ENV+= CLASSPATH=
BUILD_OPSYS= ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/}
-BUILD_ARCH= ${MACHINE_ARCH:S/i386/i586/:S/x86_64/amd64/:S/sparc64/sparcv9/}
-LIBDIR_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/}
+BUILD_ARCH= ${MACHINE_ARCH:S/i386/i586/:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
+LIBDIR_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
BUILDDIR= ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}
LD_LIBRARY_PATH= ${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/jli:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/server
MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
diff --git a/lang/openjdk7/distinfo b/lang/openjdk7/distinfo
index 3ccc525f91b..7fc3017e9e1 100644
--- a/lang/openjdk7/distinfo
+++ b/lang/openjdk7/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.74 2015/02/13 10:47:40 tnn Exp $
+$NetBSD: distinfo,v 1.75 2015/02/21 10:44:14 tnn Exp $
SHA1 (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = 99bff3c702dd79076f4e705e3541f7e35bbb4306
RMD160 (openjdk7/apache-ant-1.9.4-bin.tar.bz2) = 7f4263d617bbf40a15eab401369d18a755f8d260
@@ -90,6 +90,10 @@ SHA1 (patch-hotspot_make_solaris_makefiles_optimized.make) = 78d64fe6cb7c3420889
SHA1 (patch-hotspot_make_solaris_makefiles_product.make) = 6105c8e7f8b612e70957bccf7313384488388aa5
SHA1 (patch-hotspot_make_solaris_makefiles_saproc.make) = 8a034088ca3c9f5a625849b772dd51f65fad0b43
SHA1 (patch-hotspot_make_solaris_makefiles_vm.make) = d72c16b90479c5df0dc33f3b30916b0552dcc17a
+SHA1 (patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp) = 9f7acf1eff3baba430880be9fd0f6148056dd088
+SHA1 (patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp) = dcd83b65a7d74e153a3e1c44f8c7980827ec20c7
+SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp) = e87224f8b67dc78fa411d30beff82ce5ccbb4cc5
+SHA1 (patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp) = 6311d68db9064afc470f1d9fd37e63011899659a
SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp) = 2bf9147643be4ac711d1bf94eb0e6ae4abad20c6
SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp) = 82818bc8d8fee46403b88cf52a7c978b5ea0005c
SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp) = b2ffc4679a4abe581c6ef3aef630b6570e5cfc41
diff --git a/lang/openjdk7/options.mk b/lang/openjdk7/options.mk
index 72a63f7a5c5..d8319cf5d8b 100644
--- a/lang/openjdk7/options.mk
+++ b/lang/openjdk7/options.mk
@@ -1,9 +1,22 @@
-# $NetBSD: options.mk,v 1.9 2015/02/12 06:18:17 tnn Exp $
+# $NetBSD: options.mk,v 1.10 2015/02/21 10:44:14 tnn Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.openjdk7
-PKG_SUPPORTED_OPTIONS= debug jre-jce jdk-zero-vm x11
+PKG_OPTIONS_OPTIONAL_GROUPS= variant
+PKG_OPTIONS_GROUP.variant= jdk-zero-vm
+PKG_SUPPORTED_OPTIONS= debug jre-jce x11
PKG_SUGGESTED_OPTIONS= jre-jce x11
-.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64"
+
+.if !empty(PKGSRC_COMPILER:Mclang)
+PKG_OPTIONS_GROUP.variant+= jdk-zeroshark-vm
+.endif
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+PKG_OPTIONS_GROUP.variant+= jdk-hotspot-vm
+PKG_SUGGESTED_OPTIONS+= jdk-hotspot-vm
+#notyet
+#.elif !empty(PKGSRC_COMPILER:Mclang)
+#PKG_SUGGESTED_OPTIONS+= jdk-zeroshark-vm
+.else
PKG_SUGGESTED_OPTIONS+= jdk-zero-vm
.endif
@@ -68,15 +81,17 @@ MAKE_ENV+= FULL_DEBUG_SYMBOLS=0
# Build variant. Zero VM builds a portable JVM without assembly optimization.
#
PLIST_VARS+= native
-.if !empty(PKG_OPTIONS:Mjdk-zero-vm)
+.if !empty(PKG_OPTIONS:Mjdk-zero-vm) || !empty(PKG_OPTIONS:Mjdk-zeroshark-vm)
MAKE_ENV+= ZERO_BUILD=true
- # valid are i386 / amd64 / sparc* / ppc32 / ppc64
-MAKE_ENV+= ZERO_LIBARCH=${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/}
- # valid are IA32 / AMD64 / SPARC / PPC32 / PPC64
-MAKE_ENV+= ZERO_ARCHDEF=${MACHINE_ARCH:S/i386/IA32/:S/x86_64/AMD64/:S/sparc64/SPARC/}
+MAKE_ENV+= ZERO_LIBARCH=${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
+MAKE_ENV+= ZERO_ARCHDEF=${MACHINE_ARCH:S/i386/IA32/:S/x86_64/AMD64/:S/sparc64/SPARC/:C/^e?arm.*$/ARM/}
.include "../../mk/endian.mk"
MAKE_ENV+= ZERO_ENDIANNESS=${MACHINE_ENDIAN}
.include "../../devel/libffi/buildlink3.mk"
.else
PLIST.native= yes
.endif
+.if !empty(PKG_OPTIONS:Mjdk-zeroshark-vm)
+MAKE_ENV+= SHARK_BUILD=true
+.include "../../lang/clang/buildlink3.mk"
+.endif
diff --git a/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp b/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp
new file mode 100644
index 00000000000..d9ccb6ce6fa
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-hotspot_src_cpu_zero_vm_methodHandles__zero.cpp,v 1.1 2015/02/21 10:44:14 tnn Exp $
+
+Fix zero build w/ debug enabled
+
+--- hotspot/src/cpu/zero/vm/methodHandles_zero.cpp.orig 2015-02-02 15:32:37.000000000 +0000
++++ hotspot/src/cpu/zero/vm/methodHandles_zero.cpp
+@@ -24,8 +24,8 @@
+ */
+
+ #include "precompiled.hpp"
+-#include "interpreter/interpreterGenerator.hpp"
+ #include "interpreter/interpreter.hpp"
++#include "interpreter/interpreterGenerator.hpp"
+ #include "memory/allocation.inline.hpp"
+ #include "prims/methodHandles.hpp"
+
diff --git a/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp b/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp
new file mode 100644
index 00000000000..181702ad4e4
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp
@@ -0,0 +1,14 @@
+$NetBSD: patch-hotspot_src_cpu_zero_vm_nativeInst__zero.cpp,v 1.1 2015/02/21 10:44:14 tnn Exp $
+
+Fix zero build w/ debug enabled
+
+--- hotspot/src/cpu/zero/vm/nativeInst_zero.cpp.orig 2015-02-02 15:32:37.000000000 +0000
++++ hotspot/src/cpu/zero/vm/nativeInst_zero.cpp
+@@ -24,6 +24,7 @@
+ */
+
+ #include "precompiled.hpp"
++#include "interpreter/interpreter.hpp"
+ #include "assembler_zero.inline.hpp"
+ #include "memory/resourceArea.hpp"
+ #include "nativeInst_zero.hpp"
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp
new file mode 100644
index 00000000000..0a9a1d01966
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp
@@ -0,0 +1,47 @@
+$NetBSD: patch-hotspot_src_os__cpu_bsd__zero_vm_atomic__bsd__zero.inline.hpp,v 1.1 2015/02/21 10:44:14 tnn Exp $
+
+ARM: Substitute Linux atomic ops with NetBSD atomic ops
+
+--- hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp.orig 2015-02-02 15:32:37.000000000 +0000
++++ hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp
+@@ -112,8 +112,13 @@ static inline int m68k_lock_test_and_set
+ *
+ */
+
++#ifdef __NetBSD__
++#include <sys/atomic.h>
++#define __kernel_cmpxchg(oldval, newval, ptr) ((unsigned int)(oldval) != atomic_cas_uint((volatile unsigned int*)(ptr), (unsigned int)(oldval), (unsigned int)(newval)))
++#else
+ typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
+ #define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0)
++#endif
+
+
+
+@@ -189,7 +194,7 @@
+
+ inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) {
+ #ifdef ARM
+- return arm_add_and_fetch(dest, add_value);
++ return arm_add_and_fetch((volatile int*)dest, add_value);
+ #else
+ #ifdef M68K
+ return m68k_add_and_fetch(dest, add_value);
+@@ -246,7 +251,7 @@
+ inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value,
+ volatile intptr_t* dest) {
+ #ifdef ARM
+- return arm_lock_test_and_set(dest, exchange_value);
++ return arm_lock_test_and_set((volatile int*)dest, exchange_value);
+ #else
+ #ifdef M68K
+ return m68k_lock_test_and_set(dest, exchange_value);
+@@ -286,7 +291,7 @@
+ volatile intptr_t* dest,
+ intptr_t compare_value) {
+ #ifdef ARM
+- return arm_compare_and_swap(dest, compare_value, exchange_value);
++ return arm_compare_and_swap((volatile int*)dest, compare_value, exchange_value);
+ #else
+ #ifdef M68K
+ return m68k_compare_and_swap(dest, compare_value, exchange_value);
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp
new file mode 100644
index 00000000000..ee83c92c60c
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp
@@ -0,0 +1,20 @@
+$NetBSD: patch-hotspot_src_os__cpu_bsd__zero_vm_orderAccess__bsd__zero.inline.hpp,v 1.1 2015/02/21 10:44:14 tnn Exp $
+
+ARM: Substitute Linux atomic ops with NetBSD atomic ops
+
+--- hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp.orig 2015-02-02 15:32:37.000000000 +0000
++++ hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
+@@ -37,8 +37,13 @@
+ * and gcc __sync_synchronize(); implementation does not use the kernel
+ * helper for all gcc versions so it is unreliable to use as well.
+ */
++#ifdef __NetBSD__
++#include <sys/atomic.h>
++#define __kernel_dmb membar_sync
++#else
+ typedef void (__kernel_dmb_t) (void);
+ #define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
++#endif
+
+ #define FULL_MEM_BARRIER __kernel_dmb()
+ #define READ_MEM_BARRIER __kernel_dmb()