INTL 3:770/1 3:770/3   
   REPLYADDR tnp@invalid.invalid   
   REPLYTO 3:770/3.0 UUCP   
   MSGID: 640c0ca6   
   REPLY: <20240211090742.5ebbe742856f54e5f40392bd@eircom.net> 8119f000   
   PID: SoupGate-Win32 v1.05   
   On 11/02/2024 09:07, Ahem A Rivet's Shot wrote:   
   > On Sun, 11 Feb 2024 08:58:50 +0000   
   > The Natural Philosopher wrote:   
   >   
   >> On 11/02/2024 05:17, Ahem A Rivet's Shot wrote:   
   >>> On Sat, 10 Feb 2024 23:13:20 +0100   
   >   
   >>> The point of Ken Thomson's attack is that you have to compile   
   >>> those gcc sources and that compiler can poison the binary you produce   
   >>> from the clean gcc sources. So inspecting sources doesn't help you.   
   >>>   
   >> Obviously one must write one's own compiler!   
   >   
   > So what do you compile it with ?   
      
   You don't. You already wrote your own assembler. In machine code!   
      
   You compile the proto-compiler with THAT.   
      
   THEN you can use it to compile future versions of itself.   
      
   An assemblers is - or ought to be - a 1:1 translator from human readable   
   to machine readable commands.   
      
   It cant be corrupted.   
      
   Unless the chip itself is compromisesd :-)   
      
   So design your own chip!   
      
   That is what happened with the early days of ARM chips. I know people   
   involved in writing those compilers..   
      
      
   If the compiler you use to compile   
   > your clean room compiler is poisoned then so will be the compiled compiler   
   > despite your clean room code. That's the Thompson trap.   
   >   
   > The only way out of the Thompson trap is to write a new compiler   
   > from scratch in assembler and assemble it by hand. Then you just have to   
   > trust the hardware.   
   >   
   Or design it yourself.   
      
   The ARM is a special CPU that was designed initially to beat the 6502   
   and walk all over z80s and 8080s.   
      
   Because they couldn't afford massive wafers, it was strictly limited in   
   hardware. All they could do was a very basic instruction set and a lot   
   of on-chip registers. And a three instruction set pipeline and clock it   
   as fast as it would go. And a 32 bit address bus. To take advantage of   
   a lot more RAM that was getting cheaper by the day. The low power was   
   simply a cost saving measure - a plastic cased low dissipation chip was   
   *cheaper*.   
      
   And a few - maybe only one - very bright boys (sophie wilson) , looked   
   at the absolute minimum of what those instructions had to do.   
      
   Complex instructions could be written to use those registers and   
   accessing them was super fast.   
      
   In a way it mimicked what was happening in CISC but pulled the microcode   
   out of the chip into external software libraries.   
      
   And there it was. The Acorn Risc Machine. Not a very much used chip   
   until mobile computing came along, when its low power performance and   
   ability to be integrated under license into anyone else's hardware chips   
   made it a world beater.   
      
   https://arstechnica.com/gadgets/2022/09/a-history-of-arm-part-1-   
   uilding-the-first-chip/   
      
   Read the whole story.   
      
      
      
   --   
   For in reason, all government without the consent of the governed is the   
   very definition of slavery.   
      
   Jonathan Swift   
      
   --- SoupGate-Win32 v1.05   
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)   
   SEEN-BY: 15/0 19/38 90/1 105/81 106/201 128/260 129/305 135/225 153/7715   
   SEEN-BY: 218/700 226/30 227/114 229/110 112 113 200 206 307 317 400   
   SEEN-BY: 229/426 428 470 550 616 664 700 266/512 282/1038 291/111   
   SEEN-BY: 292/854 320/219 322/757 342/200 396/45 460/58 633/280 281   
   SEEN-BY: 633/412 418 420 509 2744 712/848 770/1 3 100 330 340 772/210   
   SEEN-BY: 772/220 230 5020/400 5075/35   
   PATH: 770/3 1 633/280 229/426   
      
|