Commit Graph

333 Commits

Author SHA1 Message Date
Tobias Klauser
a13efeb2fd unix: remove dragonfly/386 from mkall.sh
dragonfly/386 isn't a valid GOOS/GOARCH pair and there are no generated
files for this pair in x/sys/unix.

Follows CL 79675 which did the same for syscall.

Change-Id: Ie70937b464fa911a43c26515bcac1c03740dc1fe
Reviewed-on: https://go-review.googlesource.com/79676
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-23 18:29:49 +00:00
Tobias Klauser
82aafbf43b unix: add SYS___SYSCTL on darwin/arm
Add the same workaround as already present for 386 (CL 14151), amd64 (CL
14091) and arm64 (CL 14094) on darwin.

Fixes golang/go#22839

Change-Id: I7eee543df204410dd3328dccb7d81166f77e1e2f
Reviewed-on: https://go-review.googlesource.com/79155
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-21 20:27:57 +00:00
Tobias Klauser
328643532e unix: fix test compilation error on Go 1.7
testing.Run was introduced in Go 1.7. Skip the tests using it if built
with Go 1.6 or below.

Change-Id: I24c81426ea6d3eaaca5a565ad79b62b30e645d04
Reviewed-on: https://go-review.googlesource.com/78255
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-20 17:00:34 +00:00
Awn
0ac51a24ef windows: add process creation flags
Fixes golang/go#22801

Change-Id: I1f466e26bcdf52bdd0df09bd81e31dde10347862
Reviewed-on: https://go-review.googlesource.com/78618
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2017-11-19 03:26:26 +00:00
Scott Crunkleton
0dd5e194bb windows: add Volume Management functions
Change-Id: I6e587cf1b7e8532f45df03bf94e209aafe8f81fd
Reviewed-on: https://go-review.googlesource.com/78235
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2017-11-17 07:10:00 +00:00
Tobias Klauser
bf42f188b9 unix: use sort.Search for sysctl lookup on OpenBSD
Use sort.Search to look up sysctl mib values from names instead of using
a hand-crafted binary search.

Also add a simple test to verify sysctl is still working after the
change.

Change-Id: I844840ac434a704b14c3166c3730daffabd2f347
Reviewed-on: https://go-review.googlesource.com/76930
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-14 16:20:44 +00:00
Tobias Klauser
665f6529cc unix: add Uname on Darwin
Darwin doesn't have a uname syscall but the same information can be
retrieved using sysctls. Use the raw sysctl numbers instead of doing the
roundtrip via SysctlString in order to void the additional sysctl calls
in nametomib and SysctlRaw.

This implementation follows the one in
https://opensource.apple.com/source/Libc/Libc-1244.1.7/gen/uname.c

Change-Id: I19541e2a6700f84ced0549a8fb86faa8cb5e6fbe
Reviewed-on: https://go-review.googlesource.com/77270
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-13 20:21:12 +00:00
Tobias Klauser
1e2299c37c unix: add PtracePokeUser
PtracePeekUser was already added in CL 38638, also add its "counterpart"
allowing to modify the tracee's user area.

Change-Id: Id84e85fe17b5cab7df5ecc83b6b7b8a39241241d
Reviewed-on: https://go-review.googlesource.com/76670
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-10 07:27:04 +00:00
Aman Gupta
4b45465282 windows: add WSA{Send,Recv}Msg
Change-Id: Id71df85e55e586b33fac66c5494291e11db8ed14
Reviewed-on: https://go-review.googlesource.com/76471
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-11-09 00:15:38 +00:00
Tobias Klauser
bcc62b628a unix: remove unused function syscallMode
The unexported function syscallMode was added in CL 47290 but was never
used anywhere. Remove it.

FWIW this should also fix the build failure on plan9, as the file in
question was lacking build tags.

Change-Id: Icfd6b2dbcd66ceb2065c945d8a5a6d55e634fe5e
Reviewed-on: https://go-review.googlesource.com/76510
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-08 17:06:27 +00:00
Tobias Klauser
75813c6472 unix: remove empty lines before first comment in block
Re-run tip gofmt to remove empty lines before the first comment in a
block (CL 71990).

Change-Id: I10bed93b88fd4fa4345f9f8f930c45db9f0d6e59
Reviewed-on: https://go-review.googlesource.com/76191
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-07 16:15:30 +00:00
Tobias Klauser
a22539bf85 unix: add vmsockets ioctl constant on Linux
To be used e.g. in github.com/mdlayher/vsock

Change-Id: I52148a6e6c53c022c07e2cc8bf7348a96445c17b
Reviewed-on: https://go-review.googlesource.com/76193
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
2017-11-07 15:03:14 +00:00
Tobias Klauser
d4266bc12a unix: add ioctl functions on NetBSD
Add IoctlGetInt/IoctlSetInt, IoctlGetTermios/IoctlSetTermios and
IoctlGetWinsize/IoctlSetWinsize on NetBSD. These are similar to the
already existing implementations on Linux, Darwin and Solaris.

Change-Id: I6c38d946b9f461c8e4c6c5e044aaff9b37e4b02f
Reviewed-on: https://go-review.googlesource.com/76171
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-06 15:25:25 +00:00
Tobias Klauser
5404d63da1 unix: add ioctl functions on Dragonfly
Add IoctlGetInt/IoctlSetInt, IoctlGetTermios/IoctlSetTermios and
IoctlGetWinsize/IoctlSetWinsize on Dragonfly. These are similar to the
already existing implementations on Linux, Darwin and Solaris.

Change-Id: I5a5a7ef69f02e01a4216779df5c927f241e5cec0
Reviewed-on: https://go-review.googlesource.com/76170
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-06 15:25:04 +00:00
Tobias Klauser
eae8a563e8 unix: add ioctl functions on OpenBSD
Add IoctlGetInt/IoctlSetInt, IoctlGetTermios/IoctlSetTermios and
IoctlGetWinsize/IoctlSetWinsize on OpenBSD. These are similar to the
already existing implementations on Linux, Darwin and Solaris.

Change-Id: I99e9434fa50338a0b5d825490513e9383539727d
Reviewed-on: https://go-review.googlesource.com/75791
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-06 15:24:42 +00:00
Tobias Klauser
8413e589a2 unix: regenerate for macOS 10.13/iOS 11.1
Update the syscall numbers and error constants on macOS 10.13 with iOS
SDK 11.1.

The removed syscalls are all removed or marked as deprecated/old in the
following list

  https://opensource.apple.com/source/xnu/xnu-4570.1.46/bsd/kern/syscalls.master

which according to

  https://opensource.apple.com/release/macos-1013.html

is the kernel version used for macOS 10.13.

The poll function was moved around because I missed to regenerate the
zsyscall_darwin_*.go files in CL 74290.

Change-Id: I747c8c842f78f3db8d25b46759265aa99da9d739
Reviewed-on: https://go-review.googlesource.com/75972
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-06 15:14:41 +00:00
Tobias Klauser
8eb05f94d4 windows: fix go vet warning
Now that go tip runs vet during go test	(CL 74356), the x/sys/windows
test fails due to the following vet error:

  syscall_windows_test.go:84: Fatal call has possible formatting directive %x

Fix it by using Fatalf instead.

Change-Id: I02536312c00bc9002400b29b5b5acef879a0e51a
Reviewed-on: https://go-review.googlesource.com/75973
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-04 19:33:50 +00:00
Tobias Klauser
4fe5d79250 unix: use keyed composite literal in TestSelect
Fixes the following vet error:

  syscall_linux_test.go:181: golang.org/x/sys/unix.Timeval composite literal uses unkeyed fields

Change-Id: I6973ad4ecd54b542074610a755573f98eb23f343
Reviewed-on: https://go-review.googlesource.com/75790
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-03 17:53:29 +00:00
Tobias Klauser
7e31d873de unix: add missing err checks in tests
Change-Id: I7b1ff99b46273ad32c26247a2435e674c9e42789
Reviewed-on: https://go-review.googlesource.com/75810
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-03 17:52:41 +00:00
Tobias Klauser
46eaec7899 unix: use setattrlist for UtimesNanoAt on Darwin
Use to setarrlist to implement UtimesNanoAt with nanosecond precision
(on Mac OS 10.13 with APFS). Translate AT_SYMLINK_NOFOLLOW to
FSOPT_NOFOLLOW correspondingly.

Change-Id: I1468a1f4eecb53b2280ff6329b1ec64e204701f1
Reviewed-on: https://go-review.googlesource.com/75650
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-02 21:26:49 +00:00
Tobias Klauser
feaf45c67f unix: use setattrlist for UtimesNano on Darwin for ns resolution
Follow CL 74952 for x/sys/unix.

Update golang/go#22528

Change-Id: Id146da75b80a64cfa4eac28e9bb7b3befe944718
Reviewed-on: https://go-review.googlesource.com/75610
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-02 20:14:56 +00:00
Tobias Klauser
95c6576299 unix: enable TestPoll for all unix systems
Poll is now supported for all unix systems. Also enable TestPoll for all
of them.

Change-Id: Id6250702bf0d29c49fbeeed4cca21d232b72666a
Reviewed-on: https://go-review.googlesource.com/74310
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-31 08:18:56 +00:00
Tobias Klauser
af4555b109 unix: move Poll implementation for BSDs into syscall_bsd.go
Now that all BSD flavors support Poll, move the common implementation
into syscall_bsd.go

Change-Id: Id62a6163d41ef24e33f96540b661002b095a2fa1
Reviewed-on: https://go-review.googlesource.com/74290
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-31 08:18:28 +00:00
Tobias Klauser
4da7545edf unix: convert Utsname members from {u,}int8 array to byte array
In order to make conversion to string easier, change the Utsname
members from int8 array to byte array.

Also add a test on Linux for Uname and the string conversion of the
Utsname members.

Fixes golang/go#20753

Change-Id: Iec793dfb4a6dd8f3523cf0b6284a6162074f2e9e
Reviewed-on: https://go-review.googlesource.com/74331
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-31 08:17:53 +00:00
Tobias Klauser
661970f62f unix: add Poll function on Solaris
Tested with TestPoll extracted from syscall_linux_test.go.

Now that Poll is supported on all unix flavors, TestPoll can be moved
to syscall_unix_test.go in a successive CL.

Change-Id: Ibd5ff3f45198008464522c3b165f2af7865ce81e
Reviewed-on: https://go-review.googlesource.com/73881
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-28 10:13:51 +00:00
Tobias Klauser
b98136db33 unix: add Poll function on OpenBSD
Tested with TestPoll extracted from syscall_linux_test.go. Once Poll is
supported on all OSes this test can be moved to syscall_unix_test.go.

Change-Id: Ic7ad2e749039e2e81612c2085d6fab73581d59f9
Reviewed-on: https://go-review.googlesource.com/73872
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 13:59:02 +00:00
Tobias Klauser
52c393dd0c unix: update Dockerfile to go 1.9.2
Update go to 1.9.2 in the Dockerfile used to generate the Linux go files.

The update also changes some zerror definitions: RLIM_INFINITY is
assigned to Rlimit.{Cur,Max} which are both uint64 on all architectures.
PR_SET_PTRACER_ANY is used with Prctl which expects an uintptr.

With the current version, an "constant -1 overflows uint64" error would
result if these constants were used directly without type conversion.

Change-Id: Iefd23a44e983b4fcf210121776531df225014112
Reviewed-on: https://go-review.googlesource.com/73873
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 13:58:47 +00:00
Tobias Klauser
833991df06 unix: omit success message if generation of ptrace definition fails
If generating ptrace definitions for a particular pair fails for any
reason, a success message would still be shown. Avoid it in case there
was a failure.

Change-Id: Ica59c888586c055e8ef333a0db00bde2c4d15145
Reviewed-on: https://go-review.googlesource.com/73874
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 13:58:17 +00:00
Tobias Klauser
80ad69fa32 unix: remove _SC_PAGESIZE on linux/sparc64
CL 62111 removed the _SC_PAGESIZE definition from the types_*.go files
but did not re-generate ztypes_linux_sparc64.go. Remove the definition
manually because linux/spar64 is not yet covered by the new Docker-based
build system.

Change-Id: I1ddebc3efa0d9d23c925ca84de31f63a3a883a99
Reviewed-on: https://go-review.googlesource.com/73876
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 13:04:07 +00:00
Tobias Klauser
5adf374967 unix: document and move Time{spec,val} methods
Add godoc comments for Time{spec,val} methods Unix and Nano.
Also move them to timestruct.go to the other Time{spec,val} related
functionality.

Change-Id: I3b18c5d1bfb235ea4fea25a18fc34b85c21bb365
Reviewed-on: https://go-review.googlesource.com/73871
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 13:03:45 +00:00
Tobias Klauser
30ef8ff723 unix: single space after period in generated zptrace header
Fix the header in the generated zptrace*_linux.go files to consistently
use single space after a period.

Change-Id: I527f27a68e14bc103639b1dd5734ec06ae267e01
Reviewed-on: https://go-review.googlesource.com/73875
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 12:34:53 +00:00
Tobias Klauser
0649f9fe46 unix: add Poll function on NetBSD
Tested with TestPoll extracted from syscall_linux_test.go. Once Poll is
supported on all OSes this test can be moved to syscall_unix_test.go.

Change-Id: I61ec50c5ea7d6db43f7688ed925d6ed26a6bbc3a
Reviewed-on: https://go-review.googlesource.com/73650
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-27 07:17:55 +00:00
Christopher Koch
164713f0df unix: remove unnecessary use of unsafe.Pointer.
Change-Id: I7ae67ce410ae2816c2f3e8ecb26e46265aa11d7f
Reviewed-on: https://go-review.googlesource.com/73771
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-26 20:47:33 +00:00
Ian Lance Taylor
3e3646d2c7 unix: add ptrace definitions for compatible GOARCH pairs
For pairs of GOARCH values that can execute each other's binaries on
the same system, such as 386 and amd64, add the definitions and
functions required to fetch and set registers when debugging either
variant.

Fixes golang/go#9739

Change-Id: I7896ddef7d341ffaee56614ebd080dc38c708ed4
Reviewed-on: https://go-review.googlesource.com/73555
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
2017-10-26 07:26:40 +00:00
Alex Brainman
176de74134 windows: change 'more then' to 'more than'
Copy CL 17488 into golang.org/x/sys/windows.

Change-Id: I4c6bf14982dd1fc2b8aa70ec16ad7b7c18e76bae
Reviewed-on: https://go-review.googlesource.com/73353
Reviewed-by: Tim Cooper <tim.cooper@layeh.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-26 00:44:44 +00:00
Kieran Colford
5d0dd06d1c windows: document panics in LazyProc
Some of LazyProc's methods will panic if the procedure cannot be
found. This patch documents that fact.

Change-Id: If446a61e001ae04eaba0ff08b512df4def8a00b7
Reviewed-on: https://go-review.googlesource.com/73450
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2017-10-25 22:41:41 +00:00
Tobias Klauser
9e4fff1f4d all: single space after period
Follow CL 20022 and consistently use single space after a period in
documentation.

Generated with:

$ perl -i -npe 's,^(\s*// .+[a-z]\.)  +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.)  +([A-Z])')

Change-Id: Ia29ad823668f060e81293e848a79fc4b4857d94b
Reviewed-on: https://go-review.googlesource.com/73530
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-25 20:39:07 +00:00
Tobias Klauser
607525c0eb unix: add Poll function on Dragonfly
Tested with TestPoll extracted from syscall_linux_test.go. Once Poll is
supported on all OSes this test can be moved to syscall_unix_test.go.

Change-Id: I03f4396be2e190770abb219c1c5324ca55bcfa27
Reviewed-on: https://go-review.googlesource.com/73430
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-25 19:14:39 +00:00
Tobias Klauser
92ac112afc unix: add Poll function on FreeBSD
Tested with TestPoll extracted from syscall_linux_test.go. Once Poll is
supported on all OSes this test can be moved to syscall_unix_test.go.

Change-Id: I56ee0124a04c64e3ea51a1653901f2f4277983e6
Reviewed-on: https://go-review.googlesource.com/73370
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-25 15:18:35 +00:00
Tobias Klauser
f0d39a4bd5 unix: add Poll function on Darwin
Tested with TestPoll extracted from syscall_linux_test.go. Once Poll is
supported on all OSes this test can be moved to syscall_unix_test.go.

Change-Id: Ia57e3a92e6a50cb22edde8a31e1c4e70d894dc4c
Reviewed-on: https://go-review.googlesource.com/73310
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-10-25 12:55:06 +00:00
Tobias Klauser
e825973668 unix: unify NsecToTime{spec,val}, fix for times < 1970
All the implementations of NsecToTimespec and NsecToTimeval were the
same other than types. Write a single version that uses
GOARCH/GOOS-specific setTimespec and setTimeval functions to handle the
types.

The logic in NsecToTimespec and NsecToTimeval caused times before 1970
to have a negative usec/nsec. The Linux kernel requires that usec
contain a positive number; for consistency, we do this for both
NsecToTimespec and NsecToTimeval.

Follow CL 30826 which did the same for syscall.

Change-Id: Id6c6f4fef8450251447d1a5b01f35c2a36b5aeb1
Reviewed-on: https://go-review.googlesource.com/73170
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-25 08:56:33 +00:00
Tobias Klauser
bb1b7fe501 unix: add test for UtimesNanoAt on Linux
Add a test for UtimesNanoAt which makes sure the timestamp of a symlink
is updated.

Change-Id: I819e43db1d390fb37f011b34e58ff9d3d06595f1
Reviewed-on: https://go-review.googlesource.com/72377
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-25 08:55:50 +00:00
Tobias Klauser
a1a1f1746d unix: unify TimespecToNsec and TimevalToNsec
All implementations of these functions are identical.

Follow CL 30819 which did the same for syscall.

Change-Id: I3c78f05ea12251306f3e100a006d266154a5238e
Reviewed-on: https://go-review.googlesource.com/72378
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-23 17:51:51 +00:00
Michael Stapelberg
a57a2b53a1 unix: add watchdog constants on Linux
To be used e.g. in
2e60d5b8c8

Change-Id: If79ffec9021dc79375c861a0ddd9dd443adb4692
Reviewed-on: https://go-review.googlesource.com/72375
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-23 17:49:30 +00:00
Tobias Klauser
ff8cd6cb4f unix: add UTIME_* constants on Linux
They might be used as special values in struct Timespec. See
http://man7.org/linux/man-pages/man2/utimensat.2.html for details.

Change-Id: I1c2d6d7731ca7f077d033e51ee6421a4f2cfbb89
Reviewed-on: https://go-review.googlesource.com/72376
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-23 17:48:59 +00:00
Hilko Bengen
8dbc5d05d6 windows: add GetProcAddressByOrdinal
The current GetProcAddress implementation only resolves functions in
DLLs by name. Add GetProcAddressByOrdinal that allows resolving
functions by ordinal number, using the same GetProcAddress call from
kernel32.dll in the background.

This is particularly useful for some functions (e.g. IsOS from
shlwapi.dll in some older versions of Windows) that cannot be found by
name.

Fixes golang/go#16507

Change-Id: Ib5fba7568c365a0aa2491c1261876b3a3929ec3d
Reviewed-on: https://go-review.googlesource.com/70690
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-17 06:39:10 +00:00
Tobias Klauser
686000749e unix: correct type for timeout argument to Select on linux/{arm64,mips64x}
Follow CL 70590 which did the same for syscall.

unix.Select uses SYS_PSELECT6 on arm64 and mipx64x, however this
syscall expects its 5th argument to be of type Timespec (with seconds
and nanoseconds) instead of type Timeval (with seconds and microseconds)
This leads to the timeout being too short by a factor of 1000.

This CL fixes this by adjusting the timeout argument accordingly,
similarly to how glibc does it for architectures where neither
SYS_SELECT nor SYS__NEWSELECT are available. It also makes Pselect
generaly available on linux.

Updates golang/go#22246

Change-Id: I69f8821a40c59ee469b8a986d784a4db8727ee9a
Reviewed-on: https://go-review.googlesource.com/70610
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-13 13:55:06 +00:00
Tobias Klauser
43eea11bc9 unix: add MNT_* flags on FreeBSD
Add the MNT_* flags to be used e.g. with Getfsstat on FreeBSD.

Change-Id: I1afb50f715f447f85b4ece3d3fead8b9ce79c4f6
Reviewed-on: https://go-review.googlesource.com/70250
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Run-TryBot: Matt Layher <mdlayher@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-12 16:43:49 +00:00
Tobias Klauser
ebfc5b4631 unix: generate GOARCH specific zsysctl files on OpenBSD
Since CL 10087 build tags for GOOS and GOARCH are emitted by
mksysctl_openbsd.go but the generated file is always written to
zsysctl_openbsd.go.

Adjust mkall.sh to write to GOOS/GOARCH specific files and create a
zsysctl_openbsd_${GOARCH}.go file for each GOARCH supported on openbsd.

Change-Id: Id2a7b2815081f024de0ca87ba870a672bab32d24
Reviewed-on: https://go-review.googlesource.com/68870
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-06 17:50:12 +00:00
Kevin Burke
314a259e30 README: add better links, Markdown
Move the README to README.md so Gerrit can render it; currently
Gerrit only renders files named exactly "README.md" (for example at
https://go.googlesource.com/go).

Add more links to the README explaining how to file issues,
how to submit code changes, where to download the code to and
how to get it. Hopefully this should help people who go to
https://go.googlesource.com/sys or https://github.com/golang/sys
figure out how to get started with development.

Change-Id: I2b3b9cb1021292c3cb4b5eb3a84b5c17eb8429da
Reviewed-on: https://go-review.googlesource.com/49911
Reviewed-by: Kevin Burke <kev@inburke.com>
2017-09-27 05:46:21 +00:00