Fixes to call emulation, slicing.
authorKevin Roundy <roundy@cs.wisc.edu>
Sat, 13 Nov 2010 22:10:22 +0000 (16:10 -0600)
committerKevin Roundy <roundy@cs.wisc.edu>
Sat, 13 Nov 2010 22:10:22 +0000 (16:10 -0600)
commit49dd304575623d1f62aa12541be1fab858278118
treeee48cbf6274e71cc9b4deb3e4aaaaf38f6d0d500
parent5013eff97a0bd2f18c0d6b1be6f395e6b9eab4fa
Fixes to call emulation, slicing.

Slicing inserts a "widen" at int3 instructions since these will invoke
the OS, and the PC will be visible on the stack, making it so that
PC emulation can't know that the return address is not used.  Also
fixed slicing to deal with call instructions that have no return
instruction.  Finally, emulated calls that get post-call padding
need jumps even if the called function is immediately after the call.
dataflowAPI/src/slicing.C
dyninstAPI/src/MemoryEmulator/memEmulatorAtom.C
dyninstAPI/src/Relocation/Transformers/Fallthroughs.C
dyninstAPI/src/hybridCallbacks.C
dyninstAPI/src/pdwinnt.C
dyninstAPI_RT/src/RTmemEmulator.c