今日の作業
7:29
crosstoolでBINTUILS_DIR=binutils-050606にしてビルド開始したら、gccかglibcのconfigureのバージョンチェックで跳ねられた。とりあえずインストールされたgasを実行して確認してみたところ、件の問題は解消されている。よし! なんとかこのバージョンのbinutilsでtoolchainを作れるようにしよう。
21:57
binutilsのconfigureでVERSION=050606になっているところをVERSION=2.17に書き換えてやると、crosstoolで無事ビルド出来た。
で、IPPをsoftfpaでリンク出来るように書き換え。
>>> softfpa.py import sys buf = file(sys.argv[1], "rb").read() for i in range(len(buf)): if buf[i:i+3] == "ELF": if ord(buf[i+36]) == 0x06: buf = buf[0:i+36] + chr(0x02) + buf[i+37:] file(sys.argv[1], "wb").write(buf) >>> for i in *.a; do softfpa.py $i; done
22:05
むぅ、無理矢理softfpaに変更したIPPだと映像のデコードが少しおかしい。レジスタ保存まわりのABIが違うんかな。
これを機にiWMMXt版はIPPから脱却するか。ライセンス的に不安なところがあるし。
22:14
って、上記の件は自分で入れ込んだバグだった。
22:44
うーむ、最新のbinutilsでもプリ/ポストインデックスは使えないようだ。アセンブル自体は通るんだけど、意図した結果が出ない。ARMでの命令エンコーディングが分からないのでハッキリとは言えないんだけど、アセンブラのバグなんじゃないかと思う。はてさて。
ARMアーキテクチャのマニュアルが欲しいんだけど、オンラインマニュアルは無くて本を買わないといけないみたい。10000円だって。どうしよう。