llvm-gccをamd64にインストール

比較的面倒*1

glibcのアップデート

gcc4.3をコンパイルするために、glibcを2.7-r2以上にアップデートする。これは現時点ではmaskedなので、=sys-libs/glibc-2.7-r2 ~amd64のようにpackage.keywordsに追記する必要があるかもしれない。(emerge -s glibc等してインストールされるはずのバージョンを調べる)
glibcのアップデートはそれなりにリスクのある仕事なのでそもそもgentooLLVMのホストに使うのは向かないかもしれない。

gcc4.3のビルド

gentooのgcc4.1はllvmを正常にビルドできないので、gccを普通にインストールする。portageから導入するのが好ましいが、諸般の事情で通常のgcc配布からインストールした。
gccのビルドには作法があり、gccを展開したディレクトリでconfigureしてはいけない。別のフォルダを同じレベルに掘り、

../gcc-4.3.2/configure --prefix=/opt/gcc43 --enable-languages=c,c++

のようにする。
当然、インストール後、llvmllvm-gccをビルドする前にPATHとLD_LIBRARY_PATHを通さなければならない。

llvmのビルド

注意すべき点は基本的にgcc4.3以降を使用することのみ。
llvmMakefileは適切に書かれていないのでmake -j2といった並列ビルドを使用してはいけない。これはllvm-gccにもおそらく当てはまる。

./configure --prefix=/opt/llvm24

llvm-gccのビルド

64bitアーキテクチャでのgentooは/usr/libに64bitライブラリを保持しているので、README.LLVMの指示通り、gcc/config/i386/t-linux64を書き換える必要がある。
必ず--program-prefixで適切なプレフィックスを付ける。多くの場合はシステム本来のgccを継続して使いたいはずで、そのような場合に、システムのgccllvm-gccの提供するgccの区別がつかなくなるかもしれない。

../llvm-gcc4.2-2.4.source/configure   --program-prefix=llvm- --enable-llvm=/opt/llvm24 \
 --prefix=/opt/llvm24 --enable-languages=c,c++

*1:というか普段ディストリビューションのCコンパイラなんか使わないから気づかなかった。。