mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 19:57:37 +00:00
musl - an implementation of the standard library for Linux-based systems
the goal is to be able to use pthread_setcancelstate internally in the implementation, whenever a function might want to use functions which are cancellation points but avoid becoming a cancellation point itself. i could have just used a separate internal function for temporarily inhibiting cancellation, but the solution in this commit is better because (1) it's one less implementation-specific detail in functions that need to use it, and (2) application code can also get the same benefit. previously, pthread_setcancelstate dependend on pthread_self, which would pull in unwanted thread setup overhead for non-threaded programs. now, it temporarily stores the state in the global libc struct if threads have not been initialized, and later moves it if needed. this way we can instead use __pthread_self, which has no dependencies and assumes that the thread register is already valid. |
||
---|---|---|
arch | ||
crt | ||
dist | ||
include | ||
lib | ||
src | ||
tools | ||
COPYING | ||
COPYRIGHT | ||
INSTALL | ||
Makefile | ||
README | ||
WHATSNEW |
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