https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1709775478
2012-07-03T23:25:34Z
Ruby Issue Tracking System
Ruby master - Bug #6689: r36284: symbol referenceng error: atomic_swap_long in Solaris
https://bugs.ruby-lang.org/issues/6689?journal_id=27761
2012-07-03T23:25:34Z
ngoto (Naohisa Goto)
ngotogenome@gmail.com
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r36290.<br>
Naohisa, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<ul>
<li>gc.c (ATOMIC_SIZE_EXCHANGE): fix function name on Solaris [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: r36284: symbol referenceng error: atomic_swap_long in Solaris (Closed)" href="https://bugs.ruby-lang.org/issues/6689">#6689</a>]<br>
<a href="/issues/6689">[ruby-dev:45904]</a></li>
</ul>
Ruby master - Bug #6689: r36284: symbol referenceng error: atomic_swap_long in Solaris
https://bugs.ruby-lang.org/issues/6689?journal_id=27762
2012-07-03T23:53:17Z
ko1 (Koichi Sasada)
<ul></ul><p>そもそも,gc.c の変更は本当に必要なんでしょうか.</p>
<p>(2012/07/03 23:17), ngoto (Naohisa Goto) wrote:</p>
<blockquote>
<p>Issue <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: r36284: symbol referenceng error: atomic_swap_long in Solaris (Closed)" href="https://bugs.ruby-lang.org/issues/6689">#6689</a> has been reported by ngoto (Naohisa Goto).</p>
<hr>
<p>Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: r36284: symbol referenceng error: atomic_swap_long in Solaris (Closed)" href="https://bugs.ruby-lang.org/issues/6689">#6689</a>: r36284: symbol referenceng error: atomic_swap_long in Solaris<br>
<a href="https://bugs.ruby-lang.org/issues/6689" class="external">https://bugs.ruby-lang.org/issues/6689</a></p>
<p>Author: ngoto (Naohisa Goto)<br>
Status: Open<br>
Priority: Normal<br>
Assignee:<br>
Category:<br>
Target version:<br>
ruby -v: -</p>
<p>r36284以降、sparc上の Solaris 10 + Oracle Solaris Studio 12 にて、<br>
atomic_swap_long が見つからない symbol referenceng error になり、<br>
minirubyが出来ません。以下のパッチで治りました。</p>
<p>ところで、r36284で追加された ATOMIC_SIZE_**** というマクロ群は、<br>
gc.c に直書きではなく、以前からatomic操作関連のマクロを置いている<br>
atomic.h に追加して、それを#includeする形にしたほうが、<br>
#if の条件のメンテナンスが楽になるため大変ありがたいのですが、<br>
可能でしょうか?</p>
<a name="Index-gcc"></a>
<h1 >Index: gc.c<a href="#Index-gcc" class="wiki-anchor">¶</a></h1>
<p>--- gc.c (revision 36289)<br>
+++ gc.c (working copy)<br>
@@ -79,7 +79,7 @@</p>
<a name="define-ATOMIC_SIZE_SUBvar-val-atomic_add_longampvar-val"></a>
<h1 >define ATOMIC_SIZE_SUB(var, val) atomic_add_long(&(var), -(val))<a href="#define-ATOMIC_SIZE_SUBvar-val-atomic_add_longampvar-val" class="wiki-anchor">¶</a></h1>
<a name="define-ATOMIC_SIZE_INCvar-atomic_inc_ulongampvar"></a>
<h1 >define ATOMIC_SIZE_INC(var) atomic_inc_ulong(&(var))<a href="#define-ATOMIC_SIZE_INCvar-atomic_inc_ulongampvar" class="wiki-anchor">¶</a></h1>
<a name="define-ATOMIC_SIZE_DECvar-atomic_dec_ulongampvar"></a>
<h1 >define ATOMIC_SIZE_DEC(var) atomic_dec_ulong(&(var))<a href="#define-ATOMIC_SIZE_DECvar-atomic_dec_ulongampvar" class="wiki-anchor">¶</a></h1>
<p>-# define ATOMIC_SIZE_EXCHANGE(var, val) atomic_swap_long(&(var), (val))<br>
+# define ATOMIC_SIZE_EXCHANGE(var, val) atomic_swap_ulong(&(var), (val))</p>
<a name="else"></a>
<h1 >else<a href="#else" class="wiki-anchor">¶</a></h1>
<a name="define-ATOMIC_SIZE_ADDvar-val-atomic_add_intampvar-val"></a>
<h1 >define ATOMIC_SIZE_ADD(var, val) atomic_add_int(&(var), (val))<a href="#define-ATOMIC_SIZE_ADDvar-val-atomic_add_intampvar-val" class="wiki-anchor">¶</a></h1>
<a name="define-ATOMIC_SIZE_SUBvar-val-atomic_add_intampvar-val"></a>
<h1 >define ATOMIC_SIZE_SUB(var, val) atomic_add_int(&(var), -(val))<a href="#define-ATOMIC_SIZE_SUBvar-val-atomic_add_intampvar-val" class="wiki-anchor">¶</a></h1>
</blockquote>
<p>--<br>
// SASADA Koichi at atdot dot net</p>
Ruby master - Bug #6689: r36284: symbol referenceng error: atomic_swap_long in Solaris
https://bugs.ruby-lang.org/issues/6689?journal_id=27779
2012-07-04T12:29:21Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul></ul><p>なかだです。</p>
<p>At Tue, 3 Jul 2012 23:17:20 +0900,<br>
ngoto (Naohisa Goto) wrote in <a href="/issues/6689">[ruby-dev:45904]</a>:</p>
<blockquote>
<p>ところで、r36284で追加された ATOMIC_SIZE_**** というマクロ群は、<br>
gc.c に直書きではなく、以前からatomic操作関連のマクロを置いている<br>
atomic.h に追加して、それを#includeする形にしたほうが、<br>
#if の条件のメンテナンスが楽になるため大変ありがたいのですが、<br>
可能でしょうか?</p>
</blockquote>
<p>動かないだろうことがわかっていたWin64が修正されたので、atomic.h<br>
で考慮されているプラットフォームは対応されたことになりますから、<br>
もう移動しても構わないんじゃないでしょうか。</p>
<p>--<br>
--- 僕の前にBugはない。<br>
--- 僕の後ろにBugはできる。<br>
中田 伸悦</p>