diff options
author | Srikar Dronamraju <srikar@linux.vnet.ibm.com> | 2008-10-28 17:07:27 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-10-28 17:07:27 -0400 |
commit | 669bdbfc3aee6d85f4f1b84766a5bfdcb0cc48cf (patch) | |
tree | 7d02711c134e816b4f1503538303219ff2b35b1e /runtime/uprobes/uprobes_x86.c | |
parent | 3cec42574e444b7f91e2d887527bea45348ffb79 (diff) | |
download | systemtap-steved-669bdbfc3aee6d85f4f1b84766a5bfdcb0cc48cf.tar.gz systemtap-steved-669bdbfc3aee6d85f4f1b84766a5bfdcb0cc48cf.tar.xz systemtap-steved-669bdbfc3aee6d85f4f1b84766a5bfdcb0cc48cf.zip |
PR5274: uretprobes fixes, belated commit
Diffstat (limited to 'runtime/uprobes/uprobes_x86.c')
-rw-r--r-- | runtime/uprobes/uprobes_x86.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/runtime/uprobes/uprobes_x86.c b/runtime/uprobes/uprobes_x86.c index 05d2a978..e3bdf8ff 100644 --- a/runtime/uprobes/uprobes_x86.c +++ b/runtime/uprobes/uprobes_x86.c @@ -716,3 +716,13 @@ unsigned long arch_hijack_uret_addr(unsigned long trampoline_address, } return orig_ret_addr; } + +static +unsigned long arch_predict_sp_at_ret(struct pt_regs *regs, + struct task_struct *tsk) +{ + if (test_tsk_thread_flag(tsk, TIF_IA32)) + return (unsigned long) (REGS_SP + 4); + else + return (unsigned long) (REGS_SP + 8); +} |