こんにちは、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/