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
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -265,7 +265,11 @@ if ($arch eq "x86_64") { · 264 unmodified lines | ||
| 265 | 265 | |
| 266 | 266 | # force flags for this arch |
| 267 | 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 | 274 | } elsif ($arch eq "powerpc") { |
| 271 | 275 | my $ldemulation; |