nasm x64のWRT ..plt

nasmのチュートリアル(http://cs.lmu.edu/~ray/notes/nasmtutorial/ )で、C言語のputs関数を呼び出す簡単なプログラムを作りましたが、gccでオブジェクトファイルから実行ファイルを作るときに以下エラーが発生しました。

https://www.nasm.us/xdoc/2.10rc8/html/nasmdoc9.html#section-9.2.5

NASMから外部関数を呼び出す場合は、PLT(procedure linkage table)を使わなければいけないようです。以下のようにWRT ..pltを付けて解決しました。

これでオブジェクトファイルを作成しgccでリンケージして実行できました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA