Reputation: 151
When reading about sections like .eh_frame
and .debug_frame
in the DWARF standard it says that in Frame Description Entries
(FDE) there is a field that's called:
address_range (target address)
The number of bytes of program instructions described by this entry.
The linux foundation (https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html) also documents this field as
PC Begin Required
PC Range Required
But when reading the raw bytes there's no addresses there to be found. Normally, in other DWARF-related debug data, the addresses are actually stored, as bytes representing the actual addresses, or some offset from some location, so that an address range can be resolved by parsing that location first.
Here, there seems to be no such thing and I can't find any documentation at all on how to parse this "initial location" (or PC Begin | PC Range). The data is not large enough to represent 8 bytes, so it's not just a matter of "reading the bytes" as it were.
Does anyone have any pointers on where one can read about this?
Upvotes: 0
Views: 116