[Pkg-mysql-commits] r1023 - in branches/sid-5.0/debian: . patches

Norbert Tretkowski nobse at alioth.debian.org
Mon Nov 26 23:06:45 UTC 2007


tags 452558 pending
thanks

Author: nobse
Date: 2007-11-26 23:06:45 +0000 (Mon, 26 Nov 2007)
New Revision: 1023

Added:
   branches/sid-5.0/debian/patches/91_bug29389.dpatch
Modified:
   branches/sid-5.0/debian/changelog
Log:
New patch from Ubuntu to fix a crash in mysql_client_test due to gcc 4.x optimizations.

Modified: branches/sid-5.0/debian/changelog
===================================================================
--- branches/sid-5.0/debian/changelog	2007-11-26 17:48:17 UTC (rev 1022)
+++ branches/sid-5.0/debian/changelog	2007-11-26 23:06:45 UTC (rev 1023)
@@ -6,6 +6,8 @@
     which is build-essential. (closes: #431018)
   * Remove old optimizations for MySQL 3.23.x, they are no longer required.
     (closes: #436552)
+  * New patch from Ubuntu to fix a crash in mysql_client_test due to gcc 4.x
+    optimizations. (closes: #452558)
   * New Finnish debconf translation from Esko Arajärvi. (closes: #448776)
   * Add Vcs-* and Homepage flags to source stanza in control file.
 

Added: branches/sid-5.0/debian/patches/91_bug29389.dpatch
===================================================================
--- branches/sid-5.0/debian/patches/91_bug29389.dpatch	                        (rev 0)
+++ branches/sid-5.0/debian/patches/91_bug29389.dpatch	2007-11-26 23:06:45 UTC (rev 1023)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 91_bug29389.dpatch by Jamie Strandboge <jamie at ubuntu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: fix for bug29389
+
+ at DPATCH@
+
+diff -Nru mysql-dfsg-5.0-5.0.45.orig/libmysql/libmysql.c mysql-dfsg-5.0-5.0.45/libmysql/libmysql.c
+--- mysql-dfsg-5.0-5.0.45.orig/libmysql/libmysql.c	2007-07-04 13:05:53.000000000 +0000
++++ mysql-dfsg-5.0-5.0.45/libmysql/libmysql.c	2007-10-02 19:28:49.000000000 +0000
+@@ -3678,33 +3678,38 @@
+   case MYSQL_TYPE_FLOAT:
+   {
+     /*
+-      We need to store data in the buffer before the truncation check to
++      We need to mark the local variable volatile to
+       workaround Intel FPU executive precision feature.
+       (See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323 for details)
+-      AFAIU it does not guarantee to work.
+     */
+-    float data;
++    volatile float data;
+     if (is_unsigned)
++    {
+       data= (float) ulonglong2double(value);
++      *param->error= ((ulonglong) value) != ((ulonglong) data);
++    }
+     else
+-      data= (float) value;
++    {
++      data= (float)value;
++      *param->error= value != ((longlong) data);
++    }
+     floatstore(buffer, data);
+-    *param->error= is_unsigned ?
+-                   ((ulonglong) value) != ((ulonglong) (*(float*) buffer)) :
+-                   ((longlong) value) != ((longlong) (*(float*) buffer));
+     break;
+   }
+   case MYSQL_TYPE_DOUBLE:
+   {
+-    double data;
++    volatile double data;
+     if (is_unsigned)
++    {
+       data= ulonglong2double(value);
++      *param->error= ((ulonglong) value) != ((ulonglong) data);
++    }
+     else
++    {
+       data= (double)value;
++      *param->error= value != ((longlong) data);
++    }
+     doublestore(buffer, data);
+-    *param->error= is_unsigned ?
+-                   ((ulonglong) value) != ((ulonglong) (*(double*) buffer)) :
+-                   ((longlong) value) != ((longlong) (*(double*) buffer));
+     break;
+   }
+   case MYSQL_TYPE_TIME:




More information about the Pkg-mysql-commits mailing list