--- /dev/null
+From f4d8763def1d09db11a4286ad27f5d92d88ee855 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 12 Feb 2021 20:52:41 -0800
+Subject: scripts/recordmcount.pl: support big endian for ARCH sh
+
+From: Rong Chen <rong.a.chen@intel.com>
+
+[ Upstream commit 93ca696376dd3d44b9e5eae835ffbc84772023ec ]
+
+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
+
+Link: https://lkml.kernel.org/r/20210210150435.2171567-1-rong.a.chen@intel.com
+Link: https://lore.kernel.org/linux-mm/202101261118.GbbYSlHu-lkp@intel.com
+Signed-off-by: Rong Chen <rong.a.chen@intel.com>
+Reported-by: kernel test robot <lkp@intel.com>
+Cc: Yoshinori Sato <ysato@users.osdn.me>
+Cc: Rich Felker <dalias@libc.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ scripts/recordmcount.pl | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
+index 96e2486a6fc47..ccd6614ea2182 100755
+--- a/scripts/recordmcount.pl
++++ b/scripts/recordmcount.pl
+@@ -259,7 +259,11 @@ if ($arch eq "x86_64") {
+
+ # force flags for this arch
+ $ld .= " -m shlelf_linux";
+- $objcopy .= " -O elf32-sh-linux";
++ if ($endian eq "big") {
++ $objcopy .= " -O elf32-shbig-linux";
++ } else {
++ $objcopy .= " -O elf32-sh-linux";
++ }
+
+ } elsif ($arch eq "powerpc") {
+ $local_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\.?\\S+)";
+--
+2.27.0
+