summary refs log tree commit diff
path: root/arch/csky
diff options
context:
space:
mode:
authorGuo Ren <ren_guo@c-sky.com>2019-06-26 11:27:03 +0800
committerGuo Ren <ren_guo@c-sky.com>2019-06-26 13:45:48 +0800
commit19e5e2ae9c883f5651eaaeab2f258e2c4b78fda3 (patch)
treea04e7222c6a85f5f25a0eb71e6333d62d294c9e3 /arch/csky
parent9e0babf2c06c73cda2c0cd37a1653d823adb40ec (diff)
downloadlinux-19e5e2ae9c883f5651eaaeab2f258e2c4b78fda3.tar.gz
csky: Fixup libgcc unwind error
The struct rt_sigframe is also defined in libgcc/config/csky/linux-unwind.h
of gcc. Although there is no use for the first three word space, we must
keep them the same with linux-unwind.h for member position.

The BUG is found in glibc test with the tst-cancel02.
The BUG is from commit:bf2416829362 of linux-5.2-rc1 merge window.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Signed-off-by: Mao Han <han_mao@c-sky.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/csky')
-rw-r--r--arch/csky/kernel/signal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/csky/kernel/signal.c b/arch/csky/kernel/signal.c
index 04a43cfd4e09..d47a3381aad8 100644
--- a/arch/csky/kernel/signal.c
+++ b/arch/csky/kernel/signal.c
@@ -39,6 +39,11 @@ static int save_fpu_state(struct sigcontext __user *sc)
 #endif
 
 struct rt_sigframe {
+	/*
+	 * pad[3] is compatible with the same struct defined in
+	 * gcc/libgcc/config/csky/linux-unwind.h
+	 */
+	int pad[3];
 	struct siginfo info;
 	struct ucontext uc;
 };