<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'> > Portable .i3 files would be a bit easier if you<BR> > did not insist on pointer alignment of 64 on platform <BR> <BR> <BR>No that is not the problem.<BR>Sorry, I didn't mean portable .i3 files in general.<BR>I meant portable .i3 file that match the Posix implementation on any systems.<BR>.i3 files backed by .m3 or backed by one C implementation are "portable".<BR>That is how we bridge to Posix now -- .i3 files that describe our own C, that isn't #ifdefed at all.<BR> <BR> <BR>Dragisa, do you mean to say that Posix describes an ABI? It does not.<BR>It does not describe a "binary" interface, only a source interface.<BR>C code can call "open", but "open" does not necessarily exist in any .o or .a file.<BR>It can be #defined to something else, or renamed with a compiler-specific #pragma.<BR>I have seen both, not long ago, on mainstream systems. NetBSD comes to mind. And Solaris. And Linux (esp. wrt stat). And Darwin.<BR> <BR> <BR> - Jay <BR><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">Subject: Re: [M3devel] thread local storage, but in C pieces of runtime... (jay, tony?)<br>From: dragisha@m3w.org<br>Date: Fri, 10 May 2013 21:31:20 +0200<br>CC: mika@async.caltech.edu; m3devel@elegosoft.com<br>To: jay.krell@cornell.edu<br><br>Yes, POSIX defines it, and then usually does not change it every now and then.<div><br></div><div>Portable .i3 files would be a bit easier if you did not insist on pointer alignment of 64 on platform where 32bit is a standard :). Bit packing gives enough control over how struct is being made with only problem there being insistence on 64bit alignment for pointers, although it can be controlled with BITS .. FOR. </div><div><br></div><div><div>As for m3core mess, and it was lots of it, you are right and work you two did is great.</div><div><br></div><div><div><div>
<span class="ecxApple-style-span" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><span class="ecxApple-style-span" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><div style="-ms-word-wrap: break-word;"><span class="ecxApple-style-span" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><div style="-ms-word-wrap: break-word;"><div>--</div></div></span></div></span><span class="ecxApple-style-span" style="font-family: Helvetica;">Dragiša Durić</span><span class="ecxApple-style-span" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><div style="-ms-word-wrap: break-word;"><span class="ecxApple-style-span" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><div style="-ms-word-wrap: break-word;"><div><a href="mailto:dragisha@m3w.org">dragisha@m3w.org</a></div><div><br></div></div></span></div></span></span><br class="ecxApple-interchange-newline">
</div>
<br><div><div>On May 10, 2013, at 8:03 PM, Jay K wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><span class="ecxApple-style-span" style="font-family: Calibri; font-size: 16px;">Posix defines a C source interface, not an ABI.<br></span></span></blockquote></div><br></div></div></div></div>                                     </div></body>
</html>