summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/ac-macros/compiler_flag.m42
-rw-r--r--config/ac-macros/misc.m427
-rw-r--r--configure.in7
-rw-r--r--include/config-netware.h3
-rw-r--r--include/config-win.h2
-rw-r--r--sql/sql_parse.cc9
6 files changed, 11 insertions, 39 deletions
diff --git a/config/ac-macros/compiler_flag.m4 b/config/ac-macros/compiler_flag.m4
index 88097c7a62e..ce2ce6cbdfa 100644
--- a/config/ac-macros/compiler_flag.m4
+++ b/config/ac-macros/compiler_flag.m4
@@ -7,7 +7,7 @@ AC_DEFUN([AC_SYS_COMPILER_FLAG],
AC_CACHE_VAL(mysql_cv_option_$2,
[
CFLAGS="[$]OLD_CFLAGS $1"
- AC_TRY_RUN([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no)
+ AC_TRY_LINK([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no)
])
CFLAGS="[$]OLD_CFLAGS"
diff --git a/config/ac-macros/misc.m4 b/config/ac-macros/misc.m4
index a20db96a950..0619a52fbbf 100644
--- a/config/ac-macros/misc.m4
+++ b/config/ac-macros/misc.m4
@@ -450,29 +450,6 @@ AC_DEFINE([HAVE_BOOL], [1], [bool is not defined by all C++ compilators])
fi
])dnl
-AC_DEFUN([MYSQL_STACK_DIRECTION],
- [AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
- [AC_TRY_RUN([#include <stdlib.h>
- int find_stack_direction ()
- {
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
- }
- int main ()
- {
- exit (find_stack_direction() < 0);
- }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
- ac_cv_c_stack_direction=0)])
- AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
-])dnl
-
AC_DEFUN([MYSQL_CHECK_LONGLONG_TO_FLOAT],
[
AC_MSG_CHECKING(if conversion of longlong to float works)
@@ -488,7 +465,9 @@ int main()
fprintf(file,"%g\n",f);
fclose(file);
return (0);
-}], ac_cv_conv_longlong_to_float=`cat conftestval`, ac_cv_conv_longlong_to_float=0, ifelse([$2], , , ac_cv_conv_longlong_to_float=$2))])dnl
+}], ac_cv_conv_longlong_to_float=`cat conftestval`,
+ ac_cv_conv_longlong_to_float=0,
+ ac_cv_conv_longlong_to_float="yes")])dnl # Cross compiling, assume can convert
if test "$ac_cv_conv_longlong_to_float" = "1" -o "$ac_cv_conv_longlong_to_float" = "yes"
then
ac_cv_conv_longlong_to_float=yes
diff --git a/configure.in b/configure.in
index e3c6edb9b0f..7c18aeb4fc6 100644
--- a/configure.in
+++ b/configure.in
@@ -264,7 +264,10 @@ AC_TRY_RUN([
AC_MSG_RESULT("ptr")],
[AC_DEFINE(SPRINTF_RETURNS_GARBAGE, [1], [Broken sprintf])
AC_MSG_RESULT("garbage")])
- ])
+ ],
+ # Cross compile, assume POSIX
+ [AC_DEFINE(SPRINTF_RETURNS_INT, [1], [POSIX sprintf])
+ AC_MSG_RESULT("int (we assume)")])
;;
esac
@@ -1784,8 +1787,6 @@ MYSQL_TYPE_ACCEPT
#---END:
# Figure out what type of struct rlimit to use with setrlimit
MYSQL_TYPE_STRUCT_RLIMIT
-# Find where the stack goes
-MYSQL_STACK_DIRECTION
# We want to skip alloca on irix unconditionally. It may work on some version..
MYSQL_FUNC_ALLOCA
# Do struct timespec have members tv_sec or ts_sec
diff --git a/include/config-netware.h b/include/config-netware.h
index f287699249b..f7f494b519c 100644
--- a/include/config-netware.h
+++ b/include/config-netware.h
@@ -112,9 +112,6 @@ extern "C" {
/* signal by closing the sockets */
#define SIGNAL_WITH_VIO_CLOSE 1
-/* On NetWare, stack grows towards lower address*/
-#define STACK_DIRECTION -1
-
/* On NetWare, we need to set stack size for threads, otherwise default 16K is used */
#define NW_THD_STACKSIZE 65536
diff --git a/include/config-win.h b/include/config-win.h
index 8d6f8885626..d34e3bf791e 100644
--- a/include/config-win.h
+++ b/include/config-win.h
@@ -250,8 +250,6 @@ inline double ulonglong2double(ulonglong value)
#endif
-#define STACK_DIRECTION -1
-
/* Optimized store functions for Intel x86 */
#ifndef _WIN64
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 06419010a24..039bdbbdfdd 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -4996,17 +4996,14 @@ bool check_merge_table_access(THD *thd, char *db,
Check stack size; Send error if there isn't enough stack to continue
****************************************************************************/
-#if STACK_DIRECTION < 0
-#define used_stack(A,B) (long) (A - B)
-#else
-#define used_stack(A,B) (long) (B - A)
-#endif
+#ifndef EMBEDDED_LIBRARY
+
+#define used_stack(A,B) (long)(A > B ? A - B : B - A)
#ifndef DBUG_OFF
long max_stack_used;
#endif
-#ifndef EMBEDDED_LIBRARY
/*
Note: The 'buf' parameter is necessary, even if it is unused here.
- fix_fields functions has a "dummy" buffer large enough for the