Prevent floating point assist fault on IA64

OBS-URL: https://build.opensuse.org/package/show/devel:languages:tcl/tcl?expand=0&rev=33
This commit is contained in:
Reinhard Max 2010-02-19 18:50:20 +00:00 committed by Git OBS Bridge
parent bb1efeda28
commit a70d661509
4 changed files with 43 additions and 0 deletions

0
ready
View File

35
tcl-SafeLdExp.patch Normal file
View File

@ -0,0 +1,35 @@
? NSK1200002852A
Index: generic/tclStrToD.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclStrToD.c,v
retrieving revision 1.39
diff -u -r1.39 tclStrToD.c
--- generic/tclStrToD.c 7 Dec 2009 17:15:33 -0000 1.39
+++ generic/tclStrToD.c 19 Feb 2010 02:42:35 -0000
@@ -110,7 +110,6 @@
static int mantBits; /* Number of bits in a double's significand */
static mp_int pow5[9]; /* Table of powers of 5**(2**n), up to
* 5**256 */
-static double tiny; /* The smallest representable double */
static int maxDigits; /* The maximum number of digits to the left of
* the decimal point of a double. */
static int minDigits; /* The maximum number of digits to the right
@@ -1490,8 +1489,8 @@
goto returnValue;
}
retval = SafeLdExp(retval, machexp);
- if (retval < tiny) {
- retval = tiny;
+ if (retval == 0.0) {
+ retval = SafeLdExp(1.0, DBL_MIN_EXP * log2FLT_RADIX - mantBits);
}
/*
@@ -2245,7 +2244,6 @@
* the significand of a double.
*/
- tiny = SafeLdExp(1.0, DBL_MIN_EXP * log2FLT_RADIX - mantBits);
maxDigits = (int) ((DBL_MAX_EXP * log((double) FLT_RADIX)
+ 0.5 * log(10.)) / log(10.));
minDigits = (int) floor((DBL_MIN_EXP - DBL_MANT_DIG)

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Feb 19 19:36:17 CET 2010 - max@suse.de
- Add tcl-SafeLdExp.patch to prevent a floating point assist fault
during startup on IA64 (bnc#578068).
-------------------------------------------------------------------
Thu Jan 21 12:55:33 CET 2010 - rguenther@suse.de

View File

@ -42,6 +42,7 @@ Source3: macros.tcl
Patch0: tcl.patch
Patch1: tcl-unload.patch
Patch2: tcl-fortify.patch
Patch3: tcl-SafeLdExp.patch
%description
Tcl (Tool Command Language) is a very powerful but easy to learn
@ -90,6 +91,7 @@ Authors:
%patch0
%patch1
%patch2
%patch3
%build
cd unix