mirror of
https://github.com/MariaDB/server.git
synced 2025-05-25 13:42:52 +03:00
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
This commit is contained in:
parent
db9128f84f
commit
a069db06a6
@ -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])
|
|||||||
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()
|
|||||||
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([
|
|||||||
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
|
|||||||
#---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" {
|
|||||||
/* 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)
|
|||||||
#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,
|
|||||||
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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user