C ++などの例外をサポートする言語を使用する場合、例外の処理中にアンワインドする必要がある呼び出しフレームを説明するために、ランタイム環境に追加情報を提供する必要があることを私は知っています。この情報は、やなどのオブジェクトファイルの特別なセクションに含まれてい.eh_frame
ます.eh_frame_hdr
。
しかし、これらのセクションにはどのようなデータ構造が格納されているのでしょうか。つまり、C構造体を使用して読み取ることができますか?それらはGNUアセンブリコードのステートメント(、、、、、、など)と.cfi
関係が.cfi_startproc
ありますか?もしそうなら、これらの条項のそれぞれがそれらのセクションで何を引き起こしますか?そのセクションはそのセクションと何の関係がありますか?.cfi_endproc
.cfi_offset
.cfi_def_cfa_offset
.cfi_personality
.cfi_lsda
.eh_frame_hdr
.eh_frame
なるべくC構造体を使った説明をお願いします。ありがとうございました。