<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Mika, ok, this is tangential: Have you tried the current NT386GNU cm3?<BR>
<BR>
I meant, more about what "operating systems" that Modula-3 does not support do people here use, would like to see Modula-3 on. Or maybe I meant both.<BR>
<BR>
Speaking of the "4" in FreeBSD4:<BR>
<BR>
Has FreeBSD, and the other BSDs, really broken backward compat?<BR>
They really change interfaces a lot such that binaries built with current headers/libs won't run on older versions?<BR>
And there isn't an easy way on current platforms to build something using older tools to run on older and newer platforms?<BR>
Look at Windows for example. If you call a "new" function directly, you will fail to load on older platforms. So either don't call them, or use LoadLibrary/GetProcAddress. Structures almost never change size, though there is some screwiness there, stuff like:<BR>
<BR>
struct FOO {<BR> size_t Size;<BR>
int Field1;<BR>
#if VERSION > 1234<BR>
int Field2;<BR>
#endif<BR>
};<BR>
<BR>
I think it should be more like:<BR>
<BR>
struct FOO {<BR> size_t Size;<BR>
int Field1;<BR>
#if VERSION > 1234<BR>
int Field2;<BR>
#endif<BR>
};<BR>
<BR>
struct FOO_V1{<BR> size_t Size;<BR>
int Field1;<BR>
};<BR>
<BR>
struct FOO_V2 {<BR> size_t Size;<BR>
int Field1;<BR>
int Field2;<BR>
};<BR>
<BR>
#if VERSION > 1234<BR>
typedef FOO_V2 FOO;<BR>
#else<BR>
typedef FOO_V1 FOO;<BR>
#endif<BR>
<BR>
I understand that binaries built on the older platform will continue to work on the newer platform.<BR>
That is one thing.<BR>
But it is also useful to be able to build binaries on the newer platform that will on the older platform.<BR>
Apple also invests a bunch here.<BR>
<BR>
Well, ok, if it was really "bad", there'd be FreeBSD5, 6, 7.<BR>
I guess maybe they broke this stuff sometimes but haven't in a while?<BR>
That you can build FreeBSD4 binaries on FreeBSD7 and the run down to 4?<BR>
<BR>
And then, same questions about OpenBSD and NetBSD.<BR>
I understand -- I could/must go and install a bajillion operating systems and test and find out, but I don't expect to spend the time that way and push comes to shove, any BSD (and Linux, Solaris, NT, CE, etc.) variants I introduce will have no version number in them, will be built on whatever I have, and it will be unknown if they work on older. And maybe something will materialize to be more portable, like interfacing to the Posix via C instead of cloned headers.<BR>
<BR>
- Jay<BR><BR><BR>
<HR id=stopSpelling>
<BR>
> To: jayk123@hotmail.com<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] which platforms? <BR>> Date: Thu, 15 May 2008 14:30:36 -0700<BR>> From: mika@async.caltech.edu<BR>> <BR>> here it is:<BR>> <BR>> FreeBSD4<BR>> PPC_DARWIN<BR>> NT386GNU<BR>> LINUXLIBC6<BR>> <BR>> I386_DARWIN coming soon<BR>> <BR>> Tony Hosking writes:<BR>> ><BR>> >--Apple-Mail-4-631028010<BR>> >Content-Type: text/plain;<BR>> > charset=US-ASCII;<BR>> > format=flowed;<BR>> > delsp=yes<BR>> >Content-Transfer-Encoding: 7bit<BR>> ><BR>> >SOLgnu<BR>> >PPC_DARWIN<BR>> >I386_DARWIN<BR>> >AMD64_DARWIN<BR>> >LINUXLIBC6<BR>> >I'd like AMD64_LINUX, SPARC64_SOLARISN but no time right now to devote <BR>> >to them.<BR>> ><BR>> >On May 14, 2008, at 1:25 PM, Jay wrote:<BR>> ><BR>> >> What do people run?<BR>> >> In particular: NetBSD? OpenBSD? Sparc32? Sparc64? PPC64_DARWIN? <BR>> >> I386_SOLARIS? AMD64_SOLARIS? SPARC64_SOLARIS? ARM_WINCE? AMD64_NT?<BR>> >><BR>> >> Just curious, I'll probably bring up whatever I can, it's fun, and <BR>> >> yes, get back and fix AMD64_LINUX to have<BR>> >> garbage collection, NT386GNU and NT386 tests, cross-platform sets, <BR>> >> setup some Tinderboxes, etc...<BR>> >><BR>> >> (AMD64_NT: the gcc available for this includes a bunch of patches, <BR>> >> so I'm inclined to either wait for them to go upstream,<BR>> >> or seek an alternate route such as "port" the in-proc backend, llvm, <BR>> >> generate C, or maybe write an interpreter for the IL;<BR>> >> and "porting" the backend is probably best preceded by a) x86 <BR>> >> LONGINT support b) other x86 targets "for practise", at least one,<BR>> >> though regarding .obj file formats, that would be tangential.)<BR>> >><BR>> >> - Jay<BR>> >><BR>> >><BR>> >><BR>> >><BR>> ><BR>> ><BR>> >--Apple-Mail-4-631028010<BR>> >Content-Type: text/html;<BR>> > charset=US-ASCII<BR>> >Content-Transfer-Encoding: quoted-printable<BR>> ><BR>> ><html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =<BR>> >-webkit-line-break: after-white-space; "><div =<BR>> >apple-content-edited=3D"true"><span class=3D"Apple-style-span" =<BR>> >style=3D"border-collapse: separate; border-spacing: 0px 0px; color: =<BR>> >rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =<BR>> >normal; font-variant: normal; font-weight: normal; letter-spacing: =<BR>> >normal; line-height: normal; text-align: auto; =<BR>> >-khtml-text-decorations-in-effect: none; text-indent: 0px; =<BR>> >-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =<BR>> >white-space: normal; widows: 2; word-spacing: 0px; "><div =<BR>> >style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =<BR>> >-khtml-line-break: after-white-space; "><span class=3D"Apple-style-span" =<BR>> >style=3D"border-collapse: separate; border-spacing: 0px 0px; color: =<BR>> >rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =<BR>> >normal; font-variant: normal; font-weight: normal; letter-spacing: =<BR>> >normal; line-height: normal; text-align: auto; =<BR>> >-khtml-text-decorations-in-effect: none; text-indent: 0px; =<BR>> >-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =<BR>> >white-space: normal; widows: 2; word-spacing: 0px; =<BR>> >">SOLgnu</span></div><div style=3D"word-wrap: break-word; =<BR>> >-khtml-nbsp-mode: space; -khtml-line-break: after-white-space; =<BR>> >">PPC_DARWIN</div><div style=3D"word-wrap: break-word; -khtml-nbsp-mode: =<BR>> >space; -khtml-line-break: after-white-space; ">I386_DARWIN</div><div =<BR>> >style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =<BR>> >-khtml-line-break: after-white-space; ">AMD64_DARWIN</div><div =<BR>> >style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =<BR>> >-khtml-line-break: after-white-space; ">LINUXLIBC6</div><div =<BR>> >style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =<BR>> >-khtml-line-break: after-white-space; ">I'd like AMD64_LINUX, <span =<BR>> >class=3D"Apple-style-span" style=3D"font-family: Tahoma; font-size: =<BR>> >13px; ">SPARC64_SOLARISN but no time right now to devote to =<BR>> >them.</span></div></span></div><br><div><div>On May 14, 2008, at 1:25 =<BR>> >PM, Jay wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =<BR>> >type=3D"cite"><span class=3D"Apple-style-span" style=3D"border-collapse: =<BR>> >separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =<BR>> >font-style: normal; font-variant: normal; font-weight: normal; =<BR>> >letter-spacing: normal; line-height: normal; orphans: 2; text-align: =<BR>> >auto; text-indent: 0px; text-transform: none; white-space: normal; =<BR>> >widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =<BR>> >-webkit-border-vertical-spacing: 0px; =<BR>> >-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =<BR>> >auto; -webkit-text-stroke-width: 0; "><div class=3D"hmmessage" =<BR>> >style=3D"font-size: 10pt; font-family: Tahoma; ">What do people =<BR>> >run?<br>In particular: NetBSD? OpenBSD? Sparc32? Sparc64? PPC64_DARWIN? =<BR>> >I386_SOLARIS? AMD64_SOLARIS? SPARC64_SOLARIS? ARM_WINCE? =<BR>> >AMD64_NT?<br> <br>Just curious, I'll probably bring up whatever I =<BR>> >can, it's fun, and yes, get back and fix AMD64_LINUX to have<br>garbage =<BR>> >collection, NT386GNU and NT386 tests, cross-platform sets, setup =<BR>> >some Tinderboxes, etc...<br> <br>(AMD64_NT: the gcc available for =<BR>> >this includes a bunch of patches, so I'm inclined to either wait for =<BR>> >them to go upstream,<br>or seek an alternate route such as "port" the =<BR>> >in-proc backend, llvm, generate C, or maybe write an interpreter for the =<BR>> >IL;<br>and "porting" the backend is probably best preceded by a) x86 =<BR>> >LONGINT support b) other x86 targets "for practise", at least =<BR>> >one,<br>though regarding .obj file formats, that would be =<BR>> >tangential.)<br> <br> - =<BR>> >Jay<br><br><br><br><br></div></span></blockquote></div><br></body></html>=<BR>> ><BR>> >--Apple-Mail-4-631028010--<BR><BR></body>
</html>