Hi Marc,
Yes, StackMod is only implemented for x86 and x86-64 in rewrite mode. I'm not sure why only rewrite mode is supported, perhaps someone else could comment?
But the major challenge we're facing is that it is often difficult to obtain a complete-enough understanding of how the stack is accessed to safely modify the stack. One reason for this is that it's frequently tough to determine whether a memory store/load accesses the stack or not. And even if we know a stack access is occurring, it is often difficult to determine where on the stack is being accessed. As a result, our current StackMod implementation is unable to modify ~50% of otherwise instrumentable functions. Our current efforts are focused on reducing this percentage.
Specific approaches we've considered (and started working on) include:
* Reducing unnecessary conservativeness in our StackAnalysis procedure
* Adding memory-tracking to StackAnalysis
* Limited interprocedural analysis to track stack pointers that are passed between functions
- Matt
________________________________________
From: Dyninst-api <dyninst-api-bounces@xxxxxxxxxxx> on behalf of Marc Brünink <marc@xxxxxxxxx>
Sent: Thursday, January 07, 2016 9:52 PM
To: dyninst-api@xxxxxxxxxxx
Subject: [DynInst_API:] StackMod
Dear all,
I never used StackMod nor did I look at the code so far.
If I remember correctly Stackmod only works for x86* in rewriting mode.
I was wondering why it is limited to rewriting, what are the
limitations, remaining open challenges etc.
Marc
_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
|