diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-14 11:52:53 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-14 11:52:53 +0000 |
commit | 59680d0fc07077a1027cfb2f6a2af1372f16af88 (patch) | |
tree | 5ff89e10cd0e1bce3737f94589bd7872ca0eacde | |
parent | bceb3cd988385d45731703de932adb04846e3db3 (diff) |
* configure.in (ARCH_FLAG): __sync_val_compare_and_swap_4 needs
-march=i486 on at least linux gcc 4.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.in | 23 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 29 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Fri Feb 14 20:52:31 2014 NAKAMURA Usaku <usa@ruby-lang.org> + + * configure.in (ARCH_FLAG): __sync_val_compare_and_swap_4 needs + -march=i486 on at least linux gcc 4.1. + Fri Feb 14 19:07:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * ruby_atomic.h (ATOMIC_PTR_EXCHANGE): atomic exchange function for diff --git a/configure.in b/configure.in index 64b257abfd..2736233699 100644 --- a/configure.in +++ b/configure.in @@ -308,6 +308,29 @@ if test "$target_cpu" != "$host_cpu" -a "$GCC" = yes -a "$cross_compiling" = no RUBY_DEFAULT_ARCH("$target_cpu") fi +AS_CASE(["$target_cpu-$target_os"], [[i[3-6]86*]], [ + AC_CACHE_CHECK([for __sync_val_compare_and_swap], [rb_cv_gcc_compiler_cas], [ + AC_TRY_LINK([unsigned long atomic_var;], + [ + __sync_val_compare_and_swap(&atomic_var, 0, 1); + ], + [rb_cv_gcc_compiler_cas=yes], + [rb_cv_gcc_compiler_cas=no])]) + if test "$rb_cv_gcc_compiler_cas" = no; then + unset rb_cv_gcc_compiler_cas + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -march=i486" + AC_CACHE_CHECK([for __sync_val_compare_and_swap with -march=i486], [rb_cv_gcc_compiler_cas], [ + AC_TRY_LINK([unsigned long atomic_var;], + [ + __sync_val_compare_and_swap(&atomic_var, 0, 1); + ], + [rb_cv_gcc_compiler_cas=yes + ARCH_FLAG="-march=i486"], + [rb_cv_gcc_compiler_cas=no])]) + CFLAGS="$save_CFLAGS" + fi]) + AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(AR, ar) if test -z "$AR"; then @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 532 +#define RUBY_PATCHLEVEL 533 #define RUBY_RELEASE_DATE "2014-02-14" #define RUBY_RELEASE_YEAR 2014 |