Lines Matching defs:Section

1336   IO.mapOptional("Section", Symbol.Section);
1354 if (Symbol.Index && Symbol.Section)
1355 return "Index and Section cannot both be specified for Symbol";
1359 static void commonSectionMapping(IO &IO, ELFYAML::Section &Section) {
1360 IO.mapOptional("Name", Section.Name, StringRef());
1361 IO.mapRequired("Type", Section.Type);
1362 IO.mapOptional("Flags", Section.Flags);
1363 IO.mapOptional("Address", Section.Address);
1364 IO.mapOptional("Link", Section.Link);
1365 IO.mapOptional("AddressAlign", Section.AddressAlign, Hex64(0));
1366 IO.mapOptional("EntSize", Section.EntSize);
1367 IO.mapOptional("Offset", Section.Offset);
1369 IO.mapOptional("Content", Section.Content);
1370 IO.mapOptional("Size", Section.Size);
1376 (!Section.ShOffset && !Section.ShSize && !Section.ShName &&
1377 !Section.ShFlags && !Section.ShType && !Section.ShAddrAlign));
1378 IO.mapOptional("ShAddrAlign", Section.ShAddrAlign);
1379 IO.mapOptional("ShName", Section.ShName);
1380 IO.mapOptional("ShOffset", Section.ShOffset);
1381 IO.mapOptional("ShSize", Section.ShSize);
1382 IO.mapOptional("ShFlags", Section.ShFlags);
1383 IO.mapOptional("ShType", Section.ShType);
1386 static void sectionMapping(IO &IO, ELFYAML::DynamicSection &Section) {
1387 commonSectionMapping(IO, Section);
1388 IO.mapOptional("Entries", Section.Entries);
1391 static void sectionMapping(IO &IO, ELFYAML::RawContentSection &Section) {
1392 commonSectionMapping(IO, Section);
1396 assert(!IO.outputting() || !Section.ContentBuf);
1397 IO.mapOptional("ContentArray", Section.ContentBuf);
1398 if (Section.ContentBuf) {
1399 if (Section.Content)
1401 Section.Content = yaml::BinaryRef(*Section.ContentBuf);
1404 IO.mapOptional("Info", Section.Info);
1407 static void sectionMapping(IO &IO, ELFYAML::BBAddrMapSection &Section) {
1408 commonSectionMapping(IO, Section);
1409 IO.mapOptional("Content", Section.Content);
1410 IO.mapOptional("Entries", Section.Entries);
1411 IO.mapOptional("PGOAnalyses", Section.PGOAnalyses);
1414 static void sectionMapping(IO &IO, ELFYAML::StackSizesSection &Section) {
1415 commonSectionMapping(IO, Section);
1416 IO.mapOptional("Entries", Section.Entries);
1419 static void sectionMapping(IO &IO, ELFYAML::HashSection &Section) {
1420 commonSectionMapping(IO, Section);
1421 IO.mapOptional("Bucket", Section.Bucket);
1422 IO.mapOptional("Chain", Section.Chain);
1426 assert(!IO.outputting() || (!Section.NBucket && !Section.NChain));
1427 IO.mapOptional("NChain", Section.NChain);
1428 IO.mapOptional("NBucket", Section.NBucket);
1431 static void sectionMapping(IO &IO, ELFYAML::NoteSection &Section) {
1432 commonSectionMapping(IO, Section);
1433 IO.mapOptional("Notes", Section.Notes);
1437 static void sectionMapping(IO &IO, ELFYAML::GnuHashSection &Section) {
1438 commonSectionMapping(IO, Section);
1439 IO.mapOptional("Header", Section.Header);
1440 IO.mapOptional("BloomFilter", Section.BloomFilter);
1441 IO.mapOptional("HashBuckets", Section.HashBuckets);
1442 IO.mapOptional("HashValues", Section.HashValues);
1444 static void sectionMapping(IO &IO, ELFYAML::NoBitsSection &Section) {
1445 commonSectionMapping(IO, Section);
1448 static void sectionMapping(IO &IO, ELFYAML::VerdefSection &Section) {
1449 commonSectionMapping(IO, Section);
1450 IO.mapOptional("Info", Section.Info);
1451 IO.mapOptional("Entries", Section.Entries);
1454 static void sectionMapping(IO &IO, ELFYAML::SymverSection &Section) {
1455 commonSectionMapping(IO, Section);
1456 IO.mapOptional("Entries", Section.Entries);
1459 static void sectionMapping(IO &IO, ELFYAML::VerneedSection &Section) {
1460 commonSectionMapping(IO, Section);
1461 IO.mapOptional("Info", Section.Info);
1462 IO.mapOptional("Dependencies", Section.VerneedV);
1465 static void sectionMapping(IO &IO, ELFYAML::RelocationSection &Section) {
1466 commonSectionMapping(IO, Section);
1467 IO.mapOptional("Info", Section.RelocatableSec, StringRef());
1468 IO.mapOptional("Relocations", Section.Relocations);
1471 static void sectionMapping(IO &IO, ELFYAML::RelrSection &Section) {
1472 commonSectionMapping(IO, Section);
1473 IO.mapOptional("Entries", Section.Entries);
1482 static void sectionMapping(IO &IO, ELFYAML::SymtabShndxSection &Section) {
1483 commonSectionMapping(IO, Section);
1484 IO.mapOptional("Entries", Section.Entries);
1487 static void sectionMapping(IO &IO, ELFYAML::AddrsigSection &Section) {
1488 commonSectionMapping(IO, Section);
1489 IO.mapOptional("Symbols", Section.Symbols);
1507 static void sectionMapping(IO &IO, ELFYAML::LinkerOptionsSection &Section) {
1508 commonSectionMapping(IO, Section);
1509 IO.mapOptional("Options", Section.Options);
1513 ELFYAML::DependentLibrariesSection &Section) {
1514 commonSectionMapping(IO, Section);
1515 IO.mapOptional("Libraries", Section.Libs);
1518 static void sectionMapping(IO &IO, ELFYAML::CallGraphProfileSection &Section) {
1519 commonSectionMapping(IO, Section);
1520 IO.mapOptional("Entries", Section.Entries);
1528 static void sectionMapping(IO &IO, ELFYAML::ARMIndexTableSection &Section) {
1529 commonSectionMapping(IO, Section);
1530 IO.mapOptional("Entries", Section.Entries);
1533 static void sectionMapping(IO &IO, ELFYAML::MipsABIFlags &Section) {
1534 commonSectionMapping(IO, Section);
1535 IO.mapOptional("Version", Section.Version, Hex16(0));
1536 IO.mapRequired("ISA", Section.ISALevel);
1537 IO.mapOptional("ISARevision", Section.ISARevision, Hex8(0));
1538 IO.mapOptional("ISAExtension", Section.ISAExtension,
1540 IO.mapOptional("ASEs", Section.ASEs, ELFYAML::MIPS_AFL_ASE(0));
1541 IO.mapOptional("FpABI", Section.FpABI,
1543 IO.mapOptional("GPRSize", Section.GPRSize,
1545 IO.mapOptional("CPR1Size", Section.CPR1Size,
1547 IO.mapOptional("CPR2Size", Section.CPR2Size,
1549 IO.mapOptional("Flags1", Section.Flags1, ELFYAML::MIPS_AFL_FLAGS1(0));
1550 IO.mapOptional("Flags2", Section.Flags2, Hex32(0));
1569 IO &IO, std::unique_ptr<ELFYAML::Chunk> &Section) {
1573 if (auto *S = dyn_cast<ELFYAML::Section>(Section.get()))
1575 else if (auto *SHT = dyn_cast<ELFYAML::SectionHeaderTable>(Section.get()))
1587 Section.reset(new ELFYAML::Fill());
1588 fillMapping(IO, *cast<ELFYAML::Fill>(Section.get()));
1596 Section.reset(new ELFYAML::SectionHeaderTable(/*IsImplicit=*/false));
1599 IO, *cast<ELFYAML::SectionHeaderTable>(Section.get()));
1606 Section.reset(new ELFYAML::MipsABIFlags());
1607 sectionMapping(IO, *cast<ELFYAML::MipsABIFlags>(Section.get()));
1613 Section.reset(new ELFYAML::ARMIndexTableSection());
1614 sectionMapping(IO, *cast<ELFYAML::ARMIndexTableSection>(Section.get()));
1621 Section.reset(new ELFYAML::DynamicSection());
1622 sectionMapping(IO, *cast<ELFYAML::DynamicSection>(Section.get()));
1628 Section.reset(new ELFYAML::RelocationSection());
1629 sectionMapping(IO, *cast<ELFYAML::RelocationSection>(Section.get()));
1633 Section.reset(new ELFYAML::RelrSection());
1634 sectionMapping(IO, *cast<ELFYAML::RelrSection>(Section.get()));
1638 Section.reset(new ELFYAML::GroupSection());
1639 groupSectionMapping(IO, *cast<ELFYAML::GroupSection>(Section.get()));
1643 Section.reset(new ELFYAML::NoBitsSection());
1644 sectionMapping(IO, *cast<ELFYAML::NoBitsSection>(Section.get()));
1648 Section.reset(new ELFYAML::HashSection());
1649 sectionMapping(IO, *cast<ELFYAML::HashSection>(Section.get()));
1653 Section.reset(new ELFYAML::NoteSection());
1654 sectionMapping(IO, *cast<ELFYAML::NoteSection>(Section.get()));
1658 Section.reset(new ELFYAML::GnuHashSection());
1659 sectionMapping(IO, *cast<ELFYAML::GnuHashSection>(Section.get()));
1663 Section.reset(new ELFYAML::VerdefSection());
1664 sectionMapping(IO, *cast<ELFYAML::VerdefSection>(Section.get()));
1668 Section.reset(new ELFYAML::SymverSection());
1669 sectionMapping(IO, *cast<ELFYAML::SymverSection>(Section.get()));
1673 Section.reset(new ELFYAML::VerneedSection());
1674 sectionMapping(IO, *cast<ELFYAML::VerneedSection>(Section.get()));
1678 Section.reset(new ELFYAML::SymtabShndxSection());
1679 sectionMapping(IO, *cast<ELFYAML::SymtabShndxSection>(Section.get()));
1683 Section.reset(new ELFYAML::AddrsigSection());
1684 sectionMapping(IO, *cast<ELFYAML::AddrsigSection>(Section.get()));
1688 Section.reset(new ELFYAML::LinkerOptionsSection());
1689 sectionMapping(IO, *cast<ELFYAML::LinkerOptionsSection>(Section.get()));
1693 Section.reset(new ELFYAML::DependentLibrariesSection());
1695 *cast<ELFYAML::DependentLibrariesSection>(Section.get()));
1699 Section.reset(new ELFYAML::CallGraphProfileSection());
1700 sectionMapping(IO, *cast<ELFYAML::CallGraphProfileSection>(Section.get()));
1704 Section.reset(new ELFYAML::BBAddrMapSection());
1705 sectionMapping(IO, *cast<ELFYAML::BBAddrMapSection>(Section.get()));
1714 Section = std::make_unique<ELFYAML::StackSizesSection>();
1716 Section = std::make_unique<ELFYAML::RawContentSection>();
1719 if (auto S = dyn_cast<ELFYAML::RawContentSection>(Section.get()))
1722 sectionMapping(IO, *cast<ELFYAML::StackSizesSection>(Section.get()));
1740 const ELFYAML::Section &Sec = *cast<ELFYAML::Section>(C.get());
1743 return "Section size must be greater than or equal to the content size";