Skip to content

Commit fd59c87

Browse files
committed
syscall: provide and use fcntlPtr for all BSD platforms
Provide fcntlPtr for all BSD platforms, then use this for FcntlFlock. This reduces darwin and openbsd specific code, as well as avoiding the use of an indirect system call on OpenBSD. Updates #63900 Change-Id: I5c701f0d8413fab5477b9e21381395621d1fb6d0 Reviewed-on: https://go-review.googlesource.com/c/go/+/540018 Reviewed-by: Bryan Mills <[email protected]> Reviewed-by: Heschi Kreinick <[email protected]> Run-TryBot: Joel Sing <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Josh Rickmar <[email protected]>
1 parent 9d836d4 commit fd59c87

24 files changed

+202
-92
lines changed

src/syscall/flock_darwin.go renamed to src/syscall/flock_bsd.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

5+
//go:build darwin || dragonfly || freebsd || netbsd || openbsd
6+
57
package syscall
68

79
import "unsafe"

src/syscall/flock.go renamed to src/syscall/flock_linux.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

5-
//go:build linux || freebsd || openbsd || netbsd || dragonfly
6-
75
package syscall
86

97
import "unsafe"

src/syscall/mksyscall.pl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ ($)
284284
if($libc) {
285285
if($funcname eq "") {
286286
$sysname = substr $sysname, 4;
287+
$sysname =~ y/A-Z/a-z/;
287288
$funcname = "libc_$sysname";
288289
}
289290
$sysname = "abi.FuncPCABI0(${funcname}_trampoline)";

src/syscall/syscall_bsd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,7 @@ func Futimes(fd int, tv []Timeval) (err error) {
515515
}
516516

517517
//sys fcntl(fd int, cmd int, arg int) (val int, err error)
518+
//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) = SYS_FCNTL
518519

519520
var mapper = &mmapper{
520521
active: make(map[*byte][]byte),

src/syscall/syscall_darwin.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,6 @@ func Kill(pid int, signum Signal) (err error) { return kill(pid, int(signum), 1)
216216
//sysnb execve(path *byte, argv **byte, envp **byte) (err error)
217217
//sysnb exit(res int) (err error)
218218
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error)
219-
//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) = SYS_fcntl
220219
//sys unlinkat(fd int, path string, flags int) (err error)
221220
//sys openat(fd int, path string, flags int, perm uint32) (fdret int, err error)
222221
//sys getcwd(buf []byte) (n int, err error)

src/syscall/syscall_openbsd_libc.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,5 @@ func syscall9X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
6868
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
6969
//sysnb getentropy(p []byte) (err error)
7070
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
71-
//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (val int, err error) = SYS_fcntl
7271
//sys unlinkat(fd int, path string, flags int) (err error)
7372
//sys openat(fd int, path string, flags int, perm uint32) (fdret int, err error)

src/syscall/zsyscall_darwin_amd64.go

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_darwin_arm64.go

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_dragonfly_amd64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_freebsd_386.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_freebsd_amd64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_freebsd_arm.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_freebsd_arm64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_freebsd_riscv64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_netbsd_386.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_netbsd_amd64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_netbsd_arm.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_netbsd_arm64.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_openbsd_386.go

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/syscall/zsyscall_openbsd_amd64.go

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)