Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits) Revert "x86, bts: reenable ptrace branch trace support" tracing: do not translate event helper macros in print format ftrace/documentation: fix typo in function grapher name tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK tracing: add protection around module events unload tracing: add trace_seq_vprint interface tracing: fix the block trace points print size tracing/events: convert block trace points to TRACE_EVENT() ring-buffer: fix ret in rb_add_time_stamp ring-buffer: pass in lockdep class key for reader_lock tracing: add annotation to what type of stack trace is recorded tracing: fix multiple use of __print_flags and __print_symbolic tracing/events: fix output format of user stack tracing/events: fix output format of kernel stack tracing/trace_stack: fix the number of entries in the header ring-buffer: discard timestamps that are at the start of the buffer ring-buffer: try to discard unneeded timestamps ring-buffer: fix bug in ring_buffer_discard_commit ftrace: do not profile functions when disabled tracing: make trace pipe recognize latency format flag ...
This commit is contained in:
@ -1828,6 +1828,25 @@ sub reset_state {
|
||||
$state = 0;
|
||||
}
|
||||
|
||||
sub tracepoint_munge($) {
|
||||
my $file = shift;
|
||||
my $tracepointname = 0;
|
||||
my $tracepointargs = 0;
|
||||
|
||||
if($prototype =~ m/TRACE_EVENT\((.*?),/) {
|
||||
$tracepointname = $1;
|
||||
}
|
||||
if($prototype =~ m/TP_PROTO\((.*?)\)/) {
|
||||
$tracepointargs = $1;
|
||||
}
|
||||
if (($tracepointname eq 0) || ($tracepointargs eq 0)) {
|
||||
print STDERR "Warning(${file}:$.): Unrecognized tracepoint format: \n".
|
||||
"$prototype\n";
|
||||
} else {
|
||||
$prototype = "static inline void trace_$tracepointname($tracepointargs)";
|
||||
}
|
||||
}
|
||||
|
||||
sub syscall_munge() {
|
||||
my $void = 0;
|
||||
|
||||
@ -1882,6 +1901,9 @@ sub process_state3_function($$) {
|
||||
if ($prototype =~ /SYSCALL_DEFINE/) {
|
||||
syscall_munge();
|
||||
}
|
||||
if ($prototype =~ /TRACE_EVENT/) {
|
||||
tracepoint_munge($file);
|
||||
}
|
||||
dump_function($prototype, $file);
|
||||
reset_state();
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
# which will also be the location of that section after final link.
|
||||
# e.g.
|
||||
#
|
||||
# .section ".text.sched"
|
||||
# .section ".sched.text", "ax"
|
||||
# .globl my_func
|
||||
# my_func:
|
||||
# [...]
|
||||
@ -39,7 +39,7 @@
|
||||
# [...]
|
||||
#
|
||||
# Both relocation offsets for the mcounts in the above example will be
|
||||
# offset from .text.sched. If we make another file called tmp.s with:
|
||||
# offset from .sched.text. If we make another file called tmp.s with:
|
||||
#
|
||||
# .section __mcount_loc
|
||||
# .quad my_func + 0x5
|
||||
@ -51,7 +51,7 @@
|
||||
# But this gets hard if my_func is not globl (a static function).
|
||||
# In such a case we have:
|
||||
#
|
||||
# .section ".text.sched"
|
||||
# .section ".sched.text", "ax"
|
||||
# my_func:
|
||||
# [...]
|
||||
# call mcount (offset: 0x5)
|
||||
|
Reference in New Issue
Block a user