]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 13:46:50 +0000 (15:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 13:46:50 +0000 (15:46 +0200)
added patches:
sh-new-gcc-support.patch

queue-4.4/series
queue-4.4/sh-new-gcc-support.patch [new file with mode: 0644]

index ca01d23541da87df6214ceab36fda5eb175edb1f..0214ed48b93daf177e90a120fd0dbb97056feca1 100644 (file)
@@ -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 (file)
index 0000000..6e5b280
--- /dev/null
@@ -0,0 +1,184 @@
+From 940d4113f3306e07a1f86541489b686d1a979d54 Mon Sep 17 00:00:00 2001
+From: Yoshinori Sato <ysato@users.sourceforge.jp>
+Date: Sat, 20 Jun 2015 14:02:19 +0900
+Subject: sh: New gcc support
+
+From: Yoshinori Sato <ysato@users.sourceforge.jp>
+
+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 <ysato@users.sourceforge.jp>
+Signed-off-by: Rich Felker <dalias@libc.org>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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: