ElfSection
ElfSection* SectionAt(int32 index) const
ElfSection* GetSection(const char* name);
void PutSection(ElfSection* section);
ElfSection* FindSection(const char* name) const;
ElfSection* FindSection(uint32 type) const;
bool _FindSymbolSections(ElfSection*& _symbolSection,
ElfSection*& _stringSection,
class ElfSection {
ElfSection(const char* name, uint32 type,
~ElfSection();
ElfSection* section = fFile->GetElfFile()->FindSection(".text");
class ElfSection;
DwarfFile::_ParseFrameSection(ElfSection* section, uint8 addressSize, bool isBigEndian,
ElfSection* section = isTypeUnit
ElfSection* currentFrameSection = (info->ehFrame)
DwarfFile::_ParseCIEHeader(ElfSection* debugFrameSection,
ElfSection* debugLinkSection = fElfFile->GetSection(".gnu_debuglink");
ElfSection* debugFrameSection) const
AutoSectionPutter(ElfFile* elfFile, ElfSection* elfSection)
ElfFile* file, ElfSection* debugFrameSection,
ElfSection* fElfSection;
status_t _ParseFrameSection(ElfSection* section,
status_t _ParseCIEHeader(ElfSection* debugFrameSection,
ElfSection* fDebugInfoSection;
ElfSection* fDebugAbbrevSection;
ElfSection* fDebugAddressSection;
ElfSection* fDebugStringSection;
ElfSection* fDebugStrOffsetsSection;
ElfSection* fDebugRangesSection;
ElfSection* fDebugLineSection;
ElfSection* fDebugLineStrSection;
ElfSection* fDebugFrameSection;
ElfSection* fEHFrameSection;
ElfSection* fDebugLocationSection;
ElfSection* fDebugPublicTypesSection;
ElfSection* fDebugTypesSection;
class ElfSection;
ElfSection*
ElfSection* section = FindSection(name);
ElfFile::PutSection(ElfSection* section)
ElfSection*
ElfSection::ElfSection(const char* name, uint32 type, int fd, uint64 offset,
ElfSection* section = fSections.ItemAt(i);
ElfSection*
ElfSection* section = fSections.ItemAt(i);
ElfSection* symbolSection;
ElfSection* stringSection;
ElfSection* sectionStringSection = new(std::nothrow) ElfSection(
ElfSection::~ElfSection()
ElfSection* section = new(std::nothrow) ElfSection(name,
ElfSection::Load()
ElfFile::_FindSymbolSections(ElfSection*& _symbolSection,
ElfSection*& _stringSection, uint32 type) const
ElfSection* symbolSection = FindSection(type);
ElfSection* stringSection = SectionAt(symbolSection->LinkIndex());
ElfSection::Unload()
ElfSection::~ElfSection()
ElfSection::SetTo(ElfFile* file, Elf_Shdr* header)
ElfSection::Unset()
ElfSection::GetFile() const
ElfSection::GetName() const
ElfSection::GetSize() const
ElfSection::GetType() const
ElfSection::GetLink() const
ElfSection::GetInfo() const
ElfSection::GetEntrySize() const
ElfSection::CountEntries() const
ElfSection::Load()
ElfSection::Unload()
ElfSection::Dump()
ElfSymbol::ElfSymbol(ElfSection* section, int32 index)
ElfSymbol::SetTo(ElfSection* section, int32 index)
ElfRelocation::ElfRelocation(ElfSection* section, int32 index)
ElfRelocation::SetTo(ElfSection* section, int32 index)
if (ElfSection* symbols
ElfSection* section = NULL;
ElfSection*
ElfSection* section = fFile->SectionAt(fSectionIndex);
if (ElfSection* section = SectionAt(index, true)) {
ElfSection*
ElfSection* section = NULL;
ElfSection();
~ElfSection();
fSections = new(std::nothrow) ElfSection[fSectionCount];
ElfSection& section = fSections[index];
ElfSection::ElfSection()
ElfSection* SectionAt(int32 index, bool load = false);
ElfSection* fSections;
class ElfSection;
ElfSymbol(ElfSection* section = NULL,
void SetTo(ElfSection* section, int32 index);
ElfSection* fSection;
ElfRelocation(ElfSection* section = NULL,
void SetTo(ElfSection* section, int32 index);
ElfSection* fSection;
ElfSection* _FindNextSection();
class ElfSection;