Solaris ユーザのためのヒント
ソフトウェア開発
gcc を 64ビット対応させたい
SPARC
SPARC マシンで、 gcc を 64ビット対応させるのは簡単です。 gcc をインストールするときに次のようにします。
./confiure sparcv9-sun-solaris2.8
2.8 のところは、2.9, 2.10 のように適切に変えて下さい。
AMD64
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
とします.
Sun の C/C++ コンパイラで gdb を使いたい
- -g, -xs オプションを付けてコンパイルしてください.
- シグナルについて,必要なら gdb で handle nostop SIGSEGV を実行してください.
- マルチスレッドプログラムのデバッグを行なうのなら, gdb でなく dbx を使うことにしています.
OS を 32bit/ 64bit モードで起動したい(切り替えたい)。
32bit
boot kernel/unix
64bit
boot kernel/sparcv9/unix
システム性能
prstat コマンドを使って、プロセス情報を出せます。-a, -s, -n オプション 等があります。
その他
- ATA ディスクの DMA を有効に (IA 上の Solaris について)
/boot/solaris/bootenv.rc: setprop ata-dma-enabled '1'