History log of /haiku/src/system/libroot/posix/musl/Jamfile
Revision Date Author Comments
# 87be02e1 08-Apr-2023 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Replace rand() and rand_r() implementations with musl versions.

These functions are obsolete, anyway. We should probably remove
them from the kernel at some point...


# 6b8403b4 13-Feb-2023 David Karoly <karolyd577@gmail.com>

libroot/crypt: replace crypt_des implementation with musl's

This is required to make crypt_r() really reentrant.

Change-Id: I81497be16cae21fabb5895a88e27e6c20d3e06e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6066
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 1b72036b 27-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Replace scandir, alphasort implementations with musl's.

Notably alphasort actually uses strcoll not strcmp, so this does
affect behavior. scandir should be the same.


# a028a54e 18-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Replace strftime/strptime/wcsftime implementations with musl's.

Now that we have locale_t, we can use the musl versions of these functions.
This also fixes a licensing issue: the strptime implementation had an
advertising clause (although in upstream *BSD it was removed, so we
likely could have managed to remove it anyway.)


# 3a76add7 09-Mar-2022 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Replace a64l/l64a with musl equivalents.


# abe93798 15-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Replace glibc search implementation with musl's.

glibc's hsearch and tree functions are old and rather slow.
While these APIs do not appear to be used very often, these
changes can make a big difference: in one benchmark I was sent,
this change is nearly a 10x speedup or more in some cases.


# 657f041a 03-Jul-2020 Augustin Cavalier <waddlesplash@gmail.com>

fnmatch: Replace BSD implementation with musl one.

The BSD implementation was under the Advertising Clause,
so we might as well take the opportunity to replace the
implementation entirely with musl's.

Header also rewritten to be a Haiku one; the constants
are left unchanged of course.


# 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