History log of /haiku/src/system/libroot/posix/glibc/arch/m68k/Jamfile
Revision Date Author Comments
# 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