-
-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ieee/rational test failures on OpenBSD #1267
Comments
Hmm. Looks like big time problem with float rounding. Not much of a problem for 99% of the Prolog code, but correct rounding is needed for e.g., the clpBNR package. Could be compiler flags. I think gcc has a flag to choose between fast and correct floats. You may have a look at that. Another source of problems are broken libm implementations, but it seems this also involves things where libm is not used. And yes, for ssl, please raise an issue or send a PR. Thanks! |
amd64 uses clang by default. I've just checked and it's:
Here's a build log. Do you see any suspicious flags in the invocations on the files that'd matter for those test failures? I notice:
Is that relevant? |
That is bad luck. SWI-Prolog's performance using GCC is quite a bit better on x64 (~30%) It doesn't use any interesting flags.
Looks like a symptom. There is a work-around in the code for particular bugs in nexttoward(), but apparently not the one in OpenBSD. Seems there is something big scale wrong with IEEE float rounding. Unfortunately it is an area that is often not taken serious as very few applications rely on it. That also applies to Prolog applications; very few are affected by this not working. The best way out is probably to concentrate on one failing test, turn it into a small C program that reproduces the issue and raise it upstream. That shouldn't be too hard. All the arithmetic is in Is the previous OpenBSD port so old that it predates SWI-Prolog's IEEE float support? |
Hi there,
I've just encountered these test failures when updating the OpenBSD package to version 9.2.3:
This was on amd64.
(I also have some patches for the SSL module (to make it work with a recent LibreSSL), which I can share if you are interested)
Thanks
The text was updated successfully, but these errors were encountered: