mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
ftrace: update recordmount.pl arch changes
I'm trying to keep all the arch changes in recordmcount.pl in one place. I moved your code into that area, by adding the flags to the commands that were passed in. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
6a4917e3ae
commit
d74fcd1e4e
1 changed files with 14 additions and 14 deletions
|
@ -108,20 +108,6 @@ if ($#ARGV < 6) {
|
|||
|
||||
my ($arch, $objdump, $objcopy, $cc, $ld, $nm, $rm, $mv, $inputfile) = @ARGV;
|
||||
|
||||
if ($arch eq "i386") {
|
||||
$ld = "ld -m elf_i386";
|
||||
$objdump = "objdump -M i386";
|
||||
$objcopy = "objcopy -O elf32-i386";
|
||||
$cc = "gcc -m32";
|
||||
}
|
||||
|
||||
if ($arch eq "x86_64") {
|
||||
$ld = "ld -m elf_x86_64";
|
||||
$objdump = "objdump -M x86-64";
|
||||
$objcopy = "objcopy -O elf64-x86-64";
|
||||
$cc = "gcc -m64";
|
||||
}
|
||||
|
||||
$objdump = "objdump" if ((length $objdump) == 0);
|
||||
$objcopy = "objcopy" if ((length $objcopy) == 0);
|
||||
$cc = "gcc" if ((length $cc) == 0);
|
||||
|
@ -146,11 +132,25 @@ if ($arch eq "x86_64") {
|
|||
$function_regex = "<(.*?)>:";
|
||||
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$";
|
||||
$type = ".quad";
|
||||
|
||||
# force flags for this arch
|
||||
$ld .= " -m elf_x86_64";
|
||||
$objdump .= " -M x86-64";
|
||||
$objcopy .= " -O elf64-x86-64";
|
||||
$cc .= " -m64";
|
||||
|
||||
} elsif ($arch eq "i386") {
|
||||
$section_regex = "Disassembly of section";
|
||||
$function_regex = "<(.*?)>:";
|
||||
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
|
||||
$type = ".long";
|
||||
|
||||
# force flags for this arch
|
||||
$ld .= " -m elf_i386";
|
||||
$objdump .= " -M i386";
|
||||
$objcopy .= " -O elf32-i386";
|
||||
$cc .= " -m32";
|
||||
|
||||
} else {
|
||||
die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue