On Fri, Apr 27, 2018 at 05:56:26PM +0200, Jeremie Courreges-Anglas wrote: > On Fri, Apr 27 2018, Solene Rapenne <sol...@perso.pw> wrote: > > CC maintainer > > > > Solene Rapenne writes: > > > >> bump sbcl 1.4.5 -> 1.4.6 > >> > >> including <pthread.h> is mandatory in this new version, patch > >> provided. patch on x86-64-arch.c fix the build for amd64. I also patched > >> x64-arch.c for i386 but I didn't test it (don't have an i386 system) > > Works fine on amd64. Please patch ppc-arch.c preemptively and it's ok jca@
I'd patch amd64 this way in patches/patch-src_runtime_x86-64-arch_c: $OpenBSD$ Index: src/runtime/x86-64-arch.c --- src/runtime/x86-64-arch.c.orig +++ src/runtime/x86-64-arch.c @@ -580,7 +580,9 @@ lispobj fdefn_callee_lispobj(struct fdefn* fdefn) { extern unsigned int alloc_profile_n_counters; extern unsigned int max_alloc_point_counters; +#ifdef LISP_FEATURE_SB_THREAD extern pthread_mutex_t alloc_profiler_lock; +#endif static unsigned int claim_index(int qty) { Patching the i386 and ppc *-arch.c files isn't necessary. However i386 didn't build for me (in a VM). I think we need to do this in patches/patch-src_runtime_bsd-os_c: $OpenBSD$ MAP_TRYFIXED is needed to allow SBCL to relocate its heap if the hardcoded virtual address is unavailable. Index: src/runtime/bsd-os.c --- src/runtime/bsd-os.c.orig +++ src/runtime/bsd-os.c @@ -157,7 +157,11 @@ os_validate(int movable, os_vm_address_t addr, os_vm_s * the hint address, and moreover that it "is the default behavior") */ // FALLTHROUGH_INTENDED case NOT_MOVABLE: +#ifdef MAP_TRYFIXED + flags = MAP_TRYFIXED; +#else flags = MAP_FIXED; +#endif } #ifdef MAP_EXCL // not defined in OpenBSD, NetBSD, DragonFlyBSD if (flags & MAP_FIXED) flags |= MAP_EXCL;