Various syscalls offered by x/sys/unix on Linux are not available on
Solaris and should be, such as Mkfifo, Getwd(), Futimes() and others.
In particular, all of the *at() variants of existing functions were
added where appropriate.
Getgroups() was fixed to use the correct value for its sanity check on
the maximum number of groups.
Utimesnano() was updated to use the native Solaris utimensat function
for setting nanosecond-precision time.
Utimes() was updated to have the same error semantics and checking as
other platforms.
Getgroups(), anysocktoaddr(), and Recvmsg() were fixed to check the
return value before assuming syscall failure instead of relying solely
on errno being set.
mksyscall_solaris.pl needed some updates to better match the output of
the one found in syscall.
mkerrors.sh needed some updates to work out of the box on Solaris,
matching those recently done to the one in syscall.
The signatures (names) of some function parameters were changed to be
consistent with other platforms for the sake of documentation.
Fixes#8609
Change-Id: I9e4e2fee6d3ecfad9f4d845a5702ffde5166e804
Reviewed-on: https://go-review.googlesource.com/14643
Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
CL 9184 changed the runtime and syscall packages to link Solaris binaries
directly instead of using dlopen/dlsym but failed to update sys/unix to
reflect these changes. This changes the Solaris port to use direct linking
as supported by Go 1.5.
Fixesgolang/go#10086
Change-Id: I6747ed939775b18fd967f81853c7d84537aa3842
Reviewed-on: https://go-review.googlesource.com/13400
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
Semi-automatic migration from package syscall to package {plan9,windows,unix}.
No builds attempted yet, but this gets a lot of noise behind us so subsequent
CLs will be more concise and easier to follow.
Subsequent CLs will have semantic content.
LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/121520043
This CL copies to each package of go.sys the files from syscall it will need.
Different directories have different files, but these:
mkall.sh
str.go
syscall.go
mksyscall.pl
race.go
race0.go
syscall_test.go
are copied to all three.
No changes yet, these are just copies. They are not ready to use yet:
package names are wrong, for starters. But this clean copy will make
it easier to follow the changes as the packages are enabled.
LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/126960043