ref: b1481c67d3e7709020bdb3a107602ab6ac80624f
dir: /lib/sys/syscall+freebsd-x64.s/
.globl sys$syscall sys$syscall: /* hack: We load 6 args regardless of how many we actually have. This may load junk values, but if the syscall doesn't use them, it's going to be harmless. */ movq %rdi,%rax /* 8(%rsp): hidden type arg */ movq 16(%rsp),%rdi movq 24(%rsp),%rsi movq 32(%rsp),%rdx movq 40(%rsp),%r10 movq 48(%rsp),%r8 movq 56(%rsp),%r9 syscall jae .success negq %rax .success: ret