Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

musl libc hits 1.0 milestone

dalias (1978986) writes | about 5 months ago

3

dalias (1978986) writes "The musl libc project has released version 1.0, the result of three years of development and testing. Musl is a lightweight, fast, simple, MIT-licensed, correctness-oriented alternative to the GNU C library (glibc), uClibc, or Android's Bionic. At this point musl provides all mandatory C99 and POSIX interfaces (plus a lot of widely-used extensions), and well over 5000 packages are known to build successfully against musl.

Several options are available for trying musl. Compiler toolchains are available from the musl-cross project, and several new musl-based Linux distributions are already available (Sabotage and Snowflake, among others). Some well-established distributions including OpenWRT and Gentoo are in the process of adding musl-based variants, and others (Aboriginal, Alpine, Bedrock, Dragora) are adopting musl as their default libc."

cancel ×

3 comments

Sorry! There are no comments related to the filter you selected.

Static linking (1)

jpc (33615) | about 5 months ago | (#46531929)

And it supports static linking properly, unlike glibc which requires some stuff to still be dynamically linked. So if you want a static binary you can distribute to any Linux version it is a great choice. Plus even dynamically linked it has a single shared library and does not need loads of support files (locales etc) that glibc does. Very useful.

Re:Static linking (1)

dalias (1978986) | about 5 months ago | (#46532333)

Yes. These days glibc seems to have "un-deprecated" static linking (they're accepting bug reports for problems that only affect static linking), but it's still something of a second-class citizen. I believe there's still a good deal of pthread breakage, and no attention to making the size of static binaries acceptable.

In musl, I've made efficient and bug-free static linking a priority from the beginning. The empty program isn't quite as small as some of our extreme anti-bloat userbase would like (it's around 1.8k now), but it's still very low compared to anything except dietlibc (which has a number of issues). More interestingly, we can do a static-linked multi-threaded "hello world" in under 4k.

Some figures can be seen in the libc comparison [etalabs.net] I did back when musl was first released.

Cleaner code (1)

BentSorenDahl (879286) | about 5 months ago | (#46532651)

Code is way cleaner than glibc and uclibc. It is a really promising libc.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>