| Commit message (Expand) | Author | Age | Files | Lines |
| * | add *64 junk for sys/*.h headers | Rich Felker | 2012-05-04 | 7 | -0/+50 |
| * | add support for ugly *64 functions with _LARGEFILE64_SOURCE•••musl does not support legacy 32-bit-off_t whatsoever. off_t is always
64 bit, and correct programs that use off_t and the standard functions
will just work out of the box. (on glibc, they would require
-D_FILE_OFFSET_BITS=64 to work.) however, some programs instead define
_LARGEFILE64_SOURCE and use alternate versions of all the standard
types and functions with "64" appended to their names.
we do not want code to actually get linked against these functions
(it's ugly and inconsistent), so macros are used instead of prototypes
with weak aliases in the library itself. eventually the weak aliases
may be added at the library level for the sake of using code that was
originally built against glibc, but the macros will still be the
desired solution in the headers.
| Rich Felker | 2012-05-04 | 8 | -0/+68 |
| * | uglify headers for the sake of junk that compiles with gcc -std=c89/-ansi | Rich Felker | 2012-05-03 | 2 | -6/+24 |
| * | add additional compatibility union member for ipv6 addresses•••in6_* is in the reserved namespace, so this is valid
| Rich Felker | 2012-05-03 | 1 | -0/+2 |
| * | remove minimal linux kernel headers•••these were at best of limited usefulness (for bootstrapping new
systems, mainly) and at worst caused real kernel headers to get
overwritten when upgrading libc.
in case they're needed by anyone, the exact same files are now
available in a new git repository:
git://git.etalabs.net/mini-lkh
| Rich Felker | 2012-05-01 | 5 | -621/+0 |
| * | support alternate glibc name pow10 for exp10 | Rich Felker | 2012-05-01 | 1 | -0/+3 |
| * | first try at writing an efficient and "correct" exp10•••this is a nonstandard function so it's not clear what conditions it
should satisfy. my intent is that it be fast and exact for positive
integral exponents when the result fits in the destination type, and
fast and correctly rounded for small negative integral exponents.
otherwise we aim for at most 1ulp error; it seems to differ from pow
by at most 1ulp and it's often 2-5 times faster than pow.
| Rich Felker | 2012-04-30 | 1 | -0/+4 |
| * | add linux-specific unshare syscall wrapper | Rich Felker | 2012-04-29 | 1 | -0/+1 |
| * | implement getusershell, etc. legacy functions•••I actually wrote these a month ago but forgot to integrate them. ugly,
probably-harmful-to-use functions, but some legacy apps want them...
| Rich Felker | 2012-04-22 | 1 | -0/+3 |
| * | getdtablesize is not standard; move it to its correct spot in unistd.h | Rich Felker | 2012-04-22 | 1 | -1/+1 |
| * | fix breakage in endian.h | Rich Felker | 2012-04-22 | 1 | -1/+1 |
| * | add some ugly byte swapping cruft in endian.h | Rich Felker | 2012-04-22 | 1 | -0/+59 |
| * | add getresuid and getresgid syscall wrappers | Rich Felker | 2012-04-22 | 1 | -0/+2 |
| * | fix header typo | Rich Felker | 2012-04-18 | 1 | -1/+1 |
| * | legacy junk compatibility grab-bag•••- add the rest of the junk traditionally in sys/param.h
- add prototypes for some nonstandard functions
- add _GNU_SOURCE to their source files so the compiler can check proto
| Rich Felker | 2012-04-18 | 4 | -7/+34 |
| * | fix incorrect macro name for MATH_ERREXCEPT in math.h | Rich Felker | 2012-04-18 | 1 | -1/+1 |
| * | move F_DUPFD_CLOEXEC out of bits•••fcntl values 1024 and up are universal, arch-independent. later I'll
add some of the other linux-specific ones for notify, leases, pipe
size, etc. here too.
| Rich Felker | 2012-04-15 | 1 | -0/+2 |
| * | rename __sa_restorer to sa_restorer in struct sigaction•••this is legal since sa_* is in the reserved namespace for signal.h,
per posix. note that the sa_restorer field is not used anywhere, so
programs that are trying to use it may still break, but at least
they'll compile. if it turns out such programs actually need to be
able to set their own sa_restorer to function properly, i'll add the
necessary code to sigaction.c later.
| Rich Felker | 2012-04-13 | 1 | -1/+1 |
| * | fix alloca issue in stdlib.h too•••I forgot _GNU_SOURCE also has it declared here...
| Rich Felker | 2012-04-09 | 1 | -1/+1 |
| * | alloca cannot be a function. #define it to the gcc builtin if possible•••gcc makes this mapping by default anyway, but it will be disabled by
-fno-builtin (and presumably by -std=c99 or similar). for the main
program the error will be reported by the linker, and the issue can
easily be fixed, but for dynamic-loaded so files, the error cannot be
detected until dlopen time, at which point it has become very obscure.
| Rich Felker | 2012-04-09 | 1 | -0/+4 |
| * | remove useless (at best, harmful) feature test checks in aio.h | Rich Felker | 2012-04-03 | 1 | -5/+0 |
| * | optimize signbit macro | Rich Felker | 2012-03-30 | 1 | -2/+2 |
| * | make math.h more c++-friendly | Rich Felker | 2012-03-30 | 1 | -2/+5 |
| * | simplify creal and cimag macros | Rich Felker | 2012-03-22 | 1 | -8/+8 |
| * | add creal/cimag macros in complex.h (and use them in the functions defs) | Rich Felker | 2012-03-22 | 1 | -0/+11 |
| * | tgmath.h: suppress any existing macro definitions before defining macros•••this is necessary so that we can freely add macro versions of some of
the math/complex functions without worrying about breaking tgmath.
| Rich Felker | 2012-03-22 | 1 | -0/+63 |
| * | fix DECIMAL_DIG definitions•••DECIMAL_DIG is not the same as LDBL_DIG
type_DIG is the maximimum number of decimal digits that can survive a
round trip from decimal to type and back to decimal.
DECIMAL_DIG is the minimum number of decimal digits required in order
for any floating point type to survive the round trip to decimal and
back, and it is generally larger than LDBL_DIG. since the exact
formula is non-trivial, and defining it larger than necessary may be
legal but wasteful, just define the right value in bits/float.h.
| Rich Felker | 2012-03-21 | 1 | -2/+0 |
| * | initial, very primitive strfmon | Rich Felker | 2012-03-21 | 1 | -0/+21 |
| * | limits.h: support gcc's -funsigned-char•••some software apparently uses this and breaks with musl due to
mismatching definitions...
| Rich Felker | 2012-03-20 | 1 | -2/+10 |
| * | move nonstandard gamma() etc. to _GNU_SOURCE only•••it's not even provided in the library at the moment, but could easily
be provided with weak aliases if desired.
| Rich Felker | 2012-03-17 | 1 | -4/+4 |
| * | c++ seems to want some casts in the float representation-access macros | Rich Felker | 2012-03-17 | 1 | -2/+2 |
| * | in math.h make lgamma_r and non-double bessel _GNU_SOURCE only•••long double and float bessel functions are no longer xsi extensions
| nsz | 2012-03-15 | 1 | -20/+18 |
| * | efficient sincos based on sin and cos | nsz | 2012-03-15 | 1 | -0/+4 |
| * | first commit of the new libm!•••thanks to the hard work of Szabolcs Nagy (nsz), identifying the best
(from correctness and license standpoint) implementations from freebsd
and openbsd and cleaning them up! musl should now fully support c99
float and long double math functions, and has near-complete complex
math support. tgmath should also work (fully on gcc-compatible
compilers, and mostly on any c99 compiler).
based largely on commit 0376d44a890fea261506f1fc63833e7a686dca19 from
nsz's libm git repo, with some additions (dummy versions of a few
missing long double complex functions, etc.) by me.
various cleanups still need to be made, including re-adding (if
they're correct) some asm functions that were dropped.
| Rich Felker | 2012-03-13 | 3 | -9/+354 |
| * | fix nan/infinity macros in math.h, etc.•••the previous version not only failed to work in c++, but also failed
to produce constant expressions, making the macros useless as
initializers for objects of static storage duration.
gcc 3.3 and later have builtins for these, which sadly seem to be the
most "portable" solution. the alternative definitions produce
exceptions (for NAN) and compiler warnings (for INFINITY) on newer
versions of gcc.
| Rich Felker | 2012-03-02 | 1 | -6/+8 |
| * | typo in math.h c version check | Rich Felker | 2012-03-02 | 1 | -1/+1 |
| * | make math.h compatibe with c89 | Rich Felker | 2012-03-02 | 1 | -1/+5 |
| * | add all missing wchar functions except floating point parsers•••these are mostly untested and adapted directly from corresponding byte
string functions and similar.
| Rich Felker | 2012-03-01 | 1 | -0/+15 |
| * | add memory.h, bogus legacy alias for string.h | Rich Felker | 2012-03-01 | 1 | -0/+1 |
| * | use c++-friendly initializers for pthread initializer definitions•••these will also avoid obnoxious warnings with gcc -Wbraces.
| Rich Felker | 2012-02-29 | 1 | -3/+3 |
| * | add <syscall.h> as an alias for <sys/syscall.h>•••apparently some broken stuff (libstdc++) needs this.
| Rich Felker | 2012-02-29 | 1 | -0/+1 |
| * | replace prototype for basename in string.h with non-prototype declaration•••GNU programs may expect the GNU version of basename, which has a
different prototype (argument is const-qualified) and prototype it
themselves too. of course if they're expecting the GNU behavior for
the function, they'll still run into problems, but at least this
eliminates some compile-time failures.
| Rich Felker | 2012-02-24 | 1 | -1/+1 |
| * | add get_current_dir_name function | Rich Felker | 2012-02-17 | 1 | -0/+1 |
| * | add float_t and double_t to math.h | Rich Felker | 2012-02-15 | 1 | -0/+2 |
| * | replace bad cancellation cleanup abi with a sane one•••the old abi was intended to duplicate glibc's abi at the expense of
being ugly and slow, but it turns out glib was not even using that abi
except on non-gcc-compatible compilers (which it doesn't even support)
and was instead using an exceptions-in-c/unwind-based approach whose
abi we could not duplicate anyway without nasty dwarf2/unwind
integration.
the new abi is copied from a very old glibc abi, which seems to still
be supported/present in current glibc. it avoids all unwinding,
whether by sjlj or exceptions, and merely maintains a linked list of
cleanup functions to be called from the context of pthread_exit. i've
made some care to ensure that longjmp out of a cleanup function should
work, even though it is not required to.
this change breaks abi compatibility with programs which were using
pthread cancellation, which is unfortunate, but that's why i'm making
the change now rather than later. considering that most pthread
features have not been usable until recently anyway, i don't see it as
a major issue at this point.
| Rich Felker | 2012-02-09 | 1 | -16/+9 |
| * | fix typo in inotify.h | Rich Felker | 2012-02-07 | 1 | -1/+1 |
| * | declare basename in string.h when _GNU_SOURCE is defined•••note that it still will have the standards-conformant behavior, not
the GNU behavior. but at least this prevents broken code from ending
up with truncated pointers due to implicit declarations...
| Rich Felker | 2012-02-07 | 1 | -0/+1 |
| * | revert hacks for types of stdint.h integer constant macros•••per 7.18.4: Each invocation of one of these macros shall expand to an
integer constant expression suitable for use in #if preprocessing
directives. The type of the expression shall have the same type as
would an expression of the corresponding type converted according to
the integer promotions. The value of the expression shall be that of
the argument.
the key phrase is "converted according to the integer promotions".
thus there is no intent or allowance that the expression have
smaller-than-int types.
| Rich Felker | 2012-02-07 | 1 | -4/+4 |
| * | more locale_t interfaces (string stuff) and header updates•••this should be everything except for some functions where the non-_l
version isn't even implemented yet (mainly some non-ISO-C wcs*
functions).
| Rich Felker | 2012-02-06 | 3 | -0/+15 |
| * | fix some omissions and mistakes in locale_t interface definitions | Rich Felker | 2012-02-06 | 1 | -0/+24 |