code wiki / (root) / nx_syscall_sanity_kat.nx

nx_syscall_sanity_kat.nx

buildroot/runtime/nx_syscall_sanity_kat.nx

2998 B67 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tooltopic syscall
docsdependenciesstructsconstsfunctions

about

nx_syscall_sanity_kat.nx -- T11 class: the SYSCALL-NUMBER COLLISION gate that would have caught the whole class. The x86 backend feeds const syscall numbers through an RV64->x86_64 translator; an x86_64 number that collides with an RV64 key was silently mistranslated (clone56->openat, execve59->pipe, wait4 61-> getdents, socket41->unshare, kill62->lseek). Each miscompile produces WRONG RUNTIME BEHAVIOR, so exercising every collision-prone wrapper and asserting a sane result catches any regression. Self-checking: exit 0 == all correct. See reference-syscall-number-rv64-x86-collision-2026-07-16. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 1 imports · 0 importers

nx_syscalls_x86_64.nx nx_syscall_sanity_kat.nx

imports: nx_syscalls_x86_64.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_socket sys_pipe2 sys_getuid sys_getgid sys_fork sys_wait4 sys_execve

structs

none

consts

none

functions

12func main() -> i64