summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2012-11-02 22:28:54 +0000
committerjoerg <joerg@pkgsrc.org>2012-11-02 22:28:54 +0000
commit7ac17b6dd8e4b3450f20c0cf9adc5cb46d5be68e (patch)
tree9a7949aa5bd7b20fb73b63e2ae5e70ab9be2c79f /lang
parent7ae6cd5e9a312a514af1c0fe2508b82705179af8 (diff)
downloadpkgsrc-7ac17b6dd8e4b3450f20c0cf9adc5cb46d5be68e.tar.gz
Use hw.usermem64 when available to truncation to less than 4GB on 64bit
architectures. Honour data and address space limits on all BSDs. Explicitly limit the heap size during bootstrap to 256MB. This fixes e.g. my bulk build, which is run with an AS limit of 2GB. Since hw.usermem would tell the bootstrap JVM that > 3GB are available, initialisation would fail. Bump revision.
Diffstat (limited to 'lang')
-rw-r--r--lang/openjdk7/Makefile14
-rw-r--r--lang/openjdk7/distinfo4
-rw-r--r--lang/openjdk7/patches/patch-aa58
3 files changed, 68 insertions, 8 deletions
diff --git a/lang/openjdk7/Makefile b/lang/openjdk7/Makefile
index 7135230b214..0d145d78241 100644
--- a/lang/openjdk7/Makefile
+++ b/lang/openjdk7/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.38 2012/10/23 10:24:07 wiz Exp $
+# $NetBSD: Makefile,v 1.39 2012/11/02 22:28:54 joerg Exp $
DISTNAME= openjdk-7-fcs-src-b147-27_jun_2011
PKGNAME= openjdk7-1.7.0.147.20110811
-PKGREVISION= 5
+PKGREVISION= 6
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_LOCAL:=openjdk7/}
EXTRACT_SUFX= .tar.bz2
@@ -124,6 +124,16 @@ post-extract:
cd ${WRKDIR}/${ICEDTEA_WEB}/netx && pax -rw . \
${WRKSRC}/jdk/src/share/classes
cd ${WRKSRC} && patch -s -p1 < ${WRKDIR}/${ICEDTEA}/patches/rhino.patch
+ mv ${WRKDIR}/bootstrap/bin/java ${WRKDIR}/bootstrap/bin/java-real
+ printf '#!/bin/sh\nexec %s/bootstrap/bin/java-real -mx256m "$$@"\n' \
+ ${WRKDIR} > ${WRKDIR}/bootstrap/bin/java
+ chmod a+x ${WRKDIR}/bootstrap/bin/java
+.for T in idlj jar javac javah javap native2ascii rmic
+ mv ${WRKDIR}/bootstrap/bin/$T ${WRKDIR}/bootstrap/bin/$T-real
+ printf '#!/bin/sh\n\nexec %s/bootstrap/bin/$T-real -J-mx256m "$$@"\n' \
+ ${WRKDIR} > ${WRKDIR}/bootstrap/bin/$T
+ chmod a+x ${WRKDIR}/bootstrap/bin/$T
+.endfor
do-build: ${WRKDIR}/stage3-done
diff --git a/lang/openjdk7/distinfo b/lang/openjdk7/distinfo
index 1ceab6d3ce1..fa891b21c35 100644
--- a/lang/openjdk7/distinfo
+++ b/lang/openjdk7/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.17 2012/10/24 15:36:47 joerg Exp $
+$NetBSD: distinfo,v 1.18 2012/11/02 22:28:54 joerg Exp $
SHA1 (openjdk7/61e08e67b176.tar.bz2) = 3db5488f3c0ea1b9c83a74632d300d8717c9b478
RMD160 (openjdk7/61e08e67b176.tar.bz2) = c0dd67a6ae982f09b3675c164b5decab4f7e140f
@@ -54,7 +54,7 @@ Size (openjdk7/openjdk-7-fcs-src-b147-27_jun_2011.tar.bz2) = 44635821 bytes
SHA1 (openjdk7/rhino1_7R3.zip) = 81f39d6e24529d62b23a6a92a1a09af95495d7c1
RMD160 (openjdk7/rhino1_7R3.zip) = 3fdc3e1540d0fa35ba7dec1bf34a70b0d41cedd0
Size (openjdk7/rhino1_7R3.zip) = 4651597 bytes
-SHA1 (patch-aa) = 1d0363634b55fd51bb89dc414760aed79e26d021
+SHA1 (patch-aa) = a718f471ef56b494daa144167c1053a7515b8168
SHA1 (patch-ab) = 5d6ccee7e3a1a06cfb109cb892be08c7fff1ff8f
SHA1 (patch-ac) = c845134b3f7912b69c7773ca939f70d2dcd78fec
SHA1 (patch-ad) = ab68ff2db078628069c925287c119c4cac6657f3
diff --git a/lang/openjdk7/patches/patch-aa b/lang/openjdk7/patches/patch-aa
index ee08dee06c5..ebeaea2c0f4 100644
--- a/lang/openjdk7/patches/patch-aa
+++ b/lang/openjdk7/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.5 2012/05/12 21:01:47 marino Exp $
+$NetBSD: patch-aa,v 1.6 2012/11/02 22:28:54 joerg Exp $
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2012-05-12 08:57:44.793207000 +0000
+++ hotspot/src/os/bsd/vm/os_bsd.cpp
@@ -15,7 +15,57 @@ $NetBSD: patch-aa,v 1.5 2012/05/12 21:01:47 marino Exp $
#endif
#ifdef __APPLE__
-@@ -2039,7 +2042,9 @@ void * os::dll_load(const char *filename
+@@ -335,7 +338,12 @@ void os::Bsd::initialize_system_info() {
+ int mib[2];
+ size_t len;
+ int cpu_val;
++#ifdef HW_USERMEM64
++ uint64_t mem_val;
++#else
+ u_long mem_val;
++#endif
++ struct rlimit limits;
+
+ /* get processors count via hw.ncpus sysctl */
+ mib[0] = CTL_HW;
+@@ -352,21 +360,26 @@ void os::Bsd::initialize_system_info() {
+ * instead of hw.physmem because we need size of allocatable memory
+ */
+ mib[0] = CTL_HW;
++#ifdef HW_USERMEM64
++ mib[1] = HW_USERMEM64;
++#else
+ mib[1] = HW_USERMEM;
++#endif
+ len = sizeof(mem_val);
+- if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1)
++ if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1) {
+ _physical_memory = mem_val;
+- else
++#ifdef HW_USERMEM64
++ if (_physical_memory < mem_val)
++ _physical_memory = (julong)-1;
++#endif
++ } else
+ _physical_memory = 256*1024*1024; // fallback (XXXBSD?)
+
+-#ifdef __OpenBSD__
+- {
+- // limit _physical_memory memory view on OpenBSD since
+- // datasize rlimit restricts us anyway.
+- struct rlimit limits;
+- getrlimit(RLIMIT_DATA, &limits);
+- _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
+- }
++ getrlimit(RLIMIT_DATA, &limits);
++ _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
++#if defined(RLIMIT_AS)
++ getrlimit(RLIMIT_DATA, &limits);
++ _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
+ #endif
+ }
+ #else
+@@ -2039,7 +2052,9 @@ void * os::dll_load(const char *filename
{EM_PPC, EM_PPC, ELFCLASS32, ELFDATA2MSB, (char*)"Power PC 32"},
{EM_PPC64, EM_PPC64, ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"},
{EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"},
@@ -25,7 +75,7 @@ $NetBSD: patch-aa,v 1.5 2012/05/12 21:01:47 marino Exp $
{EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
{EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
{EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},
-@@ -3559,7 +3564,7 @@ OSReturn os::set_native_priority(Thread*
+@@ -3559,7 +3574,7 @@ OSReturn os::set_native_priority(Thread*
#ifdef __OpenBSD__
// OpenBSD pthread_setprio starves low priority threads
return OS_OK;
@@ -34,7 +84,7 @@ $NetBSD: patch-aa,v 1.5 2012/05/12 21:01:47 marino Exp $
int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
#elif defined(__APPLE__) || defined(__NetBSD__)
struct sched_param sp;
-@@ -3587,7 +3592,7 @@ OSReturn os::get_native_priority(const T
+@@ -3587,7 +3602,7 @@ OSReturn os::get_native_priority(const T
}
errno = 0;