1
2
3
4
5 package main
6
7 import (
8 _ "runtime/testdata/testsyscall/testsyscallc"
9 _ "unsafe"
10 )
11
12
13 func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2, err uintptr)
14
15
16 func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
17
18
19 func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2, err uintptr)
20
21 var (
22 syscall_check0_trampoline_addr uintptr
23 syscall_check1_trampoline_addr uintptr
24 syscall_check2_trampoline_addr uintptr
25 syscall_check3_trampoline_addr uintptr
26 syscall_check4_trampoline_addr uintptr
27 syscall_check5_trampoline_addr uintptr
28 syscall_check6_trampoline_addr uintptr
29 syscall_check7_trampoline_addr uintptr
30 syscall_check8_trampoline_addr uintptr
31 syscall_check9_trampoline_addr uintptr
32 )
33
34 func main() {
35 if ret, _, _ := syscall_syscall(syscall_check0_trampoline_addr, 0, 0, 0); ret != 1 {
36 panic("hello0")
37 }
38 if ret, _, _ := syscall_syscall(syscall_check1_trampoline_addr, 1, 0, 0); ret != 1 {
39 panic("hello1")
40 }
41 if ret, _, _ := syscall_syscall(syscall_check2_trampoline_addr, 1, 2, 0); ret != 1 {
42 panic("hello2")
43 }
44 if ret, _, _ := syscall_syscall(syscall_check3_trampoline_addr, 1, 2, 3); ret != 1 {
45 panic("hello3")
46 }
47 if ret, _, _ := syscall_syscall6(syscall_check4_trampoline_addr, 1, 2, 3, 4, 0, 0); ret != 1 {
48 panic("hello4")
49 }
50 if ret, _, _ := syscall_syscall6(syscall_check5_trampoline_addr, 1, 2, 3, 4, 5, 0); ret != 1 {
51 panic("hello5")
52 }
53 if ret, _, _ := syscall_syscall6(syscall_check6_trampoline_addr, 1, 2, 3, 4, 5, 6); ret != 1 {
54 panic("hello6")
55 }
56 if ret, _, _ := syscall_syscall9(syscall_check7_trampoline_addr, 1, 2, 3, 4, 5, 6, 7, 0, 0); ret != 1 {
57 panic("hello7")
58 }
59 if ret, _, _ := syscall_syscall9(syscall_check8_trampoline_addr, 1, 2, 3, 4, 5, 6, 7, 8, 0); ret != 1 {
60 panic("hello8")
61 }
62 if ret, _, _ := syscall_syscall9(syscall_check9_trampoline_addr, 1, 2, 3, 4, 5, 6, 7, 8, 9); ret != 1 {
63 panic("hello9")
64 }
65 }
66
View as plain text