準備
やっと休み。PE-ARM勉強会を告知する前に、やり残したPE-MIPS勉強会の資料を書き直している。新幹線の中で F# のコードを書いて、x86のEXEが出力できるようになった。 https://t.co/YOih9939 MIPSとARMに対応させなければ・・・
2011-12-28 20:28:45昨日は朝からバタバタだったけど、やっと落ち着いた。ARMの命令セットにどこから切り込もうか悩んでいたけど、とりあえず必要とする命令は少ないので、v4の命令だけを対象にやってみよう。
2012-01-04 02:08:14CeGCCのフォークを発見。最近更新されている。 http://t.co/MkWc1w7j PE勉強会ARM編ではこちらを使うことにしよう。 http://t.co/2T5YUzg9 #peben
2012-01-04 12:14:35CeGCCをMinGWでビルドした。用意されたスクリプトでビルドするとエラーになって、調べたらMinGWはサポート外で対応を断られていた。 http://t.co/jGZfsxzD スクリプトではなく手動でビルドしたら普通にできた。時間が掛かるしバイナリの使用を推奨しよう。
2012-01-05 00:22:01MinGWでビルドしたCeGCC(4.6.2)のバイナリです。 http://t.co/QRhXMlBN PE勉強会ARM編の会場でも配布します。Windows以外の方はビルドが必要です。 http://t.co/2T5YUzg9 #peben
2012-01-05 01:19:53CeGCCのビルドスクリプトがMSYSでうまくいかない原因が分かった。configureを絶対パスで呼んでいたからだ。MSYSだとビルド中に呼ばれる生成ツールがWindowsパスを見るので、相対パスじゃないとうまくいかない。
2012-01-08 16:44:23binutilsの次はgccに挑戦。最新版を試してみたいので、gmpをコンパイル中。アセンブラで引っ掛かる。Thumbじゃないからかと思って bx r14 を mov pc, lr に書き換えると、今度はアラインメントでエラー。
2012-01-09 13:40:29gcc-4.6.2もcegccでビルドできた。libibertyを少し手直ししただけで割とすんなり通った。これでCEでもセルフ開発できるかな?会社から帰ったら実機を引っ張り出して確認しよう。既に存在するPocket GCCで良いとは思うけど、興味本位でビルドしてみた。
2012-01-10 06:39:37やっとARM実機でcegccの出力したバイナリの動作確認が取れた。arm-mingw32ceは完璧。eVCで頑張らなくても良さそう。arm-cegccはダメ。printfだけのハローワールドすら落ちる。自分でビルドしたgccでセルフ開発はできなかった・・・
2012-01-16 01:33:46今週の土曜日に池袋でPE勉強会の最終回ARM編を開催します。 http://t.co/2T5YUzg9 CEを使いますが、ARM版Win8を見越した企画のつもりです。ARMよりMIPSが良いという方にはNT4を用意できますので、その旨を事前に教えてください。 #peben
2012-01-16 22:53:05当日
徹夜でARM編( http://t.co/2T5YUzg9 )の資料を作成中。MIPS編ではインストールやgccのビルドで手一杯になって、MIPSそのものの説明がほとんどできなかったのを反省して、ARMの命令セットと触れ合う内容を中心にするつもり。 #peben
2012-01-21 07:52:22PC-BSD9+Wineの環境でtest1.cをコンパイル。この環境ではarm-mingw32ce-gccに加えLibiconv for Windowsからlibiconv2.dllが必要。また、main()と同じ引数で__gccmain()を定義しておく必要あり。 #peben
2012-01-21 16:12:52それから、Libiconv for Windowsのlibiconv2.dllはlibiconv-2.dllにリネームの必要あり。これはarm-mingw32ce-gcc.exeがlibiconv-2.dllという名前で参照しているため。 #peben
2012-01-21 16:16:04gccへの--disable-nlsでlibiconv-2.dllを参照しなくなるかと思ったが、このオプションはgccのコンパイル時に指定するもので、test1.cのコンパイルで指定しても意味をなさないようだ。 #peben
2012-01-21 16:18:39windows mobile用の実行ファイルを作るにはarm gccが必要で、arm gccを使うにはarm gccをコンパイルする必要があって(以下略
2012-01-21 16:23:52