Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bcb63b2 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Fix put_user macro for 64bits arguments



For 64bits arguments gcc caused that put_user macro
works with wrong value because of optimalization.
Adding volatile caused that gcc not optimized it.

It is possible to use (as Blackfin do) two put_user
macros with 32bits arguments but there is one more
instruction which is due to duplication zero return
value which is called put_user_asm macro.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent ea3fd146
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ extern long strnlen_user(const char *src, long count);

#define __put_user(x, ptr)						\
({									\
	__typeof__(*(ptr)) __gu_val = x;				\
	__typeof__(*(ptr)) volatile __gu_val = (x);			\
	long __gu_err = 0;						\
	switch (sizeof(__gu_val)) {					\
	case 1:								\