diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-12-20 13:34:16 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-12-20 13:34:16 -0500 |
commit | 028e1bde11b9644d1ac62f0a1a2188cf8def234a (patch) | |
tree | 8f1eb8ecb8e904d84bd91627c87b8fd5bdb0d4f2 /runtime/uprobes/uprobes.h | |
parent | be00414012df13c2eddf98909b3cdfe21c2a94d8 (diff) | |
download | systemtap-steved-028e1bde11b9644d1ac62f0a1a2188cf8def234a.tar.gz systemtap-steved-028e1bde11b9644d1ac62f0a1a2188cf8def234a.tar.xz systemtap-steved-028e1bde11b9644d1ac62f0a1a2188cf8def234a.zip |
runtime backtracing: port commit #2e7f8442 to uprobes1
* runtime/uprobes/uprobes.c (uprobe_get_pc): new function
Diffstat (limited to 'runtime/uprobes/uprobes.h')
-rw-r--r-- | runtime/uprobes/uprobes.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/runtime/uprobes/uprobes.h b/runtime/uprobes/uprobes.h index d542420d..e888f9e8 100644 --- a/runtime/uprobes/uprobes.h +++ b/runtime/uprobes/uprobes.h @@ -95,6 +95,14 @@ extern void unregister_uretprobe(struct uretprobe *rp); /* For PRs 9940, 6852... */ extern void unmap_uprobe(struct uprobe *u); extern void unmap_uretprobe(struct uretprobe *rp); +/* + * Given a program counter, translate it back to the original address + * if it is the address of the trampoline. sp is the stack pointer for + * the frame that corresponds to the address. + */ +extern unsigned long uprobe_get_pc(struct uretprobe_instance *ri, + unsigned long pc, + unsigned long sp); #ifdef UPROBES_IMPLEMENTATION |