<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
ps: Interix in fact, outside of Modula-3, can use gcc or Visual C++.<BR>
They have a cc wrapper that translates the command line and calls cl.exe.<BR>
Not sure if both linkers are available -- you know, because Interix seems to have<BR>
substantial support for stuff Visual C++ link.exe does not have -- runpath, $origin.<BR>
<BR>
<BR>
As well, Cygwin/mingw/Visual C++ all use the same object file format and<BR>
to a significant extent can link each other's output.<BR>
So you can use Visual C++ with Cygwin, gcc without a cygwin dependency.<BR>
They have/had a gcc -mnocygwin switch, though there is tension<BR>
between "biarch" vs. "just separate targets".<BR>
<BR>
<BR>
So, actually, in cm3, these are all the same "target", "NT386", just different config files.<BR>
This was an experiment and I'm still feeling mixed about the results.<BR>
<BR>
They way it is constructed leaves it generally pretty easy to construct the combinations<BR>
that aren't named. You don't have to change cm3 at all, nor I think any m3makefile,<BR>
just the config file. Well, in the m3makefiles, in m3core, there is deciding on<BR>
using pthreads or NT threads, since you can use NT threads with Posix cygwin.<BR>
<BR>
<BR>
You know, look at how SOLgnu and SOLsun are implemented -- they are all identical<BR>
except for the config files. Similar situation but in this case they were broken<BR>
out into separate targets, and all the target-specific code is /identical/.<BR>
<BR>
<BR>
- Jay<BR><BR>
<BR>
<HR id=stopSpelling>
From: jay.krell@cornell.edu<BR>To: hosking@cs.purdue.edu; wagner@elegosoft.com<BR>Date: Thu, 16 Jul 2009 18:41:52 +0000<BR>CC: m3devel@elegosoft.com<BR>Subject: Re: [M3devel] Release notes comments<BR><BR>
<STYLE>
.ExternalClass .EC_hmmessage P
{padding:0px;}
.ExternalClass body.EC_hmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
Yes. These are subtle but true points.<BR> <BR> <BR>os = cygwin or mingwin or interix or nt<BR> but mingwin is really nt, this is clarified below <BR>ostype = win32 or posix<BR> but this maps directly from os so isn't a multiplicative factor <BR>fork = fast or slow or none<BR> also maps from os/runtime <BR>backend = gcc or integrated<BR> gcc backend BITSIZE(LONGINT)==64<BR> integrated backend BITSIZE(LONGINT)==32<BR> <BR> <BR>I386_CYGWIN (NT386GNU)<BR> Posix, slow fork<BR> gcc backend, BITSIZE(LONGINT)==64<BR> <BR>I386_MINGWIN (NT386MINGNU)<BR> Win32, probably no fork (though in reality there some hybrid aspects, intended<BR> only for the use of the compiler/linker/etc., intended not to be injected into stuff you build) <BR> gcc backend, BITSIZE(LONGINT)==64<BR> <BR>I386_INTERIX<BR> Posix, fast fork<BR> uses gcc backend, BITSIZE(LONGINT)==64<BR> <BR>I386_NT (NT386)<BR> Win32, no fork<BR> integrated backend, BITSIZE(LONGINT)==32<BR><BR>Cygwin hangs in one of the test cases.<BR>Mingw had some major problem last I checked like crashing in all gui apps.<BR> <BR>More combinations than this make sense.<BR>You could use the integrated backend with Cygwin or Interix for example.<BR>Mingwin, you know, is meant to be NT386 with the gcc backend.<BR>Mingwin is not an OS or runtime.<BR> <BR>Three runtimes: Cygwin, Interix, NT<BR>two backends: integrated, gcc<BR> <BR>therefore 6 combinations of which 4 are named above<BR> <BR>Consider that integrated backend could be adapted for I386_LINUX, I386_SOLARIS, I386_FREEBSD ("FreeBSD4"), I386_OPENBSD, I386_NETBSD, I386_PLAN9, I386_DRAGONFLYBSD, I386_DARWIN, etc...<BR> <BR> - Jay<BR><BR> <BR>
<HR id=EC_stopSpelling>
From: hosking@cs.purdue.edu<BR>To: wagner@elegosoft.com<BR>Date: Thu, 16 Jul 2009 10:39:03 -0400<BR>CC: m3devel@elegosoft.com<BR>Subject: Re: [M3devel] Release notes comments<BR><BR>
<DIV><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span>
<DIV style="WORD-WRAP: break-word"><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span>
<DIV style="WORD-WRAP: break-word"><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=EC_EC_Apple-style-span>
<DIV><SPAN style="FONT-SIZE: medium" class=EC_EC_Apple-style-span><FONT class=EC_EC_Apple-style-span color=#0000ff face="'Gill Sans'">Are there any Windows targets using the gcc-based backend? If so then they will have BITSIZE(LONGINT)=64 too. It is just the integrated non-optimizing x86 back-end that currently defines BITSIZE(LONGINT)=32.</FONT></SPAN></DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></DIV></SPAN></DIV></SPAN></DIV><BR>
<DIV>
<DIV>On 16 Jul 2009, at 02:24, Olaf Wagner wrote:</DIV><BR class=EC_EC_Apple-interchange-newline>
<BLOCKQUOTE>
<DIV>Quoting "Rodney M. Bates" <<A href="mailto:rodney.m.bates@cox.net">rodney.m.bates@cox.net</A>>:<BR><BR>
<BLOCKQUOTE>A couple of comments on the release notes for 5.8.2: <li>System<BR></BLOCKQUOTE>
<BLOCKQUOTE>pthread threading is now the default on all<BR></BLOCKQUOTE>
<BLOCKQUOTE> platforms. The original (fast) M3 user level thread code is<BR></BLOCKQUOTE>
<BLOCKQUOTE> still there and can be used if necessary (on most platforms). On<BR></BLOCKQUOTE>
<BLOCKQUOTE> many systems, this allows M3 applications to scale over all<BR></BLOCKQUOTE>
<BLOCKQUOTE> available hardware processors.</li><BR></BLOCKQUOTE>
<BLOCKQUOTE><BR></BLOCKQUOTE>
<BLOCKQUOTE>This sounds like it is the original user level threads that allow<BR></BLOCKQUOTE>
<BLOCKQUOTE>scaling over multiple processors, which I believe is backwards. I<BR></BLOCKQUOTE>
<BLOCKQUOTE>suggest swapping the second and third sentences be for clarity.<BR></BLOCKQUOTE>
<BLOCKQUOTE><li>New data type LONGINT (64 bit integer) on all target<BR></BLOCKQUOTE>
<BLOCKQUOTE> platforms except Windows (still in the queue).</li><BR></BLOCKQUOTE>
<BLOCKQUOTE><BR></BLOCKQUOTE>
<BLOCKQUOTE>As I understand it, LONGINT is in Windows too, it just isn't 64<BR></BLOCKQUOTE>
<BLOCKQUOTE>bits yet.<BR></BLOCKQUOTE><BR>Thanks Rodney, that was fast. After browsing the change logs for several<BR>hours, I just checked in that draft last night before falling asleep.<BR><BR>I'd like everybody to have a look at them and correct, extend or add<BR>topics they'd like to change or see. Probably I've missed at least some.<BR>Order should also be considered.<BR><BR>You can browse them at <A href="http://www.opencm3.net/releng/relnotes-5.8-RC2.html">http://www.opencm3.net/releng/relnotes-5.8-RC2.html</A><BR>now if you don't want to read them in your CVS workspace.<BR><BR>Let me know what you think and feel free to improve the checked-in source,<BR><BR>Olaf<BR>-- <BR>Olaf Wagner -- elego Software Solutions GmbH<BR> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR> <A href="http://www.elegosoft.com/">http://www.elegosoft.com</A> | Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR><BR></DIV></BLOCKQUOTE></DIV><BR></body>
</html>