[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