diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-09-13 15:28:53 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-09-13 15:28:53 +0300 |
commit | b214264aee2a6441abc7c8e73519c8267edcb8fa (patch) | |
tree | 2bec335394fcdef46b6edb575f67b62024df0d8b /include/my_sys.h | |
parent | 41290e91b7be29ed72b8a41c7b6698ec1d2b96ab (diff) | |
download | mariadb-git-b214264aee2a6441abc7c8e73519c8267edcb8fa.tar.gz |
MDEV-20525 rocksdb debug compilation fails on Windows due to unresolved my_assert variable
MYSQL_PLUGIN_IMPORT did not work correctly for the RocksDB helper library
rocksdb_aux_lib, because that library was not compiled with
-DMYSQL_DYNAMIC_PLUGIN.
Fix DBUG such that it does not depend on exported data, only on functions
(which do not need MYSQL_PLUGIN_IMPORT decoration)
Use a "getter" function _db_my_assert() instead of DLL-exported variable.
Also, reduce object code duplication by moving more of the DBUG_ASSERT
logic inside the _db_my_assert() function, and add unlikely() and
ATTRIBUTE_COLD hints to ensure that the 'assertion failed' code will
be separated from the main control flow logic. Thus, the compiler can
move the unlikely() code to the end of the compiled function, reachable
via a forward conditional branch, which the processor's branch predictor
could assume 'not taken'.
Diffstat (limited to 'include/my_sys.h')
-rw-r--r-- | include/my_sys.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index a746dd9de1b..90f37f8ca81 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -267,7 +267,7 @@ extern ulong my_sync_count; extern uint mysys_usage_id; extern int32 my_file_opened; extern my_bool my_init_done, my_thr_key_mysys_exists; -extern MYSQL_PLUGIN_IMPORT my_bool my_assert; +extern my_bool my_assert; extern my_bool my_assert_on_error; extern myf my_global_flags; /* Set to MY_WME for more error messages */ /* Point to current my_message() */ |