[ruby/private-ruby-2.1] Backport fix for floating point issues on i686.

Vít Ondruch vondruch at fedoraproject.org
Mon Feb 10 08:00:55 UTC 2014


commit 9fc3f49bd63fd3521e47ba3f09fb42d372a88e02
Author: Vít Ondruch <vondruch at redhat.com>
Date:   Thu Feb 6 10:34:50 2014 +0100

    Backport fix for floating point issues on i686.

 ruby-2.2.0-configure.in-use-SSE2.patch |   49 ++++++++++++++++++++++++++++++++
 ruby.spec                              |   12 +++----
 2 files changed, 54 insertions(+), 7 deletions(-)
---
diff --git a/ruby-2.2.0-configure.in-use-SSE2.patch b/ruby-2.2.0-configure.in-use-SSE2.patch
new file mode 100644
index 0000000..87858ce
--- /dev/null
+++ b/ruby-2.2.0-configure.in-use-SSE2.patch
@@ -0,0 +1,49 @@
+From 40967a5c0b975f3f3ec1538a820985aa61b65b8f Mon Sep 17 00:00:00 2001
+From: nobu <nobu at b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
+Date: Thu, 9 Jan 2014 11:46:26 +0000
+Subject: [PATCH] configure.in: use SSE2
+
+* configure.in: use SSE2 instructions to drop unexpected precisions on
+  other than mingw.  [ruby-core:59472] [Bug #8358]
+
+git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
+---
+ ChangeLog    | 5 +++++
+ configure.in | 8 ++++++++-
+ 2 files changed, 13 insertions(+), 0 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 7ec6eec..9ba337f 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++Thu Jan  9 20:46:22 2014  Nobuyoshi Nakada  <nobu at ruby-lang.org>
++
++	* configure.in: use SSE2 instructions to drop unexpected precisions on
++	  other than mingw.  [ruby-core:59472] [Bug #8358]
++
+ Fri Jan  3 10:43:57 2014  Aman Gupta <ruby at tmm1.net>
+ 
+ 	* test/net/imap/cacert.pem: generate new CA cert, since the last one
+diff --git a/configure.in b/configure.in
+index f9e9431..9c95cc4 100644
+--- a/configure.in
++++ b/configure.in
+@@ -858,6 +857,14 @@ if test "$GCC" = yes; then
+     for oflag in -fno-fast-math; do
+ 	RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(optflags, $oflag)])
+     done
++    AS_CASE(["$target"],
++	[*-darwin*], [
++	    # doesn't seem necessary on Mac OS X
++	],
++	[[i[4-6]86*]], [
++	    RUBY_TRY_CFLAGS(-msse2 -mfpmath=sse, [RUBY_APPEND_OPTION(XCFLAGS, -msse2 -mfpmath=sse)])
++	]
++    )
+ fi
+ 
+ AC_ARG_WITH(opt-dir,
+-- 
+1.8.5.1
+
diff --git a/ruby.spec b/ruby.spec
index 645265f..6a4e404 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -149,6 +149,9 @@ Patch19: ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch
 Patch20: rubygems-2.2.1-Add-BasicSpecification-source_paths.patch
 # https://github.com/rubygems/rubygems/commit/2f03b54b63043aadce9e95b83e98b29712bad21f
 Patch21: rubygems-2.2.1-Use-source_paths-for-fallback-rdoc-plugin.patch
+# TestSprintf#test_float fails on i686
+# http://bugs.ruby-lang.org/issues/8358
+Patch22: ruby-2.2.0-configure.in-use-SSE2.patch
 
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 Requires: ruby(rubygems) >= %{rubygems_version}
@@ -416,6 +419,7 @@ Tcl/Tk interface for the object-oriented scripting language Ruby.
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
+%patch22 -p1
 
 # Provide an example of usage of the tapset:
 cp -a %{SOURCE3} .
@@ -581,13 +585,6 @@ DISABLE_TESTS=""
 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
 %endif
 
-%ifarch i686
-# TestSprintf#test_float fails on i686
-# http://bugs.ruby-lang.org/issues/8358
-sed -i "/assert_equal(\"0x1p+2\",   sprintf('%.0a', Float('0x1.fp+1')),   \"\[ruby-dev:42551\]\")/ s/^/#/" test/ruby/test_sprintf.rb
-sed -i "/assert_equal(\"-0x1.0p+2\", sprintf('%.1a', Float('-0x1.ffp+1')), \"\[ruby-dev:42551\]\")/ s/^/#/" test/ruby/test_sprintf.rb
-%endif
-
 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
 # when abrt.rb cannot be required (seems to be easier way then customizing
 # the test suite).
@@ -907,6 +904,7 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS"
   extensions into appropriate place.
 - Add support for ppc64le arch (rhbz#1053263).
 - Re-enable some test cases, which are passing now with Kernel 3.12.8+.
+- Backport fix for floating point issues on i686.
 
 * Thu Jan 02 2014 Vít Ondruch <vondruch at redhat.com> - 2.1.0-17
 - Upgrade to Ruby 2.1.0.


More information about the scm-commits mailing list