go.arm64
go.arm64 copied to clipboard
syscall: zsysnum_linux_arm64.go has wrong syscall numbers
We fixed the ones in the runtime, but the syscall package is also wrong for some and needs vetting.
so the correct arm64 syscall numbers are specified in: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h?id=refs/heads/master
right?
Yes. On 15 Feb 2015 18:12, "Minux Ma" [email protected] wrote:
so the correct arm64 syscall numbers are specified in:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h?id=refs/heads/master
right?
— Reply to this email directly or view it on GitHub https://github.com/4ad/go/issues/91#issuecomment-74406913.
I gave up on reading headers and wrote a C program to print the values.
sent from my phone, please excuse brevity On 15 Feb 2015 20:15, "Dave Cheney" [email protected] wrote:
Yes. On 15 Feb 2015 18:12, "Minux Ma" [email protected] wrote:
so the correct arm64 syscall numbers are specified in:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h?id=refs/heads/master
right?
— Reply to this email directly or view it on GitHub https://github.com/4ad/go/issues/91#issuecomment-74406913.
— Reply to this email directly or view it on GitHub https://github.com/4ad/go/issues/91#issuecomment-74406964.
We need to fix this sooner as we've reached a stage we can actually use syscall.
for example, gofmt < cmd/go/build.go works, but gofmt cmd/go/build.go reports "invalid argument". Strace showed that it's using two unimplemented 32-bit compat syscalls:
stat("cmd/go/build.go", 0x4208066000) = -1 ENOSYS (Function not implemented)
open("cmd/go/build.go", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented)
Open
fixed in eb9af0c
still need to fix Lstat. cmd/go is failing on that one.
Also Mkdir, Unlink, Rmdir, Chmod.
I've fixed the first three and Lstat, and cmd/go works. But I can still observe failed Chmod syscalls issued by cmd/go.
Basically, we must fix each of the syscall listed here: https://github.com/4ad/go/blob/dev.arm64/src/syscall/syscall_linux_arm64.go#L98
Fixed most of them, go test os
passes.
Removing milestone as the most important offenders were fixed and I want to clear the milestone.