[M3devel] Release notes comments

Olaf Wagner wagner at elegosoft.com
Fri Jul 17 18:51:25 CEST 2009


Well, it would be great if somebody could

  (a) provide a short update for the release notes regarding LONGINT and
  (b) put this into two or three paragraphs (perhaps in their own
      document) that ordinary users may understand and want to know

Olaf

Quoting Jay K <jay.krell at cornell.edu>:

>
> ps: Interix in fact, outside of Modula-3, can use gcc or Visual C++.
>
> They have a cc wrapper that translates the command line and calls cl.exe.
>
> Not sure if both linkers are available -- you know, because Interix   
> seems to have
>
> substantial support for stuff Visual C++ link.exe does not have --   
> runpath, $origin.
>
>
>
>
>
> As well, Cygwin/mingw/Visual C++ all use the same object file format and
>
> to a significant extent can link each other's output.
>
> So you can use Visual C++ with Cygwin, gcc without a cygwin dependency.
>
>   They have/had a gcc -mnocygwin switch, though there is tension
>
>   between "biarch" vs. "just separate targets".
>
>
>
>
>
> So, actually, in cm3, these are all the same "target", "NT386", just  
>  different config files.
>
> This was an experiment and I'm still feeling mixed about the results.
>
>
>
> They way it is constructed leaves it generally pretty easy to   
> construct the combinations
>
> that aren't named. You don't have to change cm3 at all, nor I think   
> any m3makefile,
>
> just the config file. Well, in the m3makefiles, in m3core, there is   
> deciding on
>
> using pthreads or NT threads, since you can use NT threads with Posix cygwin.
>
>
>
>
>
> You know, look at how SOLgnu and SOLsun are implemented -- they are   
> all identical
>
> except for the config files. Similar situation but in this case they  
>  were broken
>
> out into separate targets, and all the target-specific code is /identical/.
>
>
>
>
>
>  - Jay
>
>
>
>
>
> From: jay.krell at cornell.edu
> To: hosking at cs.purdue.edu; wagner at elegosoft.com
> Date: Thu, 16 Jul 2009 18:41:52 +0000
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] Release notes comments
>
>
>
> Yes. These are subtle but true points.
>
>
> os = cygwin or mingwin or interix or nt
>    but mingwin is really nt, this is clarified below
> ostype = win32 or posix
>   but this maps directly from os so isn't a multiplicative factor
> fork = fast or slow or none
>   also maps from os/runtime
> backend = gcc or integrated
>   gcc backend BITSIZE(LONGINT)==64
>   integrated backend BITSIZE(LONGINT)==32
>
>
> I386_CYGWIN (NT386GNU)
>   Posix, slow fork
>   gcc backend, BITSIZE(LONGINT)==64
>
> I386_MINGWIN (NT386MINGNU)
>   Win32, probably no fork (though in reality there some hybrid   
> aspects, intended
>     only for the use of the compiler/linker/etc., intended not to be  
>  injected into stuff you build)
>   gcc backend, BITSIZE(LONGINT)==64
>
> I386_INTERIX
>   Posix, fast fork
>   uses gcc backend, BITSIZE(LONGINT)==64
>
> I386_NT (NT386)
>   Win32, no fork
>   integrated backend, BITSIZE(LONGINT)==32
>
> Cygwin hangs in one of the test cases.
> Mingw had some major problem last I checked like crashing in all gui apps.
>
> More combinations than this make sense.
> You could use the integrated backend with Cygwin or Interix for example.
> Mingwin, you know, is meant to be NT386 with the gcc backend.
> Mingwin is not an OS or runtime.
>
> Three runtimes: Cygwin, Interix, NT
> two backends: integrated, gcc
>
> therefore 6 combinations of which 4 are named above
>
> Consider that integrated backend could be adapted for I386_LINUX,   
> I386_SOLARIS, I386_FREEBSD ("FreeBSD4"), I386_OPENBSD, I386_NETBSD,   
> I386_PLAN9, I386_DRAGONFLYBSD, I386_DARWIN, etc...
>
>  - Jay
>
>
>
>
> From: hosking at cs.purdue.edu
> To: wagner at elegosoft.com
> Date: Thu, 16 Jul 2009 10:39:03 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] Release notes comments
>
>
>
>
>
> Are there any Windows targets using the gcc-based backend?  If so   
> then they will have BITSIZE(LONGINT)=64 too.  It is just the   
> integrated non-optimizing x86 back-end that currently defines   
> BITSIZE(LONGINT)=32.
>
>
> On 16 Jul 2009, at 02:24, Olaf Wagner wrote:
>
> Quoting "Rodney M. Bates" <rodney.m.bates at cox.net>:
>
>
> A couple of comments on the release notes for 5.8.2:     <li>System
>
> pthread threading is now the default on all
>
>     platforms. The original (fast) M3 user level thread code is
>
>     still there and can be used if necessary (on most platforms). On
>
>     many systems, this allows M3 applications to scale over all
>
>     available hardware processors.</li>
>
>
>
> This sounds like it is the original user level threads that allow
>
> scaling over multiple processors, which I believe is backwards.  I
>
> suggest swapping the second and third sentences be for clarity.
>
> <li>New data type LONGINT (64 bit integer) on all target
>
>     platforms except Windows (still in the queue).</li>
>
>
>
> As I understand it, LONGINT is in Windows too, it just isn't 64
>
> bits yet.
>
> Thanks Rodney, that was fast. After browsing the change logs for several
> hours, I just checked in that draft last night before falling asleep.
>
> I'd like everybody to have a look at them and correct, extend or add
> topics they'd like to change or see. Probably I've missed at least some.
> Order should also be considered.
>
> You can browse them at http://www.opencm3.net/releng/relnotes-5.8-RC2.html
> now if you don't want to read them in your CVS workspace.
>
> Let me know what you think and feel free to improve the checked-in source,
>
> Olaf
> --
> Olaf Wagner -- elego Software Solutions GmbH
>               Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
>   http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>
>
>



-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list