aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2009-03-06 11:21:48 -0500
committerIngo Molnar <mingo@elte.hu>2009-03-06 11:59:11 -0500
commit1ba28e02a18cbdbea123836f6c98efb09cbf59ec (patch)
tree41df06a06c702152902ffd7250f284a6efe9b0da /include/asm-generic
parent1427cdf0592368bdec57276edaf714040ee8744f (diff)
tracing: add trace_bprintk()
Impact: add a generic printk() for tracing, like trace_printk() trace_bprintk() uses the infrastructure to record events on ring_buffer. [ fweisbec@gmail.com: ported to latest -tip, made it work if !CONFIG_MODULES, never free the format strings from modules because we can't keep track of them and conditionnaly create the ftrace format strings section (reported by Steven Rostedt) ] Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> LKML-Reference: <1236356510-8381-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/vmlinux.lds.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 0add6b28c366..48ade3168b13 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -69,6 +69,14 @@
69#define FTRACE_EVENTS() 69#define FTRACE_EVENTS()
70#endif 70#endif
71 71
72#ifdef CONFIG_TRACING
73#define TRACE_PRINTKS() VMLINUX_SYMBOL(__start___trace_bprintk_fmt) = .; \
74 *(__trace_printk_fmt) /* Trace_printk fmt' pointer */ \
75 VMLINUX_SYMBOL(__stop___trace_bprintk_fmt) = .;
76#else
77#define TRACE_PRINTKS()
78#endif
79
72/* .data section */ 80/* .data section */
73#define DATA_DATA \ 81#define DATA_DATA \
74 *(.data) \ 82 *(.data) \
@@ -100,6 +108,7 @@
100 *(__vermagic) /* Kernel version magic */ \ 108 *(__vermagic) /* Kernel version magic */ \
101 *(__markers_strings) /* Markers: strings */ \ 109 *(__markers_strings) /* Markers: strings */ \
102 *(__tracepoints_strings)/* Tracepoints: strings */ \ 110 *(__tracepoints_strings)/* Tracepoints: strings */ \
111 TRACE_PRINTKS() \
103 } \ 112 } \
104 \ 113 \
105 .rodata1 : AT(ADDR(.rodata1) - LOAD_OFFSET) { \ 114 .rodata1 : AT(ADDR(.rodata1) - LOAD_OFFSET) { \