LLVM  15.0.0git
Public Member Functions | List of all members
llvm::objcopy::elf::OwnedDataSection Class Reference

#include "ObjCopy/ELF/ELFObject.h"

Inheritance diagram for llvm::objcopy::elf::OwnedDataSection:
Inheritance graph
[legend]
Collaboration diagram for llvm::objcopy::elf::OwnedDataSection:
Collaboration graph
[legend]

Public Member Functions

 OwnedDataSection (StringRef SecName, ArrayRef< uint8_t > Data)
 
 OwnedDataSection (const Twine &SecName, uint64_t SecAddr, uint64_t SecFlags, uint64_t SecOff)
 
 OwnedDataSection (SectionBase &S, ArrayRef< uint8_t > Data)
 
void appendHexData (StringRef HexData)
 
Error accept (SectionVisitor &Sec) const override
 
Error accept (MutableSectionVisitor &Visitor) override
 
bool hasContents () const override
 
- Public Member Functions inherited from llvm::objcopy::elf::SectionBase
 SectionBase ()=default
 
 SectionBase (const SectionBase &)=default
 
virtual ~SectionBase ()=default
 
virtual Error initialize (SectionTableRef SecTable)
 
virtual void finalize ()
 
virtual Error removeSectionReferences (bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove)
 
virtual Error removeSymbols (function_ref< bool(const Symbol &)> ToRemove)
 
virtual void markSymbols ()
 
virtual void replaceSectionReferences (const DenseMap< SectionBase *, SectionBase * > &)
 
virtual void onRemove ()
 

Additional Inherited Members

- 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

Definition at line 502 of file ELFObject.h.

Constructor & Destructor Documentation

◆ OwnedDataSection() [1/3]

llvm::objcopy::elf::OwnedDataSection::OwnedDataSection ( StringRef  SecName,
ArrayRef< uint8_t >  Data 
)
inline

◆ OwnedDataSection() [2/3]

llvm::objcopy::elf::OwnedDataSection::OwnedDataSection ( const Twine SecName,
uint64_t  SecAddr,
uint64_t  SecFlags,
uint64_t  SecOff 
)
inline

◆ OwnedDataSection() [3/3]

llvm::objcopy::elf::OwnedDataSection::OwnedDataSection ( SectionBase S,
ArrayRef< uint8_t >  Data 
)
inline

Definition at line 525 of file ELFObject.h.

References llvm::Data, and llvm::objcopy::elf::SectionBase::Size.

Member Function Documentation

◆ accept() [1/2]

Error OwnedDataSection::accept ( MutableSectionVisitor Visitor)
overridevirtual

◆ accept() [2/2]

Error OwnedDataSection::accept ( SectionVisitor Sec) const
overridevirtual

◆ appendHexData()

void OwnedDataSection::appendHexData ( StringRef  HexData)

◆ hasContents()

bool llvm::objcopy::elf::OwnedDataSection::hasContents ( ) const
inlineoverridevirtual

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

Definition at line 533 of file ELFObject.h.


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