aboutsummaryrefslogtreecommitdiff
path: root/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-05-04fix error reporting for dlsym with global symbolsRich Felker1-1/+2
2012-05-05math: change the formula used for acos.snsz2-20/+16
old: 2*atan2(sqrt(1-x),sqrt(1+x)) new: atan2(fabs(sqrt((1-x)*(1+x))),x) improvements: * all edge cases are fixed (sign of zero in downward rounding) * a bit faster (here a single call is about 131ns vs 162ns) * a bit more precise (at most 1ulp error on 1M uniform random samples in [0,1), the old formula gave some 2ulp errors as well)
2012-05-04fix uninitialized var in vfwprintf printing 0-prec stringRich Felker1-1/+1
this could lead to spurious failures of wide printf functions
2012-05-04add *64 junk for sys/*.h headersRich Felker7-0/+50
2012-05-04add support for ugly *64 functions with _LARGEFILE64_SOURCERich Felker8-0/+68
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.
2012-05-03avoid setting nondefault scheduler tooRich Felker1-1/+1
2012-05-03implement stub versions of sched_*Rich Felker7-0/+49
these actually work, but for now they prohibit actually setting priority levels and report min/max priority as 0.
2012-05-03uglify headers for the sake of junk that compiles with gcc -std=c89/-ansiRich Felker2-6/+24
2012-05-03add additional compatibility union member for ipv6 addressesRich Felker1-0/+2
in6_* is in the reserved namespace, so this is valid
2012-05-03overhaul SSP support to use a real canaryRich Felker6-12/+25
pthread structure has been adjusted to match the glibc/GCC abi for where the canary is stored on i386 and x86_64. it will need variants for other archs to provide the added security of the canary's entropy, but even without that it still works as well as the old "minimal" ssp support. eventually such changes will be made anyway, since they are also needed for GCC/C11 thread-local storage support (not yet implemented). care is taken not to attempt initializing the thread pointer unless the program actually uses SSP (by reference to __stack_chk_fail).
2012-05-03make all .o files depend on *_impl.h and libc.hRich Felker1-2/+3
hopefully the annoyance of this will be minimal. these files all define internal interfaces which can change at any time; if different modules are using different versions of the interfaces, the library will badly break. ideally we would scan and add the dependency only for C files that actually reference the affected interfaces, but for now, err on the side of caution and force a rebuild of everything if any of them have changed. this commit is in preparation for the upcoming ssp overhaul commit, which will change internals of the pthread struct.
2012-05-02remove some junk from x86_64 start filesRich Felker2-4/+0
looks like nik copied these "extra arguments" from the i386 code. they're not actually arguments there, just 1-byte instructions to make sure the stack is aligned to 16 bytes after all the other arguments are pushed. since each push is 8 bytes on x86_64, they happened to have no effect here, but their presence is confusing and a minor waste of space.