Lines Matching defs:GroupSec
1517 Error ELFBuilder<ELFT>::initGroupSection(GroupSection *GroupSec) {
1518 if (GroupSec->Align % sizeof(ELF::Elf32_Word) != 0)
1520 "invalid alignment " + Twine(GroupSec->Align) +
1521 " of group section '" + GroupSec->Name + "'");
1523 if (GroupSec->Link != SHN_UNDEF) {
1525 GroupSec->Link,
1526 "link field value '" + Twine(GroupSec->Link) + "' in section '" +
1527 GroupSec->Name + "' is invalid",
1528 "link field value '" + Twine(GroupSec->Link) + "' in section '" +
1529 GroupSec->Name + "' is not a symbol table");
1533 Expected<Symbol *> Sym = (*SymTab)->getSymbolByIndex(GroupSec->Info);
1536 "info field value '" + Twine(GroupSec->Info) +
1537 "' in section '" + GroupSec->Name +
1539 GroupSec->setSymTab(*SymTab);
1540 GroupSec->setSymbol(*Sym);
1542 if (GroupSec->Contents.size() % sizeof(ELF::Elf32_Word) ||
1543 GroupSec->Contents.empty())
1545 "the content of the section " + GroupSec->Name +
1548 reinterpret_cast<const ELF::Elf32_Word *>(GroupSec->Contents.data());
1550 Word + GroupSec->Contents.size() / sizeof(ELF::Elf32_Word);
1551 GroupSec->setFlagWord(endian::read32<ELFT::Endianness>(Word++));
1556 GroupSec->Name + "' is invalid");
1560 GroupSec->addMember(*Sec);
1914 } else if (auto GroupSec = dyn_cast<GroupSection>(&Sec)) {
1915 if (Error Err = initGroupSection(GroupSec))
2208 auto GroupSec = cast<GroupSection>(Sec.get());
2209 return !llvm::all_of(GroupSec->members(), ToRemove);