[Ecls-list] unknown symbol: mp::interrupt-process / We cannot use the mmap code without siginfo

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Fri Oct 29 20:42:20 UTC 2010


On Thu, Oct 28, 2010 at 8:54 PM, Dr. David Kirkby
<david.kirkby at onetel.net>wrote:

> I'm having a hard time on Solaris and OpenSolaris building the libecl.so
> library
> without text relocations against non-writable segments. This basically
> makes the
> ECL library unusable on 64-bit Solaris/OpenSolaris.
>

I know. I am slowly progressing through the list of bug reports.


> Hence I'm trying to build the latest git snapshot (downloaded around 1900
> GMT on
> 28th October 2010) using the Sun compiler. But the Sun compiler will not
> compile
> this - it is failing with:
>
> Unknown symbol: mp::interrupt-process
>

You have hit some ugly point between commits. Bad luck :-)


> line 97: #error: "We cannot use the mmap code without siginfo"


mmap is used in ECL to help in delaying interrupts. The trick is simple: ECL
gets an interrupt while executing a C function that can not be interrupted,
it marks (using mmap) the Lisp environment as read-only, ECL tries to write
to the environment after the C function finished, this causes a signal and
now it can be processed together with the pending interrupts. But this only
works when mmap implements interrupts with information.

I am really surprised that the Sun platform does not support SA_SIGINFO :-/
Would one need additional compiler flags to allow the headers provide this
facility?

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20101029/4b6e155b/attachment.html>


More information about the ecl-devel mailing list