rpms/mysql/F-11 mysql-signal-align.patch, NONE, 1.1 .cvsignore, 1.42, 1.43 my_config.h, 1.3, 1.4 mysql-plugin-bug.patch, 1.10, 1.11 mysql.init, 1.25, 1.26 mysql.spec, 1.123, 1.124 ndb_types.h, 1.1, 1.2 sources, 1.42, 1.43

Tom Lane tgl at fedoraproject.org
Wed Nov 11 01:01:06 UTC 2009


Author: tgl

Update of /cvs/pkgs/rpms/mysql/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6428

Modified Files:
	.cvsignore my_config.h mysql-plugin-bug.patch mysql.init 
	mysql.spec ndb_types.h sources 
Added Files:
	mysql-signal-align.patch 
Log Message:
Update to 5.1.40; also fix #533736

mysql-signal-align.patch:
 dbtup/DbtupRoutines.cpp |    5 +++--
 ndbfs/AsyncFile.cpp     |    4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

--- NEW FILE mysql-signal-align.patch ---
Fix a bit of silliness; the original coding not only computes the required
size of the temp variable incorrectly, but doesn't guarantee the correct
alignment.  This demonstrably leads to ndbd crashing at launch on sparc64,
and is probably bad news for performance on other 64-bit machines even
if they don't give an actual SIGBUS.

Filed upstream at http://bugs.mysql.com/bug.php?id=48132


diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp
--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp	2009-09-04 12:21:18.000000000 -0400
+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp	2009-10-17 14:24:56.000000000 -0400
@@ -1144,8 +1144,9 @@
                    KeyReqStruct *req_struct,
                    Uint32* outBuffer)
 {
-  Uint32 tmp[sizeof(SignalHeader)+25];
-  Signal * signal = (Signal*)&tmp;
+  SignalT<25> signalT;
+  Signal *signal= (Signal*)&signalT;
+
   switch(attrId){
   case AttributeHeader::FRAGMENT:
     * outBuffer = fragptr.p->fragmentId;
diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp	2009-09-04 12:21:19.000000000 -0400
+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp	2009-10-17 14:26:21.000000000 -0400
@@ -529,8 +529,8 @@
   {
     off_t off = 0;
     const off_t sz = request->par.open.file_size;
-    Uint32 tmp[sizeof(SignalHeader)+25];
-    Signal * signal = (Signal*)(&tmp[0]);
+    SignalT<25> signalT;
+    Signal *signal= (Signal*)&signalT;
     FsReadWriteReq* req = (FsReadWriteReq*)signal->getDataPtrSend();
 
     Uint32 index = 0;


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/.cvsignore,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -p -r1.42 -r1.43
--- .cvsignore	28 Sep 2009 03:24:24 -0000	1.42
+++ .cvsignore	11 Nov 2009 01:01:04 -0000	1.43
@@ -1 +1 @@
-mysql-5.1.39.tar.gz
+mysql-5.1.40.tar.gz


Index: my_config.h
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/my_config.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- my_config.h	15 Dec 2005 17:04:25 -0000	1.3
+++ my_config.h	11 Nov 2009 01:01:04 -0000	1.4
@@ -4,13 +4,14 @@
  * identical.  Hence, this file is architecture-independent and calls
  * in an arch-dependent file that will appear in just one RPM.
  *
+ * To avoid breaking arches not explicitly supported by Red Hat, we
+ * use this indirection file *only* on known multilib arches.
+ *
  * Note: this may well fail if user tries to use gcc's -I- option.
  * But that option is deprecated anyway.
  */
 #if defined(__x86_64__)
 #include "my_config_x86_64.h"
-#elif defined(__ia64__)
-#include "my_config_ia64.h"
 #elif defined(__i386__)
 #include "my_config_i386.h"
 #elif defined(__ppc64__) || defined(__powerpc64__)
@@ -21,4 +22,8 @@
 #include "my_config_s390x.h"
 #elif defined(__s390__)
 #include "my_config_s390.h"
+#elif defined(__sparc__) && defined(__arch64__)
+#include "my_config_sparc64.h"
+#elif defined(__sparc__)
+#include "my_config_sparc.h"
 #endif

mysql-plugin-bug.patch:
 disabled.def |    3 +++
 1 file changed, 3 insertions(+)

Index: mysql-plugin-bug.patch
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/mysql-plugin-bug.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- mysql-plugin-bug.patch	28 Sep 2009 03:24:24 -0000	1.10
+++ mysql-plugin-bug.patch	11 Nov 2009 01:01:05 -0000	1.11
@@ -11,14 +11,13 @@ platform-dependent results, with the "ex
 wrong ones.  This is upstream at http://bugs.mysql.com/bug.php?id=46895
 
 
-diff -Naur mysql-5.1.39.orig/mysql-test/t/disabled.def mysql-5.1.39/mysql-test/t/disabled.def
---- mysql-5.1.39.orig/mysql-test/t/disabled.def	2009-09-04 13:01:56.000000000 -0400
-+++ mysql-5.1.39/mysql-test/t/disabled.def	2009-09-23 19:23:42.000000000 -0400
-@@ -13,4 +13,6 @@
- innodb_bug39438          : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows.  Note that this test is not run on windows and on embedded in PB for main trees currently"
+diff -Naur mysql-5.1.40.orig/mysql-test/t/disabled.def mysql-5.1.40/mysql-test/t/disabled.def
+--- mysql-5.1.40.orig/mysql-test/t/disabled.def	2009-10-06 14:21:05.000000000 -0400
++++ mysql-5.1.40/mysql-test/t/disabled.def	2009-11-10 13:01:50.000000000 -0500
+@@ -14,3 +14,6 @@
  query_cache_28249        : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically
- init_connect             : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows.  *Must be done this way due to the nature of the bug*
--
+ partition_innodb_builtin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes
+ partition_innodb_plugin  : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes
 +#
 +plugin_load         : gives wrong answer on PPC64
 +outfile_loaddata    : gives different results on different platforms


Index: mysql.init
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/mysql.init,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -p -r1.25 -r1.26
--- mysql.init	7 Jun 2009 02:45:07 -0000	1.25
+++ mysql.init	11 Nov 2009 01:01:05 -0000	1.26
@@ -66,9 +66,11 @@ start(){
 	chmod 0755 "$datadir"
 	# Pass all the options determined above, to ensure consistent behavior.
 	# In many cases mysqld_safe would arrive at the same conclusions anyway
-	# but we need to be sure.
+	# but we need to be sure.  (An exception is that we don't force the
+	# log-error setting, since this script doesn't really depend on that,
+	# and some users might prefer to configure logging to syslog.)
 	/usr/bin/mysqld_safe   --datadir="$datadir" --socket="$socketfile" \
-		--log-error="$errlogfile" --pid-file="$mypidfile" \
+		--pid-file="$mypidfile" \
 		--user=mysql >/dev/null 2>&1 &
 	ret=$?
 	# Spin for a maximum of N seconds waiting for the server to come up.


Index: mysql.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/mysql.spec,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -p -r1.123 -r1.124
--- mysql.spec	28 Sep 2009 03:24:25 -0000	1.123
+++ mysql.spec	11 Nov 2009 01:01:05 -0000	1.124
@@ -1,6 +1,6 @@
 Name: mysql
-Version: 5.1.39
-Release: 2%{?dist}
+Version: 5.1.40
+Release: 1%{?dist}
 Summary: MySQL client programs and shared libraries
 Group: Applications/Databases
 URL: http://www.mysql.com
@@ -33,6 +33,7 @@ Patch7: mysql-plugin-bug.patch
 Patch8: mysql-setschedparam.patch
 Patch9: mysql-ndb-stacksize.patch
 Patch10: mysql-strmov.patch
+Patch11: mysql-signal-align.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: gperf, perl, readline-devel, openssl-devel
@@ -176,6 +177,7 @@ the MySQL sources.
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
+%patch11 -p1
 
 libtoolize --force
 aclocal
@@ -190,6 +192,11 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FIL
 CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv"
 # force PIC mode so that we can build libmysqld.so
 CFLAGS="$CFLAGS -fPIC"
+# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
+# submitted as bz #529298
+%ifarch sparc sparcv9 sparc64
+CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
+%endif
 # extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc
 CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions"
 export CFLAGS CXXFLAGS
@@ -263,7 +270,7 @@ rm -rf $RPM_BUILD_ROOT
 # multilib header hacks
 # we only apply this to known Red Hat multilib arches, per bug #181335
 case `uname -i` in
-  i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 )
+  i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 )
     mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h
     install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/
     mv $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types_`uname -i`.h
@@ -642,6 +649,13 @@ fi
 %{_mandir}/man1/mysql_client_test.1*
 
 %changelog
+* Tue Nov 10 2009 Tom Lane <tgl at redhat.com> 5.1.40-1
+- Update to MySQL 5.1.40, for various fixes described at
+  http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html
+- Do not force the --log-error setting in mysqld init script
+Resolves: #533736
+- Sync with F-12 release 5.1.40-1
+
 * Sun Sep 27 2009 Tom Lane <tgl at redhat.com> 5.1.39-2
 - Update to MySQL 5.1.39, for various fixes described at
   http://dev.mysql.com/doc/refman/5.1/en/news-5-1-39.html


Index: ndb_types.h
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/ndb_types.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ndb_types.h	27 Jul 2008 17:54:30 -0000	1.1
+++ ndb_types.h	11 Nov 2009 01:01:05 -0000	1.2
@@ -22,4 +22,8 @@
 #include "ndb_types_s390x.h"
 #elif defined(__s390__)
 #include "ndb_types_s390.h"
+#elif defined(__sparc__) && defined(__arch64__)
+#include "ndb_types_sparc64.h"
+#elif defined(__sparc__)
+#include "ndb_types_sparc.h"
 #endif


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/mysql/F-11/sources,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -p -r1.42 -r1.43
--- sources	28 Sep 2009 03:24:25 -0000	1.42
+++ sources	11 Nov 2009 01:01:05 -0000	1.43
@@ -1 +1 @@
-55a398daeb69a778fc46573623143268  mysql-5.1.39.tar.gz
+32e7373c16271606007374396e6742ad  mysql-5.1.40.tar.gz




More information about the scm-commits mailing list