Please sign in to comment.
sys/freebsd: avoid mangling syscall names
syz-extract was removing certain prefixes from syscall names, but this caused some problems: - freebsd* prefixes are for compatibility syscalls when the syscall ABI has changed. For instance, we have both fstat() and freebsd11_fstat(), and it is desirable to fuzz them both. - Stripping prefixes may leave us with undefined SYS_ constants. This resulted in some test failures in pkg/csource, which emitted code referencing SYS_semctl when it should have been SYS___semctl. Fix the problem by updating syscall descriptions to match the names given by the FreeBSD kernel. Add some new descriptions for compatibility syscalls, fix the mknodat() description (dev_t is now 64 bits wide on FreeBSD), and remove mknod$loop, which appears to be Linux-specific.
- Loading branch information...
Showing with 257 additions and 231 deletions.
- +1 −1 executor/defs.h
- +21 −20 executor/syscalls.h
- +163 −135 sys/freebsd/gen/amd64.go
- +14 −14 sys/freebsd/ipc.txt
- +0 −3 sys/freebsd/ipc_amd64.const
- +46 −13 sys/freebsd/posix_fs.txt
- +3 −0 sys/freebsd/posix_fs_amd64.const
- +5 −10 sys/freebsd/sys.txt
- +3 −6 sys/freebsd/sys_amd64.const
- +1 −29 sys/syz-extract/freebsd.go
Oops, something went wrong.