diff options
Diffstat (limited to 'scripts/recordmcount.pl')
| -rwxr-xr-x | scripts/recordmcount.pl | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl index a674fd5507c..397b6b84e8c 100755 --- a/scripts/recordmcount.pl +++ b/scripts/recordmcount.pl @@ -214,13 +214,13 @@ $local_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\S+)";  $weak_regex = "^[0-9a-fA-F]+\\s+([wW])\\s+(\\S+)";  $section_regex = "Disassembly of section\\s+(\\S+):";  $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:"; -$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$"; +$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s(mcount|__fentry__)\$";  $section_type = '@progbits';  $mcount_adjust = 0;  $type = ".long";  if ($arch eq "x86_64") { -    $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$"; +    $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s(mcount|__fentry__)([+-]0x[0-9a-zA-Z]+)?\$";      $type = ".quad";      $alignment = 8;      $mcount_adjust = -1; @@ -279,6 +279,11 @@ if ($arch eq "x86_64") {      $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_ARM_(CALL|PC24|THM_CALL)" .  			"\\s+(__gnu_mcount_nc|mcount)\$"; +} elsif ($arch eq "arm64") { +    $alignment = 3; +    $section_type = '%progbits'; +    $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_AARCH64_CALL26\\s+_mcount\$"; +    $type = ".quad";  } elsif ($arch eq "ia64") {      $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";      $type = "data8"; @@ -364,7 +369,8 @@ if ($arch eq "x86_64") {  } elsif ($arch eq "blackfin") {      $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s__mcount\$";      $mcount_adjust = -4; -} elsif ($arch eq "tilegx") { +} elsif ($arch eq "tilegx" || $arch eq "tile") { +    # Default to the newer TILE-Gx architecture if only "tile" is given.      $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s__mcount\$";      $type = ".quad";      $alignment = 8;  | 
