[M3devel] New setjmp/longjmp problem.
Antony Hosking
hosking at cs.purdue.edu
Fri Jan 12 13:59:18 CET 2007
Right, this is the problem I was talking about. We need to fix the
old POSIX implementation of Modula-3 threading to use use the
makecontext call, and we should be using getcontext/setcontext for
thread switching instead of setjmp/longjmp. The new PTHREAD
implementation of Modula-3 threading (which marries a Modula-3 thread
to a system pthread) should work just fine. I would suggest
rebuilding m3core with the -DPTHREAD option to make it use pthread-
based threading.
On 12/01/2007, at 12:04 AM, Mike Frysinger wrote:
> On Thursday 11 January 2007 17:40, Rodney M. Bates wrote:
>> The setjmp in glibc contains the line:
>>
>> xor %gs:0x18,%ecx
>
> glibc has started mangling the thread stack poiner in newer
> versions ... it's
> a "feature"
>
> see the PTR_MANGLE defines in the i386 dirs
> -mike
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
Antony Hosking | Associate Professor
Dept of Computer Sciences | Office: (765) 494-6001
Purdue University | Mobile: (765) 427-5484
250 N. University Street | hosking at cs.purdue.edu
West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking
_--_|\
/ \
\_.--._/ )
v /
More information about the M3devel
mailing list