gcc-4.2
gcc-4がダメならその上でチャレンジしてみる。
以下のものを用意
上ふたつは、gnuのミラーサイトから。
下ふたつは、sharpから。
参考にさせていただいたサイト:
http://d.hatena.ne.jp/hake/20060424/p1
binutils build
まずはアセンブラーを準備。
$ tar jxvf binutils-2.17.tar.bz2 $ ./configure --prefix=/opt/zaurus \ --enable-shared --target=arm-linux --enable-targets=xscale-linux-elf $ make $ su # make install
header copy
つぎに、sharpから貰ってきたヘッダファイルとライブラリ郡を自作ディレクトリにコピー。
これがないとgccがコンパイルできない。
$ alien --to-tgz glibc-arm-2.2.2-0.i386.rpm linux-headers-arm-sa1100-2.4.6-3.i386.rpm $ tar zxvf glibc-arm-2.2.2.tgz $ tar zxvf linux-headers-arm-sa1100-2.4.6.tgz $ su # cp -a ./opt/Embedix/tools/arm-linux/include /opt/zaurus/arm-linux # cp -a ./opt/Embedix/tools/arm-linux/lib /opt/zaurus/arm-linux
fix header
どうやら、pthread.hとsigthread.hに修正が必要な模様。
Coffee Break
binutilsコンパイル中に不思議な文字列がターミナル上に表示された。
CPU0: Temperature above threshold CPU0: Running in modulated clock mode
調べてみると、まずい熱暴走手前見たい。とりあえずパソコンの側面カバーをあけて冷却。
gcc build
$ export PATH=/opt/zaurus/bin:$PATH $ mkdir xscale-gcc $ cd xscale-gcc $ CFLAGS="-O2" CFLAGS_FOR_TARGET="-O2 -mcpu=xscale -Wa,-mfpu=fpa" \ ../configure --prefix=/opt/zaurus --target=arm-linux \ --with-cpu=xscale --enable-shared --enable-languages=c,c++ $ make $ su # export PATH=/opt/zaurus/bin:$PATH # make install
ベンチマークテスト
ここはひとつ業界標準で。
http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2FBenchmark
このサイトによると、C3000(gcc 2.95.1))で454,546 Dhrystone (for 10,000,000 runs)