From 415c93d033eee5ee887a50a4a0df0db30654498f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 30 May 2018 15:46:50 +0200 Subject: [PATCH] 4.4-stable patches added patches: sh-new-gcc-support.patch --- queue-4.4/series | 1 + queue-4.4/sh-new-gcc-support.patch | 184 +++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 queue-4.4/sh-new-gcc-support.patch diff --git a/queue-4.4/series b/queue-4.4/series index ca01d23541d..0214ed48b93 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -1,3 +1,4 @@ arm64-lse-add-early-clobbers-to-some-input-output-asm-operands.patch powerpc-64s-clear-pcr-on-boot.patch usb-serial-cp210x-use-tcflag_t-to-fix-incompatible-pointer-type.patch +sh-new-gcc-support.patch diff --git a/queue-4.4/sh-new-gcc-support.patch b/queue-4.4/sh-new-gcc-support.patch new file mode 100644 index 00000000000..6e5b280aac4 --- /dev/null +++ b/queue-4.4/sh-new-gcc-support.patch @@ -0,0 +1,184 @@ +From 940d4113f3306e07a1f86541489b686d1a979d54 Mon Sep 17 00:00:00 2001 +From: Yoshinori Sato +Date: Sat, 20 Jun 2015 14:02:19 +0900 +Subject: sh: New gcc support + +From: Yoshinori Sato + +commit 940d4113f3306e07a1f86541489b686d1a979d54 upstream. + +New gcc (4.8 or later) used new shift helper functions. +So we need added new helper to private libgcc. + +Signed-off-by: Yoshinori Sato +Signed-off-by: Rich Felker +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + arch/sh/kernel/sh_ksyms_32.c | 3 +++ + arch/sh/lib/ashlsi3.S | 35 ++++++++++++++++++++++++++--------- + arch/sh/lib/ashrsi3.S | 33 ++++++++++++++++++++++++--------- + arch/sh/lib/lshrsi3.S | 34 +++++++++++++++++++++++++--------- + 4 files changed, 78 insertions(+), 27 deletions(-) + +--- a/arch/sh/kernel/sh_ksyms_32.c ++++ b/arch/sh/kernel/sh_ksyms_32.c +@@ -34,6 +34,9 @@ DECLARE_EXPORT(__sdivsi3); + DECLARE_EXPORT(__lshrsi3); + DECLARE_EXPORT(__ashrsi3); + DECLARE_EXPORT(__ashlsi3); ++DECLARE_EXPORT(__lshrsi3_r0); ++DECLARE_EXPORT(__ashrsi3_r0); ++DECLARE_EXPORT(__ashlsi3_r0); + DECLARE_EXPORT(__ashiftrt_r4_6); + DECLARE_EXPORT(__ashiftrt_r4_7); + DECLARE_EXPORT(__ashiftrt_r4_8); +--- a/arch/sh/lib/ashlsi3.S ++++ b/arch/sh/lib/ashlsi3.S +@@ -54,21 +54,38 @@ Boston, MA 02110-1301, USA. */ + ! + ! (none) + ! ++! __ashlsi3_r0 ++! ++! Entry: ++! ++! r4: Value to shift ++! r0: Shifts ++! ++! Exit: ++! ++! r0: Result ++! ++! Destroys: ++! ++! (none) ++ ++ + .global __ashlsi3 ++ .global __ashlsi3_r0 + + .align 2 + __ashlsi3: +- mov #31,r0 +- and r0,r5 ++ mov r5,r0 ++ .align 2 ++__ashlsi3_r0: ++ and #31,r0 ++ mov.l r4,@-r15 ++ mov r0,r4 + mova ashlsi3_table,r0 +- mov.b @(r0,r5),r5 +-#ifdef __sh1__ +- add r5,r0 ++ mov.b @(r0,r4),r4 ++ add r4,r0 + jmp @r0 +-#else +- braf r5 +-#endif +- mov r4,r0 ++ mov.l @r15+,r0 + + .align 2 + ashlsi3_table: +--- a/arch/sh/lib/ashrsi3.S ++++ b/arch/sh/lib/ashrsi3.S +@@ -54,22 +54,37 @@ Boston, MA 02110-1301, USA. */ + ! + ! (none) + ! ++! __ashrsi3_r0 ++! ++! Entry: ++! ++! r4: Value to shift ++! r0: Shifts ++! ++! Exit: ++! ++! r0: Result ++! ++! Destroys: ++! ++! (none) + + .global __ashrsi3 ++ .global __ashrsi3_r0 + + .align 2 + __ashrsi3: +- mov #31,r0 +- and r0,r5 ++ mov r5,r0 ++ .align 2 ++__ashrsi3_r0: ++ and #31,r0 ++ mov.l r4,@-r15 ++ mov r0,r4 + mova ashrsi3_table,r0 +- mov.b @(r0,r5),r5 +-#ifdef __sh1__ +- add r5,r0 ++ mov.b @(r0,r4),r4 ++ add r4,r0 + jmp @r0 +-#else +- braf r5 +-#endif +- mov r4,r0 ++ mov.l @r15+,r0 + + .align 2 + ashrsi3_table: +--- a/arch/sh/lib/lshrsi3.S ++++ b/arch/sh/lib/lshrsi3.S +@@ -54,21 +54,37 @@ Boston, MA 02110-1301, USA. */ + ! + ! (none) + ! ++! __lshrsi3_r0 ++! ++! Entry: ++! ++! r0: Value to shift ++! r5: Shifts ++! ++! Exit: ++! ++! r0: Result ++! ++! Destroys: ++! ++! (none) ++! + .global __lshrsi3 ++ .global __lshrsi3_r0 + + .align 2 + __lshrsi3: +- mov #31,r0 +- and r0,r5 ++ mov r5,r0 ++ .align 2 ++__lshrsi3_r0: ++ and #31,r0 ++ mov.l r4,@-r15 ++ mov r0,r4 + mova lshrsi3_table,r0 +- mov.b @(r0,r5),r5 +-#ifdef __sh1__ +- add r5,r0 ++ mov.b @(r0,r4),r4 ++ add r4,r0 + jmp @r0 +-#else +- braf r5 +-#endif +- mov r4,r0 ++ mov.l @r15+,r0 + + .align 2 + lshrsi3_table: -- 2.47.3