PR 66378 points out that syscall.Sendfile does not correct handle an
offset argument: it ignored the initial value. This patch fixes the
problem. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.
Committed to mainline and GCC 5 branch.
Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE (revision 230695)
+++ gcc/go/gofrontend/MERGE (working copy)
@@ -1,4 +1,4 @@
-81dcb1ba4de82a6c9325cb322d5a832a6b1f168d
+97ec885c715b3922b0866c081554899b8d50933a
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
Index: libgo/go/syscall/libcall_bsd.go
===================================================================
--- libgo/go/syscall/libcall_bsd.go (revision 230463)
+++ libgo/go/syscall/libcall_bsd.go (working copy)
@@ -17,6 +17,7 @@ func Sendfile(outfd int, infd int, offse
var soff Offset_t
var psoff *Offset_t
if offset != nil {
+ soff = Offset_t(*offset)
psoff = &soff
}
written, err = sendfile(outfd, infd, psoff, count)
Index: libgo/go/syscall/libcall_linux.go
===================================================================
--- libgo/go/syscall/libcall_linux.go (revision 230463)
+++ libgo/go/syscall/libcall_linux.go (working copy)
@@ -327,6 +327,7 @@ func Sendfile(outfd int, infd int, offse
var soff Offset_t
var psoff *Offset_t
if offset != nil {
+ soff = Offset_t(*offset)
psoff = &soff
}
written, err = sendfile(outfd, infd, psoff, count)