summaryrefslogtreecommitdiffstats
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
parent9e0babf2c06c73cda2c0cd37a1653d823adb40ec (diff)
downloadlinux-19e5e2ae9c883f5651eaaeab2f258e2c4b78fda3.tar.bz2
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>
-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;
};