On Fri, 24 Apr 2020 13:59:14 +0100 Stuart Henderson <[email protected]> wrote:
> > > > /usr/obj/ports/clisp-2.49/clisp-2.49/src/spvw.d:2881:47: error: use of > > > > undeclared identifier 'MAP_ANON' > > > > > > > > mmap((void*)0xC0000000,0x20000000,PROT_NONE,MAP_ANON|MAP_PRIVATE|MAP_FIXED,-1,0); > > > > ^ > > > > /usr/obj/ports/clisp-2.49/clisp-2.49/src/unix.d:65:22: note: expanded > > > > from macro 'MAP_ANON' > > > > #define MAP_ANON MAP_ANONYMOUS > > > > ^ > > > > /usr/include/sys/mman.h:60:23: note: expanded from macro 'MAP_ANONYMOUS' > > > > #define MAP_ANONYMOUS MAP_ANON /* alternate POSIX spelling */ > Noticable difference between working and failed builds is this: > > -checking for working shared memory... no > +checking for working shared memory... yes Some of these tests map memory at fixed addresses, and may yield a random 'no' from conflict with ASLR. configure would say, "working mmap... yes", if at least 1 of MAP_ANON, MAP_ANONYMOUS, /dev/zero are working. If the random result was MAP_ANON 'no' and MAP_ANONYMOUS 'yes', then you might get the above error. This diff overrides the tests. OK to commit? Index: Makefile =================================================================== RCS file: /cvs/ports/lang/clisp/Makefile,v retrieving revision 1.53 diff -u -p -r1.53 Makefile --- Makefile 6 Apr 2020 01:25:18 -0000 1.53 +++ Makefile 29 Apr 2020 02:41:25 -0000 @@ -5,7 +5,7 @@ ONLY_FOR_ARCHS = amd64 i386 powerpc spar COMMENT = ANSI Common Lisp implementation DISTNAME= clisp-2.49 -REVISION = 4 +REVISION = 5 CATEGORIES= lang HOMEPAGE= http://clisp.cons.org/ @@ -36,9 +36,17 @@ CONFIGURE_ARGS= --fsstnd=openbsd \ --srcdir=${WRKSRC} ${WRKBUILD} \ --without-dynamic-modules +# Override some mmap, shm tests: their fixed addresses may conflict +# with ASLR, and a random 'no' might break the build. CONFIGURE_ENV = ac_cv_prog_DVIPDF='' \ ac_cv_prog_GROFF='' \ - ac_cv_prog_PS2PDF='' + ac_cv_prog_PS2PDF='' \ + cl_cv_func_mmap_anon=yes \ + cl_cv_func_mmap_anonymous=yes \ + cl_cv_func_mmap_devzero=yes \ + cl_cv_func_mmap_works=yes \ + cl_cv_func_shmctl_attachable=yes \ + cl_cv_sys_shm_works=yes .if ${MACHINE_ARCH} == "sparc64" CFLAGS += -DSAFETY=2 -DNO_ASM
