|
|
|
|
|
by matheusmoreira
1760 days ago
|
|
You're of course correct about all this. I believe the glibc thing has created mainly cultural problems. People don't look at Linux as a separate thing. If I look up Linux system calls on Wikipedia I get diagrams showing glibc wrapping the Linux system call interface because that's what you're supposed to be using. If I look at Linux man pages what I really get is glibc man pages with the actual system calls being almost an afterthought. Glibc wrappers actually do a ton of stuff like add cancellation mechanisms. Glibc also drops support for system calls that break their threading model such as clone. It's the same problem with systemd. I look up Linux init system man pages and get systemd stuff instead. I expected to see kernel APIs useful for writing my own. |
|
The library and kernel interface are more separated in Linux systems than in prior Unixes, with user space C libs being totally separate projects.
Over a Linux kernel you can find glibc, ucLibc, musl, Android s Bionic (newlib derivative from BSD), ...