LLVM  16.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType > Class Template Reference

#include "ObjCopy/ELF/ELFObject.h"

Inheritance diagram for llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >:
Inheritance graph
[legend]
Collaboration diagram for llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >:
Collaboration graph
[legend]

Public Member Functions

Error initialize (SectionTableRef SecTable) override
 
void finalize () override
 
- Public Member Functions inherited from llvm::objcopy::elf::RelocationSectionBase
const SectionBasegetSection () const
 
void setSection (SectionBase *Sec)
 
StringRef getNamePrefix () const
 
- Public Member Functions inherited from llvm::objcopy::elf::SectionBase
 SectionBase ()=default
 
 SectionBase (const SectionBase &)=default
 
virtual ~SectionBase ()=default
 
virtual Error removeSectionReferences (bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove)
 
virtual Error removeSymbols (function_ref< bool(const Symbol &)> ToRemove)
 
virtual Error accept (SectionVisitor &Visitor) const =0
 
virtual Error accept (MutableSectionVisitor &Visitor)=0
 
virtual void markSymbols ()
 
virtual void replaceSectionReferences (const DenseMap< SectionBase *, SectionBase * > &)
 
virtual bool hasContents () const
 
virtual void onRemove ()
 

Protected Member Functions

 RelocSectionWithSymtabBase ()=default
 

Protected Attributes

SymTabType * Symbols = nullptr
 
- Protected Attributes inherited from llvm::objcopy::elf::RelocationSectionBase
SectionBaseSecToApplyRel = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::objcopy::elf::RelocationSectionBase
static bool classof (const SectionBase *S)
 
- Public Attributes inherited from llvm::objcopy::elf::SectionBase
std::string Name
 
SegmentParentSegment = nullptr
 
uint64_t HeaderOffset = 0
 
uint32_t Index = 0
 
uint32_t OriginalIndex = 0
 
uint64_t OriginalFlags = 0
 
uint64_t OriginalType = ELF::SHT_NULL
 
uint64_t OriginalOffset = std::numeric_limits<uint64_t>::max()
 
uint64_t Addr = 0
 
uint64_t Align = 1
 
uint32_t EntrySize = 0
 
uint64_t Flags = 0
 
uint64_t Info = 0
 
uint64_t Link = ELF::SHN_UNDEF
 
uint64_t NameIndex = 0
 
uint64_t Offset = 0
 
uint64_t Size = 0
 
uint64_t Type = ELF::SHT_NULL
 
ArrayRef< uint8_t > OriginalData
 
bool HasSymbol = false
 

Detailed Description

template<class SymTabType>
class llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >

Definition at line 763 of file ELFObject.h.

Constructor & Destructor Documentation

◆ RelocSectionWithSymtabBase()

template<class SymTabType >
llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >::RelocSectionWithSymtabBase ( )
protecteddefault

Member Function Documentation

◆ finalize()

template<class SymTabType >
void RelocSectionWithSymtabBase::finalize
overridevirtual

Reimplemented from llvm::objcopy::elf::SectionBase.

Definition at line 904 of file ELFObject.cpp.

◆ initialize()

template<class SymTabType >
Error RelocSectionWithSymtabBase::initialize ( SectionTableRef  SecTable)
overridevirtual

Reimplemented from llvm::objcopy::elf::SectionBase.

Definition at line 874 of file ELFObject.cpp.

Member Data Documentation

◆ Symbols

template<class SymTabType >
SymTabType* llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >::Symbols = nullptr
protected

Definition at line 769 of file ELFObject.h.


The documentation for this class was generated from the following files: