summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2019-01-24 21:42:54 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2019-02-01 21:44:14 +0000
commit32fdb046ac43aa884d960165072ca37b26d78543 (patch)
treef60995d72810c55af8ba45034444da9d1f639da4
parentbaf2df8e15be22b8bd24bdd6fd4575b6641bcfd1 (diff)
downloadlinux-stable-32fdb046ac43aa884d960165072ca37b26d78543.tar.gz
linux-stable-32fdb046ac43aa884d960165072ca37b26d78543.tar.bz2
linux-stable-32fdb046ac43aa884d960165072ca37b26d78543.zip
ARM: 8828/1: uaccess: use unified assembler language syntax
Convert the conditional infix to a postfix to make sure this inline assembly is unified syntax. Since gcc assumes non-unified syntax when emitting ARM instructions, make sure to define the syntax as unified. This allows to use LLVM's integrated assembler. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-rw-r--r--arch/arm/include/asm/uaccess.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index 42aa4a22803c..89a28680934b 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -86,7 +86,8 @@ static inline void set_fs(mm_segment_t fs)
#define __range_ok(addr, size) ({ \
unsigned long flag, roksum; \
__chk_user_ptr(addr); \
- __asm__("adds %1, %2, %3; sbcccs %1, %1, %0; movcc %0, #0" \
+ __asm__(".syntax unified\n" \
+ "adds %1, %2, %3; sbcscc %1, %1, %0; movcc %0, #0" \
: "=&r" (flag), "=&r" (roksum) \
: "r" (addr), "Ir" (size), "0" (current_thread_info()->addr_limit) \
: "cc"); \