On Thu, 22 Oct 2020 09:29:19 +0000 (UTC), Christophe Leroy wrote: > GCC 4.9 sometimes fails to build with "m<>" constraint in > inline assembly. > > CC lib/iov_iter.o > In file included from ./arch/powerpc/include/asm/cmpxchg.h:6:0, > from ./arch/powerpc/include/asm/atomic.h:11, > from ./include/linux/atomic.h:7, > from ./include/linux/crypto.h:15, > from ./include/crypto/hash.h:11, > from lib/iov_iter.c:2: > lib/iov_iter.c: In function 'iovec_from_user.part.30': > ./arch/powerpc/include/asm/uaccess.h:287:2: error: 'asm' operand has > impossible constraints > __asm__ __volatile__( \ > ^ > ./include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' > # define unlikely(x) __builtin_expect(!!(x), 0) > ^ > ./arch/powerpc/include/asm/uaccess.h:583:34: note: in expansion of macro > 'unsafe_op_wrap' > #define unsafe_get_user(x, p, e) unsafe_op_wrap(__get_user_allowed(x, p), e) > ^ > ./arch/powerpc/include/asm/uaccess.h:329:10: note: in expansion of macro > '__get_user_asm' > case 4: __get_user_asm(x, (u32 __user *)ptr, retval, "lwz"); break; \ > ^ > ./arch/powerpc/include/asm/uaccess.h:363:3: note: in expansion of macro > '__get_user_size_allowed' > __get_user_size_allowed(__gu_val, __gu_addr, __gu_size, __gu_err); \ > ^ > ./arch/powerpc/include/asm/uaccess.h:100:2: note: in expansion of macro > '__get_user_nocheck' > __get_user_nocheck((x), (ptr), sizeof(*(ptr)), false) > ^ > ./arch/powerpc/include/asm/uaccess.h:583:49: note: in expansion of macro > '__get_user_allowed' > #define unsafe_get_user(x, p, e) unsafe_op_wrap(__get_user_allowed(x, p), e) > ^ > lib/iov_iter.c:1663:3: note: in expansion of macro 'unsafe_get_user' > unsafe_get_user(len, &uiov[i].iov_len, uaccess_end); > ^ > make[1]: *** [scripts/Makefile.build:283: lib/iov_iter.o] Error 1 > > [...]
Patches 2-3 applied to powerpc/next. [2/3] powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at https://git.kernel.org/powerpc/c/d85be8a49e733dcd23674aa6202870d54bf5600d [3/3] powerpc: Fix update form addressing in inline assembly https://git.kernel.org/powerpc/c/ff57698a9610fcf7d9c4469bf68c881eff22e2f8 cheers