4 ms·
For the longest time using anything but gcc was a problem. But people found clang/llvm better in many respects and persisted. Today clang/llvm is a drop in opti
by sidkshatriya 3y ago
For the longest time using anything but gcc was a problem. But people found clang/llvm better in many respects and persisted. Today clang/llvm is a drop in option, even to compile the Linux kernel.
Similarly we should persist with musl. It’s infinitely cleaner, simpler and understandable.
- musicale 3y agoAs you imply, it's not really a standard unless there are multiple implementations. I am in favor of standardizing the behavior of libc and having multiple implementations that are commonly used.
- LeFantome 3y agoThere are many, many implementations of the C standard library. Every OS has one—even Windows. There are also many other POSIX ( UNIX-like ) operating systems such as FreeBSD and OpenBSD which have their own. Redox has a Rust-based C library called Relibc that even works on Linux. There are also other C libraries that work on Linux such as dietLibc and of course Bionic, which is the standard C library on Android. The problem is not the lack of a standard, it is that Glibc does not follow the standard and is itself the de facto choice for desktop Linux. Applications that assume Glibc may not work on other implementations ( like MUSL ).
- cycomanic 3y ago> The problem is not the lack of a standard, it is that Glibc does not follow the standard and is itself the de facto choice for desktop Linux. Applications that assume Glibc may not work on other implementations ( like MUSL ). That's incorrect Glibc does follow the relevant standards, you can simply restrict yourself to only use POSIX and C11, it's just that program authors find the glibc-extensions convenient enough to use them over just the bare standard. That said, some of the other libraries don't even claim to support the relevant standards, e.g. Bionic is not even fully POSIX compliant. So an application that assumes MUSL (which btw, also implements glibc, BSD and Linux extensions), can't use Bionic as a drop in replacement (not sure about Relibc).
- pjmlp 3y ago> Every OS has one—even Windows To note that this is only became a thing when the Universal C Runtime was introduced in Windows 10, until then is was pretty much "Every C compiler provides their own", which was the common approach on non-UNIX systems.
- sidkshatriya 3y agoI think we should not standardise lunch on Linux. Firstly it will create a lot of acrimony as different people may have opinions. There is already a standard you need to adhere to. It lives one level lower and is the Linux userland-kernel interface i.e the syscall interface.
- rofrol 3y agolunch and breakfast also