--- hotspot/src/os_cpu/bsd_i486/vm/os_bsd_i486.cpp.orig	2010-12-06 23:12:16 +0100
+++ hotspot/src/os_cpu/bsd_i486/vm/os_bsd_i486.cpp	2010-12-07 07:52:21 +0100
@@ -28,7 +28,7 @@
 # include <pwd.h>
 # include <poll.h>
 
-# ifdef __FreeBSD__
+# if defined(__FreeBSD__) || defined(__DragonFly__) 
 #  define context_eip uc_mcontext.mc_eip
 #  define context_esp uc_mcontext.mc_esp
 #  define context_eax uc_mcontext.mc_eax
@@ -643,7 +643,8 @@
     if ((sig == SIGSEGV || sig == SIGBUS) &&
         os::is_memory_serialize_page(thread, (address)info->si_addr)) {
       // Block current thread until the memory serialize page permission restored.
-      os::block_on_serialize_page_trap();
+      //XXX Where is this defined?
+      //os::block_on_serialize_page_trap();
       return true;
     }
 
