2002年8月現在のgcc最新版はバージョン3.2である.gccはGNU ProjectCompiler Collectionであり,CおよびC++以外に,FORTRAN77,Java,Objective-C,Adaの各コンパイラを構築できる.また,64ビットモードにも対応しており,long型およびポインタ型を64ビット長でコンパイルすることも可能である.
Solaris8(SPARC版)はカーネルが64ビットモードであり,64ビットモードのコンパイルが必要なソフトウェアもある.しかし,多くのソフトウェアは32ビットモードで問題なく動作するので,必要に応じて32ビットモードと64ビットモードを使い分けることができると好都合である.
Solaris8上でgccをソースからコンパイルすると,32ビットモードと64ビットモードの両方をサポートするコンパイラが出来上がる.当然,ライブラリも32ビットモードと64ビットモードの両方必要になるが,私の利用している環境では,FORTRAN77およびJavaの64ビットモードライブラリの構築でエラーが発生した.configureスクリプトおよびMakefileを修正するとFORTRAN77のライブラリは構築できるが,Javaのライブラリ構築はエラーがなくならない.FORTRAN77およびJavaコンパイラは必要ないので,CおよびC++のみを構築することにした.
% gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2/specs Configured with: ./configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls --disable-shared --enable-languages=c,c++ --with-system-zlib Thread model: posix gcc version 3.2 % gcc sample.c % file ./a.out ./a.out: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped % gcc -m64 sample.c % file ./a.out ./a.out: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped |