"Mark Voortman" <mark@...> writes:
> I'm a happy user of both SBCL and OpenBSD. However, it does not seem to
> be possible to run the latest versions of SBCL on OpenBSD, because
> there are incompatabilities between SBCL and the memory management in
> OpenBSD. Is anyone looking into this problem?
I don't think that anyone is currently actively working on this.
> If not, I might take a look myself if someone could explain in
> details what the exact problem is and some guidelines how to solve
> it.
I'm not sure what the exact problem is, but the basic issues revolve
around the fact that SBCL as currently implemented is brittle in
various ways that OpenBSD (and, increasingly, Linux) expose.
For instance, the sbcl executable mmap()s portions of its core into
the process's address space. So far, so normal, but significant
chunks of that core is executable code, and furthermore it is
non-position-independent non-relocatable executable code: therefore,
it is critical that the core be mapped at the same virtual address,
and that there is nothing else in that space that would interfere.
So, new security techniques such as mmap address randomization, stack
space randomization, kernel address randomization, and the like all
stand a chance of interfering with this.
This is likely to be the major issue, though there are likely other
security-inspired features which might interfere: for instance, it is
common in a lisp environment to write code to memory and then execute
it; I believe I read at some point that some kernels were beginning to
disallow this kind of thing by default.
I hope that gives you some idea of what we're up against.
Cheers,
Christophe
|