[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>

24 messages 2012/07/04

[#45913] [ruby-trunk - Bug #6698][Open] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている — "imkira (Mario Freitas)" <imkira@...>

10 messages 2012/07/04

[#45933] [ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる — "tommy (Masahiro Tomita)" <tommy@...>

8 messages 2012/07/10

[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>

9 messages 2012/07/20

[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>

13 messages 2012/07/30

[ruby-dev:45905] Re: [ruby-trunk - Bug #6689][Open] r36284: symbol referenceng error: atomic_swap_long in Solaris

From: SASADA Koichi <ko1@...>
Date: 2012-07-03 14:43:30 UTC
List: ruby-dev #45905
そもそも,gc.c の変更は本当に必要なんでしょうか.


(2012/07/03 23:17), ngoto (Naohisa Goto) wrote:
> 
> Issue #6689 has been reported by ngoto (Naohisa Goto).
> 
> ----------------------------------------
> Bug #6689: r36284: symbol referenceng error: atomic_swap_long in Solaris
> https://bugs.ruby-lang.org/issues/6689
> 
> Author: ngoto (Naohisa Goto)
> Status: Open
> Priority: Normal
> Assignee: 
> Category: 
> Target version: 
> ruby -v: -
> 
> 
> r36284以降、sparc上の Solaris 10 + Oracle Solaris Studio 12 にて、
> atomic_swap_long が見つからない symbol referenceng error になり、
> minirubyが出来ません。以下のパッチで治りました。
> 
> ところで、r36284で追加された ATOMIC_SIZE_**** というマクロ群は、
> gc.c に直書きではなく、以前からatomic操作関連のマクロを置いている
> atomic.h に追加して、それを#includeする形にしたほうが、
> #if の条件のメンテナンスが楽になるため大変ありがたいのですが、
> 可能でしょうか?
> 
> Index: gc.c
> ===================================================================
> --- gc.c        (revision 36289)
> +++ gc.c        (working copy)
> @@ -79,7 +79,7 @@
>  # define ATOMIC_SIZE_SUB(var, val) atomic_add_long(&(var), -(val))
>  # define ATOMIC_SIZE_INC(var) atomic_inc_ulong(&(var))
>  # define ATOMIC_SIZE_DEC(var) atomic_dec_ulong(&(var))
> -# define ATOMIC_SIZE_EXCHANGE(var, val) atomic_swap_long(&(var), (val))
> +# define ATOMIC_SIZE_EXCHANGE(var, val) atomic_swap_ulong(&(var), (val))
>  # else
>  # define ATOMIC_SIZE_ADD(var, val) atomic_add_int(&(var), (val))
>  # define ATOMIC_SIZE_SUB(var, val) atomic_add_int(&(var), -(val))
> 
> 
> 


-- 
// SASADA Koichi at atdot dot net



In This Thread