I always wanted to say that lwn's effort to write good articles (like this one) is shadowed by their weak website. There isn't for example an index of similar articles like this one or introductions to various kernel modules/structures. Maybe everyone but me can find them.
Yes, the LWN site needs a lot of work. It's just hard to take the time to do that at the expense of the content itself, but some things are in the works...slowly...
Love's "Linux Kernel Development" is less obsolete currently, but I do still think that LDD has a lot of useful information not found elsewhere. Available in all the usual places or downloadable from http://lwn.net/Kernel/LDD3/
I like the idea of a header file with macros distributed with the kernel for providing basic syscall functions. Is there any reason that couldn't work?
Type-safety is hard with macros; you can't use a macro as a function pointer, for the obvious reason that it's not a function; such macros would tend to trample all over libc functionality, and glibc is not the only libc; the kernel and userland should arguably be separate.
It wouldn't be too hard to create (generate) a "libwrapsyscall" that just provided syscalls; if this is worth doing, it's worth doing properly.
How about 'static inline' functions distributed along with the libc header files? You get type / number of arguments correctness and no ABI bloat, at the cost of having (minimal) code in header files and per-object code duplication (possibly solved by an intelligent cc/ld).
Theres a syscall here that maybe the layer between OS and program should expose
- Never