sql_parse.cc, config-win.h, config-netware.h:

  Don't try determine stack direction at configure time
compiler_flag.m4:
  Use AC_TRY_COMPILE and AC_TRY_LINK instead of AC_TRY_RUN where possible
misc.m4, configure.in:
  Use fourth argument to AC_TRY_RUN, to be used in cross compilation
  Don't try determine stack direction at configure time
parent db9128f8
...@@ -7,7 +7,7 @@ AC_DEFUN([AC_SYS_COMPILER_FLAG], ...@@ -7,7 +7,7 @@ AC_DEFUN([AC_SYS_COMPILER_FLAG],
AC_CACHE_VAL(mysql_cv_option_$2, AC_CACHE_VAL(mysql_cv_option_$2,
[ [
CFLAGS="[$]OLD_CFLAGS $1" 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" CFLAGS="[$]OLD_CFLAGS"
......
...@@ -450,29 +450,6 @@ AC_DEFINE([HAVE_BOOL], [1], [bool is not defined by all C++ compilators]) ...@@ -450,29 +450,6 @@ AC_DEFINE([HAVE_BOOL], [1], [bool is not defined by all C++ compilators])
fi fi
])dnl ])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_DEFUN([MYSQL_CHECK_LONGLONG_TO_FLOAT],
[ [
AC_MSG_CHECKING(if conversion of longlong to float works) AC_MSG_CHECKING(if conversion of longlong to float works)
...@@ -488,7 +465,9 @@ int main() ...@@ -488,7 +465,9 @@ int main()
fprintf(file,"%g\n",f); fprintf(file,"%g\n",f);
fclose(file); fclose(file);
return (0); 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" if test "$ac_cv_conv_longlong_to_float" = "1" -o "$ac_cv_conv_longlong_to_float" = "yes"
then then
ac_cv_conv_longlong_to_float=yes ac_cv_conv_longlong_to_float=yes
......
...@@ -264,7 +264,10 @@ AC_TRY_RUN([ ...@@ -264,7 +264,10 @@ AC_TRY_RUN([
AC_MSG_RESULT("ptr")], AC_MSG_RESULT("ptr")],
[AC_DEFINE(SPRINTF_RETURNS_GARBAGE, [1], [Broken sprintf]) [AC_DEFINE(SPRINTF_RETURNS_GARBAGE, [1], [Broken sprintf])
AC_MSG_RESULT("garbage")]) AC_MSG_RESULT("garbage")])
]) ],
# Cross compile, assume POSIX
[AC_DEFINE(SPRINTF_RETURNS_INT, [1], [POSIX sprintf])
AC_MSG_RESULT("int (we assume)")])
;; ;;
esac esac
...@@ -1784,8 +1787,6 @@ MYSQL_TYPE_ACCEPT ...@@ -1784,8 +1787,6 @@ MYSQL_TYPE_ACCEPT
#---END: #---END:
# Figure out what type of struct rlimit to use with setrlimit # Figure out what type of struct rlimit to use with setrlimit
MYSQL_TYPE_STRUCT_RLIMIT 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.. # We want to skip alloca on irix unconditionally. It may work on some version..
MYSQL_FUNC_ALLOCA MYSQL_FUNC_ALLOCA
# Do struct timespec have members tv_sec or ts_sec # Do struct timespec have members tv_sec or ts_sec
......
...@@ -112,9 +112,6 @@ extern "C" { ...@@ -112,9 +112,6 @@ extern "C" {
/* signal by closing the sockets */ /* signal by closing the sockets */
#define SIGNAL_WITH_VIO_CLOSE 1 #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 */ /* On NetWare, we need to set stack size for threads, otherwise default 16K is used */
#define NW_THD_STACKSIZE 65536 #define NW_THD_STACKSIZE 65536
......
...@@ -250,8 +250,6 @@ inline double ulonglong2double(ulonglong value) ...@@ -250,8 +250,6 @@ inline double ulonglong2double(ulonglong value)
#endif #endif
#define STACK_DIRECTION -1
/* Optimized store functions for Intel x86 */ /* Optimized store functions for Intel x86 */
#ifndef _WIN64 #ifndef _WIN64
......
...@@ -4996,17 +4996,14 @@ bool check_merge_table_access(THD *thd, char *db, ...@@ -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 Check stack size; Send error if there isn't enough stack to continue
****************************************************************************/ ****************************************************************************/
#if STACK_DIRECTION < 0 #ifndef EMBEDDED_LIBRARY
#define used_stack(A,B) (long) (A - B)
#else #define used_stack(A,B) (long)(A > B ? A - B : B - A)
#define used_stack(A,B) (long) (B - A)
#endif
#ifndef DBUG_OFF #ifndef DBUG_OFF
long max_stack_used; long max_stack_used;
#endif #endif
#ifndef EMBEDDED_LIBRARY
/* /*
Note: The 'buf' parameter is necessary, even if it is unused here. Note: The 'buf' parameter is necessary, even if it is unused here.
- fix_fields functions has a "dummy" buffer large enough for the - fix_fields functions has a "dummy" buffer large enough for the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment