Lines Matching refs:IO

47     IO &IO, ELFYAML::ELF_ET &Value) {  in enumeration()  argument
48 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
55 IO.enumFallback<Hex16>(Value); in enumeration()
59 IO &IO, ELFYAML::ELF_PT &Value) { in enumeration() argument
60 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
74 IO.enumFallback<Hex32>(Value); in enumeration()
78 IO &IO, ELFYAML::ELF_NT &Value) { in enumeration() argument
79 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
190 IO.enumFallback<Hex32>(Value); in enumeration()
194 IO &IO, ELFYAML::ELF_EM &Value) { in enumeration() argument
195 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
360 IO.enumFallback<Hex16>(Value); in enumeration()
364 IO &IO, ELFYAML::ELF_ELFCLASS &Value) { in enumeration() argument
365 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
374 IO &IO, ELFYAML::ELF_ELFDATA &Value) { in enumeration() argument
375 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
385 IO &IO, ELFYAML::ELF_ELFOSABI &Value) { in enumeration() argument
386 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
414 IO.enumFallback<Hex8>(Value); in enumeration()
417 void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO, in bitset() argument
419 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in bitset()
421 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
422 #define BCaseMask(X, M) IO.maskedBitSetCase(Value, #X, ELF::X, ELF::M) in bitset()
634 IO.maskedBitSetCase(Value, Key.c_str(), in bitset()
668 IO &IO, ELFYAML::ELF_SHT &Value) { in enumeration() argument
669 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
671 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
749 IO.enumFallback<Hex32>(Value); in enumeration()
752 void ScalarBitSetTraits<ELFYAML::ELF_PF>::bitset(IO &IO, in bitset() argument
754 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
760 void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO, in bitset() argument
762 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in bitset()
763 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
812 IO &IO, ELFYAML::ELF_SHN &Value) { in enumeration() argument
813 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
815 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
828 if (!IO.outputting() || Object->getMachine() == ELF::EM_MIPS) { in enumeration()
842 IO.enumFallback<Hex16>(Value); in enumeration()
846 IO &IO, ELFYAML::ELF_STB &Value) { in enumeration() argument
847 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
853 IO.enumFallback<Hex8>(Value); in enumeration()
857 IO &IO, ELFYAML::ELF_STT &Value) { in enumeration() argument
858 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
868 IO.enumFallback<Hex8>(Value); in enumeration()
873 IO &IO, ELFYAML::ELF_RSS &Value) { in enumeration() argument
874 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
883 IO &IO, ELFYAML::ELF_REL &Value) { in enumeration() argument
884 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
886 #define ELF_RELOC(X, Y) IO.enumCase(Value, #X, ELF::X); in enumeration()
948 IO.enumFallback<Hex32>(Value); in enumeration()
952 IO &IO, ELFYAML::ELF_DYNTAG &Value) { in enumeration() argument
953 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
966 #define DYNAMIC_TAG(X, Y) IO.enumCase(Value, STRINGIFY(DT_##X), ELF::DT_##X); in enumeration()
1023 IO.enumFallback<Hex64>(Value); in enumeration()
1027 IO &IO, ELFYAML::MIPS_AFL_REG &Value) { in enumeration() argument
1028 #define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X) in enumeration()
1037 IO &IO, ELFYAML::MIPS_ABI_FP &Value) { in enumeration() argument
1038 #define ECase(X) IO.enumCase(Value, #X, Mips::Val_GNU_MIPS_ABI_##X) in enumeration()
1051 IO &IO, ELFYAML::MIPS_AFL_EXT &Value) { in enumeration() argument
1052 #define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X) in enumeration()
1077 IO &IO, ELFYAML::MIPS_ISA &Value) { in enumeration() argument
1078 IO.enumCase(Value, "MIPS1", 1); in enumeration()
1079 IO.enumCase(Value, "MIPS2", 2); in enumeration()
1080 IO.enumCase(Value, "MIPS3", 3); in enumeration()
1081 IO.enumCase(Value, "MIPS4", 4); in enumeration()
1082 IO.enumCase(Value, "MIPS5", 5); in enumeration()
1083 IO.enumCase(Value, "MIPS32", 32); in enumeration()
1084 IO.enumCase(Value, "MIPS64", 64); in enumeration()
1085 IO.enumFallback<Hex32>(Value); in enumeration()
1089 IO &IO, ELFYAML::MIPS_AFL_ASE &Value) { in bitset() argument
1090 #define BCase(X) IO.bitSetCase(Value, #X, Mips::AFL_ASE_##X) in bitset()
1110 IO &IO, ELFYAML::MIPS_AFL_FLAGS1 &Value) { in bitset() argument
1111 #define BCase(X) IO.bitSetCase(Value, #X, Mips::AFL_FLAGS1_##X) in bitset()
1117 IO &IO, ELFYAML::SectionHeader &SHdr) { in mapping() argument
1118 IO.mapRequired("Name", SHdr.Name); in mapping()
1121 void MappingTraits<ELFYAML::FileHeader>::mapping(IO &IO, in mapping() argument
1123 IO.mapRequired("Class", FileHdr.Class); in mapping()
1124 IO.mapRequired("Data", FileHdr.Data); in mapping()
1125 IO.mapOptional("OSABI", FileHdr.OSABI, ELFYAML::ELF_ELFOSABI(0)); in mapping()
1126 IO.mapOptional("ABIVersion", FileHdr.ABIVersion, Hex8(0)); in mapping()
1127 IO.mapRequired("Type", FileHdr.Type); in mapping()
1128 IO.mapOptional("Machine", FileHdr.Machine); in mapping()
1129 IO.mapOptional("Flags", FileHdr.Flags, ELFYAML::ELF_EF(0)); in mapping()
1130 IO.mapOptional("Entry", FileHdr.Entry, Hex64(0)); in mapping()
1131 IO.mapOptional("SectionHeaderStringTable", FileHdr.SectionHeaderStringTable); in mapping()
1134 assert(!IO.outputting() || in mapping()
1136 IO.mapOptional("EPhOff", FileHdr.EPhOff); in mapping()
1137 IO.mapOptional("EPhEntSize", FileHdr.EPhEntSize); in mapping()
1138 IO.mapOptional("EPhNum", FileHdr.EPhNum); in mapping()
1139 IO.mapOptional("EShEntSize", FileHdr.EShEntSize); in mapping()
1140 IO.mapOptional("EShOff", FileHdr.EShOff); in mapping()
1141 IO.mapOptional("EShNum", FileHdr.EShNum); in mapping()
1142 IO.mapOptional("EShStrNdx", FileHdr.EShStrNdx); in mapping()
1146 IO &IO, ELFYAML::ProgramHeader &Phdr) { in mapping() argument
1147 IO.mapRequired("Type", Phdr.Type); in mapping()
1148 IO.mapOptional("Flags", Phdr.Flags, ELFYAML::ELF_PF(0)); in mapping()
1149 IO.mapOptional("FirstSec", Phdr.FirstSec); in mapping()
1150 IO.mapOptional("LastSec", Phdr.LastSec); in mapping()
1151 IO.mapOptional("VAddr", Phdr.VAddr, Hex64(0)); in mapping()
1152 IO.mapOptional("PAddr", Phdr.PAddr, Phdr.VAddr); in mapping()
1153 IO.mapOptional("Align", Phdr.Align); in mapping()
1154 IO.mapOptional("FileSize", Phdr.FileSize); in mapping()
1155 IO.mapOptional("MemSize", Phdr.MemSize); in mapping()
1156 IO.mapOptional("Offset", Phdr.Offset); in mapping()
1160 IO &IO, ELFYAML::ProgramHeader &FileHdr) { in validate() argument
1205 NormalizedOther(IO &IO) : YamlIO(IO) {} in NormalizedOther()
1206 NormalizedOther(IO &IO, std::optional<uint8_t> Original) : YamlIO(IO) { in NormalizedOther()
1246 std::optional<uint8_t> denormalize(IO &) { in denormalize()
1293 IO &YamlIO;
1332 void MappingTraits<ELFYAML::Symbol>::mapping(IO &IO, ELFYAML::Symbol &Symbol) { in mapping() argument
1333 IO.mapOptional("Name", Symbol.Name, StringRef()); in mapping()
1334 IO.mapOptional("StName", Symbol.StName); in mapping()
1335 IO.mapOptional("Type", Symbol.Type, ELFYAML::ELF_STT(0)); in mapping()
1336 IO.mapOptional("Section", Symbol.Section); in mapping()
1337 IO.mapOptional("Index", Symbol.Index); in mapping()
1338 IO.mapOptional("Binding", Symbol.Binding, ELFYAML::ELF_STB(0)); in mapping()
1339 IO.mapOptional("Value", Symbol.Value); in mapping()
1340 IO.mapOptional("Size", Symbol.Size); in mapping()
1348 IO, Symbol.Other); in mapping()
1349 IO.mapOptional("Other", Keys->Other); in mapping()
1352 std::string MappingTraits<ELFYAML::Symbol>::validate(IO &IO, in validate() argument
1359 static void commonSectionMapping(IO &IO, ELFYAML::Section &Section) { in commonSectionMapping() argument
1360 IO.mapOptional("Name", Section.Name, StringRef()); in commonSectionMapping()
1361 IO.mapRequired("Type", Section.Type); in commonSectionMapping()
1362 IO.mapOptional("Flags", Section.Flags); in commonSectionMapping()
1363 IO.mapOptional("Address", Section.Address); in commonSectionMapping()
1364 IO.mapOptional("Link", Section.Link); in commonSectionMapping()
1365 IO.mapOptional("AddressAlign", Section.AddressAlign, Hex64(0)); in commonSectionMapping()
1366 IO.mapOptional("EntSize", Section.EntSize); in commonSectionMapping()
1367 IO.mapOptional("Offset", Section.Offset); in commonSectionMapping()
1369 IO.mapOptional("Content", Section.Content); in commonSectionMapping()
1370 IO.mapOptional("Size", Section.Size); in commonSectionMapping()
1375 assert(!IO.outputting() || in commonSectionMapping()
1378 IO.mapOptional("ShAddrAlign", Section.ShAddrAlign); in commonSectionMapping()
1379 IO.mapOptional("ShName", Section.ShName); in commonSectionMapping()
1380 IO.mapOptional("ShOffset", Section.ShOffset); in commonSectionMapping()
1381 IO.mapOptional("ShSize", Section.ShSize); in commonSectionMapping()
1382 IO.mapOptional("ShFlags", Section.ShFlags); in commonSectionMapping()
1383 IO.mapOptional("ShType", Section.ShType); in commonSectionMapping()
1386 static void sectionMapping(IO &IO, ELFYAML::DynamicSection &Section) { in sectionMapping() argument
1387 commonSectionMapping(IO, Section); in sectionMapping()
1388 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1391 static void sectionMapping(IO &IO, ELFYAML::RawContentSection &Section) { in sectionMapping() argument
1392 commonSectionMapping(IO, Section); in sectionMapping()
1396 assert(!IO.outputting() || !Section.ContentBuf); in sectionMapping()
1397 IO.mapOptional("ContentArray", Section.ContentBuf); in sectionMapping()
1400 IO.setError("Content and ContentArray can't be used together"); in sectionMapping()
1404 IO.mapOptional("Info", Section.Info); in sectionMapping()
1407 static void sectionMapping(IO &IO, ELFYAML::BBAddrMapSection &Section) { in sectionMapping() argument
1408 commonSectionMapping(IO, Section); in sectionMapping()
1409 IO.mapOptional("Content", Section.Content); in sectionMapping()
1410 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1411 IO.mapOptional("PGOAnalyses", Section.PGOAnalyses); in sectionMapping()
1414 static void sectionMapping(IO &IO, ELFYAML::StackSizesSection &Section) { in sectionMapping() argument
1415 commonSectionMapping(IO, Section); in sectionMapping()
1416 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1419 static void sectionMapping(IO &IO, ELFYAML::HashSection &Section) { in sectionMapping() argument
1420 commonSectionMapping(IO, Section); in sectionMapping()
1421 IO.mapOptional("Bucket", Section.Bucket); in sectionMapping()
1422 IO.mapOptional("Chain", Section.Chain); in sectionMapping()
1426 assert(!IO.outputting() || (!Section.NBucket && !Section.NChain)); in sectionMapping()
1427 IO.mapOptional("NChain", Section.NChain); in sectionMapping()
1428 IO.mapOptional("NBucket", Section.NBucket); in sectionMapping()
1431 static void sectionMapping(IO &IO, ELFYAML::NoteSection &Section) { in sectionMapping() argument
1432 commonSectionMapping(IO, Section); in sectionMapping()
1433 IO.mapOptional("Notes", Section.Notes); in sectionMapping()
1437 static void sectionMapping(IO &IO, ELFYAML::GnuHashSection &Section) { in sectionMapping() argument
1438 commonSectionMapping(IO, Section); in sectionMapping()
1439 IO.mapOptional("Header", Section.Header); in sectionMapping()
1440 IO.mapOptional("BloomFilter", Section.BloomFilter); in sectionMapping()
1441 IO.mapOptional("HashBuckets", Section.HashBuckets); in sectionMapping()
1442 IO.mapOptional("HashValues", Section.HashValues); in sectionMapping()
1444 static void sectionMapping(IO &IO, ELFYAML::NoBitsSection &Section) { in sectionMapping() argument
1445 commonSectionMapping(IO, Section); in sectionMapping()
1448 static void sectionMapping(IO &IO, ELFYAML::VerdefSection &Section) { in sectionMapping() argument
1449 commonSectionMapping(IO, Section); in sectionMapping()
1450 IO.mapOptional("Info", Section.Info); in sectionMapping()
1451 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1454 static void sectionMapping(IO &IO, ELFYAML::SymverSection &Section) { in sectionMapping() argument
1455 commonSectionMapping(IO, Section); in sectionMapping()
1456 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1459 static void sectionMapping(IO &IO, ELFYAML::VerneedSection &Section) { in sectionMapping() argument
1460 commonSectionMapping(IO, Section); in sectionMapping()
1461 IO.mapOptional("Info", Section.Info); in sectionMapping()
1462 IO.mapOptional("Dependencies", Section.VerneedV); in sectionMapping()
1465 static void sectionMapping(IO &IO, ELFYAML::RelocationSection &Section) { in sectionMapping() argument
1466 commonSectionMapping(IO, Section); in sectionMapping()
1467 IO.mapOptional("Info", Section.RelocatableSec, StringRef()); in sectionMapping()
1468 IO.mapOptional("Relocations", Section.Relocations); in sectionMapping()
1471 static void sectionMapping(IO &IO, ELFYAML::RelrSection &Section) { in sectionMapping() argument
1472 commonSectionMapping(IO, Section); in sectionMapping()
1473 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1476 static void groupSectionMapping(IO &IO, ELFYAML::GroupSection &Group) { in groupSectionMapping() argument
1477 commonSectionMapping(IO, Group); in groupSectionMapping()
1478 IO.mapOptional("Info", Group.Signature); in groupSectionMapping()
1479 IO.mapOptional("Members", Group.Members); in groupSectionMapping()
1482 static void sectionMapping(IO &IO, ELFYAML::SymtabShndxSection &Section) { in sectionMapping() argument
1483 commonSectionMapping(IO, Section); in sectionMapping()
1484 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1487 static void sectionMapping(IO &IO, ELFYAML::AddrsigSection &Section) { in sectionMapping() argument
1488 commonSectionMapping(IO, Section); in sectionMapping()
1489 IO.mapOptional("Symbols", Section.Symbols); in sectionMapping()
1492 static void fillMapping(IO &IO, ELFYAML::Fill &Fill) { in fillMapping() argument
1493 IO.mapOptional("Name", Fill.Name, StringRef()); in fillMapping()
1494 IO.mapOptional("Pattern", Fill.Pattern); in fillMapping()
1495 IO.mapOptional("Offset", Fill.Offset); in fillMapping()
1496 IO.mapRequired("Size", Fill.Size); in fillMapping()
1499 static void sectionHeaderTableMapping(IO &IO, in sectionHeaderTableMapping() argument
1501 IO.mapOptional("Offset", SHT.Offset); in sectionHeaderTableMapping()
1502 IO.mapOptional("Sections", SHT.Sections); in sectionHeaderTableMapping()
1503 IO.mapOptional("Excluded", SHT.Excluded); in sectionHeaderTableMapping()
1504 IO.mapOptional("NoHeaders", SHT.NoHeaders); in sectionHeaderTableMapping()
1507 static void sectionMapping(IO &IO, ELFYAML::LinkerOptionsSection &Section) { in sectionMapping() argument
1508 commonSectionMapping(IO, Section); in sectionMapping()
1509 IO.mapOptional("Options", Section.Options); in sectionMapping()
1512 static void sectionMapping(IO &IO, in sectionMapping() argument
1514 commonSectionMapping(IO, Section); in sectionMapping()
1515 IO.mapOptional("Libraries", Section.Libs); in sectionMapping()
1518 static void sectionMapping(IO &IO, ELFYAML::CallGraphProfileSection &Section) { in sectionMapping() argument
1519 commonSectionMapping(IO, Section); in sectionMapping()
1520 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1524 IO &IO, ELFYAML::SectionOrType &sectionOrType) { in mapping() argument
1525 IO.mapRequired("SectionOrType", sectionOrType.sectionNameOrType); in mapping()
1528 static void sectionMapping(IO &IO, ELFYAML::ARMIndexTableSection &Section) { in sectionMapping() argument
1529 commonSectionMapping(IO, Section); in sectionMapping()
1530 IO.mapOptional("Entries", Section.Entries); in sectionMapping()
1533 static void sectionMapping(IO &IO, ELFYAML::MipsABIFlags &Section) { in sectionMapping() argument
1534 commonSectionMapping(IO, Section); in sectionMapping()
1535 IO.mapOptional("Version", Section.Version, Hex16(0)); in sectionMapping()
1536 IO.mapRequired("ISA", Section.ISALevel); in sectionMapping()
1537 IO.mapOptional("ISARevision", Section.ISARevision, Hex8(0)); in sectionMapping()
1538 IO.mapOptional("ISAExtension", Section.ISAExtension, in sectionMapping()
1540 IO.mapOptional("ASEs", Section.ASEs, ELFYAML::MIPS_AFL_ASE(0)); in sectionMapping()
1541 IO.mapOptional("FpABI", Section.FpABI, in sectionMapping()
1543 IO.mapOptional("GPRSize", Section.GPRSize, in sectionMapping()
1545 IO.mapOptional("CPR1Size", Section.CPR1Size, in sectionMapping()
1547 IO.mapOptional("CPR2Size", Section.CPR2Size, in sectionMapping()
1549 IO.mapOptional("Flags1", Section.Flags1, ELFYAML::MIPS_AFL_FLAGS1(0)); in sectionMapping()
1550 IO.mapOptional("Flags2", Section.Flags2, Hex32(0)); in sectionMapping()
1553 static StringRef getStringValue(IO &IO, const char *Key) { in getStringValue() argument
1555 IO.mapRequired(Key, Val); in getStringValue()
1559 static void setStringValue(IO &IO, const char *Key, StringRef Val) { in setStringValue() argument
1560 IO.mapRequired(Key, Val); in setStringValue()
1569 IO &IO, std::unique_ptr<ELFYAML::Chunk> &Section) { in mapping() argument
1572 if (IO.outputting()) { in mapping()
1580 TypeStr = getStringValue(IO, "Type"); in mapping()
1582 IO.mapRequired("Type", Type); in mapping()
1586 assert(!IO.outputting()); // We don't dump fills currently. in mapping()
1588 fillMapping(IO, *cast<ELFYAML::Fill>(Section.get())); in mapping()
1593 if (IO.outputting()) in mapping()
1594 setStringValue(IO, "Type", TypeStr); in mapping()
1599 IO, *cast<ELFYAML::SectionHeaderTable>(Section.get())); in mapping()
1603 const auto &Obj = *static_cast<ELFYAML::Object *>(IO.getContext()); in mapping()
1605 if (!IO.outputting()) in mapping()
1607 sectionMapping(IO, *cast<ELFYAML::MipsABIFlags>(Section.get())); in mapping()
1612 if (!IO.outputting()) in mapping()
1614 sectionMapping(IO, *cast<ELFYAML::ARMIndexTableSection>(Section.get())); in mapping()
1620 if (!IO.outputting()) in mapping()
1622 sectionMapping(IO, *cast<ELFYAML::DynamicSection>(Section.get())); in mapping()
1627 if (!IO.outputting()) in mapping()
1629 sectionMapping(IO, *cast<ELFYAML::RelocationSection>(Section.get())); in mapping()
1632 if (!IO.outputting()) in mapping()
1634 sectionMapping(IO, *cast<ELFYAML::RelrSection>(Section.get())); in mapping()
1637 if (!IO.outputting()) in mapping()
1639 groupSectionMapping(IO, *cast<ELFYAML::GroupSection>(Section.get())); in mapping()
1642 if (!IO.outputting()) in mapping()
1644 sectionMapping(IO, *cast<ELFYAML::NoBitsSection>(Section.get())); in mapping()
1647 if (!IO.outputting()) in mapping()
1649 sectionMapping(IO, *cast<ELFYAML::HashSection>(Section.get())); in mapping()
1652 if (!IO.outputting()) in mapping()
1654 sectionMapping(IO, *cast<ELFYAML::NoteSection>(Section.get())); in mapping()
1657 if (!IO.outputting()) in mapping()
1659 sectionMapping(IO, *cast<ELFYAML::GnuHashSection>(Section.get())); in mapping()
1662 if (!IO.outputting()) in mapping()
1664 sectionMapping(IO, *cast<ELFYAML::VerdefSection>(Section.get())); in mapping()
1667 if (!IO.outputting()) in mapping()
1669 sectionMapping(IO, *cast<ELFYAML::SymverSection>(Section.get())); in mapping()
1672 if (!IO.outputting()) in mapping()
1674 sectionMapping(IO, *cast<ELFYAML::VerneedSection>(Section.get())); in mapping()
1677 if (!IO.outputting()) in mapping()
1679 sectionMapping(IO, *cast<ELFYAML::SymtabShndxSection>(Section.get())); in mapping()
1682 if (!IO.outputting()) in mapping()
1684 sectionMapping(IO, *cast<ELFYAML::AddrsigSection>(Section.get())); in mapping()
1687 if (!IO.outputting()) in mapping()
1689 sectionMapping(IO, *cast<ELFYAML::LinkerOptionsSection>(Section.get())); in mapping()
1692 if (!IO.outputting()) in mapping()
1694 sectionMapping(IO, in mapping()
1698 if (!IO.outputting()) in mapping()
1700 sectionMapping(IO, *cast<ELFYAML::CallGraphProfileSection>(Section.get())); in mapping()
1703 if (!IO.outputting()) in mapping()
1705 sectionMapping(IO, *cast<ELFYAML::BBAddrMapSection>(Section.get())); in mapping()
1708 if (!IO.outputting()) { in mapping()
1710 IO.mapOptional("Name", Name, StringRef()); in mapping()
1720 sectionMapping(IO, *S); in mapping()
1722 sectionMapping(IO, *cast<ELFYAML::StackSizesSection>(Section.get())); in mapping()
1727 IO &io, std::unique_ptr<ELFYAML::Chunk> &C) { in validate()
1799 NormalizedMips64RelType(IO &) in NormalizedMips64RelType()
1804 NormalizedMips64RelType(IO &, ELFYAML::ELF_REL Original) in NormalizedMips64RelType()
1808 ELFYAML::ELF_REL denormalize(IO &) { in denormalize()
1822 IO &IO, ELFYAML::StackSizeEntry &E) { in mapping() argument
1823 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1824 IO.mapOptional("Address", E.Address, Hex64(0)); in mapping()
1825 IO.mapRequired("Size", E.Size); in mapping()
1829 IO &IO, ELFYAML::BBAddrMapEntry &E) { in mapping() argument
1830 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1831 IO.mapRequired("Version", E.Version); in mapping()
1832 IO.mapOptional("Feature", E.Feature, Hex8(0)); in mapping()
1833 IO.mapOptional("NumBBRanges", E.NumBBRanges); in mapping()
1834 IO.mapOptional("BBRanges", E.BBRanges); in mapping()
1838 IO &IO, ELFYAML::BBAddrMapEntry::BBRangeEntry &E) { in mapping() argument
1839 IO.mapOptional("BaseAddress", E.BaseAddress, Hex64(0)); in mapping()
1840 IO.mapOptional("NumBlocks", E.NumBlocks); in mapping()
1841 IO.mapOptional("BBEntries", E.BBEntries); in mapping()
1845 IO &IO, ELFYAML::BBAddrMapEntry::BBEntry &E) { in mapping() argument
1846 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1847 IO.mapOptional("ID", E.ID); in mapping()
1848 IO.mapRequired("AddressOffset", E.AddressOffset); in mapping()
1849 IO.mapRequired("Size", E.Size); in mapping()
1850 IO.mapRequired("Metadata", E.Metadata); in mapping()
1854 IO &IO, ELFYAML::PGOAnalysisMapEntry &E) { in mapping() argument
1855 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1856 IO.mapOptional("FuncEntryCount", E.FuncEntryCount); in mapping()
1857 IO.mapOptional("PGOBBEntries", E.PGOBBEntries); in mapping()
1861 IO &IO, ELFYAML::PGOAnalysisMapEntry::PGOBBEntry &E) { in mapping() argument
1862 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1863 IO.mapOptional("BBFreq", E.BBFreq); in mapping()
1864 IO.mapOptional("Successors", E.Successors); in mapping()
1868 mapping(IO &IO, in mapping() argument
1870 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1871 IO.mapRequired("ID", E.ID); in mapping()
1872 IO.mapRequired("BrProb", E.BrProb); in mapping()
1875 void MappingTraits<ELFYAML::GnuHashHeader>::mapping(IO &IO, in mapping() argument
1877 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1878 IO.mapOptional("NBuckets", E.NBuckets); in mapping()
1879 IO.mapRequired("SymNdx", E.SymNdx); in mapping()
1880 IO.mapOptional("MaskWords", E.MaskWords); in mapping()
1881 IO.mapRequired("Shift2", E.Shift2); in mapping()
1884 void MappingTraits<ELFYAML::DynamicEntry>::mapping(IO &IO, in mapping() argument
1886 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1888 IO.mapRequired("Tag", Rel.Tag); in mapping()
1889 IO.mapRequired("Value", Rel.Val); in mapping()
1892 void MappingTraits<ELFYAML::NoteEntry>::mapping(IO &IO, ELFYAML::NoteEntry &N) { in mapping() argument
1893 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1895 IO.mapOptional("Name", N.Name); in mapping()
1896 IO.mapOptional("Desc", N.Desc); in mapping()
1897 IO.mapRequired("Type", N.Type); in mapping()
1900 void MappingTraits<ELFYAML::VerdefEntry>::mapping(IO &IO, in mapping() argument
1902 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1904 IO.mapOptional("Version", E.Version); in mapping()
1905 IO.mapOptional("Flags", E.Flags); in mapping()
1906 IO.mapOptional("VersionNdx", E.VersionNdx); in mapping()
1907 IO.mapOptional("Hash", E.Hash); in mapping()
1908 IO.mapRequired("Names", E.VerNames); in mapping()
1911 void MappingTraits<ELFYAML::VerneedEntry>::mapping(IO &IO, in mapping() argument
1913 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1915 IO.mapRequired("Version", E.Version); in mapping()
1916 IO.mapRequired("File", E.File); in mapping()
1917 IO.mapRequired("Entries", E.AuxV); in mapping()
1920 void MappingTraits<ELFYAML::VernauxEntry>::mapping(IO &IO, in mapping() argument
1922 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1924 IO.mapRequired("Name", E.Name); in mapping()
1925 IO.mapRequired("Hash", E.Hash); in mapping()
1926 IO.mapRequired("Flags", E.Flags); in mapping()
1927 IO.mapRequired("Other", E.Other); in mapping()
1930 void MappingTraits<ELFYAML::Relocation>::mapping(IO &IO, in mapping() argument
1932 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in mapping()
1935 IO.mapOptional("Offset", Rel.Offset, (Hex64)0); in mapping()
1936 IO.mapOptional("Symbol", Rel.Symbol); in mapping()
1941 IO, Rel.Type); in mapping()
1942 IO.mapRequired("Type", Key->Type); in mapping()
1943 IO.mapOptional("Type2", Key->Type2, ELFYAML::ELF_REL(ELF::R_MIPS_NONE)); in mapping()
1944 IO.mapOptional("Type3", Key->Type3, ELFYAML::ELF_REL(ELF::R_MIPS_NONE)); in mapping()
1945 IO.mapOptional("SpecSym", Key->SpecSym, ELFYAML::ELF_RSS(ELF::RSS_UNDEF)); in mapping()
1947 IO.mapRequired("Type", Rel.Type); in mapping()
1949 IO.mapOptional("Addend", Rel.Addend, (ELFYAML::YAMLIntUInt)0); in mapping()
1953 IO &IO, ELFYAML::ARMIndexTableEntry &E) { in mapping() argument
1954 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1955 IO.mapRequired("Offset", E.Offset); in mapping()
1958 if (IO.outputting() && (uint32_t)E.Value == ARM::EHABI::EXIDX_CANTUNWIND) in mapping()
1959 IO.mapRequired("Value", CantUnwind); in mapping()
1960 else if (!IO.outputting() && getStringValue(IO, "Value") == CantUnwind) in mapping()
1963 IO.mapRequired("Value", E.Value); in mapping()
1966 void MappingTraits<ELFYAML::Object>::mapping(IO &IO, ELFYAML::Object &Object) { in mapping() argument
1967 assert(!IO.getContext() && "The IO context is initialized already"); in mapping()
1968 IO.setContext(&Object); in mapping()
1969 IO.mapTag("!ELF", true); in mapping()
1970 IO.mapRequired("FileHeader", Object.Header); in mapping()
1971 IO.mapOptional("ProgramHeaders", Object.ProgramHeaders); in mapping()
1972 IO.mapOptional("Sections", Object.Chunks); in mapping()
1973 IO.mapOptional("Symbols", Object.Symbols); in mapping()
1974 IO.mapOptional("DynamicSymbols", Object.DynamicSymbols); in mapping()
1975 IO.mapOptional("DWARF", Object.DWARF); in mapping()
1982 IO.setContext(nullptr); in mapping()
1985 void MappingTraits<ELFYAML::LinkerOption>::mapping(IO &IO, in mapping() argument
1987 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1988 IO.mapRequired("Name", Opt.Key); in mapping()
1989 IO.mapRequired("Value", Opt.Value); in mapping()
1993 IO &IO, ELFYAML::CallGraphEntryWeight &E) { in mapping() argument
1994 assert(IO.getContext() && "The IO context is not initialized"); in mapping()
1995 IO.mapRequired("Weight", E.Weight); in mapping()