On Wed, Sep 01, 2004 at 06:09:48PM -0700, Thomas Bushnell BSG wrote: > Andrew Suffield <asuffield@debian.org> writes: > > > I have no idea. That's a script's job - pairing off basic blocks with > > source sequences. If you have any left over, or any that don't match > > the source, something funky is going on, and you go figure it out by > > hand. > > Alas, that'll fail with a fancy optimizing compiler (like GCC), which > freely rearranges basic blocks, changing how many there are and the > like. No, really, I've done it before. "Basic blocks" are just the unit of reference for binaries. Writing a compiler that takes C source and generates a working binary is easy. Writing a compiler that takes source code and finds a quasi-optimal binary to express it is hard. Writing a program that takes source code and a binary and compares them for equality, under the semantic rules of C, is easy (for a given compiler and target platform; doing it for all compilers and target platforms at once is hard). -- .''`. ** Debian GNU/Linux ** | Andrew Suffield : :' : http://www.debian.org/ | `. `' | `- -><- |
Attachment:
signature.asc
Description: Digital signature