1
0
mirror of https://github.com/golang/go synced 2024-11-23 05:30:07 -07:00

runtime/cgo: fix callback on big-endian MIPS64

Use MOVW, instead of MOVV, to pass an int32 arg. Also no need to
restore arg registers.

Fix big-endian MIPS64 build.

Change-Id: Ib43c71075c988153e5e5c5c6e7297b3fee28652a
Reviewed-on: https://go-review.googlesource.com/28830
Reviewed-by: Minux Ma <minux@golang.org>
This commit is contained in:
Cherry Zhang 2016-09-08 08:33:19 -04:00
parent 2a36f78e87
commit 14ff7cc94c

View File

@ -18,9 +18,9 @@ TEXT crosscall2(SB),NOSPLIT,$-8
* first arg.
*/
ADDV $(-8*23), R29
MOVV R5, (8*1)(R29)
MOVV R6, (8*2)(R29)
MOVV R7, (8*3)(R29)
MOVV R5, (8*1)(R29) // void*
MOVW R6, (8*2)(R29) // int32
MOVV R7, (8*3)(R29) // uintptr
MOVV R16, (8*4)(R29)
MOVV R17, (8*5)(R29)
MOVV R18, (8*6)(R29)
@ -49,9 +49,6 @@ TEXT crosscall2(SB),NOSPLIT,$-8
JAL runtime·load_g(SB)
JAL (R4)
MOVV (8*1)(R29), R5
MOVV (8*2)(R29), R6
MOVV (8*3)(R29), R7
MOVV (8*4)(R29), R16
MOVV (8*5)(R29), R17
MOVV (8*6)(R29), R18