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だけ吐けないかもしれない