[M3devel] 64bit big-endian

Jay K jay.krell at cornell.edu
Tue Sep 17 20:24:58 CEST 2013


Historically:
 SOLgnu was 32bit SPARC on Solaris using gcc; Which linker? I don't know.  
 SOLsun was 32bit SPARC on Solaris using Sun cc



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.
The target naming used to be more ad-hoc.



The config files can be fairly user edited to switch between cc and gcc.
Any of the four AMD64/I386/SPARC32/SPARC64_SOLARIS can be built with cc or gcc.
I favor cc. It likely gives us better code, and gives us a little variety-for-demonstrated-portability.


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.



"platforms" are kind of overblown in Modula-3 -- far more is the same than is different.
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..)


With the C backend, they are even more the same.


 - Jay


> Date: Tue, 17 Sep 2013 18:00:01 +0000
> From: microcode at zoho.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] 64bit big-endian
> 
> Hi,
> 
> Looking at the uploaded archives page, can anybody please explain the
> difference between all these versions and exactly what each one is?
> 
> 1. Target Platform AMD64_SOLARIS
> 2. Target Platform I386_SOLARIS
> 3. Target Platform SOLgnu
> 4. Target Platform SOLsun
> 5. Target Platform SPARC32_SOLARIS
> 6. Target Platform SPARC64_SOLARIS
> 
> 1 and 2 would seem obvious enough except that the existence of 3 and 4
> suggests 1 and 2 may have been built with gcc or Solaris Studio. That means
> 1 and 2 aren't obvious anymore, nor are 3 or 4. All I can tell from this is
> 1 and 2 are 64 and 32 bit versions for Solaris Intel and 5 and 6 are 32 and
> 64 bit versions for Solaris SPARC. I don't know what architecture 3 and 4
> are designed to run on. 5 and 6 would seem obvious except now we're back to
> wondering whether they were built with gcc or Solaris Studio.
> 
> I didn't understand Jay's comment below. Do you guys not have Solaris SPARC
> boxes in your build farm?
> 
> Thank you.
> 
> Israel
> 
> On Tue, Sep 17, 2013 at 04:44:17PM +0000, Jay K wrote:
> > The OpenCSW machines can run SPARC64.
> > There are full installs available here:
> > http://modula3.elegosoft.com/cm3/uploaded-archives/  
> > 
> > 
> > G5 Mac for Darwin/Linux?BSD should also be easy. Maybe I'll set mine up..
> > 
> > 
> >   - Jay
> > 
> > 
> > > Date: Tue, 17 Sep 2013 17:10:45 +0000
> > > To: m3commit at elegosoft.com
> > > From: rodney at elego.de
> > > Subject: [M3commit] CVS Update: cm3
> > > 
> > > CVSROOT:	/usr/cvs
> > > Changes by:	rodney at birch.	13/09/17 17:10:45
> > > 
> > > Modified files:
> > > 	cm3/m3-comm/netobj/src/netobjrt/: Tag: devel_unicode StubLib.m3 
> > > 
> > > Log message:
> > > 	Add support for communication involving 64-bit big-endian machines.
> > > 	Apparently, none existed when this was written.  Apparently, nobody
> > > 	has tried to do this.
> > > 	
> > > 	New support not tested for lack of access to such a machine, but
> > > 	retested with no breakage on 64-LE.
> > > 
> >  		 	   		  
> 
> -- 
>         _                             _      
> ._ _ _ <_> ___  _ _  ___  ___  ___  _| | ___ 
> | ' ' || |/ | '| '_>/ . \/ | '/ . \/ . |/ ._>
> |_|_|_||_|\_|_.|_|  \___/\_|_.\___/\___|\___.
>                                              
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130917/f61c9135/attachment-0002.html>


More information about the M3devel mailing list