musl - an implementation of the standard library for Linux-based systems
Go to file
Rich Felker 2de85a9856 fix possible isatty false positives and unwanted device state changes
the equivalent checks for newly opened stdio output streams, used to
determine buffering mode, are also fixed.

on most archs, the TCGETS ioctl command shares a value with
SNDCTL_TMR_TIMEBASE, part of the OSS sound API which was apparently
used with certain MIDI and timer devices. for file descriptors
referring to such a device, TCGETS will not fail with ENOTTY as
expected; it may produce a different error, or may succeed, and if it
succeeds it changes the mode of the device. while it's unlikely that
such devices are in use, this is in principle very harmful behavior
for an operation which is supposed to do nothing but query whether the
fd refers to a tty.

TIOCGWINSZ, used to query logical window size for a terminal, was
chosen as an alternate ioctl to perform the isatty check. it does not
share a value with any other ioctl commands, and it succeeds on any
tty device.

this change also cleans up strace output to be less ugly and
misleading.
2015-02-23 18:53:01 -05:00
arch add syscall numbers for the new execveat syscall 2015-02-09 23:00:56 +01:00
crt add or1k (OpenRISC 1000) architecture port 2014-07-18 14:10:23 -04:00
dist add another example option to dist/config.mak 2012-04-24 16:49:11 -04:00
include add new masked cancellation mode 2015-02-21 22:05:15 -05:00
lib new solution for empty lib dir (old one had some problems) 2011-02-17 17:12:52 -05:00
src fix possible isatty false positives and unwanted device state changes 2015-02-23 18:53:01 -05: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 fix failure of configure to detect gcc due to message translations 2015-01-30 21:54:58 -05:00
COPYRIGHT update COPYRIGHT file to reflect new contributors 2014-07-31 16:06:11 -04:00
INSTALL update notice on broken gcc versions in INSTALL file 2014-07-31 19:02:54 -04:00
Makefile add tarball-producing targets to Makefile for ease of release 2014-06-25 16:14:37 -04:00
README update version reference in the README file 2014-06-25 14:16:53 -04:00
VERSION release 1.1.6 2015-01-13 23:35:08 -05:00
WHATSNEW release 1.1.6 2015-01-13 23:35:08 -05: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.1 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/