mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
baf2df8e15
commit
32fdb046ac
|
@ -86,7 +86,8 @@ static inline void set_fs(mm_segment_t fs)
|
||||||
#define __range_ok(addr, size) ({ \
|
#define __range_ok(addr, size) ({ \
|
||||||
unsigned long flag, roksum; \
|
unsigned long flag, roksum; \
|
||||||
__chk_user_ptr(addr); \
|
__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" (flag), "=&r" (roksum) \
|
||||||
: "r" (addr), "Ir" (size), "0" (current_thread_info()->addr_limit) \
|
: "r" (addr), "Ir" (size), "0" (current_thread_info()->addr_limit) \
|
||||||
: "cc"); \
|
: "cc"); \
|
||||||
|
|
Loading…
Reference in New Issue