]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: fix Statfs and Fstatfs on Linux/ARM
authorShenghou Ma <minux.ma@gmail.com>
Sun, 7 Oct 2012 16:13:28 +0000 (00:13 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Sun, 7 Oct 2012 16:13:28 +0000 (00:13 +0800)
R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/6615055

src/pkg/syscall/syscall_linux_arm.go
src/pkg/syscall/zsyscall_linux_arm.go

index 96e097b06292fc4abf45c8c641d3e8b1547654d0..766cf37c6ca1cc2147a27a924b7e3e6cf344c7b3 100644 (file)
@@ -4,6 +4,8 @@
 
 package syscall
 
+import "unsafe"
+
 func Getpagesize() int { return 4096 }
 
 func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
@@ -46,7 +48,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
 //sys  Chown(path string, uid int, gid int) (err error) = SYS_CHOWN32
 //sys  Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
 //sys  Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
-//sys  Fstatfs(fd int, buf *Statfs_t) (err error) = SYS_FSTATFS64
 //sysnb        Getegid() (egid int) = SYS_GETEGID32
 //sysnb        Geteuid() (euid int) = SYS_GETEUID32
 //sysnb        Getgid() (gid int) = SYS_GETGID32
@@ -66,7 +67,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
 //sys  Shutdown(fd int, how int) (err error)
 //sys  Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
 //sys  Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
-//sys  Statfs(path string, buf *Statfs_t) (err error) = SYS_STATFS64
 
 // Vsyscalls on amd64.
 //sysnb        Gettimeofday(tv *Timeval) (err error)
@@ -79,6 +79,26 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
 
 //sys  mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)
 
+func Fstatfs(fd int, buf *Statfs_t) (err error) {
+       _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))
+       if e != 0 {
+               err = e
+       }
+       return
+}
+
+func Statfs(path string, buf *Statfs_t) (err error) {
+       pathp, err := BytePtrFromString(path)
+       if err != nil {
+               return err
+       }
+       _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))
+       if e != 0 {
+               err = e
+       }
+       return
+}
+
 func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
        page := uintptr(offset / 4096)
        if offset != int64(page)*4096 {
index 7b35263949901ae1e8e9cafa08c3072267d07494..7ce6c4732283b202fb1e4f310d20186e100e15c3 100644 (file)
@@ -1412,16 +1412,6 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fstatfs(fd int, buf *Statfs_t) (err error) {
-       _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
-       if e1 != 0 {
-               err = e1
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getegid() (egid int) {
        r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0)
        egid = int(r0)
@@ -1622,21 +1612,6 @@ func Stat(path string, stat *Stat_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Statfs(path string, buf *Statfs_t) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-       if e1 != 0 {
-               err = e1
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Gettimeofday(tv *Timeval) (err error) {
        _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
        if e1 != 0 {