[M3devel] which platforms? and questions about FreeBSD versioning

Jay jayk123 at hotmail.com
Fri May 16 08:40:49 CEST 2008


Wow that is crazy.
The "OS" is backwards compatible.
The tools -- or at least the headers/libs -- are not backwards compatible.
They apparently don't produce binaries that run on older systems.
 
Hm, so I did some diffing amongm3-libs\m3core\src\unix\freebsd-*
they are all amost identical.and almost all compatible.Freebsd-1 to -2 is the least compatible.otherwise the only actual difference I see is in Usignal sa_flags and sa_mask getting reversed. and sigcontext changed.
Otherwise it's mostly things like long vs. unsigned_long,int64_t vs. quad_t, short vs. int16_t.
The DIR record grew, but as long as it is not implementedin Modula-3 and the new fields not access, no matter.
Oh one errno value changed.
Sometimes some types or functions got added, but that is ok.
 
Maybe more research at a might later date...
 
 - Jay



> To: jayk123 at hotmail.com> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] which platforms? and questions about FreeBSD versioning > Date: Thu, 15 May 2008 22:54:28 -0700> From: mika at async.caltech.edu> > > No, sorry, haven't gotten around to testing the current NT386GNU> cm3... I have a lot of version synchronizing to do, unfortunately :(> > Yes, FreeBSD is backwards-compatible, *not* forwards-compatible.> That is, you can build even fairly complex software packages on an old> FreeBSD system and expect it to run on the latest release. You cannot,> as a general rule, build anything on a newer system and expect it to work> on an older one. There must be "some" way of doing it that way, but> I don't know what it is, and I don't know if it's very well supported.> I keep FreeBSD 4.x systems around for precisely this reason: the binaries> compiled there work fine on 5.x and 6.x (as far as I have tested). Not> the other way around! In fact it has never worked the other way, as > long as I can remember, with FreeBSD.> > This is also why I suggest that a "FreeBSD4" bootstrap should actually> be built on FreeBSD 4.x and not 5.x, 6.x, or 7.x!> > Mika> > Jay writes:> >--_14c076c4-fb7c-48b0-b705-2e38d4b4a333_> >Content-Type: text/plain; charset="iso-8859-1"> >Content-Transfer-Encoding: quoted-printable> >> >Mika, ok, this is tangential: Have you tried the current NT386GNU cm3?> >=20> >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.> >=20> >Speaking of the "4" in FreeBSD4:> >=20> >Has FreeBSD, and the other BSDs, really broken backward compat?> >They really change interfaces a lot such that binaries built with current h=> >eaders/libs won't run on older versions?> >And there isn't an easy way on current platforms to build something using o=> >lder tools to run on older and newer platforms?> >Look at Windows for example. If you call a "new" function directly, you wil=> >l fail to load on older platforms. So either don't call them, or use LoadLi=> >brary/GetProcAddress. Structures almost never change size, though there is => >some screwiness there, stuff like:> >=20> >struct FOO { size_t Size;> > int Field1;> >#if VERSION > 1234> > int Field2;> >#endif> >};> >=20> >I think it should be more like:> >=20> >struct FOO { size_t Size;> > int Field1;> >#if VERSION > 1234> > int Field2;> >#endif> >};> >=20> >struct FOO_V1{ size_t Size;> > int Field1;> >};> >=20> >struct FOO_V2 { size_t Size;> > int Field1;> > int Field2;> >};> >=20> >#if VERSION > 1234> >typedef FOO_V2 FOO;> >#else> >typedef FOO_V1 FOO;> >#endif> >=20> >I understand that binaries built on the older platform will continue to wor=> >k on the newer platform.> >That is one thing.> >But it is also useful to be able to build binaries on the newer platform th=> >at will on the older platform.> >Apple also invests a bunch here.> >=20> >Well, ok, if it was really "bad", there'd be FreeBSD5, 6, 7.> >I guess maybe they broke this stuff sometimes but haven't in a while?> >That you can build FreeBSD4 binaries on FreeBSD7 and the run down to 4?> >=20> >And then, same questions about OpenBSD and NetBSD.> >I understand -- I could/must go and install a bajillion operating systems a=> >nd test and find out, but I don't expect to spend the time that way and pus=> >h comes to shove, any BSD (and Linux, Solaris, NT, CE, etc.) variants I int=> >roduce will have no version number in them, will be built on whatever I hav=> >e, and it will be unknown if they work on older. And maybe something will m=> >aterialize to be more portable, like interfacing to the Posix via C instead=> > of cloned headers.> >=20> > - Jay> >> >> >> >> To: jayk123 at hotmail.com> CC: m3devel at elegosoft.com> Subject: Re: [M3devel=> >] which platforms? > Date: Thu, 15 May 2008 14:30:36 -0700> From: mika at asyn=> >c.caltech.edu> > here it is:> > FreeBSD4> PPC_DARWIN> NT386GNU> LINUXLIBC6>=> > > I386_DARWIN coming soon> > Tony Hosking writes:> >> >--Apple-Mail-4-6310=> >28010> >Content-Type: text/plain;> > charset=3DUS-ASCII;> > format=3Dflowed=> >;> > delsp=3Dyes> >Content-Transfer-Encoding: 7bit> >> >SOLgnu> >PPC_DARWIN=> >> >I386_DARWIN> >AMD64_DARWIN> >LINUXLIBC6> >I'd like AMD64_LINUX, SPARC64_=> >SOLARISN but no time right now to devote > >to them.> >> >On May 14, 2008, => >at 1:25 PM, Jay wrote:> >> >> What do people run?> >> In particular: NetBSD=> >? OpenBSD? Sparc32? Sparc64? PPC64_DARWIN? > >> I386_SOLARIS? AMD64_SOLARIS=> >? SPARC64_SOLARIS? ARM_WINCE? AMD64_NT?> >>> >> Just curious, I'll probably=> > bring up whatever I can, it's fun, and > >> yes, get back and fix AMD64_LI=> >NUX to have> >> garbage collection, NT386GNU and NT386 tests, cross-platfor=> >m sets, > >> setup some Tinderboxes, etc...> >>> >> (AMD64_NT: the gcc avai=> >lable for this includes a bunch of patches, > >> so I'm inclined to either => >wait for them to go upstream,> >> or seek an alternate route such as "port"=> > the in-proc backend, llvm, > >> generate C, or maybe write an interpreter => >for the IL;> >> and "porting" the backend is probably best preceded by a) x=> >86 > >> LONGINT support b) other x86 targets "for practise", at least one,>=> > >> though regarding .obj file formats, that would be tangential.)> >>> >> => >- Jay> >>> >>> >>> >>> >> >> >--Apple-Mail-4-631028010> >Content-Type: text=> >/html;> > charset=3DUS-ASCII> >Content-Transfer-Encoding: quoted-printable>=> > >> ><html><body style=3D3D"word-wrap: break-word; -webkit-nbsp-mode: space=> >; =3D> >-webkit-line-break: after-white-space; "><div =3D> >apple-content-e=> >dited=3D3D"true"><span class=3D3D"Apple-style-span" =3D> >style=3D3D"border=> >-collapse: separate; border-spacing: 0px 0px; color: =3D> >rgb(0, 0, 0); fo=> >nt-family: Helvetica; font-size: 12px; font-style: =3D> >normal; font-varia=> >nt: normal; font-weight: normal; letter-spacing: =3D> >normal; line-height:=> > normal; text-align: auto; =3D> >-khtml-text-decorations-in-effect: none; t=> >ext-indent: 0px; =3D> >-apple-text-size-adjust: auto; text-transform: none;=> > orphans: 2; =3D> >white-space: normal; widows: 2; word-spacing: 0px; "><di=> >v =3D> >style=3D3D"word-wrap: break-word; -khtml-nbsp-mode: space; =3D> >-k=> >html-line-break: after-white-space; "><span class=3D3D"Apple-style-span" => >=3D> >style=3D3D"border-collapse: separate; border-spacing: 0px 0px; color:=> > =3D> >rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: => >=3D> >normal; font-variant: normal; font-weight: normal; letter-spacing: => >=3D> >normal; line-height: normal; text-align: auto; =3D> >-khtml-text-deco=> >rations-in-effect: none; text-indent: 0px; =3D> >-apple-text-size-adjust: a=> >uto; text-transform: none; orphans: 2; =3D> >white-space: normal; widows: 2=> >; word-spacing: 0px; =3D> >">SOLgnu</span></div><div style=3D3D"word-wrap: => >break-word; =3D> >-khtml-nbsp-mode: space; -khtml-line-break: after-white-s=> >pace; =3D> >">PPC_DARWIN</div><div style=3D3D"word-wrap: break-word; -khtml=> >-nbsp-mode: =3D> >space; -khtml-line-break: after-white-space; ">I386_DARWI=> >N</div><div =3D> >style=3D3D"word-wrap: break-word; -khtml-nbsp-mode: space=> >; =3D> >-khtml-line-break: after-white-space; ">AMD64_DARWIN</div><div =3D>=> > >style=3D3D"word-wrap: break-word; -khtml-nbsp-mode: space; =3D> >-khtml-l=> >ine-break: after-white-space; ">LINUXLIBC6</div><div =3D> >style=3D3D"word-=> >wrap: break-word; -khtml-nbsp-mode: space; =3D> >-khtml-line-break: after-w=> >hite-space; ">I'd like AMD64_LINUX, <span =3D> >class=3D3D"Apple-style=> >-span" style=3D3D"font-family: Tahoma; font-size: =3D> >13px; ">SPARC64_SOL=> >ARISN but no time right now to devote to =3D> >them.</span></div></span></d=> >iv><br><div><div>On May 14, 2008, at 1:25 =3D> >PM, Jay wrote:</div><br cla=> >ss=3D3D"Apple-interchange-newline"><blockquote =3D> >type=3D3D"cite"><span => >class=3D3D"Apple-style-span" style=3D3D"border-collapse: =3D> >separate; co=> >lor: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =3D> >font-styl=> >e: normal; font-variant: normal; font-weight: normal; =3D> >letter-spacing:=> > normal; line-height: normal; orphans: 2; text-align: =3D> >auto; text-inde=> >nt: 0px; text-transform: none; white-space: normal; =3D> >widows: 2; word-s=> >pacing: 0px; -webkit-border-horizontal-spacing: 0px; =3D> >-webkit-border-v=> >ertical-spacing: 0px; =3D> >-webkit-text-decorations-in-effect: none; -webk=> >it-text-size-adjust: =3D> >auto; -webkit-text-stroke-width: 0; "><div class=> >=3D3D"hmmessage" =3D> >style=3D3D"font-size: 10pt; font-family: Tahoma; ">W=> >hat do people =3D> >run?<br>In particular: NetBSD? OpenBSD? Sparc32? Sparc6=> >4? PPC64_DARWIN? =3D> >I386_SOLARIS? AMD64_SOLARIS? SPARC64_SOLARIS? ARM_WI=> >NCE? =3D> >AMD64_NT?<br> <br>Just curious, I'll probably bring up what=> >ever I =3D> >can, it's fun, and yes, get back and fix AMD64_LINUX to have<b=> >r>garbage =3D> >collection, NT386GNU and NT386 tests, cross-platform s=> >ets, setup =3D> >some Tinderboxes, etc...<br> <br>(AMD64_NT: the gcc a=> >vailable for =3D> >this includes a bunch of patches, so I'm inclined to eit=> >her wait for =3D> >them to go upstream,<br>or seek an alternate route such => >as "port" the =3D> >in-proc backend, llvm, generate C, or maybe write an in=> >terpreter for the =3D> >IL;<br>and "porting" the backend is probably best p=> >receded by a) x86 =3D> >LONGINT support b) other x86 targets "for practise"=> >, at least =3D> >one,<br>though regarding .obj file formats, that would be => >=3D> >tangential.)<br> <br> - =3D> >Jay<br><br><br><br><br></div>=> ></span></blockquote></div><br></body></html>=3D> >> >--Apple-Mail-4-6310280=> >10--=> >> >--_14c076c4-fb7c-48b0-b705-2e38d4b4a333_> >Content-Type: text/html; charset="iso-8859-1"> >Content-Transfer-Encoding: quoted-printable> >> ><html>> ><head>> ><style>> >.hmmessage P> >{> >margin:0px;> >padding:0px> >}> >body.hmmessage> >{> >FONT-SIZE: 10pt;> >FONT-FAMILY:Tahoma> >}> ></style>> ></head>> ><body class=3D'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 h=> >eaders/libs won't run on older versions?<BR>> >And there isn't an easy way on current platforms to build something using o=> >lder tools to run on older and newer platforms?<BR>> >Look at Windows for example. If you call a "new" function directly, you wil=> >l fail to load on older platforms. So either don't call them, or use LoadLi=> >brary/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 wor=> >k 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 th=> >at 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 a=> >nd test and find out, but I don't expect to spend the time that way and pus=> >h comes to shove, any BSD (and Linux, Solaris, NT, CE, etc.) variants I int=> >roduce will have no version number in them, will be built on whatever I hav=> >e, and it will be unknown if they work on older. And maybe something will m=> >aterialize to be more portable, like interfacing to the Posix via C instead=> > of cloned headers.<BR>> > <BR>> > - Jay<BR><BR><BR>> >> ><HR id=3DstopSpelling>> ><BR>> >> To: jayk123 at hotmail.com<BR>> CC: m3devel at elegosoft.com<BR>> Subj=> >ect: Re: [M3devel] which platforms? <BR>> Date: Thu, 15 May 2008 14:30:3=> >6 -0700<BR>> From: mika at async.caltech.edu<BR>> <BR>> here it is:<B=> >R>> <BR>> FreeBSD4<BR>> PPC_DARWIN<BR>> NT386GNU<BR>> LINUXL=> >IBC6<BR>> <BR>> I386_DARWIN coming soon<BR>> <BR>> Tony Hosking=> > writes:<BR>> ><BR>> >--Apple-Mail-4-631028010<BR>> >Cont=> >ent-Type: text/plain;<BR>> > charset=3DUS-ASCII;<BR>> > format=> >=3Dflowed;<BR>> > delsp=3Dyes<BR>> >Content-Transfer-Encoding: => >7bit<BR>> ><BR>> >SOLgnu<BR>> >PPC_DARWIN<BR>> >I38=> >6_DARWIN<BR>> >AMD64_DARWIN<BR>> >LINUXLIBC6<BR>> >I'd li=> >ke AMD64_LINUX, SPARC64_SOLARISN but no time right now to devote <BR>> &=> >gt;to them.<BR>> ><BR>> >On May 14, 2008, at 1:25 PM, Jay wrote=> >:<BR>> ><BR>> >> What do people run?<BR>> >> In par=> >ticular: 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 h=> >ave<BR>> >> garbage collection, NT386GNU and NT386 tests, cross-pl=> >atform sets, <BR>> >> setup some Tinderboxes, etc...<BR>> >&=> >gt;<BR>> >> (AMD64_NT: the gcc available for this includes a bunch=> > of patches, <BR>> >> so I'm inclined to either wait for them to g=> >o upstream,<BR>> >> or seek an alternate route such as "port" the => >in-proc backend, llvm, <BR>> >> generate C, or maybe write an inte=> >rpreter for the IL;<BR>> >> and "porting" the backend is probably => >best preceded by a) x86 <BR>> >> LONGINT support b) other x86 targ=> >ets "for practise", at least one,<BR>> >> though regarding .obj fi=> >le formats, that would be tangential.)<BR>> >><BR>> >> - => >Jay<BR>> >><BR>> >><BR>> >><BR>> >><BR>=> >> ><BR>> ><BR>> >--Apple-Mail-4-631028010<BR>> >Con=> >tent-Type: text/html;<BR>> > charset=3DUS-ASCII<BR>> >Content-T=> >ransfer-Encoding: quoted-printable<BR>> ><BR>> ><html>&lt=> >;body style=3D3D"word-wrap: break-word; -webkit-nbsp-mode: space; =3D<BR>&g=> >t; >-webkit-line-break: after-white-space; "><div =3D<BR>> >=> >apple-content-edited=3D3D"true"><span class=3D3D"Apple-style-span" => >=3D<BR>> >style=3D3D"border-collapse: separate; border-spacing: 0px 0=> >px; color: =3D<BR>> >rgb(0, 0, 0); font-family: Helvetica; font-size:=> > 12px; font-style: =3D<BR>> >normal; font-variant: normal; font-weigh=> >t: normal; letter-spacing: =3D<BR>> >normal; line-height: normal; tex=> >t-align: auto; =3D<BR>> >-khtml-text-decorations-in-effect: none; tex=> >t-indent: 0px; =3D<BR>> >-apple-text-size-adjust: auto; text-transfor=> >m: none; orphans: 2; =3D<BR>> >white-space: normal; widows: 2; word-s=> >pacing: 0px; "><div =3D<BR>> >style=3D3D"word-wrap: break-word;=> > -khtml-nbsp-mode: space; =3D<BR>> >-khtml-line-break: after-white-sp=> >ace; "><span class=3D3D"Apple-style-span" =3D<BR>> >style=3D3D"=> >border-collapse: separate; border-spacing: 0px 0px; color: =3D<BR>> >=> >rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =3D<BR>&=> >gt; >normal; font-variant: normal; font-weight: normal; letter-spacing: => >=3D<BR>> >normal; line-height: normal; text-align: auto; =3D<BR>> => >>-khtml-text-decorations-in-effect: none; text-indent: 0px; =3D<BR>> => >>-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =3D<BR=> >>> >white-space: normal; widows: 2; word-spacing: 0px; =3D<BR>> &g=> >t;">SOLgnu</span></div><div style=3D3D"word-wrap: break-w=> >ord; =3D<BR>> >-khtml-nbsp-mode: space; -khtml-line-break: after-whit=> >e-space; =3D<BR>> >">PPC_DARWIN</div><div style=3D3D"word=> >-wrap: break-word; -khtml-nbsp-mode: =3D<BR>> >space; -khtml-line-bre=> >ak: after-white-space; ">I386_DARWIN</div><div =3D<BR>> >=> >style=3D3D"word-wrap: break-word; -khtml-nbsp-mode: space; =3D<BR>> >=> >-khtml-line-break: after-white-space; ">AMD64_DARWIN</div><div => >=3D<BR>> >style=3D3D"word-wrap: break-word; -khtml-nbsp-mode: space; => >=3D<BR>> >-khtml-line-break: after-white-space; ">LINUXLIBC6</d=> >iv><div =3D<BR>> >style=3D3D"word-wrap: break-word; -khtml-nbsp=> >-mode: space; =3D<BR>> >-khtml-line-break: after-white-space; ">I'=> >d like AMD64_LINUX,&nbsp;<span =3D<BR>> >class=3D3D"Apple-styl=> >e-span" style=3D3D"font-family: Tahoma; font-size: =3D<BR>> >13px; "&=> >gt;SPARC64_SOLARISN but no time right now to devote to =3D<BR>> >them=> >.</span></div></span></div><br><div>&lt=> >;div>On May 14, 2008, at 1:25 =3D<BR>> >PM, Jay wrote:</div>=> ><br class=3D3D"Apple-interchange-newline"><blockquote =3D<BR>> => >>type=3D3D"cite"><span class=3D3D"Apple-style-span" style=3D3D"bor=> >der-collapse: =3D<BR>> >separate; color: rgb(0, 0, 0); font-family: H=> >elvetica; font-size: 12px; =3D<BR>> >font-style: normal; font-variant=> >: normal; font-weight: normal; =3D<BR>> >letter-spacing: normal; line=> >-height: normal; orphans: 2; text-align: =3D<BR>> >auto; text-indent:=> > 0px; text-transform: none; white-space: normal; =3D<BR>> >widows: 2;=> > word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =3D<BR>> &gt=> >;-webkit-border-vertical-spacing: 0px; =3D<BR>> >-webkit-text-decorat=> >ions-in-effect: none; -webkit-text-size-adjust: =3D<BR>> >auto; -webk=> >it-text-stroke-width: 0; "><div class=3D3D"hmmessage" =3D<BR>> &gt=> >;style=3D3D"font-size: 10pt; font-family: Tahoma; ">What do people =3D<B=> >R>> >run?<br>In particular: NetBSD? OpenBSD? Sparc32? Sparc64? => >PPC64_DARWIN? =3D<BR>> >I386_SOLARIS? AMD64_SOLARIS? SPARC64_SOLARIS?=> > ARM_WINCE? =3D<BR>> >AMD64_NT?<br>&nbsp;<br>Just cur=> >ious, I'll probably bring up whatever I =3D<BR>> >can, it's fun, and => >yes, get back and fix AMD64_LINUX to have<br>garbage =3D<BR>> >=> >collection, NT386GNU and NT386 tests,&nbsp;cross-platform sets, setup => >=3D<BR>> >some Tinderboxes, etc...<br>&nbsp;<br>(AMD6=> >4_NT: the gcc available for =3D<BR>> >this includes a bunch of patche=> >s, so I'm inclined to either wait for =3D<BR>> >them to go upstream,&=> >lt;br>or seek an alternate route such as "port" the =3D<BR>> >in-p=> >roc backend, llvm, generate C, or maybe write an interpreter for the =3D<BR=> >>> >IL;<br>and "porting" the backend is probably best preceded => >by a) x86 =3D<BR>> >LONGINT support b) other x86 targets "for practis=> >e", at least =3D<BR>> >one,<br>though regarding .obj file forma=> >ts, that would be =3D<BR>> >tangential.)<br>&nbsp;<br&gt=> >;&nbsp;- =3D<BR>> >Jay<br><br><br><br>&lt=> >;br></div></span></blockquote></div><br>&l=> >t;/body></html>=3D<BR>> ><BR>> >--Apple-Mail-4-6310280=> >10--<BR><BR></body>> ></html>=> >> >--_14c076c4-fb7c-48b0-b705-2e38d4b4a333_--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080516/e35a4b9d/attachment-0002.html>


More information about the M3devel mailing list