OpenBSD 5.4 errata 17, Oct 20, 2014: Executable headers with an unaligned address will trigger a kernel panic. Apply patch using: cat 017_kernexec.patch | (cd /usr/src && patch -p0) Then build and install a new kernel. Index: sys/kern/kern_exec.c =================================================================== RCS file: /cvs/src/sys/kern/kern_exec.c,v retrieving revision 1.135 diff -u -p -r1.135 kern_exec.c --- sys/kern/kern_exec.c 17 Jun 2013 19:11:54 -0000 1.135 +++ sys/kern/kern_exec.c 19 Oct 2014 16:58:51 -0000 @@ -428,10 +428,12 @@ sys_execve(struct proc *p, void *v, regi vm = p->p_vmspace; /* Now map address space */ - vm->vm_taddr = (char *)pack.ep_taddr; - vm->vm_tsize = atop(round_page(pack.ep_tsize)); - vm->vm_daddr = (char *)pack.ep_daddr; - vm->vm_dsize = atop(round_page(pack.ep_dsize)); + vm->vm_taddr = (char *)trunc_page(pack.ep_taddr); + vm->vm_tsize = atop(round_page(pack.ep_taddr + pack.ep_tsize) - + trunc_page(pack.ep_taddr)); + vm->vm_daddr = (char *)trunc_page(pack.ep_daddr); + vm->vm_dsize = atop(round_page(pack.ep_daddr + pack.ep_dsize) - + trunc_page(pack.ep_daddr)); vm->vm_dused = 0; vm->vm_ssize = atop(round_page(pack.ep_ssize)); vm->vm_maxsaddr = (char *)pack.ep_maxsaddr;