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


# a8344698 10-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

libroot: added a complex.h header based on ...

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html
* added missing parts from glibc.
* x86_64 was already complete, x86 was missing a few functions.
* should help with #12202, provided that the gcc4 buildtools are rebuilt.


# 97d6f117 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add s_tanhl.c to x86 jamfile

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 2a6a28e4 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add s_ldexpl.c to x86 jamfile

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 894dfa1e 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add glibc ilogbl implemenation

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 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).


# 87dfde44 29-Dec-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Stop using glibc's asm strlen and use our own.

Mostly done because olta want less dependency on glibc.
It should also make porting a tiny bit simpler.

Testresults, mean values on Haiku from libMicro:
* with glibc: strlen_10: 0.03859S, strlen_1k: 1.67075S.
* with strlen.cpp: strlen_10: 0.03854S, strlen_1k: 1.66938S.

So at least on my machine it's possible to beat glibc ;)


# 86216323 10-Dec-2011 Jérôme Duval <jerome.duval@gmail.com>

Fixed math.h part of #2696

* added lgammal_r wrapper
* removed gamma_r and gammaf_r functions from math.h


# 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


# 28bedeb5 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Applied a patch by MrSunshine that adds modfl() - thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37904 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 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


# 15f18c09 03-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added missing posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e0d60f5 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

adding POSIX-functions llround*(), which Maxime reported missing
* copied implementations for llround(), llroundf() and llroundl() from
glibc-2.3.2
* added corresponding declarations to math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33863 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


# 2eb280d3 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added a few more math functions, rearranged some functions in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaec7603 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added matherr, lroundl and roundl


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27338 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ac2fa30 01-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added gammal_r and lgammal_r private functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27274 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


# 88e8ee78 31-Aug-2008 Jérôme Duval <korli@users.berlios.de>

added s_signbitf.c for x86


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27259 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6112fe9a 16-Apr-2008 Jérôme Duval <korli@users.berlios.de>

added memrchr and dirname


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e230349 10-Nov-2007 Ryan Leavengood <leavengood@gmail.com>

I needed nextafterf support in WebKit, so I added it here. It was already
defined in the headers. If this is not the correct way to do this, let me
know, but it seems to work (well it compiled at least.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 583b66bf 08-Jun-2007 Jérôme Duval <korli@users.berlios.de>

added trunc, truncf (and truncl on x86) from glibc
should help on bug #1260


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21350 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d13fd67a 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

Imported lround() and lroundf() from glibc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17399 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b7b5cda1 27-Apr-2006 Jérôme Duval <korli@users.berlios.de>

updated gamma and gammaf
copied y0 y1 yn BeOS behaviour (even if the spec accepts both)
added ilogb ilogbf significand significandf (x86 and generic)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17248 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 99d94ad2 18-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added fegetround() and fesetround(), disabled special SSE support for the latter, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3b74cca6 16-Mar-2006 Jérôme Duval <korli@users.berlios.de>

replaced strlen with glibc optimized version i586 and powerpc32
if build fails, simply delete the object file posix_build.o manually


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f357360c 12-Mar-2006 Jérôme Duval <korli@users.berlios.de>

added more multibyte glibc functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16728 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22b4c9ca 02-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added missing [l]lrint[f|l]() functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16570 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ba41c650 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added more math functions (complex ones)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5acbf1f5 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added more math functions (complex ones)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 162972f5 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added missing wrappers from glibc 2.3.6
hopefully fix bug #157


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16391 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4d9fc29 12-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fix bug #151


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16371 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481b1331 28-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added missing wrappers for hypot() and hypotf(), fixing bug #75.
I wouldn't be surprised, if more wrappers are still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15709 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 901f3990 10-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed libroot/posix/math completely and added the respective
functions from glibc 2.3.2. Adding those one by one is extremely
boring and time-consuming work. We should probably just remove the
math stuff again, add a verbatim copy of the glibc directories, and
shuffle things around afterwards.
* Note that for x86 holds sizeof(long double) == 96. I removed the
generic 128 bit long double functions that were in use before and
added respective 96 bit versions to arch/x86 (or left them out, if
they weren't used). For PPC the System V ABI spec supplement specifies
sizeof(long double) == 128, but I had trouble configuring gcc to
actually use that setting (looks like there simply is no support for
TI mode for PPC 32). So we have to live with sizeof(long double) ==
sizeof(double) == 64 for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c1437015 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved architecture independent sources into new subdirectory "generic".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b150d60 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added PPC specific and some generic glibc headers. Taken from
glibc 2.3.2, which seems to be the version used in other places,
though I also found older files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 353d20c0 27-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* libroot and the runtime loader are no longer built with kernel rules.
* New rule Ld, analogously to KernelLd.
* Added StaticLibrary parameter for supplying additional objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef0635bd 21-Nov-2005 Jérôme Duval <korli@users.berlios.de>

added some more glibc functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15064 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5412911f 16-Nov-2005 Jérôme Duval <korli@users.berlios.de>

added some x86 glibc functions (more to come)
we might miss some wrappers for some ieee754 functions (to check)
hope nothing is broken


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14968 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9d69de4c 15-Jun-2005 Jérôme Duval <korli@users.berlios.de>

inline functions aren't inlined when we have -g / -O0
we filter them for this directory
hopefully this fixes Darkwyrm's build problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13152 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 718b5114 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

This should fix the build after all the kernel/system renaming.
If anything is still broken (and was not before :)), please shout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5af32e75 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/kernel to src/system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a83446983dea89a78ca52fa34243ac80772c03a0 10-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

libroot: added a complex.h header based on ...

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html
* added missing parts from glibc.
* x86_64 was already complete, x86 was missing a few functions.
* should help with #12202, provided that the gcc4 buildtools are rebuilt.


# 97d6f117e31d0785e87ccd6236d0799aeca37cc1 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add s_tanhl.c to x86 jamfile

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 2a6a28e4bb6156a2f16b3c25bc9cefa86c9425e8 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add s_ldexpl.c to x86 jamfile

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 894dfa1e75b2178aa488ae650ea7e274550b585f 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add glibc ilogbl implemenation

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 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).


# 87dfde44f7601187b41036c6c98ae484af883e64 29-Dec-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Stop using glibc's asm strlen and use our own.

Mostly done because olta want less dependency on glibc.
It should also make porting a tiny bit simpler.

Testresults, mean values on Haiku from libMicro:
* with glibc: strlen_10: 0.03859S, strlen_1k: 1.67075S.
* with strlen.cpp: strlen_10: 0.03854S, strlen_1k: 1.66938S.

So at least on my machine it's possible to beat glibc ;)


# 86216323af536f1d324798a01a58e39b05cbb5d8 10-Dec-2011 Jérôme Duval <jerome.duval@gmail.com>

Fixed math.h part of #2696

* added lgammal_r wrapper
* removed gamma_r and gammaf_r functions from math.h


# 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


# 28bedeb547764381c3deaee52cf747f7c6c2647d 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Applied a patch by MrSunshine that adds modfl() - thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37904 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 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


# 15f18c0947abcb48b372b357fdcbf71535dea2ee 03-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added missing posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e0d60f5b744ede799f5570f332a53983d1cdc33 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

adding POSIX-functions llround*(), which Maxime reported missing
* copied implementations for llround(), llroundf() and llroundl() from
glibc-2.3.2
* added corresponding declarations to math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33863 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


# 2eb280d3a88b29ef7c8b4037a7845dfb9ae130d2 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added a few more math functions, rearranged some functions in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaec7603abac81474b3353436cd74488027b1977 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added matherr, lroundl and roundl


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27338 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ac2fa30a535e275fa7805c41d97765f327fb1cd 01-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added gammal_r and lgammal_r private functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27274 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


# 88e8ee78dba9600a5d6a45580b2ec6523f23236e 31-Aug-2008 Jérôme Duval <korli@users.berlios.de>

added s_signbitf.c for x86


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27259 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6112fe9a8dd388b756607a263935cf7434033c87 16-Apr-2008 Jérôme Duval <korli@users.berlios.de>

added memrchr and dirname


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e230349da7a573f4627270a1ffc9ff9abac3496 10-Nov-2007 Ryan Leavengood <leavengood@gmail.com>

I needed nextafterf support in WebKit, so I added it here. It was already
defined in the headers. If this is not the correct way to do this, let me
know, but it seems to work (well it compiled at least.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 583b66bf18e66247b0c699cc0377fe7bb265f729 08-Jun-2007 Jérôme Duval <korli@users.berlios.de>

added trunc, truncf (and truncl on x86) from glibc
should help on bug #1260


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21350 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d13fd67ac01ce896a0600c22dc2706a07c5d3ce7 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

Imported lround() and lroundf() from glibc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17399 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b7b5cda1583babd74d3c2e9aaadf243e9b7c29a8 27-Apr-2006 Jérôme Duval <korli@users.berlios.de>

updated gamma and gammaf
copied y0 y1 yn BeOS behaviour (even if the spec accepts both)
added ilogb ilogbf significand significandf (x86 and generic)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17248 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 99d94ad2e0f72f0e491cb5399d49cea944de1746 18-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added fegetround() and fesetround(), disabled special SSE support for the latter, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3b74cca68e5d08e26e329de014ebed0f9588dc5a 16-Mar-2006 Jérôme Duval <korli@users.berlios.de>

replaced strlen with glibc optimized version i586 and powerpc32
if build fails, simply delete the object file posix_build.o manually


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f357360c0e4027337594ffb8144f24654243abb0 12-Mar-2006 Jérôme Duval <korli@users.berlios.de>

added more multibyte glibc functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16728 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22b4c9cace6e3993e49b5a3355bac765382706e4 02-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added missing [l]lrint[f|l]() functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16570 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ba41c6505529284e48ef5ad6e013861faec6c0e1 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added more math functions (complex ones)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5acbf1f50e02444d18af1f304cefe619400d5e2c 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added more math functions (complex ones)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 162972f5f2e01e3777c8e83f02ad3c359f96e4cd 14-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added missing wrappers from glibc 2.3.6
hopefully fix bug #157


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16391 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4d9fc29b53c0efe160ccd028623f05dbc0a7bc7 12-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fix bug #151


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16371 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481b1331437b14f7f909ecb11373910f8a55bfe2 28-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added missing wrappers for hypot() and hypotf(), fixing bug #75.
I wouldn't be surprised, if more wrappers are still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15709 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 901f399036a25e35a7931af6209a327c21dd4dcf 10-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed libroot/posix/math completely and added the respective
functions from glibc 2.3.2. Adding those one by one is extremely
boring and time-consuming work. We should probably just remove the
math stuff again, add a verbatim copy of the glibc directories, and
shuffle things around afterwards.
* Note that for x86 holds sizeof(long double) == 96. I removed the
generic 128 bit long double functions that were in use before and
added respective 96 bit versions to arch/x86 (or left them out, if
they weren't used). For PPC the System V ABI spec supplement specifies
sizeof(long double) == 128, but I had trouble configuring gcc to
actually use that setting (looks like there simply is no support for
TI mode for PPC 32). So we have to live with sizeof(long double) ==
sizeof(double) == 64 for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c1437015ddbea841cbd0e154b416199886c83624 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved architecture independent sources into new subdirectory "generic".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b150d6067ffabe5ec1e6c36e49d36c64d6b1e47 07-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added PPC specific and some generic glibc headers. Taken from
glibc 2.3.2, which seems to be the version used in other places,
though I also found older files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 353d20c0c5f19d1120a8acb0f4f7f3b266da730f 27-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* libroot and the runtime loader are no longer built with kernel rules.
* New rule Ld, analogously to KernelLd.
* Added StaticLibrary parameter for supplying additional objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ef0635bd49b6de5f297530cb956e5e2d6c2cc1a9 21-Nov-2005 Jérôme Duval <korli@users.berlios.de>

added some more glibc functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15064 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5412911f7f8ca41340b0f5cb928ed9726322ab44 16-Nov-2005 Jérôme Duval <korli@users.berlios.de>

added some x86 glibc functions (more to come)
we might miss some wrappers for some ieee754 functions (to check)
hope nothing is broken


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14968 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9d69de4c3d998cb007760b5907f258447fa22a51 15-Jun-2005 Jérôme Duval <korli@users.berlios.de>

inline functions aren't inlined when we have -g / -O0
we filter them for this directory
hopefully this fixes Darkwyrm's build problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13152 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 718b5114e0613a5602d5d6296afeaa7f3ee4b576 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

This should fix the build after all the kernel/system renaming.
If anything is still broken (and was not before :)), please shout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5af32e752606778be5dd7379f319fe43cb3f6b8c 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/kernel to src/system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96