今更a.outバイナリを出したかった備忘録

Dockerか仮想環境下で適当な環境を作って(x86だとgccも古くなりやすかったりでおすすめ、Dockerならconanio/gcc49-x86、仮想環境ならDebian9が(たぶん)おすすめ)

そしたらa.outに変換するときに邪魔な.comment,.eh_frameを削除する

stripでも行けるかもしれない

gcc -fno-unwind-tables -fno-asynchronous-unwind-tables -Qn

そしたら最後にリンク
この時--oformatを使いそうになるがそっちではなくmオプションを使う

ld -m i386linux

終わり!

P.S.
どうやら私が試したld(2.24)だと、NMAGIC,OMAGIC,QMAGICは吐けるみたいだけど、

欲しかったZMAGICだけ吐けないかもしれない