@lxo I don't think its so simple as starting from two independent compiler binaries. with Thompson's attack, the trick was of course a matter of introducing changes to what constitutes legal C code in phases, so that a seed compiler has been "trained" to interpret the backdoor of an attacker as legal C code, and that "knowledge" is then propagated from binary to binary, without the user's knowledge. and its not just GCC, but also coreutils, binutils, glibc and others that make up around 200mb of boostrap binaries on any given free operating system distribution. if you recompile these tools with pcc or clang, from source and then again with GCC, all coming from different distributors, you're just assuming that one of compilers breaks the chain of the attack. but nothing actually suggests that, considering those tools are all similarly built from blobs that may contain generational backdoors. you have to trust not only your source, but whatever they trusted as well.
this isn't purely hypothetical, these attacks have been uncovered in the wild it https://www.wired.com/2009/08/induc/