diff options
author | Peter Zhu <peter@peterzhu.ca> | 2022-03-01 09:44:39 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2022-03-01 09:44:39 -0500 |
commit | 25ad9eabc7e49de61b1c0504c14c5af46bf446ed (patch) | |
tree | fddb7f0c146b07500d710aa8e8348011db0aee8a | |
parent | 210f29a6bfde91beba1773e848843e43554745aa (diff) |
Only define RUBY_DLN_CHECK_ABI when supported
-rw-r--r-- | dln.c | 4 | ||||
-rw-r--r-- | include/ruby/internal/abi.h | 6 |
2 files changed, 4 insertions, 6 deletions
@@ -426,7 +426,7 @@ dln_sym(void *handle, const char *symbol) } #endif -#if RUBY_DLN_CHECK_ABI && defined(USE_DLN_DLOPEN) +#if defined(RUBY_DLN_CHECK_ABI) && defined(USE_DLN_DLOPEN) static bool abi_check_enabled_p(void) { @@ -441,7 +441,7 @@ dln_load(const char *file) #if defined(_WIN32) || defined(USE_DLN_DLOPEN) void *handle = dln_open(file); -#if RUBY_DLN_CHECK_ABI +#ifdef RUBY_DLN_CHECK_ABI unsigned long long (*abi_version_fct)(void) = (unsigned long long(*)(void))dln_sym(handle, "ruby_abi_version"); unsigned long long binary_abi_version = (*abi_version_fct)(); if (binary_abi_version != ruby_abi_version() && abi_check_enabled_p()) { diff --git a/include/ruby/internal/abi.h b/include/ruby/internal/abi.h index 78ed4c1875..81899dcd31 100644 --- a/include/ruby/internal/abi.h +++ b/include/ruby/internal/abi.h @@ -27,12 +27,10 @@ /* Windows does not support weak symbols so ruby_abi_version will not exist * in the shared library. */ #if defined(HAVE_FUNC_WEAK) && !defined(_WIN32) && !defined(__MINGW32__) -# define RUBY_DLN_CHECK_ABI 1 -#else -# define RUBY_DLN_CHECK_ABI 0 +# define RUBY_DLN_CHECK_ABI #endif -#if RUBY_DLN_CHECK_ABI +#ifdef RUBY_DLN_CHECK_ABI RUBY_FUNC_EXPORTED unsigned long long __attribute__((weak)) ruby_abi_version(void) |