aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorglewis <glewis@FreeBSD.org>2016-06-13 05:53:48 +0800
committerglewis <glewis@FreeBSD.org>2016-06-13 05:53:48 +0800
commit3843288e0ec2f73d0b1bce821148b4803f023d9f (patch)
tree12d04464800eb51479339e75452ca9f9c1130f91 /java
parenta083b6cbf3b0776b9e5fa013170fb4209a3af1f5 (diff)
downloadfreebsd-ports-gnome-3843288e0ec2f73d0b1bce821148b4803f023d9f.tar.gz
freebsd-ports-gnome-3843288e0ec2f73d0b1bce821148b4803f023d9f.tar.zst
freebsd-ports-gnome-3843288e0ec2f73d0b1bce821148b4803f023d9f.zip
Handle unsafe operations that access invalid memory more gracefully
PR: 209599 Submitted by: Andrew Smith <iamasmith.home@gmail.com>
Diffstat (limited to 'java')
-rw-r--r--java/openjdk8/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/java/openjdk8/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp b/java/openjdk8/files/patch-hotspot-src-os_cpu-bsd_x86-vm-os_bsd_x86.cpp
new file mode 100644
index 000000000000..3ab8e6429a8f
--- /dev/null
+++ b/java/openjdk8/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.orig 2016-05-20 12:24:21.966092000 +0100
++++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2016-05-20 12:46:40.522912000 +0100
+@@ -594,7 +596,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();
+ }