summary refs log tree commit diff
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2016-12-13 15:58:16 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-12-14 16:33:40 +0100
commit75a357341e7c9d3893405ea6f9d722036012dd1f (patch)
treee9848f0c16b39ba9769c2a3b8104e83fb2cab4f1 /arch/s390
parent13b251bdc8b97c45cc8b1d57193ab05ec0fe97e8 (diff)
downloadlinux-75a357341e7c9d3893405ea6f9d722036012dd1f.tar.gz
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 <sth@linux.vnet.ibm.com>
Fixes: d543a106f96d ("s390: fix initrd corruptions with gcov/kcov instrumented kernels")
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/early.c2
1 files changed, 1 insertions, 1 deletions
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");