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

Commit 75a35734 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

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: default avatarStefan Haberland <sth@linux.vnet.ibm.com>
Fixes: d543a106 ("s390: fix initrd corruptions with gcov/kcov instrumented kernels")
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 13b251bd
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -417,7 +417,7 @@ static __init void memmove_early(void *dst, const void *src, size_t n)
		"	brctg	%[n],0b\n"
		"	brctg	%[n],0b\n"
		"1:\n"
		"1:\n"
		: [addr] "=&d" (addr),
		: [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)
		  [dst] "+&a" (dst), [src] "+&a" (src),  [n] "+d" (n)
		: [incr] "d" (incr)
		: [incr] "d" (incr)
		: "cc", "memory");
		: "cc", "memory");