[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

永井@知能.九工大です.

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21413] Re: Building 1.8.0 on Solaris with Sun CC

From: 桑村慎哉 <kuwa@...>
Date: 2003-09-26 06:41:16 UTC
List: ruby-dev #21413
桑村です。

<200309260421.h8Q4LKGx003789@sharui.nakada.kanuma.tochigi.jp>で、
 nobu.nakada@nifty.ne.jpさんは書きました:
> 
> At Fri, 26 Sep 2003 11:59:27 +0900,
> 桑村慎哉 wrote:
> > > > 32ビットはこれでいいのですが、64ビットは
> > > >     asm volatile ("flushw" : :);
> > > > のコンパイルがエラーになり、よく分からなかったので手付かずです。
> > > > パッチのままだと32ビットのときと同じ命令になります。
> > > 
> > > どんなエラーでしょうか。
> > > 
> > 
> > syntax errorです。
> > いただいたパッチを1.8.0に当ててコンパイルすると、次のようになります。
> > 
> > cc -xO4 -xarch=v9 -KPIC -I. -I. -c array.c
> > "./defines.h", line 147: syntax error before or at: :
> > 
> > これもgcc拡張機能のような気がします。
> 
> どうせレジスタは指定してないし、: :ごと取ってしまいますか。

: :を取ったらコンパイルでき、make testも通りました。
これで64ビットでも動きますね。

どうもありがとうございました。

一応パッチをつけておきます。

Index: defines.h
===================================================================
RCS file: /src/ruby/defines.h,v
retrieving revision 1.32
diff -u -r1.32 defines.h
--- defines.h	26 Sep 2003 00:52:48 -0000	1.32
+++ defines.h	26 Sep 2003 06:38:01 -0000
@@ -144,7 +144,7 @@
 	volatile
 #endif
 # if defined(__sparc_v9__) || defined(__sparcv9) || defined(__arch64__)
-	("flushw" : :)
+	("flushw")
 # elif defined(linux) || defined(__linux__)
 	("ta  0x83")
 # else /* Solaris, OpenBSD, NetBSD, etc. */

-- 
    桑村 慎哉  (株) 富士通研究所 ITメディア研究所 CAD研究部

In This Thread

Prev Next