From: hgfernan AT usp DOT br Subject: Re: Diff of executable files 29 Dec 1997 20:39:38 -0800 Message-ID: <9712300407.AA23718.cygnus.gnu-win32@spider.uspnet.usp.br> References: <199712251058 DOT CAA23266 AT graft DOT XCF DOT Berkeley DOT EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT To: Jason Alan Nordwick , Martin Portmann , gnu-win32 AT cygnus DOT com, hgfernan AT usp DOT br Cc: Martin Portmann , gnu-win32 AT cygnus DOT com On 25 Dec 97 at 2:58, Jason Alan Nordwick wrote: > There is a fairly good one for being alpha, called Xdelta. > Look for it at htp://www.xcf.berkeley.edu/~jmacd > Nordwick offers a link to a utility that he created, called Xdelta, an improvement of diff that will deal better with binary files. From what i can read in its site, it is a welcome idea. However, this is not what this thread discusses: a diff for executables. That would be a useful tool. For a program that knows the structure of an executable file, or a library file would be far useful than a binary utility, like cmp, that equals any file format to an unstructured sequence of bytes. For instance, it could understand that an executable library files have sections; when comparing two such files, it would compare between section boundaries with the same name. That could even more useful in ELF's DWARF debugging format, where an executable file is marked by tags of several types. The idea of a diff program specialized in executables can be easily understood by an analogy: diff, a text utility is line oriented and doesn't know about the syntax of a program source: for instance, in the diff versions i have access to the next two programs are considered different: if (max < j) { max = j; } and if (max < j) { max = j; } In other words, diff doesn't know about the C language syntax. (Nor does Nordwick's Xdelta.) diff is usually very useful, but a syntax differencer that would know about C syntax would be even more useful. That way, one could compare two programs independently of its indentation, comments etc. > Amazing how COFF is called "new" What i tried to say is that COFF is newer in a Microsoft context, and PE is older. But... hey, don't be picky! :-) > I have been looking for a C API, but cant find one. I can only find C++ > level API documentation. (For the win32 subsystem) There must be a misunderstood here: Win32 API is a C API; in its beginnings (circa 1985), Windows API (then Win16) could only be programmed in C. If you want a link to Win32 API, it is "Introduction to the Win32 Application Programming Interface", at http://www.microsoft.com/WIN32DEV/APIEXT/INTRO32.HTM Maybe i'm being "unpolite" when i quote Microsoft's site pages. Well, people, i hate Microsoft just like the other guy; i don't use Office 97, i prefer TeX etc. However, i can't deny that i use Win95 / NT, like everyone else in this list. Like everyone else in this list, i'd like to use a better OS, preferably an Un*x-like one. For professional reasons we have to use M$'s Win32. But sometimes even M$ can do good things. :-) I'd like to talk more about this dilemma, but i'll leave this to other day, other people. > > jay > -- > Join the FreeBSD Revolution. > Support the FSF, buy GNU. > http://xcf.berkeley.edu/ > > Happy new year, everybody, ++Hilton ------------------- Hilton Fernandes email: hgfernan AT usp DOT br www: http://www.lsi.usp.br/~hilton.html (inactive) M. Sc. Student of Parallel Distributed Applications at Escola Politecnica (Polytechic School) University of S. Paulo - Brazil - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".