Hacker News new | ask | show | jobs
by mizzao 559 days ago
Out of curiosity: would ./30cc_gcc (30cc complied by gcc-hosted 30cc) and ./30cc (30cc complied by self-hosted 30cc) be identical binary files, if 30cc was operating as expected?
2 comments

No, gcc optimizes code output and can make code shorter and faster. A compiler can make many, many decisions which will show up as differences in the binary output.
In my question above, both compilers are 30cc, except one of the 30cc's was compiled by gcc and the other self-hosted.
Ah, sorry. In that case, my guess is, probably yes. The outputs of both of these are probably the same. But not for certain - see:

https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...

the asms should be identical, so the binaries should be identical too, unless the linker is undeterministic