musl/src
Szabolcs Nagy 07039ed856 math: fix exp2l asm on x86 (raise underflow correctly)
there were two problems:
* omitted underflow on subnormal results: exp2l(-16383.5) was calculated
as sqrt(2)*2^-16384, the last bits of sqrt(2) are zero so the down scaling
does not underflow eventhough the result is in subnormal range
* spurious underflow for subnormal inputs: exp2l(0x1p-16400) was evaluated
as f2xm1(x)+1 and f2xm1 raised underflow (because inexact subnormal result)

the first issue is fixed by raising underflow manually if x is in
(-32768,-16382] and not integer (x-0x1p63+0x1p63 != x)

the second issue is fixed by treating x in (-0x1p64,0x1p64) specially

for these fixes the special case handling was completely rewritten
2013-09-05 11:30:09 +00:00
..
aio fix invalid access in aio notification 2013-06-16 10:39:02 -04:00
complex complex: add C11 CMPLX macros and replace cpack with them 2012-11-13 01:31:49 +01:00
conf a few more fixes for unistd/sysconf feature reporting 2013-07-27 00:02:39 -04:00
crypt comment potentially-confusing use of struct crypt_data type 2013-04-20 14:07:01 -04:00
ctype fix types for wctype_t and wctrans_t 2013-03-04 19:22:14 -05:00
dirent refactor headers, especially alltypes.h, and improve C++ ABI compat 2013-07-22 11:22:36 -04:00
env add system for resetting TLS to initial values 2013-08-03 16:27:30 -04:00
errno fix typo in newly-added error message for EOWNERDEAD 2013-02-07 03:13:35 -05:00
exit add support for init/fini array in main program, and greatly simplify 2013-07-21 03:00:54 -04:00
fcntl provide emulation of fcntl F_DUPFD_CLOEXEC on old kernels 2013-03-26 22:54:57 -04:00
fenv fix invalid instruction mnemonics in powerpc fenv asm 2013-08-27 18:54:46 -04:00
internal math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
ipc prevent shmget from allocating objects that overflow ptrdiff_t 2013-06-29 00:02:38 -04:00
ldso make dlopen honor the rpath of the main program 2013-08-23 23:13:25 -04:00
legacy unbreak vwarn: print ": " before errno message 2013-08-21 00:49:46 -04:00
linux fix the prototype of settimeofday to follow the original BSD declaration 2013-05-26 16:01:38 +00:00
locale remove spurious tmp file present since initial git check-in 2013-08-17 22:28:50 -04:00
malloc remove redundant check in memalign 2013-07-23 23:40:26 -04:00
math math: fix exp2l asm on x86 (raise underflow correctly) 2013-09-05 11:30:09 +00:00
misc remove incorrect cancellation points from realpath 2013-08-31 16:01:01 -04:00
mman fix shm_open wrongly being cancellable 2013-07-20 13:19:14 -04:00
mq use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
multibyte fix failure of mbsrtowcs to record stop position when dest is full 2013-06-29 16:16:47 -04:00
network fix regression in dn_expand/reverse dns 2013-08-23 21:25:01 -04:00
passwd change uid_t, gid_t, and id_t to unsigned types 2013-07-19 01:34:28 -04:00
prng improve the quality of output from rand_r 2013-06-12 18:20:48 -04:00
process optimize posix_spawn to avoid spurious sigaction syscalls 2013-08-09 21:03:47 -04:00
regex revert regex "cleanup" that seems unjustified and may break backtracking 2013-02-01 01:10:59 -05:00
sched add pthread_setaffinity_np and pthread_getaffinity_np functions 2013-08-10 21:41:05 -04:00
search make tdestroy allow null function pointer if no destructor is needed 2013-08-02 21:20:33 -04:00
select remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG 2013-03-26 23:07:31 -04:00
setjmp remove fenv saving/loading code from setjmp/longjmp on arm 2012-12-05 19:13:47 -05:00
signal fix breakage in synccall due to incorrect signal restoration in sigqueue 2013-08-31 01:12:00 -04:00
stat make fchdir, fchmod, fchown, and fstat support O_PATH file descriptors 2013-08-02 13:33:31 -04:00
stdio fix special-case breakage in popen due to reversed argument order 2013-09-01 17:02:35 -04:00
stdlib make fcvt decimal point location for zero make more sense 2013-08-07 11:19:11 -04:00
string optimized C memcpy 2013-08-28 03:34:57 -04:00
temp fix typo in comment in __randname 2013-09-04 10:23:42 -04:00
termios legacy junk compatibility grab-bag 2012-04-18 12:22:24 -04:00
thread fix mips-specific bug in synccall (too little space for signal mask) 2013-09-02 15:19:37 -04:00
time add the %s (seconds since the epoch) format to strftime 2013-08-25 02:02:15 -04:00
unistd fix missing return value warning in faccessat, minor cleanup 2013-08-31 23:15:48 -04:00