mirror of
https://github.com/golang/go
synced 2024-10-04 14:31:21 -06:00
7ad60b7283
for GOOS in darwin freebsd linux nacl netbsd openbsd plan9 solaris windows do for GOARCH in 386 amd64 amd64p32 arm do go vet done done These are all real mistakes being corrected, but none of them should be able to cause problems today due to the NOSPLIT on the functions. However, vet has also identified a few important problems. I'm sending this CL to get rid of the trivial 'go vet' results before attacking the real ones. LGTM=r R=golang-codereviews, r, bradfitz CC=golang-codereviews https://golang.org/cl/95460046
44 lines
904 B
ArmAsm
44 lines
904 B
ArmAsm
// Copyright 2013 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
#include "../../cmd/ld/textflag.h"
|
|
#include "../runtime/syscall_nacl.h"
|
|
|
|
//
|
|
// System call support for 386, Native Client
|
|
//
|
|
|
|
#define NACL_SYSCALL(code) \
|
|
MOVL $(0x10000 + ((code)<<5)), AX; CALL AX
|
|
|
|
#define NACL_SYSJMP(code) \
|
|
MOVL $(0x10000 + ((code)<<5)), AX; JMP AX
|
|
|
|
TEXT syscall·Syscall(SB),NOSPLIT,$12-28
|
|
CALL runtime·entersyscall(SB)
|
|
MOVL trap+0(FP), AX
|
|
MOVL a1+4(FP), BX
|
|
MOVL BX, 0(SP)
|
|
MOVL a2+8(FP), BX
|
|
MOVL BX, 4(SP)
|
|
MOVL a3+12(FP), BX
|
|
MOVL BX, 8(SP)
|
|
SHLL $5, AX
|
|
ADDL $0x10000, AX
|
|
CALL AX
|
|
CMPL AX, $0
|
|
JGE ok
|
|
MOVL $-1, r1+16(FP)
|
|
MOVL $-1, r2+20(FP)
|
|
NEGL AX
|
|
MOVL AX, err+24(FP)
|
|
CALL runtime·exitsyscall(SB)
|
|
RET
|
|
ok:
|
|
MOVL AX, r1+16(FP)
|
|
MOVL DX, r2+20(FP)
|
|
MOVL $0, err+24(FP)
|
|
CALL runtime·exitsyscall(SB)
|
|
RET
|