summaryrefslogtreecommitdiffstats
path: root/runtime/stack.c
diff options
context:
space:
mode:
authorTim Moore <timoore@redhat.com>2009-12-18 17:56:24 +0100
committerTim Moore <timoore@redhat.com>2009-12-18 19:11:07 +0100
commit471fca5e53a239f7fa4d04b7b6d6f53765a3d598 (patch)
tree405a6cda2f7c18c26ac20fcfb42c7849f56c0e73 /runtime/stack.c
parent4180475982d87f720897baa6f988a48b4c654ee5 (diff)
downloadsystemtap-steved-471fca5e53a239f7fa4d04b7b6d6f53765a3d598.tar.gz
systemtap-steved-471fca5e53a239f7fa4d04b7b6d6f53765a3d598.tar.xz
systemtap-steved-471fca5e53a239f7fa4d04b7b6d6f53765a3d598.zip
Remove uprobes.h declaration from runtime.h
Turns out that it breaks on kernels that don't have utrace. * runtime/runtime.h : Don't include uprobes.h * runtime/stack.c: Include uprobes.h * runtime/stack-i386.c: Check if uprobes is included at all. * runtime/stack-x86_64.c: ditto * tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): put uprobes.h include back in.
Diffstat (limited to 'runtime/stack.c')
-rw-r--r--runtime/stack.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/stack.c b/runtime/stack.c
index 3d907a7f..4dd1dca3 100644
--- a/runtime/stack.c
+++ b/runtime/stack.c
@@ -27,6 +27,20 @@
#define MAXBACKTRACE 20
+/* If uprobes isn't in the kernel, pull it in from the runtime. */
+#if defined(CONFIG_UTRACE) /* uprobes doesn't work without utrace */
+#if defined(CONFIG_UPROBES) || defined(CONFIG_UPROBES_MODULE)
+#include <linux/uprobes.h>
+#else
+#include "uprobes/uprobes.h"
+#endif
+#ifndef UPROBES_API_VERSION
+#define UPROBES_API_VERSION 1
+#endif
+#else
+struct uretprobe_instance;
+#endif
+
#if defined(STAPCONF_KERNEL_STACKTRACE)
#include <linux/stacktrace.h>
#include <asm/stacktrace.h>