Added hybrid analysis modes, not fully functional.
authorKevin Roundy <roundy@cumin.cs.wisc.edu>
Mon, 12 Jul 2010 04:43:47 +0000 (23:43 -0500)
committerKevin Roundy <roundy@cumin.cs.wisc.edu>
Mon, 12 Jul 2010 04:43:47 +0000 (23:43 -0500)
commit3e5c9bc3040c073b96bb99b1f97442e678599391
tree7cc94c6cdb225566d6c4c71e9f7411018166eafc
parenta2397379335239b93c991b6953b0aa3b3345fb95
Added hybrid analysis modes, not fully functional.

This commit adds three analysis modes, BPatch_normalMode,
which is the default and the only mode to trigger at present,
BPatch_exploratoryMode, which causes runtime instrumentation
of unresolved indirect control transfers and thereby may
discover additional code at runtime (not fully functional
yet), and BPatch_defensiveMode, which assumes that the binary
is defensive, possibly self-unpacking and self-modifying.

Also, this commit should fix the Windows failures that popped
up this weekend after an upgrade to VS2008 project and solution
files.
88 files changed:
common/src/MappedFile.C
dyninstAPI/h/BPatch.h
dyninstAPI/h/BPatch_Set.h
dyninstAPI/h/BPatch_addressSpace.h
dyninstAPI/h/BPatch_basicBlock.h
dyninstAPI/h/BPatch_callbacks.h
dyninstAPI/h/BPatch_flowGraph.h
dyninstAPI/h/BPatch_function.h
dyninstAPI/h/BPatch_hybridAnalysis.h [new file with mode: 0644]
dyninstAPI/h/BPatch_image.h
dyninstAPI/h/BPatch_module.h
dyninstAPI/h/BPatch_point.h
dyninstAPI/h/BPatch_process.h
dyninstAPI/h/BPatch_snippet.h
dyninstAPI/make.module.tmpl
dyninstAPI/src/BPatch.C
dyninstAPI/src/BPatch_addressSpace.C
dyninstAPI/src/BPatch_asyncEventHandler.C
dyninstAPI/src/BPatch_basicBlock.C
dyninstAPI/src/BPatch_flowGraph.C
dyninstAPI/src/BPatch_function.C
dyninstAPI/src/BPatch_image.C
dyninstAPI/src/BPatch_module.C
dyninstAPI/src/BPatch_point.C
dyninstAPI/src/BPatch_process.C
dyninstAPI/src/BPatch_snippet.C
dyninstAPI/src/BPatch_thread.C
dyninstAPI/src/EventHandler.C
dyninstAPI/src/EventHandler.h
dyninstAPI/src/Parsing.C
dyninstAPI/src/Parsing.h
dyninstAPI/src/addressSpace.C
dyninstAPI/src/addressSpace.h
dyninstAPI/src/baseTramp.C
dyninstAPI/src/baseTramp.h
dyninstAPI/src/binaryEdit.C
dyninstAPI/src/callbacks.C
dyninstAPI/src/callbacks.h
dyninstAPI/src/debug.C
dyninstAPI/src/debug.h
dyninstAPI/src/dyn_lwp.C
dyninstAPI/src/dyn_lwp.h
dyninstAPI/src/frame.C
dyninstAPI/src/frame.h
dyninstAPI/src/function.C
dyninstAPI/src/function.h
dyninstAPI/src/hybridAnalysis.h [new file with mode: 0644]
dyninstAPI/src/hybridCallbacks.C [new file with mode: 0644]
dyninstAPI/src/hybridInstrumentation.C [new file with mode: 0644]
dyninstAPI/src/hybridOverwrites.C [new file with mode: 0644]
dyninstAPI/src/image-func.C
dyninstAPI/src/image-func.h
dyninstAPI/src/instPoint.C
dyninstAPI/src/instPoint.h
dyninstAPI/src/mapped_module.C
dyninstAPI/src/mapped_module.h
dyninstAPI/src/mapped_object.C
dyninstAPI/src/mapped_object.h
dyninstAPI/src/miniTramp.C
dyninstAPI/src/multiTramp.C
dyninstAPI/src/multiTramp.h
dyninstAPI/src/pdwinnt.C
dyninstAPI/src/pdwinntDL.C
dyninstAPI/src/process.C
dyninstAPI/src/process.h
dyninstAPI/src/registerSpace.C
dyninstAPI/src/registerSpace.h
dyninstAPI/src/reloc-func.C
dyninstAPI/src/signalgenerator.C
dyninstAPI/src/signalgenerator.h
dyninstAPI/src/signalhandler.C
dyninstAPI/src/signalhandler.h
dyninstAPI/src/stackwalk-x86.C
dyninstAPI/src/symtab.C
dyninstAPI/src/symtab.h
dyninstAPI/src/unix.C
dyninstAPI_RT/h/dyninstAPI_RT.h
parseAPI/h/CFG.h
parseAPI/h/CodeObject.h
parseAPI/h/ParseCallback.h
parseAPI/src/Block.C
parseAPI/src/CodeObject.C
parseAPI/src/Function.C
parseAPI/src/Parser.C
parseAPI/src/Parser.h
parseAPI/src/ParserDetails.C
symtabAPI/src/Object-nt.C
symtabAPI/src/Symtab.C