Using symEval in ParseAPI for slicing, added hybrid analysis code
authorParadyn Account <paradyn@Madmartigan.(none)>
Tue, 13 Jul 2010 17:03:43 +0000 (12:03 -0500)
committerKevin Roundy <roundy@cumin.cs.wisc.edu>
Wed, 21 Jul 2010 00:20:18 +0000 (19:20 -0500)
commite9f73237b2bd3f9a98cd183e64fbdb33177ba64a
tree381c37a59ae631f1da62526f6d573a51e2d80db1
parentb8d76173072a30abfedc1724b1411d5a9675d0a2
Using symEval in ParseAPI for slicing, added hybrid analysis code

This commit gets hybrid analysis closer to working on Dyninst.  As
a part of this effort, I'm using symEval's slicing capabilities
in the ParseAPI so that I can tell if a function tampers with its
call stack to modify its return address.  This introduces a cyclic
dependency between ParseAPI and symEval, which is problematic on
Windows binaries, as cyclic dependencies between dlls are not
allowed.  The solution I used in this commit was to build a single
dll for the two libraries (other platforms continue to produce
separate shared libraries), which seemed reasonable since neither
library will be used without the other anyway.
51 files changed:
DyninstAPI.sln
Makefile
dyninstAPI/src/BPatch_process.C
dyninstAPI/src/Parsing.C
dyninstAPI/src/Parsing.h
dyninstAPI/src/function.C
dyninstAPI/src/function.h
dyninstAPI/src/image-func.C
dyninstAPI/src/image-func.h
dyninstAPI/src/mapped_object.C
dyninstAPI/src/process.C
dyninstAPI/src/symtab.C
dyninstAPI/src/symtab.h
parseAPI/h/CFG.h
parseAPI/h/CodeObject.h
parseAPI/h/CodeSource.h
parseAPI/h/InstructionAdapter.h
parseAPI/h/ParseCallback.h
parseAPI/i386-unknown-linux2.4/Makefile
parseAPI/make.module.tmpl
parseAPI/parseAPI.vcproj
parseAPI/src/Block.C
parseAPI/src/CodeObject.C
parseAPI/src/Function.C
parseAPI/src/IA_IAPI.C
parseAPI/src/IA_IAPI.h
parseAPI/src/IA_InstrucIter.C
parseAPI/src/IA_power.C
parseAPI/src/IA_x86.C
parseAPI/src/InstrucIter-sparc.C
parseAPI/src/InstructionAdapter.C
parseAPI/src/ParseData.C
parseAPI/src/ParseData.h
parseAPI/src/Parser-speculative.C
parseAPI/src/Parser.C
parseAPI/src/Parser.h
parseAPI/src/ParserDetails.C
parseAPI/src/StackTamperVisitor.C [new file with mode: 0755]
parseAPI/src/StackTamperVisitor.h [new file with mode: 0755]
parseAPI/src/SymtabCodeSource.C
parseAPI/src/debug_parse.C [moved from parseAPI/src/debug.C with 75% similarity]
parseAPI/src/debug_parse.h [moved from parseAPI/src/debug.h with 87% similarity]
parseAPI/x86_64-unknown-linux2.4/Makefile
parseThat/Makefile.in
symEval/make.module.tmpl
symEval/src/SymEval.C
symEval/src/debug_symeval.C [moved from symEval/src/debug.C with 99% similarity]
symEval/src/debug_symeval.h [moved from symEval/src/debug.h with 100% similarity]
symEval/src/slicing.C
symEval/src/stackanalysis.C
symEval/symEval.vcproj