File mysql-5.0.67-stack.patch of Package mysql

Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE
does not work on s390x, and probably not on some other platforms either.
Knock it up to twice the pre-5.0.33 value to have some margin for future
changes in compiler, glibc, etc.  Suspect this number if
"execution_constants" regression test fails.

As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails,
and seems to now need something above 24576 --- why?).  STACK_MIN_SIZE has
to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom,
which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit
arches.


diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h
--- mysql-5.0.45.orig/include/my_pthread.h	2007-07-04 09:06:05.000000000 -0400
+++ mysql-5.0.45/include/my_pthread.h	2008-01-08 17:32:37.000000000 -0500
@@ -735,9 +735,9 @@
   MySQL can survive with 32K, but some glibc libraries require > 128K stack
   To resolve hostnames. Also recursive stored procedures needs stack.
 */
-#define DEFAULT_THREAD_STACK	(256*1024L)
+#define DEFAULT_THREAD_STACK	(512*1024L)
 #else
-#define DEFAULT_THREAD_STACK	(192*1024)
+#define DEFAULT_THREAD_STACK	(512*1024)
 #endif
 #endif
 
diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h
--- mysql-5.0.45.orig/sql/mysql_priv.h	2007-07-04 09:06:41.000000000 -0400
+++ mysql-5.0.45/sql/mysql_priv.h	2008-01-08 17:32:22.000000000 -0500
@@ -173,7 +173,7 @@
  Feel free to raise this by the smallest amount you can to get the
  "execution_constants" test to pass.
  */
-#define STACK_MIN_SIZE          12000   // Abort if less stack during eval.
+#define STACK_MIN_SIZE          49152   // Abort if less stack during eval.
 
 #define STACK_MIN_SIZE_FOR_OPEN 1024*80
 #define STACK_BUFF_ALLOC        352     // For stack overrun checks
openSUSE Build Service is sponsored by