unix: correct code for cover cmd

This copies http://golang.org/cl/8723 from the syscall package.

Quoting the original CL:

    This is clumsy, but currently cover tool fails as:

    $ go test -run=none -cover syscall
    syscall_linux_amd64.go:15: can only use //go:noescape with external func imp
    FAIL        syscall [build failed]

    This happens because cover tool mishandles //go: comments.
    r and gri said that fixing cover is infeasible due to go/ast limitations.

    So at least fix the offending code so that coverage works.
    This come up in context of coverage-guided fuzzing which works best
    with program-wide coverage.

Change-Id: Id9e243968a4eb7ae75a585877fdf3192c89e419c
Reviewed-on: https://go-review.googlesource.com/10035
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
Ian Lance Taylor
2015-05-13 15:00:16 -07:00
parent b10968a446
commit 44366790d7

View File

@@ -58,8 +58,6 @@ import "syscall"
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
func Getpagesize() int { return 4096 }
//go:noescape
func gettimeofday(tv *Timeval) (err syscall.Errno)
@@ -71,6 +69,8 @@ func Gettimeofday(tv *Timeval) (err error) {
return nil
}
func Getpagesize() int { return 4096 }
func Time(t *Time_t) (tt Time_t, err error) {
var tv Timeval
errno := gettimeofday(&tv)