正直日記



2008/02/29

_ 4.3-20080228版 devkitARM を作ってみる
環境はたぶんこんなん。

4.2ではgfortranで、4.3からは全ての言語で GMP 4.1+ and MPFR 2.3.0+ が必要
になったらしい。なのでgmp-4.2.2mpfr-2.3.1を取ってきて使えるようにする。

buildscripts-20060724より、build-devkit.sh のしかるべき場所を書き換えて
走らせる。

1時間ちょっと経過したころ、エラーで止まってた。
gcc-4.3-20080228/libgcc/../gcc/config/arm/libunwind.S:50: Error: unknown pseudo-op: `.object_arch'
だってさ!ググったら最初にずばりな件名のパッチが引っかかったよ。 binutils からやり直しってのがひでー。あらかじめ知っておけよ俺! (続く) -- (続いた) ワオ!また同じエラーが出てた!もう駄目だ! と言いたい所だけど、ここらへん読んで懲りずにbinutils-2.18.50を取ってきた。 軽く眺めた程度だけど、2.17と比べてgas/config/tc-arm.cのobject_arch関連に (先ほどのパッチよりも込み入った)手が加えられているみたいだ。再挑戦して みよう。 (また続く) -- (また続いた) さきほどのエラー箇所はパスした模様。しかしまた止まってた。
checking for shl_load... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES. make[1]: *** [configure-target-libstdc++-v3] Error 1 make[1]: Leaving directory `/h/gcc/arm-eabi/gcc/' make: *** [all] Error 2 Error building g++
えーとshl_loadって共有ライブラリをロードする関数だよね? なんでこんなテストが発生してるんだろ。 http://readlist.com/lists/gcc.gnu.org/gcc-help/1/5370.html http://www.mailinglistarchive.com/gcc@gcc.gnu.org/msg16499.html うーん、要領を得ないな。もう諦めるか。 俺はgccすらコンパイルできない屑人間。 (終わり) -- (終わってなかった) やはりこのパッチでよかった模様 http://www.mailinglistarchive.com/gcc@gcc.gnu.org/msg16499.html 当てても同じ箇所でエラーが出るのでおかしいなと思ったらソースディレクトリ でautoconfしてconfigureを作り直さなきゃいけなかったのね。 というわけで懲りずに再々挑戦……するのは今度にするか。 (また終わる) -- (また続いた) ついに、ようやく、ビルドが完了したよ。間に合わなかった。 リモートマシンでビルドしてたからよかったようなものの、目の前にあるマシン でやってたら発狂してたろうな。
$ arm-eabi-gcc -v Using built-in specs. Target: arm-eabi Configured with: ../../gcc-4.3-20080228/configure --enable-languages=c,c++ --wit h-cpu=arm7tdmi --enable-interwork --enable-multilib --with-gcc --with-gnu-ld --w ith-gnu-as --disable-shared --disable-threads --disable-win32-registry --disable -nls --disable-debug --disable-libmudflap --disable-libssp --target=arm-eabi --w ith-newlib --prefix=h:/gcc/devkitARM Thread model: single gcc version 4.3.0 20080228 (prerelease) (GCC)
(本当に終わります)
_ あれの4.3 changes
http://gcc.gnu.org/gcc-4.3/changes.html

読んでた。個人的に今すぐ活用出来そうなところ。
general
  • __builtin_expect no longer requires its argument to be a compile time constant.
C
  • Integer constants written in binary are now supported as a GCC extension. They consist of a prefix 0b or 0B, followed by a sequence of 0 and 1 digits.
2進表現サポートは嬉しいけど、今更な……。 その他、個人的に今は関係ないけど気になるところ。
C++
  • C++0xのサポート
    • 右辺値参照型
    • 可変引数テンプレート
    • 静的アサート
    • decltype(式)
    • 右閉じブラケット問題 (なにこれ笑った)
    • テンプレート関数のデフォルト引数
libstdc++
ARM
  • Compiler and Library support for Thumb-2 and the ARMv7 architecture has been added.
こんなとこか。C++0xのautoはまだなのね。 右辺値参照ってなんなんだろ。
_ やたー
今日一日は無かったことに!

nao > checking for shl_load... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.  (2008/09/13 10:18:15)
nao > すみません。上記のエラーの対処方法教えていただくこと可能でしょうか?  (2008/09/13 10:18:49)
> 上に書いてあることが全てなので、それ以上にフォローすることは無理ですよ。  (2008/09/14 00:27:56)

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12