mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-05 16:47:27 -04:00
unix: add various missing syscalls available on Linux
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>
This commit is contained in:
committed by
Aram Hăvărneanu
parent
131454b560
commit
68a71b6be5
+8
-2
@@ -12,12 +12,17 @@ export LC_ALL=C
|
||||
export LC_CTYPE=C
|
||||
|
||||
if test -z "$GOARCH" -o -z "$GOOS"; then
|
||||
echo 1>&2 "GOARCH or GOOS not defined in environment"
|
||||
exit 1
|
||||
echo 1>&2 "GOARCH or GOOS not defined in environment"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CC=${CC:-gcc}
|
||||
|
||||
if [[ "$GOOS" -eq "solaris" ]]; then
|
||||
# Assumes GNU versions of utilities in PATH.
|
||||
export PATH=/usr/gnu/bin:$PATH
|
||||
fi
|
||||
|
||||
uname=$(uname)
|
||||
|
||||
includes_Darwin='
|
||||
@@ -200,6 +205,7 @@ includes_OpenBSD='
|
||||
'
|
||||
|
||||
includes_SunOS='
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/sockio.h>
|
||||
|
||||
Reference in New Issue
Block a user