Hannah Schroeter wrote:

On Thu, Feb 16, 2006 at 11:50:41AM +0100, steven mestdagh wrote:
from a bulk build started Feb 13: 6 packages not building on i386:

clisp-2.33.2p0      Cannot map memory...

Issues with randomized mmap/malloc, [...] There were different
suggestions for workarounds, among them was the suggestion to use the
(IIRC (s)brk based) gmalloc which is included in the clisp tree
anyway.

I'm not sure though whether I'll have the time to actually try this out and submit patches in time for the release.

I've attached a simple patch that enables the included malloc. CLISP can be built successfully with this patch and regression tests pass.
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/clisp/Makefile,v
retrieving revision 1.25
diff -u -r1.25 Makefile
--- Makefile    16 Feb 2006 20:56:58 -0000      1.25
+++ Makefile    18 Feb 2006 07:55:31 -0000
@@ -1,12 +1,11 @@
 # $OpenBSD: Makefile,v 1.25 2006/02/16 20:56:58 naddy Exp $
 
-BROKEN=                "does not handle randomized mmap()"
 ONLY_FOR_ARCHS=        i386
 
 COMMENT=       "ANSI Common Lisp compiler"
 
 DISTNAME=      clisp-2.33.2
-PKGNAME=       ${DISTNAME}p0
+PKGNAME=       ${DISTNAME}p1
 CATEGORIES=    lang
 HOMEPAGE=      http://clisp.cons.org/
 
Index: patches/patch-src_configure
===================================================================
RCS file: /cvs/ports/lang/clisp/patches/patch-src_configure,v
retrieving revision 1.1
diff -u -r1.1 patch-src_configure
--- patches/patch-src_configure 11 Feb 2005 12:14:37 -0000      1.1
+++ patches/patch-src_configure 18 Feb 2006 07:55:31 -0000
@@ -1,6 +1,15 @@
 $OpenBSD: patch-src_configure,v 1.1 2005/02/11 12:14:37 alek Exp $
---- src/configure.orig Thu Feb 10 00:43:19 2005
-+++ src/configure      Thu Feb 10 00:43:34 2005
+--- src/configure.orig Wed Jun  2 23:56:55 2004
++++ src/configure      Sat Feb 18 08:34:03 2006
+@@ -11437,7 +11437,7 @@ if test $cross_compiling = no; then
+ # Both are broken. When used with CLISP, the one in the default libc.a
+ # leads to a SIGSEGV, the one in libmalloc.a leads to a SIGBUS.
+ case "$host_os" in
+-  hpux*) cl_cv_func_malloc_broken=yes ;;
++  hpux*|openbsd*) cl_cv_func_malloc_broken=yes ;;
+   *) cl_cv_func_malloc_broken=no ;;
+ esac
+ else
 @@ -24255,7 +24255,7 @@ s,@host@,$host,;t t
  s,@host_cpu@,$host_cpu,;t t
  s,@host_vendor@,$host_vendor,;t t

Reply via email to