From 1c7f2cceac59dfed6be66ef502bb4ca615a78173 Mon Sep 17 00:00:00 2001 From: usa Date: Mon, 5 Apr 2021 00:05:42 +0000 Subject: 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(-) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- configure.ac | 4 ++-- version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 0a1d79cacd..282cf4618f 100644 --- a/configure.ac +++ b/configure.ac @@ -1430,7 +1430,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); @@ -1445,7 +1445,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 868edf66f9..b359e8b094 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.6.7" #define RUBY_RELEASE_DATE "2021-04-05" -#define RUBY_PATCHLEVEL 191 +#define RUBY_PATCHLEVEL 192 #define RUBY_RELEASE_YEAR 2021 #define RUBY_RELEASE_MONTH 4 -- cgit v1.2.1