Is musl faster?
In most cases, musl is not slower . Rust users have seen similar . I’ve spent more time working in the sources of these two packages than I’d recommend the average sane person do (especially glibc’s).
What is musl package?
musl.libc.org. musl is a C standard library intended for operating systems based on the Linux kernel, released under the MIT License. It was developed by Rich Felker with the goal to write a clean, efficient and standards-conformant libc implementation.
What is glibc vs musl?
Under musl, constructors only run the first time a library is run, and destructors only run on exit. Under glibc, the contents of all static storage in a library will be reset to its original state if the library is unloaded and reloaded. Under musl, it will never be reset.
What does musl stand for?
MUSL
Acronym | Definition |
---|---|
MUSL | Multi-State Lottery Association |
MUSL | Michigan United Soccer League |
Why is glibc bad?
The most important reason why glibc should not be statically linked, is that it makes extensive internal use of dlopen , to load NSS (Name Service Switch) modules and iconv conversions. The modules themselves refer to C library functions.
Why does alpine use Musl?
Alpine Linux is a Linux distribution based on musl and BusyBox, designed for security, simplicity, and resource efficiency. It uses OpenRC for its init system and compiles all user-space binaries as position-independent executables with stack-smashing protection.
Why does alpine use musl?
Why you should not use Alpine?
It is not a complete database of all security issues in Alpine, and it should be used in combination with another more complete CVE database. Unless you want massively slower build times, larger images, more work, and the potential for obscure bugs, you’ll want to avoid Alpine Linux as a base image.
What’s the difference between glibc and MUSL libc?
Normally this just yields good performance independent of heuristics on when to buffer and when to transfer. However, it does also impact how Linux interprets some writes to files in /proc.
Which is the latest version of MUSL libc?
All versions prior to 1.2.2 are affected by CVE-2020-28928, a buffer overflow in the input-length-limited wcsnrtombsfunction, potentially affecting any program which uses this function. On 32-bit x86 (“i386”) only, all versions prior to 1.1.23 are affected by CVE-2019-14697.
Why is the standard library included in MUSL?
On musl, the entire standard library is included in a single library file — libc.afor static linking, and libc.sofor dynamic linking. This significantly improves the efficiency of dynamic linking, and avoids all sorts of symbol interposition bugs that arise when you split the libraries up — bugs which have plagued glibc for more than a decade.
Is there a buffer overflow in MUSL libc?
A buffer overflow (CVE-2020-28928) in wcsnrtombshas been fixed with the function essentially rewritten. This function is not widely used and the bug is not relevant to software that does not use it directly (it’s not used by other libc components), but it may be serious for software that does.