musl - an implementation of the standard library for Linux-based systems
Go to file
Rich Felker 870cc67977 fix minor bugs due to incorrect threaded-predicate semantics
some functions that should have been testing whether pthread_self()
had been called and initialized the thread pointer were instead
testing whether pthread_create() had been called and actually made the
program "threaded". while it's unlikely any mismatch would occur in
real-world problems, this could have introduced subtle bugs. now, we
store the address of the main thread's thread descriptor in the libc
structure and use its presence as a flag that the thread register is
initialized. note that after fork, the calling thread (not necessarily
the original main thread) is the new main thread.
2011-04-20 21:41:45 -04:00
arch namespace fixes for sys/mman.h 2011-04-20 15:55:58 -04:00
crt cleanup comment cruft in startup code 2011-02-21 22:27:35 -05:00
dist remove -Wno-pointer-sign example from dist/config.mak 2011-03-25 16:50:49 -04:00
include implement (nonstandard) forkpty 2011-04-20 20:55:13 -04:00
lib new solution for empty lib dir (old one had some problems) 2011-02-17 17:12:52 -05:00
src fix minor bugs due to incorrect threaded-predicate semantics 2011-04-20 21:41:45 -04:00
tools use -L/...../ -lgcc instead of /...../libgcc.a in musl-gcc wrapper 2011-03-01 12:04:36 -05:00
COPYING initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
COPYRIGHT some docs fixes for x86_64 2011-02-15 14:52:11 -05:00
INSTALL some docs fixes for x86_64 2011-02-15 14:52:11 -05:00
Makefile various changes in preparation for dynamic linking support 2011-02-24 16:37:21 -05:00
README update README since we now DO have a mailing list 2011-04-11 00:10:26 -04:00
WHATSNEW document some changes in the upcoming release 2011-04-14 23:33:46 -04:00

README

musl libc - a new standard library to power a new generation of
Linux-based devices. musl is lightweight, fast, simple, free, and
strives to be correct in the sense of standards-conformance and
safety.

musl is an alternative to glibc, eglibc, uClibc, dietlibc, and klibc.
For reasons why one might prefer musl, please see the FAQ and libc
comparison chart on the project website,

    http://www.etalabs.net/musl/

For installation instructions, see the INSTALL file.

Please refer to the COPYRIGHT file for details on the copyright status
of code included in musl, and the COPYING file for the license (LGPL)
under which the library as a whole is distributed.



Greetings libc hackers!

This package is an _alpha_ release of musl, intended for the curious
and the adventurous. While it can be used to build a complete small
Linux system (musl is self-hosted on the system I use to develop it),
at this point doing so requires a lot of manual effort. Nonetheless, I
hope low-level Linux enthusiasts will try out building some compact
static binaries with musl using the provided gcc wrapper (which allows
you to link programs with musl on a "standard" glibc Linux system),
find whatever embarassing bugs I've let slip through, and provide
feedback on issues encountered building various software against musl.

For bug reports, support requests, or to get involved in development,
please visit #musl on Freenode IRC or subscribe to the musl mailing
list by sending a blank email to musl-subscribe AT lists DOT openwall
DOT com.

Thank you for trying out musl.

Cheers,

Rich Felker / dalias