summaryrefslogtreecommitdiffstats
path: root/runtime/uprobes/uprobes.h
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2009-12-20 13:34:16 -0500
committerFrank Ch. Eigler <fche@elastic.org>2009-12-20 13:34:16 -0500
commit028e1bde11b9644d1ac62f0a1a2188cf8def234a (patch)
tree8f1eb8ecb8e904d84bd91627c87b8fd5bdb0d4f2 /runtime/uprobes/uprobes.h
parentbe00414012df13c2eddf98909b3cdfe21c2a94d8 (diff)
downloadsystemtap-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.h8
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