diff options
author | John Baldwin <jhb@FreeBSD.org> | 2014-10-18 12:20:42 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2014-10-18 12:20:42 +0000 |
commit | 1ebd0e3345fb6f66522e8c837174a3544e080aad (patch) | |
tree | 75b44b9298bfa34f3123fa4b2064042302608491 /java | |
parent | b133042d6c8165729774ffa4c9ea411beb0fdc29 (diff) |
The MAP_NORESERVE flag to mmap() has never been implemented in FreeBSD and
is being removed. No portrev bump needed since the kernel will continue to
accept this flag for old binaries even after support for it in new binaries
is removed.
PR: 193961
Approved by: portmgr (antoine)
Notes
Notes:
svn path=/head/; revision=371117
Diffstat (limited to 'java')
-rw-r--r-- | java/openjdk6/files/patch-set | 29 | ||||
-rw-r--r-- | java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp | 33 | ||||
-rw-r--r-- | java/openjdk8/files/patch-bsd | 29 |
3 files changed, 85 insertions, 6 deletions
diff --git a/java/openjdk6/files/patch-set b/java/openjdk6/files/patch-set index 21767728e029..5f17ef0db3d2 100644 --- a/java/openjdk6/files/patch-set +++ b/java/openjdk6/files/patch-set @@ -1460,7 +1460,16 @@ // Add the appropriate client or server subdir len = strlen(buf); -@@ -2817,7 +2941,7 @@ +@@ -2752,7 +2876,7 @@ + if (::write(fd, "", 1) == 1) { + mmap(base, size, + PROT_READ|PROT_WRITE|PROT_EXEC, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0); ++ MAP_PRIVATE|MAP_FIXED, fd, 0); + } + } + ::close(fd); +@@ -2815,7 +2939,7 @@ } void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) { @@ -1469,7 +1478,23 @@ } void os::numa_make_global(char *addr, size_t bytes) { -@@ -2997,9 +3121,10 @@ +@@ -2962,7 +3086,7 @@ + return ::mprotect(addr, size, PROT_NONE) == 0; + #else + uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); ++ MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); + return res != (uintptr_t) MAP_FAILED; + #endif + } +@@ -2989,15 +3113,16 @@ + char * addr; + int flags; + +- flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS; ++ flags = MAP_PRIVATE | MAP_ANONYMOUS; + if (fixed) { + assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address"); flags |= MAP_FIXED; } diff --git a/java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp b/java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp index b2f8297af0ed..e490ef7ee7c2 100644 --- a/java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp +++ b/java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp @@ -1,8 +1,8 @@ $FreeBSD$ ---- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2010-02-21 20:07:54.000000000 -0800 -+++ hotspot/src/os/bsd/vm/os_bsd.cpp 2010-02-21 20:08:41.000000000 -0800 -@@ -358,7 +358,7 @@ +--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2014-10-06 17:10:00.000000000 -0400 ++++ hotspot/src/os/bsd/vm/os_bsd.cpp 2014-10-08 10:23:14.000000000 -0400 +@@ -458,7 +458,7 @@ * 7: The default directories, normally /lib and /usr/lib. */ #ifndef DEFAULT_LIBPATH @@ -11,3 +11,30 @@ $FreeBSD$ #endif #define EXTENSIONS_DIR "/lib/ext" +@@ -2947,7 +2947,7 @@ + if (::write(fd, "", 1) == 1) { + mmap(base, size, + PROT_READ|PROT_WRITE|PROT_EXEC, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0); ++ MAP_PRIVATE|MAP_FIXED, fd, 0); + } + } + ::close(fd); +@@ -3196,7 +3196,7 @@ + return ::mprotect(addr, size, PROT_NONE) == 0; + #else + uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); ++ MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); + return res != (uintptr_t) MAP_FAILED; + #endif + } +@@ -3223,7 +3223,7 @@ + char * addr; + int flags; + +- flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS; ++ flags = MAP_PRIVATE | MAP_ANONYMOUS; + if (fixed) { + assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address"); + flags |= MAP_FIXED; diff --git a/java/openjdk8/files/patch-bsd b/java/openjdk8/files/patch-bsd index 504658578a16..1b5cd37f810f 100644 --- a/java/openjdk8/files/patch-bsd +++ b/java/openjdk8/files/patch-bsd @@ -941,7 +941,34 @@ SEM_INIT(_semaphore, 0); } -@@ -2746,6 +2813,7 @@ +@@ -2128,7 +2195,7 @@ + if (::write(fd, "", 1) == 1) { + mmap(base, size, + PROT_READ|PROT_WRITE|PROT_EXEC, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0); ++ MAP_PRIVATE|MAP_FIXED, fd, 0); + } + } + ::close(fd); +@@ -2238,7 +2305,7 @@ + return ::mprotect(addr, size, PROT_NONE) == 0; + #else + uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, +- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); ++ MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); + return res != (uintptr_t) MAP_FAILED; + #endif + } +@@ -2265,7 +2332,7 @@ + char * addr; + int flags; + +- flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS; ++ flags = MAP_PRIVATE | MAP_ANONYMOUS; + if (fixed) { + assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address"); + flags |= MAP_FIXED; +@@ -2743,6 +2810,7 @@ return OS_OK; #elif defined(__FreeBSD__) int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri); |