Bypassing libc to call `syscall()` directly is exactly how musl and Google's Fuchsia libc bootstrap their runtimes, and it's the same register convention (RAX for the number, RDI/RSI/RDX for arguments) that `strace` decodes and gdb inspects when debugging a crash. Static binaries built this way are also how minimal Docker base images and Go's early runtime avoided depending on a dynamically linked glibc entirely.