From: Heiko Carstens Date: Tue, 13 Dec 2016 14:58:16 +0000 (+0100) Subject: s390: fix compile error with memmove_early() inline assembly X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=75a357341e7c9d3893405ea6f9d722036012dd1f;p=linux-beck.git s390: fix compile error with memmove_early() inline assembly Old gcc versions can't handle a bogus early clobber on a Q constraint: arch/s390/kernel/early.c: In function 'memmove_early.part.1': arch/s390/kernel/early.c:432:2: error: '&' constraint used with no register class Simply remove it to fix this. Reported-by: Stefan Haberland Fixes: d543a106f96d ("s390: fix initrd corruptions with gcov/kcov instrumented kernels") Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky --- diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index d038c8cea6cb..324f1c147a41 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c @@ -417,7 +417,7 @@ static __init void memmove_early(void *dst, const void *src, size_t n) " brctg %[n],0b\n" "1:\n" : [addr] "=&d" (addr), - [psw_pgm_addr] "=&Q" (S390_lowcore.program_new_psw.addr), + [psw_pgm_addr] "=Q" (S390_lowcore.program_new_psw.addr), [dst] "+&a" (dst), [src] "+&a" (src), [n] "+d" (n) : [incr] "d" (incr) : "cc", "memory");