[polyml] Update -5.5-fixes patch to r1693 to fix a bug in Real.fromInt on x86.

Jerry James jjames at fedoraproject.org
Tue Apr 23 17:57:12 UTC 2013


commit e60bc3a33f25e624af769eec9af6e6e97a2defcf
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Tue Apr 23 11:56:48 2013 -0600

    Update -5.5-fixes patch to r1693 to fix a bug in Real.fromInt on x86.

 polyml-5.5-fixes.patch |   13 +++++++++++++
 polyml.spec            |    5 ++++-
 2 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/polyml-5.5-fixes.patch b/polyml-5.5-fixes.patch
index 63f5107..20add49 100644
--- a/polyml-5.5-fixes.patch
+++ b/polyml-5.5-fixes.patch
@@ -135,6 +135,19 @@ diff -durpN polyml.5.5.orig/libpolyml/profiling.cpp polyml.5.5/libpolyml/profili
  };
  
  // Entries for store profiling
+diff -durpN polyml.5.5.orig/libpolyml/x86_dep.cpp polyml.5.5/libpolyml/x86_dep.cpp
+--- polyml.5.5.orig/libpolyml/x86_dep.cpp	2012-05-02 01:31:35.000000000 -0600
++++ polyml.5.5/libpolyml/x86_dep.cpp	2013-04-23 11:44:43.357956928 -0600
+@@ -1594,6 +1594,9 @@ bool X86Dependent::emulate_instrs(TaskDa
+                 top = (top-1) & 0x7;
+                 stack->p_fp.sw = (stack->p_fp.sw & (~0x3800)) | (top << 11);
+                 stack->p_fp.tw &= ~(3 << top*2); // Needed?
++                // Push the stack down
++                for (unsigned i = 7; i != 0; i--)
++                    memcpy(stack->p_fp.registers[i], stack->p_fp.registers[i-1], sizeof(fpregister));
+                 // Turn the double precision value into extended precision.  Because
+                 // the double precision has less precision than the extended it will
+                 // always fit.  The result is always put into the first register which is
 diff -durpN polyml.5.5.orig/mlsource/MLCompiler/CodeTree/X86LOWLEVEL.ML polyml.5.5/mlsource/MLCompiler/CodeTree/X86LOWLEVEL.ML
 --- polyml.5.5.orig/mlsource/MLCompiler/CodeTree/X86LOWLEVEL.ML	2012-08-21 03:08:00.000000000 -0600
 +++ polyml.5.5/mlsource/MLCompiler/CodeTree/X86LOWLEVEL.ML	2013-02-11 14:05:20.070542824 -0700
diff --git a/polyml.spec b/polyml.spec
index 9fdaa49..854c05c 100644
--- a/polyml.spec
+++ b/polyml.spec
@@ -1,6 +1,6 @@
 Name:           polyml
 Version:        5.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Poly/ML compiler and runtime system
 
 Group:          Development/Languages
@@ -99,6 +99,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 %{_libdir}/libpolyml.so.*
 
 %changelog
+* Tue Apr 23 2013 Jerry James <loganjerry at gmail.com> - 5.5-3
+- Update -5.5-fixes patch to r1693 to fix a bug in Real.fromInt on x86.
+
 * Mon Feb 11 2013 Jerry James <loganjerry at gmail.com> - 5.5-2
 - Apply post-release fixes from upstream
 - Drop the -sem-wait patch; no longer needed


More information about the scm-commits mailing list