<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<A href="http://osdir.com/ml/os.solaris.sunhelp/2001-09/msg00263.html">http://osdir.com/ml/os.solaris.sunhelp/2001-09/msg00263.html</A><BR>
?<BR>
<BR>
- Jay<BR><BR><BR><BR> <BR>
<HR id=stopSpelling>
From: jay.krell@cornell.edu<BR>To: hosking@elego.de; m3commit@elegosoft.com<BR>Date: Thu, 26 Nov 2009 02:03:46 +0000<BR>Subject: Re: [M3commit] CVS Update: cm3<BR><BR>
<STYLE>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
> longjmp is MT-Level unsafe.<BR><BR>Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect?<BR> <BR> /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt<BR>vi 1.txt<BR> <BR>000314fc <_setjmp>:<BR> 314fc: c0 22 20 00 clr [ %o0 ]<BR> 31500: dc 22 20 04 st %sp, [ %o0 + 4 ]<BR> 31504: 92 03 e0 08 add %o7, 8, %o1<BR> 31508: d2 22 20 08 st %o1, [ %o0 + 8 ]<BR> 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ]<BR> 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ]<BR> 31514: 81 c3 e0 08 retl<BR> 31518: 90 10 00 00 mov %g0, %o0<BR><BR><BR>0003151c <_longjmp>:<BR> 151c: 91 d0 20 03 ta 3<BR> 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2<BR> 31524: e0 1a a0 00 ldd [ %o2 ], %l0<BR> 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2<BR> 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4<BR> 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6<BR> 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0<BR> 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2<BR> 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4<BR> 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp<BR> 31544: 9c 10 00 0a mov %o2, %sp<BR> 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7<BR> 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3<BR> 31550: 80 90 00 09 tst %o1<BR> 31554: 12 80 00 03 bne 31560 <_longjmp+0x44><BR> 31558: 9e 22 e0 08 sub %o3, 8, %o7<BR> 3155c: 92 10 20 01 mov 1, %o1<BR> 31560: 81 c3 e0 08 retl<BR> 31564: 90 10 00 09 mov %o1, %o0<BR><BR>I'll step through calls to them see if they look the same (network problems..)<BR><BR> - Jay<BR><BR> <BR>> Date: Thu, 26 Nov 2009 01:31:53 +0000<BR>> To: m3commit@elegosoft.com<BR>> From: hosking@elego.de<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: hosking@birch. 09/11/26 01:31:53<BR>> <BR>> Modified files:<BR>> cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 <BR>> ThreadPThread.m3 <BR>> ThreadPThreadC.c <BR>> <BR>> Log message:<BR>> Restore SPARC SaveRegsInStack implementation.<BR>> longjmp is MT-Level unsafe.<BR>> Not sure what this says about setjmp -- Boehm doesn't appear to process any<BR>> context other than the stacks.<BR>> <BR> </body>
</html>