Commit Graph
33 Commits
Author SHA1 Message Date
Brad Fitzpatrick 2da1413846 cpu: get hwcap/auxv from the Go 1.21+ runtime
Depends on https://go.dev/cl/458256

This change only does Linux for now.

Updates golang/go#57336

Change-Id: I0659697c1bdc6e2577c6251b964a0df32047ee12
Reviewed-on: https://go-review.googlesource.com/c/sys/+/465295
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2023-02-17 19:36:37 +00:00
Brad Fitzpatrick 2204b6615f cpu: parse /proc/cpuinfo on linux/arm64 on old kernels when needed
Updates tailscale/tailscale#5793
Fixes golang/go#57336

Change-Id: I4f8128bebcc58f265d447ecaaad2473aafa9131c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/458315
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Auto-Submit: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-12-20 02:54:02 +00:00
Brad Fitzpatrick fcb26fe61c windows: gofmt to add go:build lines
Change-Id: I71b9023fcb6c9860ea35ba0d2cf77a6eed5176b9
Reviewed-on: https://go-review.googlesource.com/c/sys/+/357329
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Trust: Jason A. Donenfeld <Jason@zx2c4.com>
Trust: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com>
TryBot-Result: Go Bot <gobot@golang.org>
2021-10-20 15:40:33 +00:00
Brad Fitzpatrick f992740a1b unix: add Xucred, GetsockoptXucred on darwin
Test adapted from CL 134535 from Tyler Julian (@APTy).

For posterity, the auto-generated parts were updated with:

    GOARCH_TARGET=amd64 go tool cgo -godefs types_darwin.go | GOOS=darwin GOARCH_TARGET=amd64 go run mkpost.go > ztypes_darwin_amd64.go
    GOARCH_TARGET=arm64 go tool cgo -godefs types_darwin.go | GOOS=darwin GOARCH_TARGET=arm64 go run mkpost.go > ztypes_darwin_arm64.go
    GOOS=darwin GOARCH=amd64 ./mkerrors.sh -m64 > zerrors_darwin_amd64.go ; gofmt -w zerrors_darwin_amd64.go
    GOOS=darwin GOARCH=arm64 ./mkerrors.sh -m64 > zerrors_darwin_arm64.go ; gofmt -w zerrors_darwin_arm64.go
    perl -i -npe 's,( cgo -godefs(?: -- -m64)? )/.+/(\S+.go),$$1$$2,' zerrors_darwin_amd64.go zerrors_darwin_arm64.go ztypes_darwin_amd64.go ztypes_darwin_arm64.go

Fixes golang/go#27613

Change-Id: Ie41b3da840cb9c8c140c57ecfb78e7abc4f70bea
Reviewed-on: https://go-review.googlesource.com/c/sys/+/292330
Trust: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2021-02-16 22:45:49 +00:00
Brad Fitzpatrick f7da38b97c unix: re-generate darwin output on Big Sur (11.2.1)
For posterity, I ran:

    GOARCH_TARGET=amd64 go tool cgo -godefs types_darwin.go | GOOS=darwin GOARCH_TARGET=amd64 go run mkpost.go > ztypes_darwin_amd64.go
    GOARCH_TARGET=arm64 go tool cgo -godefs types_darwin.go | GOOS=darwin GOARCH_TARGET=arm64 go run mkpost.go > ztypes_darwin_arm64.go
    GOOS=darwin GOARCH=amd64 ./mkerrors.sh -m64 > zerrors_darwin_amd64.go ; gofmt -w zerrors_darwin_amd64.go
    GOOS=darwin GOARCH=arm64 ./mkerrors.sh -m64 > zerrors_darwin_arm64.go ; gofmt -w zerrors_darwin_arm64.go
    perl -i -npe 's,( cgo -godefs(?: -- -m64)? )/.+/(\S+.go),$$1$$2,' zerrors_darwin_amd64.go zerrors_darwin_arm64.go ztypes_darwin_amd64.go ztypes_darwin_arm64.go

Change-Id: I17e8fc3bd66f4766d0f5f731151f0b85758c01b0
Reviewed-on: https://go-review.googlesource.com/c/sys/+/292329
Trust: Brad Fitzpatrick <bradfitz@golang.org>
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2021-02-16 16:36:48 +00:00
Brad Fitzpatrick c4c1ae6d18 unix: fix typo in test
Change-Id: I80b28a28a9e6133a7c8a9340ce5914498ff6bf0f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/292331
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Trust: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2021-02-16 15:53:14 +00:00
Brad Fitzpatrick c1edf53553 Revert "unix: fix Setfsuid and Setfsgid return values"
This reverts commit 94506bca4f.

Reason for revert: breaking API change; I want more discussion before we do this.
 
e.g. it breaks https://github.com/search?utf8=%E2%9C%93&q=unix.Setfsuid+filename%3A*.go&type=Code&ref=advsearch&l=&l= ... like https://github.com/9elements/osfc2019_system76_coreboot/blob/351481c7205e9afe0ad6eab3152971985363afd5/src/LinuxBoot/github.com/u-root/u-root/cmds/core/fusermount/fusermount_linux.go

Change-Id: I474195047f080d0b2c2178578c5f45520af96c53
Reviewed-on: https://go-review.googlesource.com/c/sys/+/215518
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2020-01-20 15:04:07 +00:00
Brad Fitzpatrick 855e68c859 windows: revert breaking API changes from CL 196798, add new accessor funcs
CL 196798 changed API and broke a number of projects.

Revert the signature changes but add new convenience functions instead.

Change-Id: I49e389204f4756ec054ba8fd7555e235ef6370e8
Reviewed-on: https://go-review.googlesource.com/c/sys/+/197597
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-09-26 18:03:25 +00:00
Brad Fitzpatrick 7ad0cfa0b7 cpu: remove encoding/binary dependency
It's unnecessarily heavy, bringing in reflect, etc.

I'd like for this package to become a leaf package with no
dependencies so we can use it from the Go runtime directly and remove
internal/cpu.

Change-Id: I1794854add9ad87cc13b685bae4a039e1449c22d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/194646
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Martin Möhrmann <moehrmann@google.com>
2019-09-11 20:15:28 +00:00
Brad Fitzpatrick 3626398d77 cpu: don't depend on the golang.org/x/sys/unix package for AIX
gccgo support can happen in a future CL.

Updates golang/go#32102

Change-Id: Ic9e8d7b3e413079d277bdba565551845a2b78121
Reviewed-on: https://go-review.googlesource.com/c/sys/+/179178
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2019-05-28 18:36:47 +00:00
Brad Fitzpatrick 3ef323f4f1 unix: add illumos case
From CL 174457 which modified this file's vendored copy in the "go"
repo.

Updates golang/go#20603

Change-Id: Ic89b2e772120a08ac0fa3a56acb93a8ee96ba337
Reviewed-on: https://go-review.googlesource.com/c/sys/+/174958
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2019-05-02 14:57:24 +00:00
Brad Fitzpatrick d89cdac9e8 windows: don't return EINVAL on zero Chmod mode
To match CL 174320

Updates golang/go#20858

Change-Id: Ic4e332c8a84b7d427fc7057aa5b0c2877cc9f7ea
Reviewed-on: https://go-review.googlesource.com/c/sys/+/174321
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-04-29 19:08:28 +00:00
Brad Fitzpatrick 9f0b1ff7b4 unix: add FileHandle, NewFileHandle, NameToHandleAt, OpenByHandleAt
This adds wrappers around name_to_handle_at and open_by_handle_at.

Requires root (or CAP_DAC_READ_SEARCH, rather) to run tests, which at
least some of our builders have.

bradfitz@go:~/src/golang.org/x/sys/unix$ go test -c && sudo ./unix.test -test.run=OpenBy -test.v=true
=== RUN   TestOpenByHandleAt
=== RUN   TestOpenByHandleAt/clone=false
=== RUN   TestOpenByHandleAt/clone=true
--- PASS: TestOpenByHandleAt (0.00s)
    syscall_linux_test.go:546: mountID: 22, handle: size=8, type=1, bytes="\x9e\x1e\b\x00~\x8c\xe5\x9d"
    --- PASS: TestOpenByHandleAt/clone=false (0.00s)
        syscall_linux_test.go:568: opened fd 3
    --- PASS: TestOpenByHandleAt/clone=true (0.00s)
        syscall_linux_test.go:568: opened fd 3
PASS

Fixes golang/go#30537

Change-Id: Ia48a8faab2fee665d88a16d81a3a0c1504b129ce
Reviewed-on: https://go-review.googlesource.com/c/sys/+/173357
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-04-25 04:54:58 +00:00
Brad Fitzpatrick 953cdadca8 unix: add unexported name_to_handle_at and open_by_handle_at types & wrappers
No usable change for users in this CL; just auto-generated syscall
wrapper funcs & types.

The next CL will have hand-written code adding the nice Go API around
these unexported symbols. (as outlined in the comment at
https://golang.org/issue/30537#issuecomment-470284573)

Updates golang/go#30537

Change-Id: I5e34df517efcf509fff97f670425500cc6608d59
Reviewed-on: https://go-review.googlesource.com/c/sys/+/172584
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2019-04-22 16:51:55 +00:00
Brad Fitzpatrick 2b024373dc Revert "unix: implement SyncFileRange for ARM"
This reverts commit 1b73967140
(https://go-review.googlesource.com/c/sys/+/133015)

Reason for revert: breaks the build. No Syscall9 on linux/arm.
Not obvious this was ever compiled, much less tested. (Unless it
was only for gccgo, but that was never specified.)

Fixes golang/go#27475

Change-Id: I5ed04c9ab672ce33adc64bdaec601bf73df42269
Reviewed-on: https://go-review.googlesource.com/133095
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-09-03 19:01:38 +00:00
Brad Fitzpatrick 0ffbfd41fb unix, windows: add type aliases to std syscall for Signal, Errno, SysProcAttr
To simplify the pkg syscall docs.

Change-Id: I3ed0bfc59564ada280141c4662a56e141d197e1f
Reviewed-on: https://go-review.googlesource.com/127656
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-08-02 20:32:16 +00:00
Brad Fitzpatrick e3f9388ec6 unix: add Linux blkpg_ioctl_arg and blkpg_partition types
For manipulating Linux partitions with the BLKPG ioctl.

Change-Id: I2196038ccfc39ecd6926817c3b310d0837220095
Reviewed-on: https://go-review.googlesource.com/125642
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-07-27 22:55:06 +00:00
Brad Fitzpatrick e072cadbbd unix: document IoctlSetWinsize and IoctlSetTermios and fix pointer lifetime
Change-Id: I42e59149e58bd928d9beb2c6665ce186b377d2a1
Reviewed-on: https://go-review.googlesource.com/125640
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-07-24 21:28:12 +00:00
Brad Fitzpatrick d0faeb5398 unix: fix TestSCMCredentials to not fail when root
Fixes golang/go#25354

Change-Id: Ic74005ed26792a78354ffe76f567e9a009eabe9a
Reviewed-on: https://go-review.googlesource.com/112738
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2018-05-11 16:50:53 +00:00
Brad Fitzpatrick dd9ec17814 unix: fix build on Go 1.8
Don't use math/bits yet. Go 1.8 doesn't have it, and Go 1.8 is still
supported for a few weeks.

Fixes golang/go#23353

Change-Id: Ie69163f6f6dca95d4652441849e0152d2e346cd0
Reviewed-on: https://go-review.googlesource.com/86477
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-01-06 05:20:50 +00:00
Brad Fitzpatrick 0131e684e8 windows: make GetDriveType use GetDriveTypeW
Fixes golang/go#23121

Change-Id: I71495b82a573e9f492a52dde325522a6203c06eb
Reviewed-on: https://go-review.googlesource.com/83855
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-12-13 21:08:10 +00:00
Brad Fitzpatrick b0e0dd7297 unix: add openbsd/arm support (in theory)
This copies over some files from the main repo to make the
GOOS=openbsd GOARCH=arm go install and go test -c work.

No clue whether it actually works or not, though. We don't have
builders anymore for this port.

But once this compiles, we'll at least be able to use constants from
the x/sys/unix package from x/net without regressing x/net's support
for openbsd/arm. (If anybody uses openbsd/arm)

Fixes golang/go#10826

Change-Id: Id821e2011bcd2d3720652be44ac09e4ce4d2a3a3
Reviewed-on: https://go-review.googlesource.com/54053
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
2017-08-09 03:45:07 +00:00
Brad Fitzpatrick 02a66801d9 unix: fix FreeBSD 386 build
It was broken by https://golang.org/cl/47290

Fixes golang/go#21136

Change-Id: I2a08869fd44a9776f0dc7d461814e1df4e606b5d
Reviewed-on: https://go-review.googlesource.com/51270
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-07-26 18:25:55 +00:00
Brad Fitzpatrick 8d1157a435 Revert "x/sys/unix: add *linkat functions on linux"
This reverts commit I44d8dd8020bc61b9c75e0566c34ca9cc56b23f9d.

Reason for revert: Broke the build. (Fixes #17352)

Original change's description:
> x/sys/unix: add *linkat functions on linux
> 
> * expose linkat, readlinkat, symlinkat
> 
> Fixes golang/go#14459
> 
> Change-Id: I44d8dd8020bc61b9c75e0566c34ca9cc56b23f9d
> Reviewed-on: https://go-review.googlesource.com/20129
> Reviewed-by: Russ Cox <rsc@golang.org>
> 

Change-Id: Ic114a5e60b0caef82c21123156963b2a8232d9d4
Reviewed-on: https://go-review.googlesource.com/30491
TryBot-Result: Gobot Gobot <gobot@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-06 02:51:42 +00:00
Brad Fitzpatrick 30de6d19a3 unix: fix TestGetfsstat the same way as CL 28550 in pkg syscall
Same as https://golang.org/cl/28550 but for x/sys/unix.

Updates golang/go#16937

Change-Id: Ie93df8ff1c40a7f2d98f1fb3ecf6110330bf1cbc
Reviewed-on: https://go-review.googlesource.com/28585
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-09-07 14:59:46 +00:00
Brad Fitzpatrick 806cb00533 unix: remove dragonfly/386 support
It was removed from Go (and Dragonfly) already.

Fixes golang/go#10840

Change-Id: If7a86123f2a6120f99946dbd57a5e62a72f30af5
Reviewed-on: https://go-review.googlesource.com/23050
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-05-11 18:08:12 +00:00
Brad Fitzpatrick 8fdfb00a6a unix: skip failing test on freebsd-386
Updates golang/go#15186

Change-Id: I02403cbc9b3f1c786ee8093e1480edff891ecf13
Reviewed-on: https://go-review.googlesource.com/21676
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-04-08 01:25:32 +00:00
Brad Fitzpatrick a60af9cbbc windows: make all files in the package require windows
env_unset.go didn't have a the windows build tag (or filename), so it
was compiling for all operating systems and as a result had weird docs
at https://godoc.org/golang.org/x/sys/windows showing only Unsetenv.

Updates golang/gddo#188

Change-Id: I58f2c27c3d267660c97fce5a1b28da24988c62c8
Reviewed-on: https://go-review.googlesource.com/21460
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2016-04-02 02:39:15 +00:00
Brad Fitzpatrick 3dff6e19a5 windows: add LoadLibraryEx, add LazyDLL.System
Updates golang/go#14959

Change-Id: Ib91c359c3df919df0b30e584d38e56f79f3e3dc9
Reviewed-on: https://go-review.googlesource.com/21388
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2016-04-02 00:33:28 +00:00
Brad Fitzpatrick afce3de575 unix: make TimevalToNsec available everywhere
It wasn't in linux/arm.

Tested with:

$ for x in $(go tool dist list ) ; do \
     export GOOS=$(echo $x | cut -d/ -f1); \
     export GOARCH=$(echo $x | cut -d/ -f2); \
     echo "$GOOS; $GOARCH"; go install  .; done

... which all pass, except openbsd/arm which is still broken exactly
how it was broken previously.

Fixes golang/go#14643

Change-Id: Ie7ae861b581b539178de26f15ba3f4bdd0e9b785
Reviewed-on: https://go-review.googlesource.com/21013
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-03-22 23:22:43 +00:00
Brad Fitzpatrick 46ba3e7a19 unix: re-run mksyscall on freebsd and linux after previous merge
The previous cherry-pick merge of fadvice from Gerrit added the
fadvise system calls, but from before the errno CL, which went in
concurrently.

Change-Id: I6f01e020bfe2930a8ea2fdbe4998ab9e2669ce14
Reviewed-on: https://go-review.googlesource.com/8199
Reviewed-by: Rob Pike <r@golang.org>
2015-03-27 17:05:09 +00:00
Brad Fitzpatrick 71c96e4240 unix: don't allocate putting common errno values in error interfaces
From main repo: https://go-review.googlesource.com/#/c/6701/3

Fixes golang/go#10266

Change-Id: I141fefe7f317edcea19b588b1569fa8772237f56
Reviewed-on: https://go-review.googlesource.com/8190
Reviewed-by: Rob Pike <r@golang.org>
2015-03-27 16:15:35 +00:00
Brad Fitzpatrick c65f27ffe6 go.sys: add Unsetenv
LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/153810043
2014-10-01 12:10:37 -07:00