SPARC マシンで、 gcc を 64ビット対応させるのは簡単です。 gcc をインストールするときに次のようにします。
./confiure sparcv9-sun-solaris2.8
2.8 のところは、2.9, 2.10 のように適切に変えて下さい。
AMD64(Athlon64) のマシンに Solaris 10 をインストールしたのですが、 64 ビットモードでコンパイルできるコンパイラを試したくなり、 gcc4 をインストールしてみました。
前準備
以下の手順で、binutils-2.16 をインストールしておく
gtar -xvzof binutils-2.16.tar.gz cd binutils-2.16 ./configure --disable-nls gmake bootstrap --with-gnu-as --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld
インストール
gtar -xvjof gcc-core-4.0.3.tar.bz2 cd gcc-4.0.3 mkdir build-i386-pc-solaris2.10 cd build-i386-pc-solaris2.10 ./configure gmake bootstrap --with-gnu-as --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld gmake install
テスト実行
cd /tmp/ rm -f /tmp/a.c echo '#include<stdio.h>' > /tmp/a.c echo 'int main() {' >> /tmp/a.c echo 'printf( "sizeof(int) = %d\n", sizeof(int) );' >> /tmp/a.c echo 'printf( "sizeof(long int) = %d\n", sizeof(long int) );' >> /tmp/a.c echo 'printf( "sizeof(long long int) = %d\n", sizeof(long long int) );' >> /tmp/a.c echo '} ' >> /tmp/a.c # コンパイル gcc -V 4.0.0 -m64 a.out a.c ./a.out
使うときですが、 64ビットコンパイラとして使いたいときは
gcc -m64
32ビットコンパイラとして使いたいときは
gcc -m32
とします.
32bit boot kernel/unix
64bit boot kernel/sparcv9/unix
prstat コマンドを使って、プロセス情報を出せます。-a, -s, -n オプション 等があります。
/boot/solaris/bootenv.rc: setprop ata-dma-enabled '1'