Commit 05098831 authored by Davi Arnaut's avatar Davi Arnaut

BUG 11763056 - 55721: AIX 5.1.50 build failing, cannot locate bzero

The problem is that although AIX implements bzero, its prototype
is not declared by default. Since AC_CHECK_FUNC(bzero) succeeds
even though a prototype is not declared, this breaks compilation
in C++ files where a prototype is required.

The solution is to only use bzero if a prototype is also declared.

configure.in:
  Check if bzero is declared. No need to specify the includes,
  unisted.h and strings.h are already part of AC_INCLUDES_DEFAULT.
parent 56a735b7
...@@ -2042,12 +2042,7 @@ MYSQL_TYPE_QSORT ...@@ -2042,12 +2042,7 @@ MYSQL_TYPE_QSORT
AC_FUNC_UTIME_NULL AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF AC_FUNC_VPRINTF
AC_CHECK_DECLS([fdatasync],,, AC_CHECK_DECLS([fdatasync, bzero])
[
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
])
AC_CHECK_FUNCS(alarm bfill bmove bsearch bzero \ AC_CHECK_FUNCS(alarm bfill bmove bsearch bzero \
chsize cuserid fchmod fcntl \ chsize cuserid fchmod fcntl \
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
# define bfill(A,B,C) memset((A),(C),(B)) # define bfill(A,B,C) memset((A),(C),(B))
#endif #endif
#if !defined(bzero) && !defined(HAVE_BZERO) #if !defined(bzero) && (!defined(HAVE_BZERO) || !defined(HAVE_DECL_BZERO))
# define bzero(A,B) memset((A),0,(B)) # define bzero(A,B) memset((A),0,(B))
#endif #endif
......
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