#
f504f610 |
|
04-Jan-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
libroot: Replace most of libm with musl's. The glibc libm code was showing its age, and has recently been the subject of a number of tickets about its inaccuracy. Additionally, some developers have complained about how convoluted the headers are, and thus how hard it is to add support for new architectures (and how flaky the support for the existing architectures is.) So, with this commit, nearly the entire glibc libm has been gutted and replaced with the one from musl 1.1.24. The complex functions from glibc are retained (as they are more mature than musl's), as are some glibc-internal libm functions. This also has the advantage that these functions are actually using our <math.h>, whereas GCC used its own, which was rather dangerous for obvious reasons. Additionally, the new math functions are always compiled with GCC 8 (even on x86_gcc2), as it seems GCC 2 does not quite understand some of the union-aliasing they use (a lot of which was added in C99, I suppose.) FFmpeg on x86_gcc2 is already compiled with GCC 8 and that has so far worked out well, so there should not be any problems caused by this. I did verify that ARM and PPC at least still compile, though other architectures may require a bit more work (they are not bootstrapped so I could not do much.) Should fix #14933 among other issues. Change-Id: Ifeea0ddab23a8d0480fc26dece1b0192afc263bd
|
#
4b2da9c3 |
|
03-Mar-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
glibc: cleanup long double support - Add 128 bit long double support from current glibc and a few headers they need - Move the existing 80 bit float support in a sub directory of generic, it is not universal to all archs (see file added in docs/develop/arch). Also include some new .h files for x86 that are needed after these changes (from newer versions of the glibc). - Adjust Jamfiles for m68k, x86 and x86_64 to use the 80bit format - Do not adjust arm jamfiles, it was wrongly using 80bit long double and should be fixed to use 64bit instead (which means the double functions can be used with aliases) - Do not adjust powerpc jamfiles, because it uses yet another format and we build it without long double support anyways. Note that I moved only the files that were creating compile errors, quite likely more of the s_* and e_* files need to be moved to the specific directories, see glibc list here: https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/ieee754/ldbl-128 https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/ieee754/ldbl-96 Change-Id: Ic2d8a454ba9a3b99638e4fbb63daf02df0fea403 Reviewed-on: https://review.haiku-os.org/c/1143 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|