.cfi_remember_state
私はどのように正確に実装されているのだろうかと思っていました。私はそれが疑似演算であることを知っているので、アセンブル時にいくつかの命令に変換されると思います。それを実装するためにどのような正確な指示が使用されているかに興味があります。私はそれを理解するために多くの方法を試しました。すなわち:
- GAS のソース コードを読みます。しかし、十分に役立つものを見つけることができませんでした。
- GAS のドキュメントを読んでください。しかし、
.cfi_remember_state
エントリは単なる冗談です (文字通り)。 - gcc が C コードから asm を生成し、疑似演算を「拡張」する gcc スイッチを見つけようとしました。x86 / x86-64 用のそのようなスイッチが見つかりませんでした。(ところで、誰かがそのようなスイッチが存在すると仮定して、私にそのようなスイッチを教えてくれたらうれしいです。)
- SOでGoogle-fu &&を検索しても、何も役に立ちませんでした。
私が考えている他の唯一の解決策は、アセンブルされた実行可能ファイルのバイナリを読み取り、指示を推測することです。とはいえ、そんな面倒な作業は避けたいものです。x86および/またはx86-64で正確にどのように実装されているか、知っている方は教えていただけますか? たぶん、その情報がどこでどのように取得されたかを共有することに加えて、必要に応じて他の疑似操作を確認できますか?