History

scripts/recordmcount.pl: support big endian for ARCH sh

The kernel test robot reported the following issue: CC [M] drivers/soc/litex/litex_soc_ctrl.o sh4-linux-objcopy: Unable to change endianness of input file(s) sh4-linux-ld: cannot find drivers/soc/litex/.tmp_gl_litex_soc_ctrl.o: No such file or directory sh4-linux-objcopy: 'drivers/soc/litex/.tmp_mx_litex_soc_ctrl.o': No such file The problem is that the format of input file is elf32-shbig-linux, but sh4-linux-objcopy wants to output a file which format is elf32-sh-linux: $ sh4-linux-objdump -d drivers/soc/litex/litex_soc_ctrl.o | grep format drivers/soc/litex/litex_soc_ctrl.o: file format elf32-shbig-linux

Rong Chen committed 5 years ago

Commit 93ca6961 parent 3c62cfd1 file · +5 −1Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/recordmcount.pl+5−1
@@ -265,7 +265,11 @@ if ($arch eq "x86_64") { · 264 unmodified lines
265 265
266 # force flags for this arch266 # force flags for this arch
267 $ld .= " -m shlelf_linux";267 $ld .= " -m shlelf_linux";
268 $objcopy .= " -O elf32-sh-linux";268 if ($endian eq "big") {
269 $objcopy .= " -O elf32-shbig-linux";
270 } else {
271 $objcopy .= " -O elf32-sh-linux";
272 }
269 273
270} elsif ($arch eq "powerpc") {274} elsif ($arch eq "powerpc") {
271 my $ldemulation;275 my $ldemulation;