You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm running my go application under OSv and I'm having an issue with the mkdir() syscall (as accessed in go via os.Mkdir()). The issue appears to be that OSv does not implement the mkdir() syscall. I've searched the documentation and tried reviewing the source, but I have not been able to confirm if this system API is implemented or not.
To recreate the issue, add the following lines to end of GoMain in the golang-example provided in the OSv repo:
err := os.Mkdir("/tmp/dstmp", 0700)
if err != nil {
fmt.Println("Failed to create temp dir:", err.Error())
}
The resulting output from building and running an image incorporating this revised app. is:
OSv v0.55.0-162-g55771e1f
eth0: 192.168.122.15
Booted up in 1009.46 ms
Cmdline: /go.so /hello.so
syscall(): unimplemented system call 234
Hello, 世界
Go version: go1.15.6
syscall(): unimplemented system call 258
Failed to create temp dir: mkdir /tmp/dstmp: function not implemented
System call 258 is actually SYS_mkdirat. We are missing a mkdirat() function (should be easy to implement based on similar *at() functions), and then mkdirat references in linux.cc and and libc/syscall_to_function.h to add the system call.
The text was updated successfully, but these errors were encountered:
David smith reports on the mailing list:
System call 258 is actually SYS_mkdirat. We are missing a
mkdirat()
function (should be easy to implement based on similar*at()
functions), and then mkdirat references inlinux.cc
and andlibc/syscall_to_function.h
to add the system call.The text was updated successfully, but these errors were encountered: