Home | History | Annotate | Download | only in Object

Lines Matching refs:Section

20 ELFYAML::Section::~Section() {}
631 IO.mapOptional("Section", Symbol.Section, StringRef());
647 static void commonSectionMapping(IO &IO, ELFYAML::Section &Section) {
648 IO.mapOptional("Name", Section.Name, StringRef());
649 IO.mapRequired("Type", Section.Type);
650 IO.mapOptional("Flags", Section.Flags, ELFYAML::ELF_SHF(0));
651 IO.mapOptional("Address", Section.Address, Hex64(0));
652 IO.mapOptional("Link", Section.Link, StringRef());
653 IO.mapOptional("AddressAlign", Section.AddressAlign, Hex64(0));
654 IO.mapOptional("Info", Section.Info, StringRef());
657 static void sectionMapping(IO &IO, ELFYAML::RawContentSection &Section) {
658 commonSectionMapping(IO, Section);
659 IO.mapOptional("Content", Section.Content);
660 IO.mapOptional("Size", Section.Size, Hex64(Section.Content.binary_size()));
663 static void sectionMapping(IO &IO, ELFYAML::NoBitsSection &Section) {
664 commonSectionMapping(IO, Section);
665 IO.mapOptional("Size", Section.Size, Hex64(0));
668 static void sectionMapping(IO &IO, ELFYAML::RelocationSection &Section) {
669 commonSectionMapping(IO, Section);
670 IO.mapOptional("Relocations", Section.Relocations);
683 static void sectionMapping(IO &IO, ELFYAML::MipsABIFlags &Section) {
684 commonSectionMapping(IO, Section);
685 IO.mapOptional("Version", Section.Version, Hex16(0));
686 IO.mapRequired("ISA", Section.ISALevel);
687 IO.mapOptional("ISARevision", Section.ISARevision, Hex8(0));
688 IO.mapOptional("ISAExtension", Section.ISAExtension,
690 IO.mapOptional("ASEs", Section.ASEs, ELFYAML::MIPS_AFL_ASE(0));
691 IO.mapOptional("FpABI", Section.FpABI,
693 IO.mapOptional("GPRSize", Section.GPRSize,
695 IO.mapOptional("CPR1Size", Section.CPR1Size,
697 IO.mapOptional("CPR2Size", Section.CPR2Size,
699 IO.mapOptional("Flags1", Section.Flags1, ELFYAML::MIPS_AFL_FLAGS1(0));
700 IO.mapOptional("Flags2", Section.Flags2, Hex32(0));
703 void MappingTraits<std::unique_ptr<ELFYAML::Section>>::mapping(
704 IO &IO, std::unique_ptr<ELFYAML::Section> &Section) {
707 sectionType = Section->Type;
715 Section.reset(new ELFYAML::RelocationSection());
716 sectionMapping(IO, *cast<ELFYAML::RelocationSection>(Section.get()));
720 Section.reset(new ELFYAML::Group());
721 groupSectionMapping(IO, *cast<ELFYAML::Group>(Section.get()));
725 Section.reset(new ELFYAML::NoBitsSection());
726 sectionMapping(IO, *cast<ELFYAML::NoBitsSection>(Section.get()));
730 Section.reset(new ELFYAML::MipsABIFlags());
731 sectionMapping(IO, *cast<ELFYAML::MipsABIFlags>(Section.get()));
735 Section.reset(new ELFYAML::RawContentSection());
736 sectionMapping(IO, *cast<ELFYAML::RawContentSection>(Section.get()));
740 StringRef MappingTraits<std::unique_ptr<ELFYAML::Section>>::validate(
741 IO &io, std::unique_ptr<ELFYAML::Section> &Section) {
742 const auto *RawSection = dyn_cast<ELFYAML::RawContentSection>(Section.get());
745 return "Section size must be greater or equal to the content size";