summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2011-12-09 13:43:03 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2011-12-09 13:43:03 +0000
commitaff4f847c701a34098b04cd1c7e73d1f06201c65 (patch)
tree084a544e65b1f3c265337c1746a2d468145f54a2 /INSTALL
parent9f8f9f419762ec4030e3513fa8f99a771a5d2bd5 (diff)
downloadmpfr-aff4f847c701a34098b04cd1c7e73d1f06201c65.tar.gz
Merged changesets r7976-7978 from the trunk:
[INSTALL] Added information about system/compiler bugs related to TLS or optimizations. [configure.ac] Mention --disable-thread-safe. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@7980 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL24
1 files changed, 23 insertions, 1 deletions
diff --git a/INSTALL b/INSTALL
index b6ce0b4d2..14f8c9775 100644
--- a/INSTALL
+++ b/INSTALL
@@ -189,7 +189,11 @@ specific architecture.
--disable-thread-safe build MPFR without TLS. By default, TLS support
is detected automatically, and MPFR is built as
- thread safe if supported.
+ thread safe if supported. However this detection
+ is only a heuristic: TLS can be detected as
+ supported while its support is incomplete or
+ buggy (MPFR tests may fail). In such a case,
+ this option is useful.
--enable-gmp-internals allows the MPFR build to use GMP's undocumented
functions (not from the public API). Note that
@@ -342,6 +346,24 @@ Otherwise conversions from/to double's may be incorrect on infinities,
NaN's and signed zeros. Since native FP arithmetic is used in a few
places only, such options would not make MPFR faster anyway.
+If some "make check" tests fail, you can try the --disable-thread-safe
+configure option (see the configure options above): it has been reported
+that some platforms have buggy TLS support. Before trying this option,
+you may want to check in the configure output whether MPFR was built
+with TLS support; if yes, you will have a line:
+ checking for TLS support... yes
+Alternatively "grep MPFR_USE_THREAD_SAFE config.log" will show that
+MPFR_USE_THREAD_SAFE is defined to 1. If it is "no" (or the variable
+is not defined), the --disable-thread-safe option would be useless.
+
+Some tests failure may be due to other compiler bugs, in particular
+in optimization code. You can try to build MPFR without compiler
+optimizations by giving -O0 (letter O, digit 0) in CFLAGS. If the
+MPFR tests no longer fail, this was probably due to a compiler bug,
+though we cannot exclude a bug in MPFR. You may want to contact us
+(see below), possibly after looking at:
+ http://www.loria.fr/~zimmerma/software/compilerbugs.html
+
On some platforms, try with "gmake" (GNU make) instead of "make".
Problems have been reported with the Tru64 make.