POSTSCRIPT GRAPH -->

        call graph (cg)
	control flow graph (cfg) for procedures
	static code (library) recognition (.o and .so should work)
	function pointer gathering from static code recognition (configurable)
		--> as feebdack into the grapher
		+++ symbol resolution for these function pointers
	symbol resolution for plt entries
	general symbol resolution if symtable (non stripped) is present

        clustering (bounded boxes) of procedures.
        red edges are inter procedural control flow.
        black lines are intra procedural control flow.
        green lines are for information nodes (ie, procedures, entry point)
	yellow lines indicate control flow discovered through a function ptr.
	brown nodes are resolved plt symbols
	blue nodes are procedure entry points
	purple lines indicate runtime linking dependancies
	orange lines indicicate procedure 'ret's.

ANNOTATIONS ->

	procedure local stack allocation (adhoc)
	procedure argument argc/argv sizes (adhoc)

BUG CHECKS ->

	caller/callee prototype matching

-- has these, but you dont see em yet in the output!

	basic block graphing of cfg's
	path traversal and subgraph construction between 2 nodes

	the annotiations are comments in the .dot

example usage.. 

flowgraph.py binary library1 [ library2 ... ]

	$ main.py gg /usr/lib/crt1.o > gg.dot
	$ dot -Tps gg.dot -ogg.ps

eg, crt1.o is where it pulls in _start.  change linking.rel to configure
what symbols represent function pointers.

dot is by at&t bell labs.

--
Silvio
