mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 01:21:58 +00:00
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
Conflicts: kernel/trace/trace_events.c Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
commit
d244b6bd41
5 changed files with 175 additions and 75 deletions
|
@ -159,6 +159,7 @@ my $section_regex; # Find the start of a section
|
|||
my $function_regex; # Find the name of a function
|
||||
# (return offset and func name)
|
||||
my $mcount_regex; # Find the call site to mcount (return offset)
|
||||
my $mcount_adjust; # Address adjustment to mcount offset
|
||||
my $alignment; # The .align value to use for $mcount_section
|
||||
my $section_type; # Section header plus possible alignment command
|
||||
my $can_use_local = 0; # If we can use local function references
|
||||
|
@ -213,6 +214,7 @@ $section_regex = "Disassembly of section\\s+(\\S+):";
|
|||
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
|
||||
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
|
||||
$section_type = '@progbits';
|
||||
$mcount_adjust = 0;
|
||||
$type = ".long";
|
||||
|
||||
if ($arch eq "x86_64") {
|
||||
|
@ -351,6 +353,9 @@ if ($arch eq "x86_64") {
|
|||
} elsif ($arch eq "microblaze") {
|
||||
# Microblaze calls '_mcount' instead of plain 'mcount'.
|
||||
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";
|
||||
} elsif ($arch eq "blackfin") {
|
||||
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s__mcount\$";
|
||||
$mcount_adjust = -4;
|
||||
} else {
|
||||
die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD";
|
||||
}
|
||||
|
@ -511,7 +516,7 @@ while (<IN>) {
|
|||
}
|
||||
# is this a call site to mcount? If so, record it to print later
|
||||
if ($text_found && /$mcount_regex/) {
|
||||
push(@offsets, hex $1);
|
||||
push(@offsets, (hex $1) + $mcount_adjust);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue