yuval@sun.com (Gideon Yuval) (01/03/89)
E-mail to info-server@sh.cs.net, where the message-body is request: mod.sources topic: help topic: 68kdisassem topic: 68kupdate request: end will get a pretty good Sun disassembler E-mailed back to you (Deo volente). -- Gideon Yuval, yuval@taux01.nsc.com, +972-2-690992 (home) ,-52-522255(work) Paper-mail: National Semiconductor, 6 Maskit St., Herzliyah, Israel TWX: 33691, fax: +972-52-558322
dupuy@columbia.edu (Alexander Dupuy) (01/03/89)
One of the nice things about the Unix philosophy is that you can take tools which don't do quite what you want (or perhaps in your case, more than you want) and to some extent create new interfaces for them. One of the easiest ways to do that is with a shell script: #!/bin/sh - echo 'start,etext?i' adb $1 does just about exactly what you want - though it's not quite as useful for dynamically linked excutables. @alex
battan@tc.fluke.com (Jim Battan) (01/03/89)
adb can still handle Mr. Kerchen's problem. The adb map contains the start of the text space ($m). Use something like this to get the start: ENTRY=`echo '$m' | adb $1 - | sed -n '2s/b1 = \([!-~]*\).*/\1/p'`;; Then, use something like this to disassemble everything from the entry point to the end of the text segment: echo "${ENTRY-<e},-1?ia" | adb $1 - | sed '/^text address not found/ { s/.*//;q; }' Wrap this all in a shell script, and "there it is"! This is useful on any Sun architecture (the adb maintainers do the porting work for you). The only problem is that it starts doing weird things around data that aren't real machine code. But you can usually tell what's real and what's not. Jim Battan (+1 206 356 6469) battan@tc.fluke.COM || {sun,uw-beaver,decvax!microsoft}!fluke!battan