3 ms·
> To make what ought to be a system call you have to load some DLL, sys, or lib file at a random (but fixed) path and call a function on it. “Ought to be a sys
by Someone 5y ago
> To make what ought to be a system call you have to load some DLL, sys, or lib file at a random (but fixed) path and call a function on it.
“Ought to be a system call” is a matter of opinion. Among OSes, Linux is an outlier in that it keeps its system call interface stable.
Many other OSes choose to provide a library with a stable interface through which system calls can (and, in some cases must. See https://lwn.net/Articles/806776/ https://lwn.net/Articles/806776/; discussed in https://news.ycombinator.com/item?id=21859612 https://news.ycombinator.com/item?id=21859612) be called. That allows them to change the system call ABI, for example to retire calls that have been superseded by other ones.
(ideally, IMO, that library should not be the C library. There should be two libraries, a “Kernel interface library” and a “C library”. That’s a different subject, though)