diff options
author | joerg <joerg@pkgsrc.org> | 2012-11-02 22:28:54 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2012-11-02 22:28:54 +0000 |
commit | 7ac17b6dd8e4b3450f20c0cf9adc5cb46d5be68e (patch) | |
tree | 9a7949aa5bd7b20fb73b63e2ae5e70ab9be2c79f | |
parent | 7ae6cd5e9a312a514af1c0fe2508b82705179af8 (diff) | |
download | pkgsrc-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.
-rw-r--r-- | lang/openjdk7/Makefile | 14 | ||||
-rw-r--r-- | lang/openjdk7/distinfo | 4 | ||||
-rw-r--r-- | lang/openjdk7/patches/patch-aa | 58 |
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; |