Date: | Thu, 15 Jan 2015 15:07:41 +0100 |
---|---|
From: | Xi Chen <xi.chen.chn@xxxxxxxxx> |
Subject: | [DynInst_API:] Snippet register get modified by EmitStackAlign |
Hi,
 I got a situation that Dyninst overwrite register value which generate in my snippet because of the protection of stack and eflag register. Because in the emitStackAlign function (emit-x86.C), it try to align the stack and rax register is used in the middle. so if the snippet which put result into $rax, the value will be modified.  A generated example: Âlea  Â-0x80(%rsp),%rsp Âpush  %rax Âlahf Âseto  %al Âpush  %rax Âmov  Â0x655df0,%rax --> the snippet I added. Âpop  Â%rax Âadd  Â$0x7f,%al Âsahf Âpop  Â%rax Âlea  Â0x80(%rsp),%rsp I want to ask if there are any API which I can turn off this trampline code? Thanks in advance. Best Regards X.Chen |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [DynInst_API:] RFC: interface change to SymtabAPI Aggregates, Bill Williams |
---|---|
Next by Date: | [DynInst_API:] Do not trace children, Gerard |
Previous by Thread: | Re: [DynInst_API:] Slice on base + displacement?, Mohamed Elsabagh |
Next by Thread: | Re: [DynInst_API:] Snippet register get modified by EmitStackAlign, Bill Williams |
Indexes: | [Date] [Thread] |