openwrt/target/linux/arc770/patches-4.4/900-revert-unaligned-access-delay-corner-case.patch
Jo-Philipp Wich 42f3c1fe1c arc770: fix broken upstream change
Add a patch to revert upstream commit 9aed02feae57bf7a40cb04ea0e3017cb7a998db4
which introduces syntax errors.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-07 09:32:47 +01:00

32 lines
1.0 KiB
Diff

From: Jo-Philipp Wich <jo@mein.io>
Date: Tue, 7 Feb 2017 09:26:00 +0100
Subject: [PATCH] arc: revert broken upstream change
The upstream commit
"9aed02f ARC: [arcompact] handle unaligned access delay slot corner case"
introduced a syntax error in arch/arc/kernel/unaligned.c, leading to the
following build failure:
arch/arc/kernel/unaligned.c: In function 'misaligned_fixup':
arch/arc/kernel/unaligned.c:246:25: error: expected ';' before '~' token
regs->ret = regs->bta ~1U;
^
make[6]: *** [arch/arc/kernel/unaligned.o] Error 1
This patch reverts the offending change until an upstream fix is available.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
--- a/arch/arc/kernel/unaligned.c
+++ b/arch/arc/kernel/unaligned.c
@@ -241,9 +241,8 @@ int misaligned_fixup(unsigned long addre
if (state.fault)
goto fault;
- /* clear any remanants of delay slot */
if (delay_mode(regs)) {
- regs->ret = regs->bta ~1U;
+ regs->ret = regs->bta;
regs->status32 &= ~STATUS_DE_MASK;
} else {
regs->ret += state.instr_len;