私は現在のマシンで古いプロジェクトをコンパイルしようとしています。この古いプロジェクトが古い(2.x)バージョンのGCC / GASを使用していたことを知っているので、現在のバージョンでコンパイルできるようにクリーンアップする必要があります。
問題のコード:
__get_flags:
pushfl
popl %eax
ret
gas
pushfl
それは指示ではないと文句を言います。私が読んだところによると、これは古い非推奨のGNUニーモニックですが、x86_64に相当するものがあるはずです。
pushfl
このコードをx86_64ガスに変換する方法に答えるだけでなく、ニーモニックがどこでどのようにpushfq
定義され、文書化されているかを誰かが説明できれば素晴らしいと思います。それがGASの作品だと確信しています...
注:これをgcc4.6.1とgas2.21でコンパイルしたい