]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: wrap fstatat only once on linux/{arm64,riscv64}
authorTobias Klauser <tklauser@distanz.ch>
Tue, 9 Aug 2022 08:18:51 +0000 (10:18 +0200)
committerGopher Robot <gobot@golang.org>
Tue, 9 Aug 2022 12:06:26 +0000 (12:06 +0000)
Currently the linux/arm64 and linux/riscv64 ports wrap the fstatat
syscall twice, once in func fstatat and once in func Fstatat. Change the
latter to be a simple wrapper around the former to deduplicate some
code.

Change-Id: I82ec9374e2bcfe116eabf01f021eed1ee810ec15
Reviewed-on: https://go-review.googlesource.com/c/go/+/412934
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Than McIntosh <thanm@google.com>
src/syscall/syscall_linux_arm64.go
src/syscall/syscall_linux_riscv64.go
src/syscall/zsyscall_linux_arm64.go
src/syscall/zsyscall_linux_riscv64.go

index ef935f3a63e4a3309bb792bc0fc450395a8969b1..1ccbad1b759334f0504359225bef216042cbd6bd 100644 (file)
@@ -18,8 +18,12 @@ func EpollCreate(size int) (fd int, err error) {
 //sys  EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
 //sys  Fchown(fd int, uid int, gid int) (err error)
 //sys  Fstat(fd int, stat *Stat_t) (err error)
-//sys  Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
 //sys  fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error)
+
+func Fstatat(fd int, path string, stat *Stat_t, flags int) error {
+       return fstatat(fd, path, stat, flags)
+}
+
 //sys  Fstatfs(fd int, buf *Statfs_t) (err error)
 //sys  Ftruncate(fd int, length int64) (err error)
 //sysnb        Getegid() (egid int)
@@ -40,7 +44,7 @@ func EpollCreate(size int) (fd int, err error) {
 //sys  Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
 
 func Stat(path string, stat *Stat_t) (err error) {
-       return Fstatat(_AT_FDCWD, path, stat, 0)
+       return fstatat(_AT_FDCWD, path, stat, 0)
 }
 
 func Lchown(path string, uid int, gid int) (err error) {
@@ -48,7 +52,7 @@ func Lchown(path string, uid int, gid int) (err error) {
 }
 
 func Lstat(path string, stat *Stat_t) (err error) {
-       return Fstatat(_AT_FDCWD, path, stat, _AT_SYMLINK_NOFOLLOW)
+       return fstatat(_AT_FDCWD, path, stat, _AT_SYMLINK_NOFOLLOW)
 }
 
 //sys  Statfs(path string, buf *Statfs_t) (err error)
index 0ac4c5496ed7b7b72ec29ab1980127a2df271170..1386044609a7ab660383f0865df1ecbf2107055f 100644 (file)
@@ -18,8 +18,12 @@ func EpollCreate(size int) (fd int, err error) {
 //sys  EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
 //sys  Fchown(fd int, uid int, gid int) (err error)
 //sys  Fstat(fd int, stat *Stat_t) (err error)
-//sys  Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
 //sys  fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error)
+
+func Fstatat(fd int, path string, stat *Stat_t, flags int) error {
+       return fstatat(fd, path, stat, flags)
+}
+
 //sys  Fstatfs(fd int, buf *Statfs_t) (err error)
 //sys  Ftruncate(fd int, length int64) (err error)
 //sysnb        Getegid() (egid int)
@@ -44,7 +48,7 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 }
 
 func Stat(path string, stat *Stat_t) (err error) {
-       return Fstatat(_AT_FDCWD, path, stat, 0)
+       return fstatat(_AT_FDCWD, path, stat, 0)
 }
 
 func Lchown(path string, uid int, gid int) (err error) {
@@ -52,7 +56,7 @@ func Lchown(path string, uid int, gid int) (err error) {
 }
 
 func Lstat(path string, stat *Stat_t) (err error) {
-       return Fstatat(_AT_FDCWD, path, stat, _AT_SYMLINK_NOFOLLOW)
+       return fstatat(_AT_FDCWD, path, stat, _AT_SYMLINK_NOFOLLOW)
 }
 
 //sys  Statfs(path string, buf *Statfs_t) (err error)
index 73321bd897cd6818f16d038d04712b35ee1ba175..1e19dcd22dd444b66f922cab211f2913aff8ef28 100644 (file)
@@ -1094,21 +1094,6 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
index 0efa70715d61934840e6760ee152852a954e4ff2..702f7238462a7941bd1d7f1df18de2383f0865aa 100644 (file)
@@ -1094,21 +1094,6 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)