[OSASK 5201] obj2bim2とcoff

 こんにちは、I.Tak.です。

 ライブラリみたいなものを作っておきながら(某コンバータのこと)
リンクして使ったことがないというのは無責任なので、最近obj2bim2
を初めてまともに使ってみました。

 で、うまくいかなかったのですが(自分の宣言ミスは置いといて)、
どうもエラーは出ないのにcoffオブジェクトが全くリンクされない
様子だったのでwin32としてアセンブルしたらうまくできてしまい
ました。

 つまりobj2bim2ではnasmが吐いたcoffをリンクできなかったが
win32ならできたということです。これはnasmとobj2bim2とどちらが
おかしいのでしょうか?

 ……というだけでは丸無げなのでいまさくっと調べたところ、
セクションヘッダの+0x24に0x60100020とかいうデータが入っている
のはMSの勝手拡張くさいようです。特に0x40000000と0x20000000は。
(UNIX側の資料が古いだけかも知れませんが……)しかも、
obj2bim2 -fixobjで書きこまれるアラインデータはまさしくwin32の
それじゃありませんか。というわけで、obj2bim2がサポートしている
のはwin32-coffではないか、と思うわけです。どうでしょう。

 ちなみに、nasmがサポートするcoffはunixのものというよりはDJGPP
に近いようです。
http://www.delorie.com/djgpp/doc/coff/


I.Tak. <g240845 !Atmark! mail.ecc.u-tokyo.ac.jp>
http://user.ecc.u-tokyo.ac.jp/~g240845/


ML番号でジャンプ
ML単語検索