From 148e378a6c9a680800b7bc207f3d4ed3c96659f6 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 18:40:25 +0000 Subject: [PATCH] Another try at getting the stack size checking to work in F9. --- mysql-stack.patch | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 0d4a5ed..8c40b4b 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -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