diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-05-01 14:05:52 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-05-01 14:05:52 +0200 |
commit | dc23a9501a995d7b24c98877fbdf40435ad1a097 (patch) | |
tree | 963b31c0f3852c1ee6eae37756950cb46ec78c3d /storage/innobase | |
parent | 302e4776e0be6b71512446c1bd6a3541b08b8350 (diff) | |
download | mariadb-git-dc23a9501a995d7b24c98877fbdf40435ad1a097.tar.gz |
Solaris compilation failure: xtradb is linked in statically, ha_innodb.so needs
the linker script.
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/CMakeLists.txt | 10 | ||||
-rw-r--r-- | storage/innobase/plugin_exports | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index 8210115fb82..50fdb36495d 100644 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -391,6 +391,16 @@ IF(WITH_INNODB) SET(WITH_INNOBASE_STORAGE_ENGINE TRUE) ENDIF() +# On solaris, reduce symbol visibility, so loader does not mix +# the same symbols from builtin innodb and from shared one. +# Only required for old GCC (3.4.3) that does not support hidden visibility +IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCC + AND NOT HAVE_VISIBILITY_HIDDEN) + SET(LINKER_SCRIPT "-Wl,-M${CMAKE_CURRENT_SOURCE_DIR}/plugin_exports") +ELSE() + SET(LINKER_SCRIPT) +ENDIF() + MYSQL_ADD_PLUGIN(innobase ${INNOBASE_SOURCES} STORAGE_ENGINE MODULE_ONLY MODULE_OUTPUT_NAME ha_innodb diff --git a/storage/innobase/plugin_exports b/storage/innobase/plugin_exports new file mode 100644 index 00000000000..235ae3d5e72 --- /dev/null +++ b/storage/innobase/plugin_exports @@ -0,0 +1,14 @@ +{ + global: + _maria_plugin_interface_version_; + _maria_sizeof_struct_st_plugin_; + _maria_plugin_declarations_; + my_snprintf_service; + thd_alloc_service; + thd_autoinc_service; + thd_error_context_service; + thd_kill_statement_service; + thd_wait_service; + local: + *; +}; |