1 // Copyright 2015 The Go Authors. All rights reserved. |
1 // Copyright 2015 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style |
2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. |
3 // license that can be found in the LICENSE file. |
4 |
4 |
5 // +build gccgo |
5 //go:build gccgo && !aix |
6 // +build !aix |
6 // +build gccgo,!aix |
7 |
7 |
8 package unix |
8 package unix |
9 |
9 |
10 import "syscall" |
10 import "syscall" |
11 |
11 |
12 // We can't use the gc-syntax .s files for gccgo. On the plus side |
12 // We can't use the gc-syntax .s files for gccgo. On the plus side |
13 // much of the functionality can be written directly in Go. |
13 // much of the functionality can be written directly in Go. |
14 |
14 |
15 //extern gccgoRealSyscallNoError |
|
16 func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) |
15 func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) |
17 |
16 |
18 //extern gccgoRealSyscall |
|
19 func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) |
17 func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) |
20 |
18 |
21 func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { |
19 func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { |
22 syscall.Entersyscall() |
20 syscall.Entersyscall() |
23 r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) |
21 r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) |