[M3devel] [M3commit] CVS Update: cm3

Tony Hosking hosking at cs.purdue.edu
Mon Feb 2 00:30:22 CET 2009


On 2 Feb 2009, at 09:59, Jay wrote:

>> What is the purpose of this code?
>
>
> OpenBSD does not have the *context functions.
> This provides them for OpenBSD/x86.

Are they correct w.r. to signals and floating point state?

> I /assume/ their only user will be ThreadPosix.m3.
> That there will be unix/common/ucontext.i3 that declares them.
>  Even if that is a little bit "dishonest" on platforms that lack them.
>  Eh, I guess that begs for the answer, they belong in
>   unix/common/x86?

Yeah, that's where I thought they might go.

> (forking for x86-thisos, x86-thatos, if/as needed)
>
>
> A reason not to put in unix/common/x86 however is if there are
>  compromises that make them not meet the general spec, but adequate
>  for ThreadPosix.m3. I don't have any in mind currently.
>  Restricting makecontext to have argc=1 is tempting, but so far  
> avoided.
>
>
> Perhaps I will see about getting these into OpenBSD.
> I also anticipate trying to implement them for other systems e.g.  
> PPC_DARWIN.
> (again, current 10.5 Darwin has them, older 10.4 does not).
> Possibly in both cases I can just use the "real" versions, I should  
> have thought
> of that. You know, look the NetBSD/FreeBSD/Darwin 10.5 versions,  
> copy them.

Why do we care about older Darwin versions?  The support on Darwin has  
become much more stable since I first did the port to 10.3, as the  
base platform has become more reliable.  As far as I can tell, prior  
to 10.5 Darwin still showed signs of being a work in progress (at  
least w.r. to POSIX compatibility).

>
>
>
> - Jay
>
>
>
>
> ----------------------------------------
>> From: hosking at cs.purdue.edu
>> To: jay.krell at cornell.edu
>> Date: Mon, 2 Feb 2009 09:32:56 +1100
>> CC: jkrell at elego.de; m3devel at elegosoft.com
>> Subject: Re: [M3devel] [M3commit] CVS Update: cm3
>>
>> What is the purpose of this code?
>>
>> On 2 Feb 2009, at 00:55, Jay wrote:
>>
>>>
>>> How about thread/posix/x86?
>>>
>>> - Jay
>>>
>>>
>>> ----------------------------------------
>>>> From: hosking at cs.purdue.edu
>>>> To: jkrell at elego.de
>>>> Date: Fri, 30 Jan 2009 14:43:24 +1100
>>>> CC: m3devel at elegosoft.com
>>>> Subject: Re: [M3devel] [M3commit] CVS Update: cm3
>>>>
>>>> Probably the wrong place for this. If it is x86-dependent it should
>>>> go somewhere in the x86 hierarchy, not in a top-level directory  
>>>> like
>>>> "context".
>>>>
>>>> On 30 Jan 2009, at 04:25, Jay Krell wrote:
>>>>
>>>>> CVSROOT: /usr/cvs
>>>>> Changes by: jkrell at birch. 09/01/30 04:25:37
>>>>>
>>>>> Added files:
>>>>> cm3/m3-libs/m3core/src/context/: context.c context.h tcontext.c
>>>>>
>>>>> Log message:
>>>>> highly non-portable working version of set/get/make/swapcontext  
>>>>> for
>>>>> NT386;
>>>>> should assist in providing e.g. Cygwin, OpenBSD/x86, and perhaps
>>>>> non-x86,
>>>>> though again, it is highly system specific, and inline assembly
>>>>> syntax
>>>>> is very different between Visual C++ and gcc
>>




More information about the M3devel mailing list