summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <daniel@linux.ibm.com>2020-04-04 13:27:43 +1100
committerRobert Bindar <robert@mariadb.org>2020-04-29 12:02:47 +0300
commitc238e9b96ab3660656ce440ed55f6380caa0f56b (patch)
tree4316116498029ad5321ee5483705a6ae1af13bb8
parent4af4284b79ca05ca18c59051eca4705fc3b20181 (diff)
downloadmariadb-git-c238e9b96ab3660656ce440ed55f6380caa0f56b.tar.gz
MDEV-20685: compile fixes for Solaris/OSX/AIX
sig_return: Solaris/OSX returns different function ptr Move defination to my_alarm.h as its the only use. prevents compile warnings (copied from 10.3 branch) mysys/my_sync.c:136:19: error: 'cur_dir_name' defined but not used [-Werror=unused-const-variable=] 136 | static const char cur_dir_name[]= {FN_CURLIB, 0}; | ^~~~~~~~~~~~ fix compile error (DEPRECATED) leaked from ssl headers. In file included from /export/home/dan/mariadb-server-10.4/sql/sys_vars.cc:37: /export/home/dan/mariadb-server-10.4/sql/sys_vars.ic:69: error: "DEPRECATED" redefined [-Werror] 69 | #define DEPRECATED(X) X | In file included from /export/home/dan/mariadb-server-10.4/include/violite.h:150, from /export/home/dan/mariadb-server-10.4/sql/sql_class.h:38, from /export/home/dan/mariadb-server-10.4/sql/sys_vars.cc:36: /usr/include/openssl/ssl.h:2356: note: this is the location of the previous definition 2356 | # define DEPRECATED __attribute__((deprecated)) | Avoid Werror condition on non-Linux: plugin/server_audit/server_audit.c:2267:7: error: variable 'db_len_off' set but not used [-Werror=unused-but-set-variable] 2267 | int db_len_off; | ^~~~~~~~~~ plugin/server_audit/server_audit.c:2266:7: error: variable 'db_off' set but not used [-Werror=unused-but-set-variable] 2266 | int db_off; | ^~~~~~ auth_gssapi fix include path for Solaris Consistent with the upstream packaged patch: https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/database/mariadb-103/patches/06-gssapi.h.patch compile warnings on Solaris [ 91%] Building C object plugin/server_audit/CMakeFiles/server_audit.dir/server_audit.c.o /plugin/server_audit/server_audit.c: In function 'auditing_v8': /plugin/server_audit/server_audit.c:2194:20: error: unused variable 'db_len_off' [-Werror=unused-variable] 2194 | static const int db_len_off= 128; | ^~~~~~~~~~ /plugin/server_audit/server_audit.c:2193:20: error: unused variable 'db_off' [-Werror=unused-variable] 2193 | static const int db_off= 120; | ^~~~~~ /plugin/server_audit/server_audit.c:2192:20: error: unused variable 'cmd_off' [-Werror=unused-variable] 2192 | static const int cmd_off= 4432; | ^~~~~~~ At top level: /plugin/server_audit/server_audit.c:2192:20: error: 'cmd_off' defined but not used [-Werror=unused-const-variable=] /plugin/server_audit/server_audit.c:2193:20: error: 'db_off' defined but not used [-Werror=unused-const-variable=] 2193 | static const int db_off= 120; | ^~~~~~ /plugin/server_audit/server_audit.c:2194:20: error: 'db_len_off' defined but not used [-Werror=unused-const-variable=] 2194 | static const int db_len_off= 128; | ^~~~~~~~~~ cc1: all warnings being treated as errors tested on: $ uname -a SunOS openindiana 5.11 illumos-b97b1727bc i86pc i386 i86pc
-rw-r--r--include/my_alarm.h7
-rw-r--r--include/my_global.h7
-rw-r--r--include/violite.h3
-rw-r--r--mysys/my_sync.c3
-rw-r--r--plugin/auth_gssapi/gssapi_errmsg.cc4
-rw-r--r--plugin/server_audit/server_audit.c4
-rw-r--r--sql/sql_parse.cc3
7 files changed, 20 insertions, 11 deletions
diff --git a/include/my_alarm.h b/include/my_alarm.h
index 6010da6e2c3..bc0004476ca 100644
--- a/include/my_alarm.h
+++ b/include/my_alarm.h
@@ -29,6 +29,13 @@ extern ulong my_time_to_wait_for_lock;
#if defined(HAVE_ALARM) && !defined(NO_ALARM_LOOP)
#include <signal.h>
+#ifdef HAVE_SIGHANDLER_T
+#define sig_return sighandler_t
+#elif defined(SOLARIS) || defined(__sun) || defined(__APPLE__)
+typedef void (*sig_return)(int); /* Returns type from signal */
+#else
+typedef void (*sig_return)(void); /* Returns type from signal */
+#endif
#define ALARM_VARIABLES uint alarm_old=0; \
sig_return alarm_signal=0
#define ALARM_INIT my_have_got_alarm=0 ; \
diff --git a/include/my_global.h b/include/my_global.h
index 8103f82a7e2..5e96400eac1 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -531,13 +531,6 @@ typedef int my_socket; /* File descriptor for sockets */
#endif
/* Type for fuctions that handles signals */
#define sig_handler RETSIGTYPE
-C_MODE_START
-#ifdef HAVE_SIGHANDLER_T
-#define sig_return sighandler_t
-#else
-typedef void (*sig_return)(void); /* Returns type from signal */
-#endif
-C_MODE_END
#if defined(__GNUC__) && !defined(_lint)
typedef char pchar; /* Mixed prototypes can take char */
typedef char puchar; /* Mixed prototypes can take char */
diff --git a/include/violite.h b/include/violite.h
index 45273ac5f24..b9ab7aeb99a 100644
--- a/include/violite.h
+++ b/include/violite.h
@@ -138,6 +138,9 @@ typedef my_socket YASSL_SOCKET_T;
#define YASSL_SOCKET_T_DEFINED
#include <openssl/ssl.h>
#include <openssl/err.h>
+#ifdef DEPRECATED
+#undef DEPRECATED
+#endif
enum enum_ssl_init_error
{
diff --git a/mysys/my_sync.c b/mysys/my_sync.c
index 2ed62e4541a..5a21a511dda 100644
--- a/mysys/my_sync.c
+++ b/mysys/my_sync.c
@@ -133,8 +133,6 @@ int my_sync(File fd, myf my_flags)
} /* my_sync */
-static const char cur_dir_name[]= {FN_CURLIB, 0};
-
/*
Force directory information to disk.
@@ -151,6 +149,7 @@ int my_sync_dir(const char *dir_name __attribute__((unused)),
myf my_flags __attribute__((unused)))
{
#ifdef NEED_EXPLICIT_SYNC_DIR
+ static const char cur_dir_name[]= {FN_CURLIB, 0};
File dir_fd;
int res= 0;
const char *correct_dir_name;
diff --git a/plugin/auth_gssapi/gssapi_errmsg.cc b/plugin/auth_gssapi/gssapi_errmsg.cc
index 8ea4cab5b02..9b3386fba08 100644
--- a/plugin/auth_gssapi/gssapi_errmsg.cc
+++ b/plugin/auth_gssapi/gssapi_errmsg.cc
@@ -26,7 +26,11 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
+#if defined(__FreeBSD__) || defined(SOLARIS) || defined(__sun)
+#include <gssapi/gssapi.h>
+#else
#include <gssapi.h>
+#endif
#include <string.h>
void gssapi_errmsg(OM_uint32 major, OM_uint32 minor, char *buf, size_t size)
{
diff --git a/plugin/server_audit/server_audit.c b/plugin/server_audit/server_audit.c
index 85bf3c03f9a..8e468cf486d 100644
--- a/plugin/server_audit/server_audit.c
+++ b/plugin/server_audit/server_audit.c
@@ -2177,6 +2177,7 @@ struct mysql_event_general_v8
static void auditing_v8(MYSQL_THD thd, struct mysql_event_general_v8 *ev_v8)
{
+#ifdef __linux__
#ifdef DBUG_OFF
#ifdef __x86_64__
static const int cmd_off= 4200;
@@ -2198,6 +2199,7 @@ static void auditing_v8(MYSQL_THD thd, struct mysql_event_general_v8 *ev_v8)
static const int db_len_off= 68;
#endif /*x86_64*/
#endif /*DBUG_OFF*/
+#endif /*__linux*/
struct mysql_event_general event;
@@ -2259,6 +2261,7 @@ static void auditing_v13(MYSQL_THD thd, unsigned int *ev_v0)
int get_db_mysql57(MYSQL_THD thd, char **name, int *len)
{
+#ifdef __linux__
int db_off;
int db_len_off;
if (debug_server_started)
@@ -2282,7 +2285,6 @@ int get_db_mysql57(MYSQL_THD thd, char **name, int *len)
#endif /*x86_64*/
}
-#ifdef __linux__
*name= *(char **) (((char *) thd) + db_off);
*len= *((int *) (((char*) thd) + db_len_off));
if (*name && (*name)[*len] != 0)
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index df1ff1faf03..3f03f27e21c 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1295,7 +1295,8 @@ bool do_command(THD *thd)
mysql_mutex_lock(&thd->LOCK_thd_data);
if (thd->wsrep_conflict_state == MUST_ABORT)
{
- DBUG_PRINT("wsrep",("aborted for wsrep rollback: %lu", thd->real_id));
+ DBUG_PRINT("wsrep",("aborted for wsrep rollback: %lu",
+ (long unsigned int) thd->real_id));
wsrep_client_rollback(thd);
}
mysql_mutex_unlock(&thd->LOCK_thd_data);