I described how to handle this and trustworthy compilers in general here:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10182282" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10182282</a><p>My replies to &quot;jeffreyrogers&quot; have details and links to examples. You do it bottom-up. I disagree with using Forth as it&#x27;s a weird language &amp; that reduces number of people that will verify it. One would be better off with P-code given it was successfully used to get Pascal on 70 or so architectures. Wirth and Jurg later used the same approach in Lilith workstation with M-code and Modula-2. They were able to put together a CPU, high-level assembler (M-code), high-level language, compiler, OS, editor, and so on in around 2 years by keeping it simple and consistent. Something like that which maps to what people already know and do.<p>So, again, here&#x27;s your model:<p>1. Portable stack or register VM that&#x27;s ultra-simple plus similar to language targeting it.<p>2. Implementations of that diversified by authors, OS&#x27;s, and HW.<p>3. Subset of language (or simple HLL like Modula-2) coded in whatever you need to get initial compiler working.<p>4. That same compiler re-coded in language of trusted VM and run on all targets to ensure same results (equivalence checks).<p>5. Use that binary to produce an executable from compiler&#x27;s HLL source and equivalence check again.<p>Note: Did I word 5 less confusing than most people do at this point? I put effort into avoiding &quot;compile the compiler with compiler etc.&quot; ;)<p>6. Use the binary from No 5 to compile future versions of the compiler written in a subset of its own language. Should continue using a subset for easier understanding and correctness. Check language features with testing suite and sample applications instead of with overly complicated compiler.<p>So, there you go. Easy stuff already proven by Wirth et al. Not worth another 100 write-ups. Just use what we know. The real problem worth lots of discussion and investigation is certified, secure&#x2F;robust compilation. <i>That</i> is a difficult problem open to investigation with new, interesting results each year. Bootstrapping compilers for masses? That&#x27;s so 1971. ;)