Another try at getting the stack size checking to work in F9.

This commit is contained in:
Tom Lane 2008-01-08 18:40:25 +00:00 committed by Michal Schorm
parent f01440d981
commit 148e378a6c

View File

@ -3,19 +3,26 @@ 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 (ppc fails);
while 24576 is too much as it makes other regression tests fail.
As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails).
But we can't raise it too much because it has to be less than
DEFAULT_THREAD_STACK / 8, and DEFAULT_THREAD_STACK is dependent on
SIZEOF_CHARP. (Could change DEFAULT_THREAD_STACK too if our backs are
to the wall, but I'd rather not.)
diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h
--- mysql-5.0.38.orig/sql/mysql_priv.h 2007-03-20 15:12:46.000000000 -0400
+++ mysql-5.0.38/sql/mysql_priv.h 2007-04-16 16:09:39.000000000 -0400
@@ -175,7 +175,7 @@
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 13:32:45.000000000 -0500
@@ -173,7 +173,11 @@
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 20000 // Abort if less stack during eval.
+#if SIZEOF_CHARP > 4
+#define STACK_MIN_SIZE 24576 // Abort if less stack during eval.
+#else
+#define STACK_MIN_SIZE 19000 // Abort if less stack during eval.
+#endif
#define STACK_MIN_SIZE_FOR_OPEN 1024*80
#define STACK_BUFF_ALLOC 256 // For stack overrun checks
#define STACK_BUFF_ALLOC 352 // For stack overrun checks