Hello,
with the following patch, sbcl build and don't die because of W^X
violation
Version is also bumped from 1.2.14 to 1.3.8
native_boostrap works with sbcl compiled with sbcl on -current with this
patch
Binary like stumpwm (a X window manager) produced from sbcl works.
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile
--- Makefile 22 Aug 2016 05:44:54 -0000 1.26
+++ Makefile 31 Aug 2016 15:00:47 -0000
@@ -2,12 +2,12 @@
# not yet ported to other arches
ONLY_FOR_ARCHS = amd64 i386 powerpc
-BROKEN = mmap W^X violations but doesnt seem to use ld(1)
+
USE_WXNEEDED = Yes
COMMENT= compiler and runtime system for ANSI Common Lisp
-V = 1.2.14
+V = 1.3.8
DISTNAME= sbcl-${V}-source
PKGNAME= sbcl-${V}
WRKDIST= ${WRKDIR}/sbcl-${V}
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.12
diff -u -p -r1.12 distinfo
--- distinfo 11 Aug 2015 21:41:04 -0000 1.12
+++ distinfo 31 Aug 2016 15:00:47 -0000
@@ -1,2 +1,2 @@
-SHA256 (sbcl-1.2.14-source.tar.bz2) =
uRRt1kYMBbylCPbdqDADWAkRgz7t1R28CdjsqAsPXAY=
-SIZE (sbcl-1.2.14-source.tar.bz2) = 5565538
+SHA256 (sbcl-1.3.8-source.tar.bz2) =
MCN/TjnwUBPgk31Sc6CKq0SgvXSDLpAe6L+/5vXP0Ek=
+SIZE (sbcl-1.3.8-source.tar.bz2) = 5754599
cvs server: Diffing patches
Index: patches/patch-contrib_sb-posix_posix-tests_lisp
===================================================================
RCS file: patches/patch-contrib_sb-posix_posix-tests_lisp
diff -N patches/patch-contrib_sb-posix_posix-tests_lisp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-contrib_sb-posix_posix-tests_lisp 31 Aug 2016 15:00:47
-0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- contrib/sb-posix/posix-tests.lisp.orig Wed Aug 31 14:59:01 2016
++++ contrib/sb-posix/posix-tests.lisp Wed Aug 31 14:59:30 2016
+@@ -478,7 +478,7 @@
+ 42)
+
+
+-#-(or win32 netbsd)
++#-(or win32 netbsd openbsd)
+ (deftest fcntl.flock.2
+ (locally (declare (sb-ext:muffle-conditions sb-ext:compiler-note))
+ (let ((flock (make-instance 'sb-posix:flock
Index: patches/patch-src_runtime_GNUmakefile
===================================================================
RCS file: patches/patch-src_runtime_GNUmakefile
diff -N patches/patch-src_runtime_GNUmakefile
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_runtime_GNUmakefile 31 Aug 2016 15:00:47 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- src/runtime/GNUmakefile.orig Sun Jul 31 17:34:33 2016
++++ src/runtime/GNUmakefile Wed Aug 31 16:45:17 2016
+@@ -17,7 +17,7 @@ TARGET=sbcl
+ # Defaults which might be overridden or modified by values in the
+ # Config file. Most of them are same on most systems right now.
+ # If you need to override one of these, do it in Config.
+-LINKFLAGS = -g
++LINKFLAGS = -g -Wl,-z,wxneeded
+ NM = nm -gp
+ DEPEND_FLAGS = -MM
+ GREP = grep