linux/arch/sparc/lib
David S. Miller 79db795833 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: 1b4af13ff2 ("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>
2017-08-16 10:59:54 -07:00
..
ashldi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
ashrdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
atomic32.c locking/atomic, arch/sparc: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:30 +02:00
atomic_64.S sed regex in Makefile.build requires line break between exported symbols 2017-06-19 11:13:05 -07:00
bitext.c sparc/srmmu: clear trailing edge of bitmap properly 2013-03-31 19:29:12 -04:00
bitops.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
blockops.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
bzero.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
checksum_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
checksum_64.S Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
clear_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
cmpdi2.c [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. 2007-08-26 18:49:09 -07:00
copy_in_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
copy_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
copy_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
COPYING.LIB
csum_copy_from_user.S sparc64: Fix section attribute warnings. 2009-05-29 16:12:02 -07:00
csum_copy_to_user.S sparc64: Fix section attribute warnings. 2009-05-29 16:12:02 -07:00
csum_copy.S Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
divdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
ffs.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
GENbzero.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-09 12:16:25 -07:00
GENcopy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
GENcopy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
GENmemcpy.S sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
GENpage.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
GENpatch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
hweight.S sparc64: Use indirect calls in hamming weight stubs 2017-06-30 08:59:55 +09:00
iomap.c sparc: switch to GENERIC_PCI_IOMAP 2011-12-04 15:59:49 +02:00
ipcsum.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
libgcc.h [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. 2007-08-26 18:49:09 -07:00
locks.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
lshrdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
Makefile sparc64: Add __multi3 for gcc 7.x and later. 2017-06-05 11:30:33 -07:00
mcount.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memcmp.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memcpy.S sparc32: debride memcpy.S a bit 2016-08-07 23:55:49 -04:00
memmove.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memscan_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memscan_64.S Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
memset.S Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
muldi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
multi3.S sparc64: Don't clibber fixed registers in __multi4. 2017-08-16 10:59:54 -07:00
NG2copy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG2copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG2memcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG2patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4clear_page.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NG4copy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4copy_page.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NG4copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4memcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG4memset.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG4patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGbzero.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-09 12:16:25 -07:00
NGcopy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGcopy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGmemcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NGpage.S sparc64: Add SPARC-T4 optimized memcpy. 2012-09-27 00:35:11 -07:00
NGpatch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
PeeCeeI.c sparc64: update IO access functions in PeeCeeI 2014-07-21 21:43:18 -07:00
strlen.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
strncmp_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
strncmp_64.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
U1copy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
U1copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
U1memcpy.S sparc64: Convert U1copy_{from,to}_user to accurate exception reporting. 2016-10-24 11:32:12 -07:00
U3copy_from_user.S sparc64: Convert U3copy_{from,to}_user to accurate exception reporting. 2016-10-24 21:20:35 -07:00
U3copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
U3memcpy.S sparc64: Fix exception handling in UltraSPARC-III memcpy. 2017-08-04 09:47:52 -07:00
U3patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
ucmpdi2.c sparc32: add ucmpdi2 2012-05-19 15:23:57 -07:00
udivdi3.S sparc32: Kill off software 32-bit multiply/divide routines. 2012-05-15 11:23:47 -07:00
VISsave.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
xor.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00