LLVM 19.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::objcopy::elf::IHexSectionWriterBase Class Reference

#include "ObjCopy/ELF/ELFObject.h"

Inheritance diagram for llvm::objcopy::elf::IHexSectionWriterBase:
Inheritance graph
[legend]

Public Member Functions

 IHexSectionWriterBase (WritableMemoryBuffer &Buf)
 
uint64_t getBufferOffset () const
 
Error visit (const Section &Sec) final
 
Error visit (const OwnedDataSection &Sec) final
 
Error visit (const StringTableSection &Sec) override
 
Error visit (const DynamicRelocationSection &Sec) final
 
Error visit (const SymbolTableSection &Sec) override
 
Error visit (const RelocationSection &Sec) override
 
Error visit (const GnuDebugLinkSection &Sec) override
 
Error visit (const GroupSection &Sec) override
 
Error visit (const SectionIndexSection &Sec) override
 
Error visit (const CompressedSection &Sec) override
 
Error visit (const DecompressedSection &Sec) override
 
- Public Member Functions inherited from llvm::objcopy::elf::BinarySectionWriter
virtual ~BinarySectionWriter ()
 
Error visit (const SymbolTableSection &Sec) override
 
Error visit (const RelocationSection &Sec) override
 
Error visit (const GnuDebugLinkSection &Sec) override
 
Error visit (const GroupSection &Sec) override
 
Error visit (const SectionIndexSection &Sec) override
 
Error visit (const CompressedSection &Sec) override
 
Error visit (const DecompressedSection &Sec) override
 
 BinarySectionWriter (WritableMemoryBuffer &Buf)
 
- Public Member Functions inherited from llvm::objcopy::elf::SectionWriter
virtual ~SectionWriter ()=default
 
Error visit (const Section &Sec) override
 
Error visit (const OwnedDataSection &Sec) override
 
Error visit (const StringTableSection &Sec) override
 
Error visit (const DynamicRelocationSection &Sec) override
 
Error visit (const SymbolTableSection &Sec) override=0
 
Error visit (const RelocationSection &Sec) override=0
 
Error visit (const GnuDebugLinkSection &Sec) override=0
 
Error visit (const GroupSection &Sec) override=0
 
Error visit (const SectionIndexSection &Sec) override=0
 
Error visit (const CompressedSection &Sec) override=0
 
Error visit (const DecompressedSection &Sec) override=0
 
 SectionWriter (WritableMemoryBuffer &Buf)
 
- Public Member Functions inherited from llvm::objcopy::elf::SectionVisitor
virtual ~SectionVisitor ()=default
 
virtual Error visit (const Section &Sec)=0
 
virtual Error visit (const OwnedDataSection &Sec)=0
 
virtual Error visit (const StringTableSection &Sec)=0
 
virtual Error visit (const SymbolTableSection &Sec)=0
 
virtual Error visit (const RelocationSection &Sec)=0
 
virtual Error visit (const DynamicRelocationSection &Sec)=0
 
virtual Error visit (const GnuDebugLinkSection &Sec)=0
 
virtual Error visit (const GroupSection &Sec)=0
 
virtual Error visit (const SectionIndexSection &Sec)=0
 
virtual Error visit (const CompressedSection &Sec)=0
 
virtual Error visit (const DecompressedSection &Sec)=0
 

Protected Member Functions

void writeSection (const SectionBase *Sec, ArrayRef< uint8_t > Data)
 
virtual void writeData (uint8_t Type, uint16_t Addr, ArrayRef< uint8_t > Data)
 

Protected Attributes

uint64_t Offset = 0
 
- Protected Attributes inherited from llvm::objcopy::elf::SectionWriter
WritableMemoryBufferOut
 

Detailed Description

Definition at line 271 of file ELFObject.h.

Constructor & Destructor Documentation

◆ IHexSectionWriterBase()

llvm::objcopy::elf::IHexSectionWriterBase::IHexSectionWriterBase ( WritableMemoryBuffer Buf)
inlineexplicit

Definition at line 290 of file ELFObject.h.

Member Function Documentation

◆ getBufferOffset()

uint64_t llvm::objcopy::elf::IHexSectionWriterBase::getBufferOffset ( ) const
inline

Definition at line 293 of file ELFObject.h.

References Offset.

◆ visit() [1/11]

Error BinarySectionWriter::visit ( const CompressedSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 190 of file ELFObject.cpp.

◆ visit() [2/11]

Error BinarySectionWriter::visit ( const DecompressedSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 191 of file ELFObject.cpp.

◆ visit() [3/11]

Error IHexSectionWriterBase::visit ( const DynamicRelocationSection Sec)
finalvirtual

Reimplemented from llvm::objcopy::elf::SectionWriter.

Definition at line 404 of file ELFObject.cpp.

References llvm::Error::success(), and writeSection().

◆ visit() [4/11]

Error BinarySectionWriter::visit ( const GnuDebugLinkSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 187 of file ELFObject.cpp.

◆ visit() [5/11]

Error BinarySectionWriter::visit ( const GroupSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 188 of file ELFObject.cpp.

◆ visit() [6/11]

Error IHexSectionWriterBase::visit ( const OwnedDataSection Sec)
finalvirtual

Reimplemented from llvm::objcopy::elf::SectionWriter.

Definition at line 389 of file ELFObject.cpp.

References llvm::Error::success(), and writeSection().

◆ visit() [7/11]

Error BinarySectionWriter::visit ( const RelocationSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 186 of file ELFObject.cpp.

◆ visit() [8/11]

Error IHexSectionWriterBase::visit ( const Section Sec)
finalvirtual

Reimplemented from llvm::objcopy::elf::SectionWriter.

Definition at line 384 of file ELFObject.cpp.

References llvm::Error::success(), and writeSection().

◆ visit() [9/11]

Error BinarySectionWriter::visit ( const SectionIndexSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 189 of file ELFObject.cpp.

◆ visit() [10/11]

Error IHexSectionWriterBase::visit ( const StringTableSection Sec)
overridevirtual

◆ visit() [11/11]

Error BinarySectionWriter::visit ( const SymbolTableSection Sec)
overridevirtual

Reimplemented from llvm::objcopy::elf::BinarySectionWriter.

Definition at line 185 of file ELFObject.cpp.

◆ writeData()

void IHexSectionWriterBase::writeData ( uint8_t  Type,
uint16_t  Addr,
ArrayRef< uint8_t >  Data 
)
protectedvirtual

Reimplemented in llvm::objcopy::elf::IHexSectionWriter.

Definition at line 379 of file ELFObject.cpp.

References llvm::Data, llvm::objcopy::elf::IHexRecord::getLineLength(), and Offset.

Referenced by writeSection().

◆ writeSection()

void IHexSectionWriterBase::writeSection ( const SectionBase Sec,
ArrayRef< uint8_t >  Data 
)
protected

Member Data Documentation

◆ Offset

uint64_t llvm::objcopy::elf::IHexSectionWriterBase::Offset = 0
protected

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