LLDB mainline
|
Generic representation of an ELF program header. More...
#include <ELFHeader.h>
Public Member Functions | |
ELFProgramHeader () | |
bool | Parse (const lldb_private::DataExtractor &data, lldb::offset_t *offset) |
Parse an ELFProgramHeader entry from the given DataExtractor starting at position offset . | |
Public Attributes | |
elf_word | p_type |
Type of program segment. | |
elf_word | p_flags |
Segment attributes. | |
elf_off | p_offset |
Start of segment from beginning of file. | |
elf_addr | p_vaddr |
Virtual address of segment in memory. | |
elf_addr | p_paddr |
Physical address (for non-VM systems). | |
elf_xword | p_filesz |
Byte size of the segment in file. | |
elf_xword | p_memsz |
Byte size of the segment in memory. | |
elf_xword | p_align |
Segment alignment constraint. | |
Generic representation of an ELF program header.
Definition at line 192 of file ELFHeader.h.
ELFProgramHeader::ELFProgramHeader | ( | ) |
Definition at line 364 of file ELFHeader.cpp.
bool ELFProgramHeader::Parse | ( | const lldb_private::DataExtractor & | data, |
lldb::offset_t * | offset | ||
) |
Parse an ELFProgramHeader entry from the given DataExtractor starting at position offset
.
The address size of the DataExtractor determines if a 32 or 64 bit object is to be parsed.
[in] | data | The DataExtractor to read from. The address size of the extractor determines if a 32 or 64 bit object should be read. |
[in,out] | offset | Pointer to an offset in the data. On return the offset will be advanced by the number of bytes read. |
Definition at line 368 of file ELFHeader.cpp.
References lldb_private::DataExtractor::GetAddressByteSize(), GetMaxU64(), lldb_private::DataExtractor::GetU32(), p_align, p_flags, p_offset, and p_type.
Referenced by ProcessElfCore::FindBuidIdInCoreMemory().
elf_xword elf::ELFProgramHeader::p_align |
Segment alignment constraint.
Definition at line 200 of file ELFHeader.h.
Referenced by ObjectFileELF::CreateSections(), ObjectFileELF::DumpELFProgramHeader(), and Parse().
elf_xword elf::ELFProgramHeader::p_filesz |
Byte size of the segment in file.
Definition at line 198 of file ELFHeader.h.
Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), ProcessElfCore::AddAddressRangeFromMemoryTagSegment(), ObjectFileELF::CreateSections(), ObjectFileELF::DumpELFProgramHeader(), and ObjectFileELF::GetSegmentData().
elf_word elf::ELFProgramHeader::p_flags |
Segment attributes.
Definition at line 194 of file ELFHeader.h.
Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), ObjectFileELF::DumpELFProgramHeader(), GetPermissions(), and Parse().
elf_xword elf::ELFProgramHeader::p_memsz |
Byte size of the segment in memory.
Definition at line 199 of file ELFHeader.h.
Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), ProcessElfCore::AddAddressRangeFromMemoryTagSegment(), ObjectFileELF::DumpELFProgramHeader(), ProcessElfCore::FindBuidIdInCoreMemory(), and ObjectFileELF::GetSegmentData().
elf_off elf::ELFProgramHeader::p_offset |
Start of segment from beginning of file.
Definition at line 195 of file ELFHeader.h.
Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), ProcessElfCore::AddAddressRangeFromMemoryTagSegment(), ObjectFileELF::CreateSections(), ObjectFileELF::DumpELFProgramHeader(), ObjectFileELF::GetSegmentData(), and Parse().
elf_addr elf::ELFProgramHeader::p_paddr |
Physical address (for non-VM systems).
Definition at line 197 of file ELFHeader.h.
Referenced by ObjectFileELF::DumpELFProgramHeader().
elf_word elf::ELFProgramHeader::p_type |
Type of program segment.
Definition at line 193 of file ELFHeader.h.
Referenced by ObjectFileELF::CreateSections(), ObjectFileELF::DumpELFProgramHeader(), ProcessElfCore::FindBuidIdInCoreMemory(), ObjectFileELF::GetBaseAddress(), Parse(), and ProcessElfCore::ParseThreadContextsFromNoteSegment().
elf_addr elf::ELFProgramHeader::p_vaddr |
Virtual address of segment in memory.
Definition at line 196 of file ELFHeader.h.
Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), ProcessElfCore::AddAddressRangeFromMemoryTagSegment(), ObjectFileELF::DumpELFProgramHeader(), ProcessElfCore::FindBuidIdInCoreMemory(), and ObjectFileELF::GetSegmentData().