unix: add SyscallNoError and RawSyscallNoError on Linux

Add the SyscallNoError and RawSyscallNoError wrapper functions which are
used for syscalls that don't return an error. Also convert all applicable
syscalls to use these wrappers.

Updates golang/go#22924

Change-Id: Ie143abc99de8d12d36b67ac278e08d7565f73ce0
Reviewed-on: https://go-review.googlesource.com/85756
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Tobias Klauser authored and Brad Fitzpatrick committed 2018-01-03 16:03:02 +00:00
1 parent 83801418e1
commit 28a7276518
21 files changed
+370 -130

No files matched your search

+14 -2
View File
@@ -210,7 +210,15 @@ while(<>) {
# Determine which form to use; pad args with zeros.
my $asm = "Syscall";
if ($nonblock) {
$asm = "RawSyscall";
if ($errvar ne "") {
$asm = "RawSyscall";
} else {
$asm = "RawSyscallNoError";
}
} else {
if ($errvar eq "") {
$asm = "SyscallNoError";
}
}
if(@args <= 3) {
while(@args < 3) {
@@ -284,7 +292,11 @@ while(<>) {
if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") {
$text .= "\t$call\n";
} else {
$text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
if ($errvar ne "") {
$text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
} else {
$text .= "\t$ret[0], $ret[1] := $call\n";
}
}
$text .= $body;