Lines Matching refs:IO

31     IO &IO, ELFYAML::ELF_ET &Value) {  in enumeration()  argument
32 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
39 IO.enumFallback<Hex16>(Value); in enumeration()
43 IO &IO, ELFYAML::ELF_PT &Value) { in enumeration() argument
44 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
55 IO.enumFallback<Hex32>(Value); in enumeration()
59 IO &IO, ELFYAML::ELF_EM &Value) { in enumeration() argument
60 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
224 IO &IO, ELFYAML::ELF_ELFCLASS &Value) { in enumeration() argument
225 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
234 IO &IO, ELFYAML::ELF_ELFDATA &Value) { in enumeration() argument
235 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
244 IO &IO, ELFYAML::ELF_ELFOSABI &Value) { in enumeration() argument
245 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
273 void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO, in bitset() argument
275 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in bitset()
277 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
278 #define BCaseMask(X, M) IO.maskedBitSetCase(Value, #X, ELF::X, ELF::M) in bitset()
427 IO &IO, ELFYAML::ELF_SHT &Value) { in enumeration() argument
428 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
430 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
491 void ScalarBitSetTraits<ELFYAML::ELF_PF>::bitset(IO &IO, in bitset() argument
493 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
499 void ScalarBitSetTraits<ELFYAML::ELF_SHF>::bitset(IO &IO, in bitset() argument
501 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in bitset()
502 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
543 IO &IO, ELFYAML::ELF_SHN &Value) { in enumeration() argument
544 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
561 IO.enumFallback<Hex32>(Value); in enumeration()
565 IO &IO, ELFYAML::ELF_STT &Value) { in enumeration() argument
566 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
579 IO &IO, ELFYAML::ELF_STV &Value) { in enumeration() argument
580 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
588 void ScalarBitSetTraits<ELFYAML::ELF_STO>::bitset(IO &IO, in bitset() argument
590 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in bitset()
592 #define BCase(X) IO.bitSetCase(Value, #X, ELF::X) in bitset()
608 IO &IO, ELFYAML::ELF_RSS &Value) { in enumeration() argument
609 #define ECase(X) IO.enumCase(Value, #X, ELF::X) in enumeration()
618 IO &IO, ELFYAML::ELF_REL &Value) { in enumeration() argument
619 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in enumeration()
621 #define ELF_RELOC(X, Y) IO.enumCase(Value, #X, ELF::X); in enumeration()
661 IO.enumFallback<Hex32>(Value); in enumeration()
665 IO &IO, ELFYAML::MIPS_AFL_REG &Value) { in enumeration() argument
666 #define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X) in enumeration()
675 IO &IO, ELFYAML::MIPS_ABI_FP &Value) { in enumeration() argument
676 #define ECase(X) IO.enumCase(Value, #X, Mips::Val_GNU_MIPS_ABI_##X) in enumeration()
689 IO &IO, ELFYAML::MIPS_AFL_EXT &Value) { in enumeration() argument
690 #define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X) in enumeration()
715 IO &IO, ELFYAML::MIPS_ISA &Value) { in enumeration() argument
716 IO.enumCase(Value, "MIPS1", 1); in enumeration()
717 IO.enumCase(Value, "MIPS2", 2); in enumeration()
718 IO.enumCase(Value, "MIPS3", 3); in enumeration()
719 IO.enumCase(Value, "MIPS4", 4); in enumeration()
720 IO.enumCase(Value, "MIPS5", 5); in enumeration()
721 IO.enumCase(Value, "MIPS32", 32); in enumeration()
722 IO.enumCase(Value, "MIPS64", 64); in enumeration()
726 IO &IO, ELFYAML::MIPS_AFL_ASE &Value) { in bitset() argument
727 #define BCase(X) IO.bitSetCase(Value, #X, Mips::AFL_ASE_##X) in bitset()
745 IO &IO, ELFYAML::MIPS_AFL_FLAGS1 &Value) { in bitset() argument
746 #define BCase(X) IO.bitSetCase(Value, #X, Mips::AFL_FLAGS1_##X) in bitset()
751 void MappingTraits<ELFYAML::FileHeader>::mapping(IO &IO, in mapping() argument
753 IO.mapRequired("Class", FileHdr.Class); in mapping()
754 IO.mapRequired("Data", FileHdr.Data); in mapping()
755 IO.mapOptional("OSABI", FileHdr.OSABI, ELFYAML::ELF_ELFOSABI(0)); in mapping()
756 IO.mapOptional("ABIVersion", FileHdr.ABIVersion, Hex8(0)); in mapping()
757 IO.mapRequired("Type", FileHdr.Type); in mapping()
758 IO.mapRequired("Machine", FileHdr.Machine); in mapping()
759 IO.mapOptional("Flags", FileHdr.Flags, ELFYAML::ELF_EF(0)); in mapping()
760 IO.mapOptional("Entry", FileHdr.Entry, Hex64(0)); in mapping()
764 IO &IO, ELFYAML::ProgramHeader &Phdr) { in mapping() argument
765 IO.mapRequired("Type", Phdr.Type); in mapping()
766 IO.mapOptional("Flags", Phdr.Flags, ELFYAML::ELF_PF(0)); in mapping()
767 IO.mapOptional("Sections", Phdr.Sections); in mapping()
768 IO.mapOptional("VAddr", Phdr.VAddr, Hex64(0)); in mapping()
769 IO.mapOptional("PAddr", Phdr.PAddr, Hex64(0)); in mapping()
770 IO.mapOptional("Align", Phdr.Align); in mapping()
776 NormalizedOther(IO &) in NormalizedOther()
778 NormalizedOther(IO &, uint8_t Original) in NormalizedOther()
781 uint8_t denormalize(IO &) { return Visibility | Other; } in denormalize()
789 void MappingTraits<ELFYAML::Symbol>::mapping(IO &IO, ELFYAML::Symbol &Symbol) { in mapping() argument
790 IO.mapOptional("Name", Symbol.Name, StringRef()); in mapping()
791 IO.mapOptional("Type", Symbol.Type, ELFYAML::ELF_STT(0)); in mapping()
792 IO.mapOptional("Section", Symbol.Section, StringRef()); in mapping()
793 IO.mapOptional("Index", Symbol.Index); in mapping()
794 IO.mapOptional("Value", Symbol.Value, Hex64(0)); in mapping()
795 IO.mapOptional("Size", Symbol.Size, Hex64(0)); in mapping()
797 MappingNormalization<NormalizedOther, uint8_t> Keys(IO, Symbol.Other); in mapping()
798 IO.mapOptional("Visibility", Keys->Visibility, ELFYAML::ELF_STV(0)); in mapping()
799 IO.mapOptional("Other", Keys->Other, ELFYAML::ELF_STO(0)); in mapping()
802 StringRef MappingTraits<ELFYAML::Symbol>::validate(IO &IO, in validate() argument
817 IO &IO, ELFYAML::LocalGlobalWeakSymbols &Symbols) { in mapping() argument
818 IO.mapOptional("Local", Symbols.Local); in mapping()
819 IO.mapOptional("Global", Symbols.Global); in mapping()
820 IO.mapOptional("Weak", Symbols.Weak); in mapping()
823 static void commonSectionMapping(IO &IO, ELFYAML::Section &Section) { in commonSectionMapping() argument
824 IO.mapOptional("Name", Section.Name, StringRef()); in commonSectionMapping()
825 IO.mapRequired("Type", Section.Type); in commonSectionMapping()
826 IO.mapOptional("Flags", Section.Flags, ELFYAML::ELF_SHF(0)); in commonSectionMapping()
827 IO.mapOptional("Address", Section.Address, Hex64(0)); in commonSectionMapping()
828 IO.mapOptional("Link", Section.Link, StringRef()); in commonSectionMapping()
829 IO.mapOptional("AddressAlign", Section.AddressAlign, Hex64(0)); in commonSectionMapping()
830 IO.mapOptional("EntSize", Section.EntSize); in commonSectionMapping()
831 IO.mapOptional("Info", Section.Info, StringRef()); in commonSectionMapping()
834 static void sectionMapping(IO &IO, ELFYAML::RawContentSection &Section) { in sectionMapping() argument
835 commonSectionMapping(IO, Section); in sectionMapping()
836 IO.mapOptional("Content", Section.Content); in sectionMapping()
837 IO.mapOptional("Size", Section.Size, Hex64(Section.Content.binary_size())); in sectionMapping()
840 static void sectionMapping(IO &IO, ELFYAML::NoBitsSection &Section) { in sectionMapping() argument
841 commonSectionMapping(IO, Section); in sectionMapping()
842 IO.mapOptional("Size", Section.Size, Hex64(0)); in sectionMapping()
845 static void sectionMapping(IO &IO, ELFYAML::RelocationSection &Section) { in sectionMapping() argument
846 commonSectionMapping(IO, Section); in sectionMapping()
847 IO.mapOptional("Relocations", Section.Relocations); in sectionMapping()
850 static void groupSectionMapping(IO &IO, ELFYAML::Group &group) { in groupSectionMapping() argument
851 commonSectionMapping(IO, group); in groupSectionMapping()
852 IO.mapRequired("Members", group.Members); in groupSectionMapping()
856 IO &IO, ELFYAML::SectionOrType &sectionOrType) { in mapping() argument
857 IO.mapRequired("SectionOrType", sectionOrType.sectionNameOrType); in mapping()
861 IO &IO, ELFYAML::SectionName &sectionName) { in mapping() argument
862 IO.mapRequired("Section", sectionName.Section); in mapping()
865 static void sectionMapping(IO &IO, ELFYAML::MipsABIFlags &Section) { in sectionMapping() argument
866 commonSectionMapping(IO, Section); in sectionMapping()
867 IO.mapOptional("Version", Section.Version, Hex16(0)); in sectionMapping()
868 IO.mapRequired("ISA", Section.ISALevel); in sectionMapping()
869 IO.mapOptional("ISARevision", Section.ISARevision, Hex8(0)); in sectionMapping()
870 IO.mapOptional("ISAExtension", Section.ISAExtension, in sectionMapping()
872 IO.mapOptional("ASEs", Section.ASEs, ELFYAML::MIPS_AFL_ASE(0)); in sectionMapping()
873 IO.mapOptional("FpABI", Section.FpABI, in sectionMapping()
875 IO.mapOptional("GPRSize", Section.GPRSize, in sectionMapping()
877 IO.mapOptional("CPR1Size", Section.CPR1Size, in sectionMapping()
879 IO.mapOptional("CPR2Size", Section.CPR2Size, in sectionMapping()
881 IO.mapOptional("Flags1", Section.Flags1, ELFYAML::MIPS_AFL_FLAGS1(0)); in sectionMapping()
882 IO.mapOptional("Flags2", Section.Flags2, Hex32(0)); in sectionMapping()
886 IO &IO, std::unique_ptr<ELFYAML::Section> &Section) { in mapping() argument
888 if (IO.outputting()) in mapping()
891 IO.mapRequired("Type", sectionType); in mapping()
896 if (!IO.outputting()) in mapping()
898 sectionMapping(IO, *cast<ELFYAML::RelocationSection>(Section.get())); in mapping()
901 if (!IO.outputting()) in mapping()
903 groupSectionMapping(IO, *cast<ELFYAML::Group>(Section.get())); in mapping()
906 if (!IO.outputting()) in mapping()
908 sectionMapping(IO, *cast<ELFYAML::NoBitsSection>(Section.get())); in mapping()
911 if (!IO.outputting()) in mapping()
913 sectionMapping(IO, *cast<ELFYAML::MipsABIFlags>(Section.get())); in mapping()
916 if (!IO.outputting()) in mapping()
918 sectionMapping(IO, *cast<ELFYAML::RawContentSection>(Section.get())); in mapping()
923 IO &io, std::unique_ptr<ELFYAML::Section> &Section) { in validate()
933 NormalizedMips64RelType(IO &) in NormalizedMips64RelType()
938 NormalizedMips64RelType(IO &, ELFYAML::ELF_REL Original) in NormalizedMips64RelType()
942 ELFYAML::ELF_REL denormalize(IO &) { in denormalize()
955 void MappingTraits<ELFYAML::Relocation>::mapping(IO &IO, in mapping() argument
957 const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext()); in mapping()
960 IO.mapRequired("Offset", Rel.Offset); in mapping()
961 IO.mapOptional("Symbol", Rel.Symbol); in mapping()
966 IO, Rel.Type); in mapping()
967 IO.mapRequired("Type", Key->Type); in mapping()
968 IO.mapOptional("Type2", Key->Type2, ELFYAML::ELF_REL(ELF::R_MIPS_NONE)); in mapping()
969 IO.mapOptional("Type3", Key->Type3, ELFYAML::ELF_REL(ELF::R_MIPS_NONE)); in mapping()
970 IO.mapOptional("SpecSym", Key->SpecSym, ELFYAML::ELF_RSS(ELF::RSS_UNDEF)); in mapping()
972 IO.mapRequired("Type", Rel.Type); in mapping()
974 IO.mapOptional("Addend", Rel.Addend, (int64_t)0); in mapping()
977 void MappingTraits<ELFYAML::Object>::mapping(IO &IO, ELFYAML::Object &Object) { in mapping() argument
978 assert(!IO.getContext() && "The IO context is initialized already"); in mapping()
979 IO.setContext(&Object); in mapping()
980 IO.mapTag("!ELF", true); in mapping()
981 IO.mapRequired("FileHeader", Object.Header); in mapping()
982 IO.mapOptional("ProgramHeaders", Object.ProgramHeaders); in mapping()
983 IO.mapOptional("Sections", Object.Sections); in mapping()
984 IO.mapOptional("Symbols", Object.Symbols); in mapping()
985 IO.mapOptional("DynamicSymbols", Object.DynamicSymbols); in mapping()
986 IO.setContext(nullptr); in mapping()