From: Naohisa GOTO Date: 2011-10-25T11:15:47+09:00 Subject: [ruby-dev:44698] Re: [ruby-trunk - Bug #5475][Open] r33507以降SolarisでPTYが使えない On Mon, 24 Oct 2011 22:59:20 +0900 Tanaka Akira wrote: > ついでに、dln.c に > #if defined(sun) && defined(sparc) > というのがあって気がついたんですが、もしかして sparc も __sparc とかのほうが > いいですかね。 > (うぅむ。SPARC の ABI を見ても載っていなかった...) Sun(Oracle) の cc では sparc と __sparc 両方定義がありますが、 ドキュメントでは __sparc を使うように指示がされています。 http://developers.sun.com/sunstudio/documentation/ss12u1/mr/READMEs/c++_faq.html#Vers6 ISO C厳密準拠モード(-Xc)でのみ sparc や sun は消えます。 ただし、このモードではRubyのコンパイルは通らないと思います。 http://download.oracle.com/docs/cd/E19205-01/820-1209/bjaii/index.html 私の手元にある他のコンパイラ(fcc, gcc)でも同様に sparc と __sparc の両方が定義されています。 OpenSolaris, Illumos はおそらくSunと同様と思います。 しかし、Sparc Linux (Debianなど), NetBSD, FreeBSD, OpenBSD など、他のsparc上のUNIX系OSでの状況はわかりませんでした。 __sparcv9 のことも考えるとさらに面倒。 -- 後藤 直久 ngoto@gen-info.osaka-u.ac.jp