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:
- public accept
- public accept
- public finalize
- public hasContents
- public initialize
- public markSymbols
- public onRemove
- public removeSectionReferences
- public removeSymbols
- public replaceSectionReferences
Methods
¶GroupSection(ArrayRef<uint8_t> Data)
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
llvm::Error accept(
llvm::objcopy::elf::SectionVisitor&) const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:826
Parameters
¶llvm::Error accept(
llvm::objcopy::elf::MutableSectionVisitor&
Visitor)
llvm::Error accept(
llvm::objcopy::elf::MutableSectionVisitor&
Visitor)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:827
Parameters
¶void addMember(
llvm::objcopy::elf::SectionBase* Sec)
void addMember(
llvm::objcopy::elf::SectionBase* Sec)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:824
Parameters
¶static bool classof(
const llvm::objcopy::elf::SectionBase* S)
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()
void finalize()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:828
¶void markSymbols()
void markSymbols()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:833
¶void onRemove()
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)
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)
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)
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)
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)
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)
void setSymbol(llvm::objcopy::elf::Symbol* S)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:822