Re: [PATCH] powerpc/uaccess: Don't use "m<>" constraint
On Thu, 2020-05-07 at 12:33:24 UTC, Michael Ellerman wrote: > The "m<>" constraint breaks compilation with GCC 4.6.x era compilers. > > The use of the constraint allows the compiler to use update-form > instructions, however in practice current compilers never generate > those forms for any of the current uses of __put_user_asm_goto(). > > We anticipate that GCC 4.6 will be declared unsupported for building > the kernel in the not too distant future. So for now just switch to > the "m" constraint. > > Fixes: 334710b1496a ("powerpc/uaccess: Implement unsafe_put_user() using 'asm > goto'") > Signed-off-by: Michael Ellerman Applied to powerpc topic/uaccess-ppc. https://git.kernel.org/powerpc/c/e2a8b49e79553bd8ec48f73cead84e6146c09408 cheers
Re: [PATCH] powerpc/uaccess: Don't use "m<>" constraint
On Thu, May 07, 2020 at 10:33:24PM +1000, Michael Ellerman wrote: > The "m<>" constraint breaks compilation with GCC 4.6.x era compilers. > > The use of the constraint allows the compiler to use update-form > instructions, however in practice current compilers never generate > those forms for any of the current uses of __put_user_asm_goto(). > > We anticipate that GCC 4.6 will be declared unsupported for building > the kernel in the not too distant future. So for now just switch to > the "m" constraint. > > Fixes: 334710b1496a ("powerpc/uaccess: Implement unsafe_put_user() using 'asm > goto'") > Signed-off-by: Michael Ellerman Acked-by: Segher Boessenkool Thanks! So much trouble for what looked like such a simple change, all those years ago :-( Segher
[PATCH] powerpc/uaccess: Don't use "m<>" constraint
The "m<>" constraint breaks compilation with GCC 4.6.x era compilers. The use of the constraint allows the compiler to use update-form instructions, however in practice current compilers never generate those forms for any of the current uses of __put_user_asm_goto(). We anticipate that GCC 4.6 will be declared unsupported for building the kernel in the not too distant future. So for now just switch to the "m" constraint. Fixes: 334710b1496a ("powerpc/uaccess: Implement unsafe_put_user() using 'asm goto'") Signed-off-by: Michael Ellerman --- arch/powerpc/include/asm/uaccess.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h index 62cc8d7640ec..164112007f54 100644 --- a/arch/powerpc/include/asm/uaccess.h +++ b/arch/powerpc/include/asm/uaccess.h @@ -210,7 +210,7 @@ do { \ "1: " op "%U1%X1 %0,%1 # put_user\n" \ EX_TABLE(1b, %l2) \ : \ - : "r" (x), "m<>" (*addr)\ + : "r" (x), "m" (*addr) \ : \ : label) -- 2.25.1