[Info-vax] GCC for VMS, was: Re: fortran compiler roadmap?

Craig A. Berry craigberry at mac.com.invalid
Wed Apr 17 23:03:09 EDT 2013


In article <kkmqqa$rr3$1 at dont-email.me>,
 Simon Clubley <clubley at remove_me.eisner.decus.org-Earth.UFP> wrote:

> On 2013-04-17, Stephen Hoffman <seaohveh at hoffmanlabs.invalid> wrote:
> >
> > The last version of gcc I met for VMS was very old.  Specifically went 
> > looking for gcc for inclusion on the last Freeware, too.
> >
> 
> Ada Core Technologies (ACT) maintains a port of gcc for it's VMS Ada
> customers. The source code was not freely available however the last
> time I looked (several years ago) because at that time they were
> exercising the option in the GPL which allows them to distribute it
> to their customers only and none of those customers had redistributed
> it when I last checked.

I was recently told by someone from Ada Core that GCC for VMS can be 
built more or less straightforwardly by doing something called a 
"Canadian cross compile."  This is how they build their Ada compiler, 
and he was pretty sure they'd contributed back upstream anything needed 
to build GCC targeting VMS.  

I asked specifically whether the code generators in GCC were up to 
snuff for Alpha and Itanium, and he said yes; their Ada compiler 
depends on this.  (The last version of gcc for VMS I'd heard of 
existing in the wild [2.9 or so] purportedly never had an Alpha code 
generator that actually worked.)

I also asked specifically whether the resulting C compiler could be 
used with the CRTL and he said yes, but you'd have to point the 
compiler build at the headers you already have, which means you'd have 
to already have rights to use the HP C compiler.  I remain skeptical 
whether GNU C could even compile those headers given all of the 
pragmas, specific alignment requirements, etc., but I suppose it's 
possible.

While VAX Fortran was my first computer language, I haven't done any 
Fortran in twenty years and I don't have a very good sense of what role 
the library plays in the language.  Given that SYS$SHARE:DEC$FORRTL.EXE 
is about one tenth the size of SYS$SHARE:DECC$SHR.EXE, I'm guessing 
it's not quite as big a deal as the C run-time.  But still, getting a 
"foreign" Fortran compiler fully functional on VMS would likely require 
various kinds of glue for exit handlers, threads, and such, and, if you 
want to use native libraries, rights to use SYS$LIBRARY:FORSYSDEF.TLB 
or an independently-developed equivalent.

And then you have a compiler with no debugger, so you either spend lots 
of time in the entrails of the compiler making it produce what the 
OpenVMS debugger expects, or you port gdb, or write you're own 
debugger.



More information about the Info-vax mailing list