summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shulga <dmitry.shulga@mariadb.com>2020-10-09 20:55:14 +0700
committerDmitry Shulga <dmitry.shulga@mariadb.com>2020-10-09 20:55:14 +0700
commit5e71a3e0df7465b0feebe809219e0463a9b5059f (patch)
treec42323f448d50b1c1854a673aeace7154638ac9e
parent8984d7791035090fb51cb499fdb412bd14b74638 (diff)
downloadmariadb-git-bb-10.2-MDEV-23925.tar.gz
MDEV-23925: Fix warnings generated during compilation of mysys_ssl/openssl.c on MacOSbb-10.2-MDEV-23925
Compiler warnings listed below are generated during server build on MacOS: In file included from server-10.2-MDEV-23564/mysys_ssl/openssl.c:33: In file included from /usr/local/include/openssl/evp.h:16: In file included from /usr/local/include/openssl/bio.h:20: /usr/local/include/openssl/crypto.h:206:10: warning: 'CRYPTO_cleanup_all_ex_data' macro redefined [-Wmacro-redefined] ^ /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:46:9: note: previous definition is here ^ In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33: /usr/local/include/openssl/evp.h:501:10: warning: 'EVP_MD_CTX_init' macro redefined [-Wmacro-redefined] ^ /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:33:9: note: previous definition is here ^ In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33: /usr/local/include/openssl/evp.h:627:11: warning: 'EVP_CIPHER_CTX_init' macro redefined [-Wmacro-redefined] ^ /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:35:9: note: previous definition is here ^ In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33: /usr/local/include/openssl/evp.h:866:11: warning: 'EVP_cleanup' macro redefined [-Wmacro-redefined] ^ /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:44:9: note: previous definition is here ^ 4 warnings generated. In case MariaDB serer is build with -DCMAKE_BUILD_TYPE=Debug it results in build error. The reason of compiler warnings is that header file <ssl_compat.h> included before the openssl system header files. File ssl_compat.h contains some macros with the name as SSL API functions declared in the openssl system header files. It resulted in duplicate symbols thats produces compiler warnings. To fix the issue the header file ssl_compat.h should be included after a line where openssl system header is included.
-rw-r--r--mysys_ssl/openssl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mysys_ssl/openssl.c b/mysys_ssl/openssl.c
index f3dc8f4277c..a11db113b14 100644
--- a/mysys_ssl/openssl.c
+++ b/mysys_ssl/openssl.c
@@ -15,7 +15,6 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#include <my_global.h>
-#include <ssl_compat.h>
/*
The check is only done for OpenSSL 1.1.x.
@@ -25,13 +24,14 @@
*/
#ifndef HAVE_OPENSSL11
+#include <ssl_compat.h>
int check_openssl_compatibility()
{
return 0;
}
#else
#include <openssl/evp.h>
-
+#include <ssl_compat.h>
static uint testing, alloc_size, alloc_count;
static void *coc_malloc(size_t size, const char *f __attribute__((unused)),