[PATCH] Alpha: strncpy() fix

As it turned out after recent SCSI changes, strncpy() was broken -
it mixed up the return values from __stxncpy() in registers $24 and $27.

Thanks to Mathieu Chouquet-Stringer for tracking down the problem
and providing an excellent test case.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Ivan Kokshaysky and committed by Linus Torvalds 4d5c34ec 454ac778

+4 -4
+4 -4
arch/alpha/lib/strncpy.S
··· 43 43 44 44 .align 4 45 45 $multiword: 46 - subq $24, 1, $2 # clear the final bits in the prev word 47 - or $2, $24, $2 46 + subq $27, 1, $2 # clear the final bits in the prev word 47 + or $2, $27, $2 48 48 zapnot $1, $2, $1 49 49 subq $18, 1, $18 50 50 ··· 70 70 bne $18, 0b 71 71 72 72 1: ldq_u $1, 0($16) # clear the leading bits in the final word 73 - subq $27, 1, $2 74 - or $2, $27, $2 73 + subq $24, 1, $2 74 + or $2, $24, $2 75 75 76 76 zap $1, $2, $1 77 77 stq_u $1, 0($16)