class GroupSection

Declaration

class GroupSection : public SectionBase { /* full declaration omitted */ };

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

Inherits from: SectionBase

Member Variables

private const llvm::objcopy::elf::SymbolTableSection* SymTab = nullptr
private llvm::objcopy::elf::Symbol* Sym = nullptr
private ELF::Elf32_Word FlagWord
private SmallVector<llvm::objcopy::elf::SectionBase*, 3> GroupMembers
public ArrayRef<uint8_t> Contents

Inherited from SectionBase:

public Name
public ParentSegment = nullptr
public HeaderOffset = 0
public Index = 0
public OriginalIndex = 0
public OriginalFlags = 0
public OriginalType = ELF::SHT_NULL
public OriginalOffset = std::numeric_limits<unsigned long>::max()
public Addr = 0
public Align = 1
public EntrySize = 0
public Flags = 0
public Info = 0
public Link = ELF::SHN_UNDEF
public NameIndex = 0
public Offset = 0
public Size = 0
public Type = ELF::SHT_NULL
public OriginalData
public HasSymbol = false

Method Overview

  • public GroupSection(ArrayRef<uint8_t> Data)
  • public llvm::Error accept(llvm::objcopy::elf::SectionVisitor &) const
  • public llvm::Error accept(llvm::objcopy::elf::MutableSectionVisitor & Visitor)
  • public void addMember(llvm::objcopy::elf::SectionBase * Sec)
  • public static bool classof(const llvm::objcopy::elf::SectionBase * S)
  • public void finalize()
  • public void markSymbols()
  • public void onRemove()
  • public llvm::Error removeSectionReferences(bool AllowBrokenLinks, function_ref<bool (const llvm::objcopy::elf::SectionBase *)> ToRemove)
  • public llvm::Error removeSymbols(function_ref<bool (const llvm::objcopy::elf::Symbol &)> ToRemove)
  • public void replaceSectionReferences(const DenseMap<llvm::objcopy::elf::SectionBase *, llvm::objcopy::elf::SectionBase *> & FromTo)
  • public void setFlagWord(ELF::Elf32_Word W)
  • public void setSymTab(const llvm::objcopy::elf::SymbolTableSection * SymTabSec)
  • public void setSymbol(llvm::objcopy::elf::Symbol * S)

Inherited from SectionBase:

Methods

GroupSection(ArrayRef<uint8_t> Data)

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

Parameters

ArrayRef<uint8_t> Data

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

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

Parameters

llvm::objcopy::elf::SectionVisitor&

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

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

Parameters

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

void addMember(
    llvm::objcopy::elf::SectionBase* Sec)

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

Parameters

llvm::objcopy::elf::SectionBase* Sec

static bool classof(
    const llvm::objcopy::elf::SectionBase* S)

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

Parameters

const llvm::objcopy::elf::SectionBase* S

void finalize()

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

void markSymbols()

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

void onRemove()

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

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

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

Parameters

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

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

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

Parameters

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

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

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

Parameters

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

void setFlagWord(ELF::Elf32_Word W)

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

Parameters

ELF::Elf32_Word W

void setSymTab(
    const llvm::objcopy::elf::SymbolTableSection*
        SymTabSec)

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

Parameters

const llvm::objcopy::elf::SymbolTableSection* SymTabSec

void setSymbol(llvm::objcopy::elf::Symbol* S)

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

Parameters

llvm::objcopy::elf::Symbol* S