diff options
author | Török Edwin <edwintorok@gmail.com> | 2008-11-23 05:39:08 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-23 05:53:50 -0500 |
commit | 8d26487fd4ddda7a0237da418fb8669fb06ae557 (patch) | |
tree | df518f9aef1c0f830ada2f2ad221ee41fd38ba1e | |
parent | cffa10aecb6891f090a4d53a075bc40c082c45fc (diff) |
tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT
Impact: cleanup
User stack tracing is just implemented for x86, but it is not x86 specific.
Introduce a generic config flag, that is currently enabled only for x86.
When other arches implement it, they will have to
SELECT USER_STACKTRACE_SUPPORT.
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | include/linux/stacktrace.h | 2 | ||||
-rw-r--r-- | kernel/trace/Kconfig | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7a146baaa990..e49a4fd718fe 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -36,6 +36,7 @@ config X86 | |||
36 | select HAVE_ARCH_TRACEHOOK | 36 | select HAVE_ARCH_TRACEHOOK |
37 | select HAVE_GENERIC_DMA_COHERENT if X86_32 | 37 | select HAVE_GENERIC_DMA_COHERENT if X86_32 |
38 | select HAVE_EFFICIENT_UNALIGNED_ACCESS | 38 | select HAVE_EFFICIENT_UNALIGNED_ACCESS |
39 | select USER_STACKTRACE_SUPPORT | ||
39 | 40 | ||
40 | config ARCH_DEFCONFIG | 41 | config ARCH_DEFCONFIG |
41 | string | 42 | string |
diff --git a/include/linux/stacktrace.h b/include/linux/stacktrace.h index fd42d6851109..1a8cecc4f38c 100644 --- a/include/linux/stacktrace.h +++ b/include/linux/stacktrace.h | |||
@@ -16,7 +16,7 @@ extern void save_stack_trace_tsk(struct task_struct *tsk, | |||
16 | 16 | ||
17 | extern void print_stack_trace(struct stack_trace *trace, int spaces); | 17 | extern void print_stack_trace(struct stack_trace *trace, int spaces); |
18 | 18 | ||
19 | #ifdef CONFIG_X86 | 19 | #ifdef CONFIG_USER_STACKTRACE_SUPPORT |
20 | extern void save_stack_trace_user(struct stack_trace *trace); | 20 | extern void save_stack_trace_user(struct stack_trace *trace); |
21 | #else | 21 | #else |
22 | # define save_stack_trace_user(trace) do { } while (0) | 22 | # define save_stack_trace_user(trace) do { } while (0) |
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index b8378fad29a3..87fc34a1bb91 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -3,6 +3,9 @@ | |||
3 | # select HAVE_FUNCTION_TRACER: | 3 | # select HAVE_FUNCTION_TRACER: |
4 | # | 4 | # |
5 | 5 | ||
6 | config USER_STACKTRACE_SUPPORT | ||
7 | bool | ||
8 | |||
6 | config NOP_TRACER | 9 | config NOP_TRACER |
7 | bool | 10 | bool |
8 | 11 | ||