sparc64: Don't clibber fixed registers in __multi4.
authorDavid S. Miller <davem@davemloft.net>
Wed, 16 Aug 2017 04:32:19 +0000 (21:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Aug 2017 17:59:54 +0000 (10:59 -0700)
commit79db795833bf5c3e798bcd7a5aeeee3fb0505927
tree0717930d26aead122e5405df8c3c15d4347a3ee0
parent9157259d16a8ee8116a98d32f29b797689327e8d
sparc64: Don't clibber fixed registers in __multi4.

%g4 and %g5 are fixed registers used by the kernel for the thread
pointer and the per-cpu offset.  Use %o4 and %g7 instead.

Diagnosis by Anthony Yznaga.

Fixes: 1b4af13ff2cc ("sparc64: Add __multi3 for gcc 7.x and later.")
Reported-by: Anatoly Pugachev <matorola@gmail.com>
Tested-by: Anatoly Pugachev <matorola@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/lib/multi3.S