Skip to content

Commit

Permalink
internal/syscall/unix: use our own version of this package
Browse files Browse the repository at this point in the history
The upstream one assumes it's running on a Unix system (which makes
sense), but this package is also used on baremetal. So replace it on
systems that need a replaced syscall package.
  • Loading branch information
aykevl committed Feb 26, 2025
1 parent 38e3d55 commit 54257ea
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 0 deletions.
2 changes: 2 additions & 0 deletions loader/goroot.go
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,8 @@ func pathsToOverride(goMinor int, needsSyscallPackage bool) map[string]bool {

if needsSyscallPackage {
paths["syscall/"] = true // include syscall/js
paths["internal/syscall/"] = true
paths["internal/syscall/unix/"] = false
}
return paths
}
Expand Down
7 changes: 7 additions & 0 deletions src/internal/syscall/unix/constants.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package unix

const (
R_OK = 0x4
W_OK = 0x2
X_OK = 0x1
)
10 changes: 10 additions & 0 deletions src/internal/syscall/unix/eaccess.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package unix

import "syscall"

func Eaccess(path string, mode uint32) error {
// We don't support this syscall on baremetal or wasm.
// Callers are generally able to deal with this since unix.Eaccess also
// isn't available on Android.
return syscall.ENOSYS
}
12 changes: 12 additions & 0 deletions src/internal/syscall/unix/getrandom.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package unix

type GetRandomFlag uintptr

const (
GRND_NONBLOCK GetRandomFlag = 0x0001
GRND_RANDOM GetRandomFlag = 0x0002
)

func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
panic("todo: unix.GetRandom")
}

0 comments on commit 54257ea

Please sign in to comment.