Conflicts: kernel/trace/trace_events.c
Showing the changes to scripts (1 of 5 files). Show all
Unified · Split
| @@ -159,6 +159,7 @@ my $section_regex; # Find the start of a section · 158 unmodified lines | ||
| 159 | 159 | my $function_regex; # Find the name of a function |
| 160 | 160 | # (return offset and func name) |
| 161 | 161 | my $mcount_regex; # Find the call site to mcount (return offset) |
| 162 | +my $mcount_adjust; # Address adjustment to mcount offset | |
| 162 | 163 | my $alignment; # The .align value to use for $mcount_section |
| 163 | 164 | my $section_type; # Section header plus possible alignment command |
| 164 | 165 | my $can_use_local = 0; # If we can use local function references |
| @@ -213,6 +214,7 @@ $section_regex = "Disassembly of section\\s+(\\S+):"; · 48 unmodified lines | ||
| 213 | 214 | $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:"; |
| 214 | 215 | $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$"; |
| 215 | 216 | $section_type = '@progbits'; |
| 217 | +$mcount_adjust = 0; | |
| 216 | 218 | $type = ".long"; |
| 217 | 219 | |
| 218 | 220 | if ($arch eq "x86_64") { |
| @@ -351,6 +353,9 @@ if ($arch eq "x86_64") { · 132 unmodified lines | ||
| 351 | 353 | } elsif ($arch eq "microblaze") { |
| 352 | 354 | # Microblaze calls '_mcount' instead of plain 'mcount'. |
| 353 | 355 | $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$"; |
| 356 | +} elsif ($arch eq "blackfin") { | |
| 357 | + $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s__mcount\$"; | |
| 358 | + $mcount_adjust = -4; | |
| 354 | 359 | } else { |
| 355 | 360 | die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD"; |
| 356 | 361 | } |
| @@ -511,7 +516,7 @@ while (<IN>) { · 154 unmodified lines | ||
| 511 | 516 | } |
| 512 | 517 | # is this a call site to mcount? If so, record it to print later |
| 513 | 518 | if ($text_found && /$mcount_regex/) { |
| 514 | − push(@offsets, hex $1); | |
| 519 | + push(@offsets, (hex $1) + $mcount_adjust); | |
| 515 | 520 | } |
| 516 | 521 | } |
| 517 | 522 | |