Что именно хранят разделы .eh_frame и .eh_frame_hdr?

Я знаю, что при использовании языков, поддерживающих исключения, таких как C ++, в среду времени выполнения должна быть предоставлена дополнительная информация для описания фреймов вызовов, которые должны быть развернуты во время обработки исключения. Эта информация содержится в специальных разделах объектных файлов, таких как.eh_frame а также.eh_frame_hdr.

Но какие структуры данных хранятся в этих разделах? Я имею в виду, они могут быть прочитаны с использованием любой структуры C? Они имеют какое-либо отношение к.cfi заявления (такие как.cfi_startproc, .cfi_endproc, .cfi_offset, .cfi_def_cfa_offset, .cfi_personality а также.cfi_lsda) в сборочном коде GNU? Если они это делают, что каждый из этих пунктов вызывает в этих разделах? Что это.eh_frame_hdr раздел связан с.eh_frame один?

Я был бы признателен за объяснения с использованием C структур как можно больше. Спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос