]> Cypherpunks.ru repositories - gostls13.git/commit
syscall: support Getwd on all BSDs
authorTobias Klauser <tklauser@distanz.ch>
Thu, 14 Dec 2017 10:59:33 +0000 (11:59 +0100)
committerTobias Klauser <tobias.klauser@gmail.com>
Tue, 13 Feb 2018 15:41:19 +0000 (15:41 +0000)
commitacd17e9b2b9740ea374ec18bcc7a4cd488eb534c
treefb0a12d83b6773f79541f626890dc03bd2c94c4d
parentdc27d68936767277984ac731a06cb15c4f64c997
syscall: support Getwd on all BSDs

All supported BSDs provide the SYS___GETCWD syscall which can be used to
implement syscall.Getwd. With this change os.Getwd can use a single
syscall instead of falling back to the current kludge solution on the
BSDs.

This doesn't add any new exported functions to the frozen syscall
package, only ImplementsGetwd changes to true for dragonfly, freebsd,
netbsd and openbsd.

As suggested by Ian, this follows CL 83755 which did the same for
golang.org/x/sys/unix.

Also, an entry for netbsd/arm is added to mkall.sh which was used to
generate the syscall wrappers there.

Change-Id: I84da1ec61a6b8625443699a63cde556b6442ad41
Reviewed-on: https://go-review.googlesource.com/84484
Reviewed-by: Ian Lance Taylor <iant@golang.org>
34 files changed:
api/except.txt
src/syscall/mkall.sh
src/syscall/syscall_dragonfly.go
src/syscall/syscall_freebsd.go
src/syscall/syscall_getwd_bsd.go [new file with mode: 0644]
src/syscall/syscall_netbsd.go
src/syscall/syscall_no_getwd.go [deleted file]
src/syscall/syscall_openbsd.go
src/syscall/syscall_solaris.go
src/syscall/syscall_unix.go
src/syscall/types_dragonfly.go
src/syscall/types_freebsd.go
src/syscall/types_netbsd.go
src/syscall/types_openbsd.go
src/syscall/zsyscall_dragonfly_amd64.go
src/syscall/zsyscall_freebsd_386.go
src/syscall/zsyscall_freebsd_amd64.go
src/syscall/zsyscall_freebsd_arm.go
src/syscall/zsyscall_netbsd_386.go
src/syscall/zsyscall_netbsd_amd64.go
src/syscall/zsyscall_netbsd_arm.go
src/syscall/zsyscall_openbsd_386.go
src/syscall/zsyscall_openbsd_amd64.go
src/syscall/zsyscall_openbsd_arm.go
src/syscall/ztypes_dragonfly_amd64.go
src/syscall/ztypes_freebsd_386.go
src/syscall/ztypes_freebsd_amd64.go
src/syscall/ztypes_freebsd_arm.go
src/syscall/ztypes_netbsd_386.go
src/syscall/ztypes_netbsd_amd64.go
src/syscall/ztypes_netbsd_arm.go
src/syscall/ztypes_openbsd_386.go
src/syscall/ztypes_openbsd_amd64.go
src/syscall/ztypes_openbsd_arm.go