summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2021-03-20 13:33:52 +0900
committernagachika <nagachika@ruby-lang.org>2021-03-20 13:33:52 +0900
commitba6f0879448ebc80c7a595c369c59b6d8dfbdf3e (patch)
tree565c771c9725cf866e7ab618fb64ffcc046b8ea1
parentc98aa2db60f43e839d7a82897c22b5ceecbed417 (diff)
merge revision(s) abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2: [Backport #16774]
Don't require sub-word atomics On some architectures (like RISC-V) sub-word atomics are only available when linking against -latomic, but the configure script doesn't do that, causing the atomic checks to fail and the resulting ruby binary is non-functional. Ruby does not use sub-word atomic operations, rb_atomic_t is defined to unsigned int, so use unsigned int when checking for atomic operations. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
-rw-r--r--configure.ac4
-rw-r--r--version.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 9077f4b953..1ec13bf8c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1457,7 +1457,7 @@ AS_IF([test "$GCC" = yes], [
])
AC_CACHE_CHECK([for __atomic builtins], [rb_cv_gcc_atomic_builtins], [
- AC_TRY_LINK([unsigned char atomic_var;],
+ AC_TRY_LINK([unsigned int atomic_var;],
[
__atomic_exchange_n(&atomic_var, 0, __ATOMIC_SEQ_CST);
__atomic_exchange_n(&atomic_var, 1, __ATOMIC_SEQ_CST);
@@ -1472,7 +1472,7 @@ AS_IF([test "$GCC" = yes], [
])
AC_CACHE_CHECK([for __sync builtins], [rb_cv_gcc_sync_builtins], [
- AC_TRY_LINK([unsigned char atomic_var;],
+ AC_TRY_LINK([unsigned int atomic_var;],
[
__sync_lock_test_and_set(&atomic_var, 0);
__sync_lock_test_and_set(&atomic_var, 1);
diff --git a/version.h b/version.h
index fac9ec3718..ee50c12238 100644
--- a/version.h
+++ b/version.h
@@ -2,7 +2,7 @@
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
#define RUBY_VERSION_TEENY 3
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 165
+#define RUBY_PATCHLEVEL 166
#define RUBY_RELEASE_YEAR 2021
#define RUBY_RELEASE_MONTH 3