These commits implements stack modifications, which allow users to modify the stack frame layout of a function by inserting, removing, or moving stack space. Stack modifications are implemented on x86 and x86-64. Further, we provide the ability to insert stack canaries (Linux-only) or to randomize the local variables in a stack frame (requires local variable information, e.g., DWARF).
Note: stack modifications are based on the abstraction of stack locations, not the contents of these locations. Commit d0458f210b78f62f81e195ea5b7202543e5abea3 <http://git.dyninst.org/?p=dyninst.git;a=commit;h=d0458f210b78f62f81e195ea5b7202543e5abea3> Implement stack modifications. Stack modifications allow users to modify the stack frame layout by inserting, removing, or moving stack space. Stack modifications are based on the abstraction of stack locations, not the contents of these locations. Further, we provide the ability to insert stack canaries or to randomize the DWARF-provided local variables in a stack frame. Commit 63351bfe05851b52d4c7a0fe2b7ace863e88ddfc <http://git.dyninst.org/?p=dyninst.git;a=commit;h=63351bfe05851b52d4c7a0fe2b7ace863e88ddfc> Added insnCodeGen::modifyDisp, which modifies the displacement encoded in an instruction. Commit e7f65cd145c72d1cb8dd6cdf770a2f17b569b60f <http://git.dyninst.org/?p=dyninst.git;a=commit;h=e7f65cd145c72d1cb8dd6cdf770a2f17b569b60f> Add sensitivity analysis for stack modifications. This sensitivity analysis determines which instructions access relocated stack memory or stack memory shifted due to modifications; these instructions are updated during relocation to access the new stack locations (via a new StackModWidget).
_______________________________________________ Dyninst-api mailing list [email protected] https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
