[Info-vax] Compilers and architectures

John Reagan johnrreagan at earthlink.net
Mon Jan 19 20:07:18 EST 2009


"JF Mezei" <jfmezei.spamnot at vaxination.ca> wrote in message 
news:0060f0dd$0$10083$c3e8da3 at news.astraweb.com...
> (subject renamed from some meaningless one)
>
> John Reagan wrote:
>
>> The fact that Itanium is EPIC doesn't really matter to most code other 
>> than
>> compilers or those brave few who want to write Itanium assembly for
>> performance reasons
>
> In the case of VMS to Alpha, is it correct to assume that they had to
> build Alpha cross compilers on VAX-VMS so that they could generate a
> minimal VMS binary and then boot it on Alpha ?  (since there were no
> tools yet available on Alpha and there were no other OS running on Alpha
> at the time).

Correct.  We had VAX-hosted/Alpha-target cross-compilers for the 
VAX-to-Alpha port; and Alpha-hosted/Itanium-target cross-compilers for the 
Alpha-to-I64 port.

>
> In the case of a theoretical port to a 64 bit 8086, would they build
> such cross platform compilers on Alpha or IA64 VMS to generate the early
> 8086 VMS binaries ?
>
> Or would they use existing Intel compilers on windows/linux to compile
> and generate the early VMS binaries for 8086 ?

Since the cross-compilers would need access to source files that currently 
exist in CMS libraries on ODS-5 structured file systems, using a non-VMS 
hosted compiler makes your job worse.   Using VMS-hosted compilers leverages 
existing code and command files that knows how to use RMS/DCL/CMS/etc to 
open/read/write/close files, process command lines, etc.

>
>
> And once you havce a minimal VMS running on the 64 bit 8086, how
> difficult is it to port 8086 compilers written for linux or windows over
> to VMS ? Is it mostly just adding the vms-style command line parsing and
> the logic to search include files in libraries and/or directories  with
> the rest more or less unchanged ? or are there significant compiler core
> changes needed for VMS ?

Which compilers are you suggesting?  Do you want/need a binary translator? 
Do you want/need VAX-floating support?  Do you want/need traditional Calling 
Standard features like an architected argument-count register?  Want your C 
compiler to be able to use special linkages to the Macro-32 and BLISS code? 
(We would.)   All of which does ripple through the compiler.  Glueing on 
command line parsing, #include processing, etc. is just the tip of the 
iceberg.

The language RTLs would need work if you want any sort of multi-language 
exception handling support.  I'll guess any library you pull from a Linux 
box doesn't know much about signal/mechanism arrays or things like 
SYS$UNWIND.

John 





More information about the Info-vax mailing list