[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