diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2011-12-09 13:43:03 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2011-12-09 13:43:03 +0000 |
commit | aff4f847c701a34098b04cd1c7e73d1f06201c65 (patch) | |
tree | 084a544e65b1f3c265337c1746a2d468145f54a2 /INSTALL | |
parent | 9f8f9f419762ec4030e3513fa8f99a771a5d2bd5 (diff) | |
download | mpfr-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-- | INSTALL | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -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. |