This is the mail archive of the
mailing list for the elfutils project.
- From: Sasha Da Rocha Pinheiro <darochapinhe at wisc dot edu>
- To: "elfutils-devel at sourceware dot org" <elfutils-devel at sourceware dot org>
- Date: Sat, 15 Jul 2017 01:00:04 +0000
- Subject: Dwarf_FDE (libdw)
- Accept-language: en-US, pt-BR
- Authentication-results: sourceware.org; auth=none
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
I did not understand how to get the augmentation_data of a FDE. Could anyone explain me?
Also, is the start and end of Dwarf_FDE to be used as [initial_location, initial_location+address_range)??
/* Section offset of CIE this FDE refers to. This will never be
DW_CIE_ID_64 in an FDE. If this value is DW_CIE_ID_64, this is
actually a Dwarf_CIE structure. */
/* We can't really decode anything further without looking up the CIE
and checking its augmentation string. Here follows the encoded
initial_location and address_range, then any augmentation data,
then the instruction stream. This FDE describes PC locations in
the byte range [initial_location, initial_location+address_range).
When the CIE augmentation string uses 'z', the augmentation data is
a DW_FORM_block (self-sized). Otherwise, when we understand the
augmentation string completely, fde_augmentation_data_size gives
the number of bytes of augmentation data before the instructions. */
const uint8_t *start;
const uint8_t *end;