annotate vendor/golang.org/x/sys/unix/gccgo.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 // Copyright 2015 The Go Authors. All rights reserved.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2 // Use of this source code is governed by a BSD-style
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 // license that can be found in the LICENSE file.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 //go:build gccgo && !aix
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 // +build gccgo,!aix
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 package unix
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 import "syscall"
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 // We can't use the gc-syntax .s files for gccgo. On the plus side
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 // much of the functionality can be written directly in Go.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 syscall.Entersyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 syscall.Exitsyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 return r, 0
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 syscall.Entersyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 syscall.Exitsyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 return r, 0, syscall.Errno(errno)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 syscall.Entersyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 syscall.Exitsyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 return r, 0, syscall.Errno(errno)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 syscall.Entersyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
43 syscall.Exitsyscall()
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
44 return r, 0, syscall.Errno(errno)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
45 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
46
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
47 func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
48 r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
49 return r, 0
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
50 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
51
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
52 func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
53 r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
54 return r, 0, syscall.Errno(errno)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
55 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
56
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
57 func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
58 r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
59 return r, 0, syscall.Errno(errno)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
60 }