class SectionBase

Declaration

class SectionBase { /* full declaration omitted */ };

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:390

Member Variables

public std::string Name
public llvm::objcopy::elf::Segment* ParentSegment = nullptr
public uint64_t HeaderOffset = 0
public uint32_t Index = 0
public uint32_t OriginalIndex = 0
public uint64_t OriginalFlags = 0
public uint64_t OriginalType = ELF::SHT_NULL
public uint64_t OriginalOffset = std::numeric_limits<unsigned long>::max()
public uint64_t Addr = 0
public uint64_t Align = 1
public uint32_t EntrySize = 0
public uint64_t Flags = 0
public uint64_t Info = 0
public uint64_t NameIndex = 0
public uint64_t Offset = 0
public uint64_t Size = 0
public uint64_t Type = ELF::SHT_NULL
public ArrayRef<uint8_t> OriginalData
public bool HasSymbol = false

Method Overview

  • public SectionBase()
  • public SectionBase(const llvm::objcopy::elf::SectionBase &)
  • public virtual llvm::Error accept(llvm::objcopy::elf::SectionVisitor & Visitor) const
  • public virtual llvm::Error accept(llvm::objcopy::elf::MutableSectionVisitor & Visitor)
  • public virtual void finalize()
  • public virtual bool hasContents() const
  • public virtual llvm::Error initialize(llvm::objcopy::elf::SectionTableRef SecTable)
  • public virtual void markSymbols()
  • public virtual void onRemove()
  • public virtual llvm::Error removeSectionReferences(bool AllowBrokenLinks, function_ref<bool (const llvm::objcopy::elf::SectionBase *)> ToRemove)
  • public virtual llvm::Error removeSymbols(function_ref<bool (const llvm::objcopy::elf::Symbol &)> ToRemove)
  • public virtual void replaceSectionReferences(const DenseMap<llvm::objcopy::elf::SectionBase *, llvm::objcopy::elf::SectionBase *> &)
  • public virtual ~SectionBase()

Methods

SectionBase()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:415

SectionBase(
    const llvm::objcopy::elf::SectionBase&)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:416

Parameters

const llvm::objcopy::elf::SectionBase&

virtual llvm::Error accept(
    llvm::objcopy::elf::SectionVisitor& Visitor)
    const

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:427

Parameters

llvm::objcopy::elf::SectionVisitor& Visitor

virtual llvm::Error accept(
    llvm::objcopy::elf::MutableSectionVisitor&
        Visitor)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:428

Parameters

llvm::objcopy::elf::MutableSectionVisitor& Visitor

virtual void finalize()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:421

virtual bool hasContents() const

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:432

virtual llvm::Error initialize(
    llvm::objcopy::elf::SectionTableRef SecTable)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:420

Parameters

llvm::objcopy::elf::SectionTableRef SecTable

virtual void markSymbols()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:429

virtual void onRemove()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:434

virtual llvm::Error removeSectionReferences(
    bool AllowBrokenLinks,
    function_ref<bool(
        const llvm::objcopy::elf::SectionBase*)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:424

Parameters

bool AllowBrokenLinks
function_ref<bool( const llvm::objcopy::elf::SectionBase*)> ToRemove

virtual llvm::Error removeSymbols(
    function_ref<
        bool(const llvm::objcopy::elf::Symbol&)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:426

Parameters

function_ref<bool( const llvm::objcopy::elf::Symbol&)> ToRemove

virtual void replaceSectionReferences(
    const DenseMap<
        llvm::objcopy::elf::SectionBase*,
        llvm::objcopy::elf::SectionBase*>&)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:431

Parameters

const DenseMap<llvm::objcopy::elf::SectionBase*, llvm::objcopy::elf::SectionBase*>&

virtual ~SectionBase()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:418