[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