The Io language bindings use setcontext and getcontext to implement  
coroutines[1].  Are you building the /trunk version?  It appears to  
have a case for OpenBSD (check GCC is defining __OpenBSD__.  If not,  
can you let me know what it does define instead?).  If you are  
running on PowerPC[2] or i386, there is a portable implementation  
provided that you can use, which manually saves the registers and  
modifies the stack pointer.

If you are on some other architecture, you can try implementing this  
yourself, or simply remove Io from the GNUmakefile in the Languages  
directory (or Languages from the root GNUmakefile).

David

[1] After a quick look at the code, it seems that Io uses ucontext in  
exactly the way that the spec says they should not be used (or,  
rather, that they have undefined behaviour).
[2] The PowerPC implementation appears to use Apple's register  
allocation convention.  I don't know if this is used by OpenBSD on  
PowerPC.

P.S.  What version of GCC are you using?

On 8 Oct 2007, at 16:16, Bruenink Marc wrote:

> Hi all,
>
> I am back from a long journey and one of the first things I want to  
> try was a new installation of etoile. However I stumble once more  
> about the unavailibility of get- and setcontext on OpenBSD. See:
> http://cvs.openbsd.org/cgi-bin/query-pr-wrapper? 
> full=yes&textonly=yes&numbers=5099
> https://mail.gna.org/public/etoile-discuss/2007-01/msg00002.html
>
> Is it possible to install etoile without set/getcontext?
>
>
> Ciao
> Marc
>
> _______________________________________________
> Etoile-discuss mailing list
> [email protected]
> https://mail.gna.org/listinfo/etoile-discuss


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à