[DynInst_API:] COMMIT (1/3): Stack Modifications


Date: Tue, 19 May 2015 10:17:07 -0500
From: Emily Gember-Jacobson <jacobson@xxxxxxxxxxx>
Subject: [DynInst_API:] COMMIT (1/3): Stack Modifications
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.Â

  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.

  Added insnCodeGen::modifyDisp, which modifies the displacement encoded in an instruction.

  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).
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] COMMIT (1/3): Stack Modifications, Emily Gember-Jacobson <=