[Info-vax] VMS Software Q1 '23 Update

Dan Cross cross at spitfire.i.gajendra.net
Mon Feb 6 17:26:21 EST 2023


In article <a1a92263-2ab1-4390-bb6d-1eb2b2240896n at googlegroups.com>,
John Reagan  <xyzzy1959 at gmail.com> wrote:
>On Sunday, February 5, 2023 at 6:20:34 PM UTC-5, Dan Cross wrote:
>> In article <b40d16a3-7cca-4364... at googlegroups.com>,
>> John Reagan <xyzz... at gmail.com> wrote: 
>> >BTW, the Rust compiler is written in Rust. You have to bootstrap it from a Linux box.
>> Not necessarily. mrustc has been used to successfully bootstrap 
>> rustc.
>> >Not a show stopper (that is exactly what we did with clang), but one more piece to the 
>> >puzzle.
>> One of the nice things about rustc/clang/LLVM is that compilers 
>> are pretty much cross-compilers by default, so development is 
>> greatly accelerated. 
>
>I'm impressed.   I wouldn't have guessed that mrustc would be up to that task.

Indeed.  At least one team at Google did it when we were
bringing in the Rust toolchain; I forget who now, though.  We
were concerned about proving provenence and defeating "trusting
trust" attacks, though; we trust the C++ compiler, so
bootstrapping Rust from that was useful.  Once we had a working
Rust compiler, we could iterate through point releases until we
got parity with HEAD.

>For our Linux to OpenVMS bootstrap for LLVM, we had to change/add several hundred
>lines of code.  Our memory model isn't exactly small, medium, or large.  LLVM has several
>tables of "known names" for routines that live in libc/libm on Linux that need changed.
>And others
>
>For clang, to bootstrap had to worry about headers since the Linux-hosted compiler was
>going to make objects that link on OpenVMS so even more RTL name prefixes, etc.  And
>many (most?) of those headers from OpenVMS use pragmas we had to add/extend.

Oh, I'm sure it wasn't trivial, but the ability to plug into an
existing cross-compilation framework is huge.

	- Dan C.




More information about the Info-vax mailing list