* Mathieu Desnoyers: > In some sense, it's a good thing that there isn't such wrapper exposed > yet. It also makes me wonder whether exposing system calls directly as a > library ABI is a good thing. It appears that library ABIs have stronger > restrictions with respect to number and types of parameters than system > calls. The generic syscall wrapper function cannot be used to call all system calls on several architectures (e.g., if the kernel ABI has long as 64 bits, userspace has 32 bits, and the syscall function is *required* to return a long value, not long long). It may also be difficult to get the argument promotion correctly. _time64-only architectures have source code impact even if time is not actually used in the call. And so on. A wrapper-less approach is possible, I think, even with C. But I do not think that userspace source code portability without wrappers has been a concern for system call design so far. It's a very constrained space already, so I'm not sure if it's a good idea to add further rules.