59 echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 |
60 echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 |
60 exit 1 |
61 exit 1 |
61 ;; |
62 ;; |
62 aix_ppc) |
63 aix_ppc) |
63 mkerrors="$mkerrors -maix32" |
64 mkerrors="$mkerrors -maix32" |
64 mksyscall="perl mksyscall_aix.pl -aix" |
65 mksyscall="go run mksyscall_aix_ppc.go -aix" |
65 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
66 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
66 ;; |
67 ;; |
67 aix_ppc64) |
68 aix_ppc64) |
68 mkerrors="$mkerrors -maix64" |
69 mkerrors="$mkerrors -maix64" |
69 mksyscall="perl mksyscall_aix.pl -aix" |
70 mksyscall="go run mksyscall_aix_ppc64.go -aix" |
70 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
71 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
71 ;; |
72 ;; |
72 darwin_386) |
73 darwin_386) |
73 mkerrors="$mkerrors -m32" |
74 mkerrors="$mkerrors -m32" |
74 mksyscall="./mksyscall.pl -l32" |
75 mksyscall="go run mksyscall.go -l32" |
75 mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" |
76 mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" |
76 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
77 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
|
78 mkasm="go run mkasm_darwin.go" |
77 ;; |
79 ;; |
78 darwin_amd64) |
80 darwin_amd64) |
79 mkerrors="$mkerrors -m64" |
81 mkerrors="$mkerrors -m64" |
80 mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" |
82 mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" |
81 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
83 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
|
84 mkasm="go run mkasm_darwin.go" |
82 ;; |
85 ;; |
83 darwin_arm) |
86 darwin_arm) |
84 mkerrors="$mkerrors" |
87 mkerrors="$mkerrors" |
85 mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" |
88 mksyscall="go run mksyscall.go -l32" |
86 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
89 mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" |
|
90 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
|
91 mkasm="go run mkasm_darwin.go" |
87 ;; |
92 ;; |
88 darwin_arm64) |
93 darwin_arm64) |
89 mkerrors="$mkerrors -m64" |
94 mkerrors="$mkerrors -m64" |
90 mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" |
95 mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" |
91 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
96 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
|
97 mkasm="go run mkasm_darwin.go" |
92 ;; |
98 ;; |
93 dragonfly_amd64) |
99 dragonfly_amd64) |
94 mkerrors="$mkerrors -m64" |
100 mkerrors="$mkerrors -m64" |
95 mksyscall="./mksyscall.pl -dragonfly" |
101 mksyscall="go run mksyscall.go -dragonfly" |
96 mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl" |
102 mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" |
97 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
103 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
98 ;; |
104 ;; |
99 freebsd_386) |
105 freebsd_386) |
100 mkerrors="$mkerrors -m32" |
106 mkerrors="$mkerrors -m32" |
101 mksyscall="./mksyscall.pl -l32" |
107 mksyscall="go run mksyscall.go -l32" |
102 mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" |
108 mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" |
103 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
109 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
104 ;; |
110 ;; |
105 freebsd_amd64) |
111 freebsd_amd64) |
106 mkerrors="$mkerrors -m64" |
112 mkerrors="$mkerrors -m64" |
107 mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" |
113 mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" |
108 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
114 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
109 ;; |
115 ;; |
110 freebsd_arm) |
116 freebsd_arm) |
111 mkerrors="$mkerrors" |
117 mkerrors="$mkerrors" |
112 mksyscall="./mksyscall.pl -l32 -arm" |
118 mksyscall="go run mksyscall.go -l32 -arm" |
113 mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" |
119 mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" |
114 # Let the type of C char be signed for making the bare syscall |
120 # Let the type of C char be signed for making the bare syscall |
115 # API consistent across platforms. |
121 # API consistent across platforms. |
116 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
122 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
117 ;; |
123 ;; |
118 linux_sparc64) |
124 freebsd_arm64) |
119 GOOSARCH_in=syscall_linux_sparc64.go |
125 mkerrors="$mkerrors -m64" |
120 unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h |
126 mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" |
121 mkerrors="$mkerrors -m64" |
|
122 mksysnum="./mksysnum_linux.pl $unistd_h" |
|
123 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
127 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
124 ;; |
128 ;; |
125 netbsd_386) |
129 netbsd_386) |
126 mkerrors="$mkerrors -m32" |
130 mkerrors="$mkerrors -m32" |
127 mksyscall="./mksyscall.pl -l32 -netbsd" |
131 mksyscall="go run mksyscall.go -l32 -netbsd" |
128 mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" |
132 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" |
129 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
133 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
130 ;; |
134 ;; |
131 netbsd_amd64) |
135 netbsd_amd64) |
132 mkerrors="$mkerrors -m64" |
136 mkerrors="$mkerrors -m64" |
133 mksyscall="./mksyscall.pl -netbsd" |
137 mksyscall="go run mksyscall.go -netbsd" |
134 mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" |
138 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" |
135 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
139 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
136 ;; |
140 ;; |
137 netbsd_arm) |
141 netbsd_arm) |
138 mkerrors="$mkerrors" |
142 mkerrors="$mkerrors" |
139 mksyscall="./mksyscall.pl -l32 -netbsd -arm" |
143 mksyscall="go run mksyscall.go -l32 -netbsd -arm" |
140 mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" |
144 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" |
141 # Let the type of C char be signed for making the bare syscall |
145 # Let the type of C char be signed for making the bare syscall |
142 # API consistent across platforms. |
146 # API consistent across platforms. |
143 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
147 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
|
148 ;; |
|
149 netbsd_arm64) |
|
150 mkerrors="$mkerrors -m64" |
|
151 mksyscall="go run mksyscall.go -netbsd" |
|
152 mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" |
|
153 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
144 ;; |
154 ;; |
145 openbsd_386) |
155 openbsd_386) |
146 mkerrors="$mkerrors -m32" |
156 mkerrors="$mkerrors -m32" |
147 mksyscall="./mksyscall.pl -l32 -openbsd" |
157 mksyscall="go run mksyscall.go -l32 -openbsd" |
148 mksysctl="./mksysctl_openbsd.pl" |
158 mksysctl="go run mksysctl_openbsd.go" |
149 mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" |
159 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" |
150 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
160 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
151 ;; |
161 ;; |
152 openbsd_amd64) |
162 openbsd_amd64) |
153 mkerrors="$mkerrors -m64" |
163 mkerrors="$mkerrors -m64" |
154 mksyscall="./mksyscall.pl -openbsd" |
164 mksyscall="go run mksyscall.go -openbsd" |
155 mksysctl="./mksysctl_openbsd.pl" |
165 mksysctl="go run mksysctl_openbsd.go" |
156 mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" |
166 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" |
157 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
167 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
158 ;; |
168 ;; |
159 openbsd_arm) |
169 openbsd_arm) |
160 mkerrors="$mkerrors" |
170 mkerrors="$mkerrors" |
161 mksyscall="./mksyscall.pl -l32 -openbsd -arm" |
171 mksyscall="go run mksyscall.go -l32 -openbsd -arm" |
162 mksysctl="./mksysctl_openbsd.pl" |
172 mksysctl="go run mksysctl_openbsd.go" |
163 mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" |
173 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" |
|
174 # Let the type of C char be signed for making the bare syscall |
|
175 # API consistent across platforms. |
|
176 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
|
177 ;; |
|
178 openbsd_arm64) |
|
179 mkerrors="$mkerrors -m64" |
|
180 mksyscall="go run mksyscall.go -openbsd" |
|
181 mksysctl="go run mksysctl_openbsd.go" |
|
182 mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" |
164 # Let the type of C char be signed for making the bare syscall |
183 # Let the type of C char be signed for making the bare syscall |
165 # API consistent across platforms. |
184 # API consistent across platforms. |
166 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
185 mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" |
167 ;; |
186 ;; |
168 solaris_amd64) |
187 solaris_amd64) |
169 mksyscall="./mksyscall_solaris.pl" |
188 mksyscall="go run mksyscall_solaris.go" |
170 mkerrors="$mkerrors -m64" |
189 mkerrors="$mkerrors -m64" |
171 mksysnum= |
190 mksysnum= |
172 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
191 mktypes="GOARCH=$GOARCH go tool cgo -godefs" |
173 ;; |
192 ;; |
174 *) |
193 *) |
185 case "$GOOS" in |
204 case "$GOOS" in |
186 darwin | dragonfly | freebsd | netbsd | openbsd) |
205 darwin | dragonfly | freebsd | netbsd | openbsd) |
187 syscall_goos="syscall_bsd.go $syscall_goos" |
206 syscall_goos="syscall_bsd.go $syscall_goos" |
188 ;; |
207 ;; |
189 esac |
208 esac |
190 if [ -n "$mksyscall" ]; then echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi |
209 if [ -n "$mksyscall" ]; then |
191 ;; |
210 if [ "$GOOSARCH" == "aix_ppc64" ]; then |
|
211 # aix/ppc64 script generates files instead of writing to stdin. |
|
212 echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; |
|
213 elif [ "$GOOS" == "darwin" ]; then |
|
214 # pre-1.12, direct syscalls |
|
215 echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; |
|
216 # 1.12 and later, syscalls via libSystem |
|
217 echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; |
|
218 # 1.13 and later, syscalls via libSystem (including syscallPtr) |
|
219 echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go"; |
|
220 else |
|
221 echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; |
|
222 fi |
|
223 fi |
192 esac |
224 esac |
193 if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi |
225 if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi |
194 if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi |
226 if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi |
195 if [ -n "$mktypes" ]; then |
227 if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi |
196 echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; |
228 if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi |
197 fi |
|
198 ) | $run |
229 ) | $run |