<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'>Historically:<br> SOLgnu was 32bit SPARC on Solaris using gcc; Which linker? I don't know.  <br> SOLsun was 32bit SPARC on Solaris using Sun cc<br><br><br><br>But these are essentially identical -- same jmpbuf size, same stack walker (there was one, it is disabled now), same switches to the gcc backend. Just a different command for compiling the little bit of C we have and for linking.<br>The target naming used to be more ad-hoc.<br><br><br><br>The config files can be fairly user edited to switch between cc and gcc.<br>Any of the four AMD64/I386/SPARC32/SPARC64_SOLARIS can be built with cc or gcc.<br>I favor cc. It likely gives us better code, and gives us a little variety-for-demonstrated-portability.<br><br><br>There was a period where Sun cc wasn't cost free which is probably why there was some desire for gcc -- plus, if the user has gcc-specific code, they'd want gcc. There isn't a builtin easy way to switch between cc and gcc on a source file by source file basis.<br><br><br><br>"platforms" are kind of overblown in Modula-3 -- far more is the same than is different.<br>Heck, even in gcc, for a given architecture, most targets use the same ABI -- so linux/freebsd/netbsd/openbsd are basically all the same, esp. to the backend (vs. the driver that does pre-#defines..)<br><br><br>With the C backend, they are even more the same.<br><br><br> - Jay<br><br><br><div>> Date: Tue, 17 Sep 2013 18:00:01 +0000<br>> From: microcode@zoho.com<br>> To: m3devel@elegosoft.com<br>> Subject: Re: [M3devel] 64bit big-endian<br>> <br>> Hi,<br>> <br>> Looking at the uploaded archives page, can anybody please explain the<br>> difference between all these versions and exactly what each one is?<br>> <br>> 1. Target Platform AMD64_SOLARIS<br>> 2. Target Platform I386_SOLARIS<br>> 3. Target Platform SOLgnu<br>> 4. Target Platform SOLsun<br>> 5. Target Platform SPARC32_SOLARIS<br>> 6. Target Platform SPARC64_SOLARIS<br>> <br>> 1 and 2 would seem obvious enough except that the existence of 3 and 4<br>> suggests 1 and 2 may have been built with gcc or Solaris Studio. That means<br>> 1 and 2 aren't obvious anymore, nor are 3 or 4. All I can tell from this is<br>> 1 and 2 are 64 and 32 bit versions for Solaris Intel and 5 and 6 are 32 and<br>> 64 bit versions for Solaris SPARC. I don't know what architecture 3 and 4<br>> are designed to run on. 5 and 6 would seem obvious except now we're back to<br>> wondering whether they were built with gcc or Solaris Studio.<br>> <br>> I didn't understand Jay's comment below. Do you guys not have Solaris SPARC<br>> boxes in your build farm?<br>> <br>> Thank you.<br>> <br>> Israel<br>> <br>> On Tue, Sep 17, 2013 at 04:44:17PM +0000, Jay K wrote:<br>> > The OpenCSW machines can run SPARC64.<br>> > There are full installs available here:<br>> > http://modula3.elegosoft.com/cm3/uploaded-archives/  <br>> > <br>> > <br>> > G5 Mac for Darwin/Linux?BSD should also be easy. Maybe I'll set mine up..<br>> > <br>> > <br>> >   - Jay<br>> > <br>> > <br>> > > Date: Tue, 17 Sep 2013 17:10:45 +0000<br>> > > To: m3commit@elegosoft.com<br>> > > From: rodney@elego.de<br>> > > Subject: [M3commit] CVS Update: cm3<br>> > > <br>> > > CVSROOT:      /usr/cvs<br>> > > Changes by:    rodney@birch.   13/09/17 17:10:45<br>> > > <br>> > > Modified files:<br>> > >      cm3/m3-comm/netobj/src/netobjrt/: Tag: devel_unicode StubLib.m3 <br>> > > <br>> > > Log message:<br>> > >  Add support for communication involving 64-bit big-endian machines.<br>> > >     Apparently, none existed when this was written.  Apparently, nobody<br>> > >     has tried to do this.<br>> > >   <br>> > >        New support not tested for lack of access to such a machine, but<br>> > >        retested with no breakage on 64-LE.<br>> > > <br>> >                                           <br>> <br>> -- <br>>         _                             _      <br>> ._ _ _ <_> ___  _ _  ___  ___  ___  _| | ___ <br>> | ' ' || |/ | '| '_>/ . \/ | '/ . \/ . |/ ._><br>> |_|_|_||_|\_|_.|_|  \___/\_|_.\___/\___|\___.<br>>                                              <br>> <br></div>                                          </div></body>
</html>