| 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] |