Go to file
Rich Felker 1974bffa2d use inline atomics and thread pointer on arm models supporting them
this is perhaps not the optimal implementation; a_cas still compiles
to nested loops due to the different interface contracts of the kuser
helper cas function (whose contract this patch implements) and the
a_cas function (whose contract mimics the x86 cmpxchg). fixing this
may be possible, but it's more complicated and thus deferred until a
later time.

aside from improving performance and code size, this patch also
provides a means of producing binaries which can run on hardened
kernels where the kuser helpers have been disabled. however, at
present this requires producing binaries for armv6k or later, which
will not run on older cpus. a real solution to the problem of kernels
that omit the kuser helpers would be runtime detection, so that
universal binaries which run on all arm cpu models can also be
compatible with all kernel hardening profiles. robust detection
however is a much harder problem, and will be addressed at a later
time.
2014-04-07 04:03:18 -04:00
arch use inline atomics and thread pointer on arm models supporting them 2014-04-07 04:03:18 -04:00
crt superh port 2014-02-23 16:15:54 -06:00
dist add another example option to dist/config.mak 2012-04-24 16:49:11 -04:00
include add getauxval function 2014-04-07 02:46:15 -04:00
lib new solution for empty lib dir (old one had some problems) 2011-02-17 17:12:52 -05:00
src add getauxval function 2014-04-07 02:46:15 -04:00
tools fix system breakage window during make install due to permissions 2014-01-15 22:29:13 -05:00
.gitignore add version.h to .gitignore; it is a generated file 2014-01-21 01:06:42 -05:00
configure configure: check for __ILP32__ if arch is x86_64 2014-03-19 22:31:02 +01:00
COPYRIGHT update COPYRIGHT file with additional contributor information 2014-03-20 00:34:19 -04:00
INSTALL update INSTALL file with new information and better advice 2014-03-20 00:55:28 -04:00
Makefile remove dependency of version.h on .git/* to avoid errors 2013-12-04 18:00:19 -05:00
README remove claim of XSI coverage from README 2014-03-20 04:15:47 -04:00
VERSION release 1.0.0 2014-03-20 04:41:15 -04:00
WHATSNEW release 1.0.0 2014-03-20 04:41:15 -04:00

    musl libc

musl, pronounced like the word "mussel", is an MIT-licensed
implementation of the standard C library targetting the Linux syscall
API, suitable for use in a wide range of deployment environments. musl
offers efficient static and dynamic linking support, lightweight code
and low runtime overhead, strong fail-safe guarantees under correct
usage, and correctness in the sense of standards conformance and
safety. musl is built on the principle that these goals are best
achieved through simple code that is easy to understand and maintain.

The 1.0 release series for musl features coverage for all interfaces
defined in ISO C99 and POSIX 2008 base, along with a number of
non-standardized interfaces for compatibility with Linux, BSD, and
glibc functionality.

For basic installation instructions, see the included INSTALL file.
Information on full musl-targeted compiler toolchains, system
bootstrapping, and Linux distributions built on musl can be found on
the project website:

    http://www.musl-libc.org/