aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorglewis <glewis@FreeBSD.org>2016-06-13 12:57:28 +0800
committerglewis <glewis@FreeBSD.org>2016-06-13 12:57:28 +0800
commit5850d7ed3b1458c9817aa9a0b5839f6f446e0949 (patch)
treeb2a01d3aff934fbbb19b599fc1c3d7f7e460aa8c /java
parenta39368e10ecb73e24d801da696b4317ad35f037a (diff)
downloadfreebsd-ports-gnome-5850d7ed3b1458c9817aa9a0b5839f6f446e0949.tar.gz
freebsd-ports-gnome-5850d7ed3b1458c9817aa9a0b5839f6f446e0949.tar.zst
freebsd-ports-gnome-5850d7ed3b1458c9817aa9a0b5839f6f446e0949.zip
. Handle unsafe operations that access invalid memory more gracefully.
. Bump PORTREVISION for this fix. PR: 209599 Submitted by: Andrew Smith <iamasmith.home@gmail.com>
Diffstat (limited to 'java')
-rw-r--r--java/openjdk7/Makefile1
-rw-r--r--java/openjdk7/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp14
2 files changed, 15 insertions, 0 deletions
diff --git a/java/openjdk7/Makefile b/java/openjdk7/Makefile
index 9d0fb94090b4..8a6811941106 100644
--- a/java/openjdk7/Makefile
+++ b/java/openjdk7/Makefile
@@ -3,6 +3,7 @@
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER}
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \
diff --git a/java/openjdk7/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp b/java/openjdk7/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp
new file mode 100644
index 000000000000..4bb8dca265b5
--- /dev/null
+++ b/java/openjdk7/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp
@@ -0,0 +1,14 @@
+--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.prev 2016-05-20 14:03:24.511067000 +0000
++++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2016-05-20 14:12:29.670620000 +0000
+@@ -609,7 +609,11 @@
+ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL);
+ }
+ } else if (thread->thread_state() == _thread_in_vm &&
++#ifdef __FreeBSD__
++ (sig == SIGBUS || sig == SIGSEGV) &&
++#else
+ sig == SIGBUS && /* info->si_code == BUS_OBJERR && */
++#endif
+ thread->doing_unsafe_access()) {
+ stub = StubRoutines::handler_for_unsafe_access();
+ }