#
086766ed |
|
21-Jan-2020 |
François Revol <revol@free.fr> |
m68k: fix math in libroot Change-Id: Icd50c5887d1b96818c620046b20ba51aac55ec18 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2212 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
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>
|
#
835545cf |
|
29-Sep-2013 |
François Revol <revol@free.fr> |
M68K: drop dupplicate strlen Seems we have our own now.
|
#
b0944c78 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
ae901935 |
|
24-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Introduce __set_errno() throughout libroot. * add errno_private.h, which defines the __set_errno() macro with and without tracing * instead of setting errno manually, all libroot's code now invokes __set_errno(), which makes it much easier to trace changes to errno * redirect glibc's use of __set_errno() to our own version
|
#
d0c19517 |
|
13-Dec-2009 |
Jérôme Duval <korli@users.berlios.de> |
added fmin, fma, fmax from glibc (ticket #5114). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34652 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
59d67522 |
|
02-Jun-2009 |
Jérôme Duval <korli@users.berlios.de> |
added lrint and llrint functions to math.h added generic implementations for ppc and m68k git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab2b993d |
|
06-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added nexttoward() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27349 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb971482 |
|
06-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added more posix functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27348 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04e088c3 |
|
03-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
I forgot that m68k build doesn't include long double versions of functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c91170f |
|
01-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added fpclassifyl git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27272 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ee679412 |
|
23-Jun-2008 |
François Revol <revol@free.fr> |
Add missing s_fabs* from glibc-2.3.5. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26102 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e65c298c |
|
24-Apr-2008 |
François Revol <revol@free.fr> |
Add memrchr for ppc and m68k too. Please don't forget other archs when adding stuff :P git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d8fe1829 |
|
19-Jan-2008 |
François Revol <revol@free.fr> |
Add *rint*() from glibc 2.3.5. This make app_server link \o/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23651 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
850456ed |
|
19-Jan-2008 |
Jérôme Duval <korli@users.berlios.de> |
added missing m68k bits for math functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23648 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd68e9e8 |
|
26-Oct-2007 |
François Revol <revol@free.fr> |
More of the libc... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc9ad8e8 |
|
24-Oct-2007 |
François Revol <revol@free.fr> |
Start of math support from glibc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22701 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
835545cfd10f48fd97fee02d080b84d85b892804 |
|
29-Sep-2013 |
François Revol <revol@free.fr> |
M68K: drop dupplicate strlen Seems we have our own now.
|
#
b0944c78b074a8110bd98e060415d0e8f38a7f65 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
ae9019359606f1db67632ef51a77ce70001d3770 |
|
24-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Introduce __set_errno() throughout libroot. * add errno_private.h, which defines the __set_errno() macro with and without tracing * instead of setting errno manually, all libroot's code now invokes __set_errno(), which makes it much easier to trace changes to errno * redirect glibc's use of __set_errno() to our own version
|
#
d0c195171329ed1c9897389d215ad9e6e5973284 |
|
13-Dec-2009 |
Jérôme Duval <korli@users.berlios.de> |
added fmin, fma, fmax from glibc (ticket #5114). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34652 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
59d67522eabb778c773077a1645623c303751d2c |
|
02-Jun-2009 |
Jérôme Duval <korli@users.berlios.de> |
added lrint and llrint functions to math.h added generic implementations for ppc and m68k git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab2b993da90d47e29d4b52de3f3abf9477b4c93c |
|
06-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added nexttoward() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27349 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb97148298fa3b2b22efc9584ba048fc0de05495 |
|
06-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added more posix functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27348 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04e088c3a93cf117e7e8e05b1c875bb2a27bdc9f |
|
03-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
I forgot that m68k build doesn't include long double versions of functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c91170f95fa4a764af2586fc4f12906744dda2d |
|
01-Sep-2008 |
Jérôme Duval <korli@users.berlios.de> |
added fpclassifyl git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27272 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ee679412f7358f3f8c89a3c3eae63a0ac883fae2 |
|
23-Jun-2008 |
François Revol <revol@free.fr> |
Add missing s_fabs* from glibc-2.3.5. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26102 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e65c298c0e418136ee1670741e3939a6c8fa0bec |
|
24-Apr-2008 |
François Revol <revol@free.fr> |
Add memrchr for ppc and m68k too. Please don't forget other archs when adding stuff :P git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d8fe1829e21b1822071ea2f100d97a65eb93c3c3 |
|
19-Jan-2008 |
François Revol <revol@free.fr> |
Add *rint*() from glibc 2.3.5. This make app_server link \o/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23651 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
850456ed43d0b58f596f75d976b48b847cecbf45 |
|
19-Jan-2008 |
Jérôme Duval <korli@users.berlios.de> |
added missing m68k bits for math functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23648 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd68e9e8b4273bb7f91680e04f5cda6ec74a73a8 |
|
26-Oct-2007 |
François Revol <revol@free.fr> |
More of the libc... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc9ad8e824b5eeeb1951bf2b7a355dfa119dec98 |
|
24-Oct-2007 |
François Revol <revol@free.fr> |
Start of math support from glibc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22701 a95241bf-73f2-0310-859d-f6bbb57e9c96
|