Describes a loaded ELF image and the locations of its unwind tables.
More...
#include <elf_enumerator.hpp>
|
| constexpr bool | contains (uintptr_t addr) const noexcept |
| | Reports whether addr falls within the image range.
|
| |
| constexpr bool | has_exidx () const noexcept |
| | Reports whether a usable .ARM.exidx section is present.
|
| |
| constexpr bool | has_debug_frame () const noexcept |
| | Reports whether a usable DWARF CFI unwind-record table (.debug_frame or .eh_frame, depending on backend) is present.
|
| |
|
| microfmt::string_view | image_name {""} |
| | Human-readable image/module name.
|
| |
| uintptr_t | load_base {0} |
| | Load (base) address of the image in the target address space.
|
| |
| uintptr_t | image_size {0} |
| | Total size of the image in bytes.
|
| |
| uintptr_t | exidx_start {0} |
| | Start of the .ARM.exidx section.
|
| |
| uintptr_t | exidx_end {0} |
| | End of the .ARM.exidx section.
|
| |
| uintptr_t | debug_frame_start {0} |
| | Start of the DWARF CFI unwind-record table used by microfmt::dwarf_decoder for stack unwinding. Depending on the enumerator backend this may be a true DWARF .debug_frame section or (as with dl_elf_enumerator_tag, via .eh_frame_hdr/PT_GNU_EH_FRAME) the loaded .eh_frame unwind table; both share the same CIE/FDE record layout, so either is a valid decoder input.
|
| |
| uintptr_t | debug_frame_end {0} |
| | End of the DWARF CFI unwind-record table. May be UINTPTR_MAX when the backend can locate the table's start but not its exact size, in which case decoders must rely on a zero-length terminator record or the first unreadable address to stop.
|
| |
Describes a loaded ELF image and the locations of its unwind tables.
◆ contains()
| constexpr bool microfmt::elf_image_info::contains |
( |
uintptr_t |
addr | ) |
const |
|
inlineconstexprnoexcept |
Reports whether addr falls within the image range.
- Parameters
-
- Returns
true when load_base <= addr < load_base + image_size.
◆ has_debug_frame()
| constexpr bool microfmt::elf_image_info::has_debug_frame |
( |
| ) |
const |
|
inlineconstexprnoexcept |
Reports whether a usable DWARF CFI unwind-record table (.debug_frame or .eh_frame, depending on backend) is present.
- Returns
true when the section bounds are valid.
◆ has_exidx()
| constexpr bool microfmt::elf_image_info::has_exidx |
( |
| ) |
const |
|
inlineconstexprnoexcept |
Reports whether a usable .ARM.exidx section is present.
- Returns
true when the section bounds are valid.
◆ debug_frame_end
| uintptr_t microfmt::elf_image_info::debug_frame_end {0} |
End of the DWARF CFI unwind-record table. May be UINTPTR_MAX when the backend can locate the table's start but not its exact size, in which case decoders must rely on a zero-length terminator record or the first unreadable address to stop.
◆ debug_frame_start
| uintptr_t microfmt::elf_image_info::debug_frame_start {0} |
Start of the DWARF CFI unwind-record table used by microfmt::dwarf_decoder for stack unwinding. Depending on the enumerator backend this may be a true DWARF .debug_frame section or (as with dl_elf_enumerator_tag, via .eh_frame_hdr/PT_GNU_EH_FRAME) the loaded .eh_frame unwind table; both share the same CIE/FDE record layout, so either is a valid decoder input.
◆ exidx_end
| uintptr_t microfmt::elf_image_info::exidx_end {0} |
End of the .ARM.exidx section.
◆ exidx_start
| uintptr_t microfmt::elf_image_info::exidx_start {0} |
Start of the .ARM.exidx section.
◆ image_name
| microfmt::string_view microfmt::elf_image_info::image_name {""} |
Human-readable image/module name.
◆ image_size
| uintptr_t microfmt::elf_image_info::image_size {0} |
Total size of the image in bytes.
◆ load_base
| uintptr_t microfmt::elf_image_info::load_base {0} |
Load (base) address of the image in the target address space.
The documentation for this struct was generated from the following file: