mirror of
https://github.com/golang/go
synced 2024-11-23 02:00:03 -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:
parent
2a36f78e87
commit
14ff7cc94c
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user