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.
Unified · Split
| @@ -108,20 +108,6 @@ if ($#ARGV < 6) { · 107 unmodified lines | ||
| 108 | 108 | |
| 109 | 109 | my ($arch, $objdump, $objcopy, $cc, $ld, $nm, $rm, $mv, $inputfile) = @ARGV; |
| 110 | 110 | |
| 111 | −if ($arch eq "i386") { | |
| 112 | − $ld = "ld -m elf_i386"; | |
| 113 | − $objdump = "objdump -M i386"; | |
| 114 | − $objcopy = "objcopy -O elf32-i386"; | |
| 115 | − $cc = "gcc -m32"; | |
| 116 | −} | |
| 117 | − | |
| 118 | −if ($arch eq "x86_64") { | |
| 119 | − $ld = "ld -m elf_x86_64"; | |
| 120 | − $objdump = "objdump -M x86-64"; | |
| 121 | − $objcopy = "objcopy -O elf64-x86-64"; | |
| 122 | − $cc = "gcc -m64"; | |
| 123 | −} | |
| 124 | − | |
| 125 | 111 | $objdump = "objdump" if ((length $objdump) == 0); |
| 126 | 112 | $objcopy = "objcopy" if ((length $objcopy) == 0); |
| 127 | 113 | $cc = "gcc" if ((length $cc) == 0); |
| @@ -146,11 +132,25 @@ if ($arch eq "x86_64") { · 18 unmodified lines | ||
| 146 | 132 | $function_regex = "<(.*?)>:"; |
| 147 | 133 | $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$"; |
| 148 | 134 | $type = ".quad"; |
| 135 | + | |
| 136 | + # force flags for this arch | |
| 137 | + $ld .= " -m elf_x86_64"; | |
| 138 | + $objdump .= " -M x86-64"; | |
| 139 | + $objcopy .= " -O elf64-x86-64"; | |
| 140 | + $cc .= " -m64"; | |
| 141 | + | |
| 149 | 142 | } elsif ($arch eq "i386") { |
| 150 | 143 | $section_regex = "Disassembly of section"; |
| 151 | 144 | $function_regex = "<(.*?)>:"; |
| 152 | 145 | $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$"; |
| 153 | 146 | $type = ".long"; |
| 147 | + | |
| 148 | + # force flags for this arch | |
| 149 | + $ld .= " -m elf_i386"; | |
| 150 | + $objdump .= " -M i386"; | |
| 151 | + $objcopy .= " -O elf32-i386"; | |
| 152 | + $cc .= " -m32"; | |
| 153 | + | |
| 154 | 154 | } else { |
| 155 | 155 | die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD"; |
| 156 | 156 | } |