aboutsummaryrefslogtreecommitdiff
path: root/src/os/executable_sysctl.go
AgeCommit message (Collapse)Author
2024-11-18os: sysctl-based Executable implementation for NetBSDBenny Siegert
FreeBSD and Dragonfly have used the sysctl method for years, while NetBSD has read the name of the executable from /proc. Unfortunately, some folks are hitting errors when building Go software in a sandbox that lacks a mounted /proc filesystem. Switch NetBSD to use the same implementation as FreeBSD and Dragonfly. Unfortunately, the order of the arguments in the MIB is also OS-dependent. Change-Id: I6fd774904af417ccd127e3779af45a20dc8696ca Reviewed-on: https://go-review.googlesource.com/c/go/+/629035 Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Benny Siegert <bsiegert@gmail.com> TryBot-Bypass: Ian Lance Taylor <iant@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org>
2021-10-28all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor)Russ Cox
When these packages are released as part of Go 1.18, Go 1.16 will no longer be supported, so we can remove the +build tags in these files. Ran go fix -fix=buildtag std cmd and then reverted the bootstrapDirs as defined in src/cmd/dist/buildtool.go, which need to continue to build with Go 1.4 for now. Also reverted src/vendor and src/cmd/vendor, which will need to be updated in their own repos first. Manual changes in runtime/pprof/mprof_test.go to adjust line numbers. For #41184. Change-Id: Ic0f93f7091295b6abc76ed5cd6e6746e1280861e Reviewed-on: https://go-review.googlesource.com/c/go/+/344955 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2021-02-20all: go fmt std cmd (but revert vendor)Russ Cox
Make all our package sources use Go 1.17 gofmt format (adding //go:build lines). Part of //go:build change (#41184). See https://golang.org/design/draft-gobuild Change-Id: Ia0534360e4957e58cd9a18429c39d0e32a6addb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/294430 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2020-10-28os: do not use procfs for os.Executable in dragonflyAntonio Huete Jimenez
procfs(5) is not always mounted in DragonFly BSD, for example during the binary package build with synth. os.Executable() consumers will then fail, we've spotted this when trying to build tinygo: [...] copying source files ./build/tinygo build-builtins -target=armv6m-none-eabi [...] panic: could not get executable path: readlink /proc/curproc/file: no such file or directory [...] Use KERN_PROC_PATHNAME as FreeBSD does. Change-Id: Ic65bea02cd0309fb24dec8ba8d2b151d1acde67b GitHub-Last-Rev: 083120a43b3158bb45d7e1a66fa32e3335a2d407 GitHub-Pull-Request: golang/go#36826 Reviewed-on: https://go-review.googlesource.com/c/go/+/216622 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Trust: Brad Fitzpatrick <bradfitz@golang.org>