Commit graph

22 commits

Author SHA1 Message Date
Peter Colberg
aeaf9cefa7 Fix undefined reference to __fpgetprec on i386
Closes #137

This reverts commit ebcd40f1b0.

The tests were failing to load the library on i386 due to an undefined
reference to __fpgetprec, which resulted from __fpgetprec not being inlined
due to the missing definition of __GNUCLIKE_ASM and __CC_SUPPORTS___INLINE__.
2016-06-23 23:32:31 -04:00
Ed Schouten
ebcd40f1b0 Update remaining references to bsd_cdefs.h to cdefs-compat.h.
It looks like we didn't substitute the name of the bsd_cdefs.h header
file in two source files when renaming it.
2016-05-15 11:28:26 +02:00
Keno Fischer
28fb939b0d Blanket rename DLLEXPORT->OLM_DLLEXPORT 2016-03-13 21:07:55 -04:00
Keno Fischer
81053b7fcb Fix Clang warnings on Windows
- Align DLLEXPORT in definitions and declations. There is still a few
  cases left, where the declation in the compiler's complex.h disagrees
  with the implementation here. For now we can't do anything about that,
  but maybe should be revisited in the future.
- Fix the syntax on an .ascii directive that gcc accepted mistakingly, but
  clang does not.
2016-03-13 06:21:15 +00:00
Milan Bouchet-Valat
2c3f3b5a99 Cleanup bsd_cdefs.h, merge i387 and amd64 duplicate files
Most macros were not actually used. This gets rid of warnings when
building on Linux.
2016-03-02 21:21:25 +01:00
Ed Schouten
78c0afb2a7 Rename _scan_nan() to __scan_nan().
The current tradition of openlibm is to hide all of its internal symbols
into the reserved system namespace. CloudABI has a check in place to
ensure that its C library (which contains openlibm) to not place any
unwanted symbols into the public namespace. openlibm seems to leak
_scan_nan() in there, so we'd better add an additional underscore.
2016-02-27 17:26:15 +01:00
Graham Inggs
d37c9c3970 Add missing include to inline __fpgetprec on i386
This fixes the unresolved symbol __fpgetprec in libopenlibm.so.1.0 on i386
2015-10-28 09:02:50 +02:00
Ed Schouten
7e5585aaca Rename openlibm.h to openlibm_math.h.
This is a bit more consistent with the naming of the other header files
(openlibm_complex.h and openlibm_fenv.h). Re-add an openlibm.h header
that includes all of the public headers as a shorthand.

Fix up all of the source files to include <openlibm_math.h> instead of
<openlibm.h>. While there, fix ordering of the includes.
2015-01-11 23:37:01 +01:00
Ed Schouten
06dbb6e72b Use more uniform style of including headers.
Put external headers before internal ones. While there, replace a lot of
occurences of "openlibm.h" with <openlibm.h>. It should be thought of as
an external header, as it is installed along with the library.
2015-01-09 14:24:24 +01:00
Ed Schouten
55ac462808 Add lgammal_r().
We already provide lgammaf_r() and lgamma_r(). It's not hard to also add
lgammal_r(), for consistency.

I am currently working on porting openlibm to an environment where
global state, and thus signgam, is not available. By adding lgammal_r(),
I can trivially disable support for signgam by just patching up
src/e_lgamma{f,,l}.c. That way there is no need to patch up the actual
algorithms.
2015-01-08 11:23:28 +01:00
Ed Schouten
b6cd89849e Don't let tgammal() modify signgam. Only lgamma*() should modify it.
Letting tgammal() modify signgam has two disadvantages:

- It breaks valid code that assumes that the value of signgam is not
  clobbered by calls to tgammal().
- It makes this function depend on the presence of signgam. signgam is
  an X/Open System Interface. It is not part of the C standard.
2015-01-08 09:49:31 +01:00
Viral B. Shah
9ecf223fc1 Get the ld80 routines from OpenBSD to build on mac and linux.
Bump version number and SO major version, since we have
introduced new long double APIs.
2014-12-04 23:56:11 +05:30
Viral B. Shah
52c901a68c Import long double versions from OpenBSD. 2014-12-04 23:11:16 +05:30
Jameson Nash
18f475de56 add DLLEXPORT to i387 and amd64 assembly (win32 target) and ld80/ld128 files 2013-08-03 05:52:19 -04:00
Keno Fischer
c3d4e51cd8 Remove leftover test code 2012-05-25 21:38:58 -04:00
Keno Fischer
adb103acec Build fixes for Windows 2012-05-25 21:25:13 -04:00
Keno Fischer
307d7361c5 automatic arch selection in Makefile 2012-05-25 16:24:37 -04:00
Jameson Nash
0df00dd0f7 initial attempt getting everything to build on windows 2012-04-08 20:03:36 -04:00
Viral B. Shah
e4481ba487 Get a bunch of stuff to build with clang. 2011-12-31 00:25:58 +05:30
Viral B. Shah
b0b27a0ff4 Replace math.h with openlibm.h
Remove man
2011-12-15 11:54:24 +05:30
Viral B. Shah
51a63c3270 Comment out __FBSDID 2011-12-15 11:46:26 +05:30
Viral B. Shah
16b9264f9d Import entire msun from FreeBSD. 2011-12-15 11:29:35 +05:30