X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FObject%2FELFYAML.cpp;h=2f35cf9b103647d7275e17cd0c742baf09250503;hb=3767c7446edea95277509477a9bb3048ef2e0b95;hp=107333c708e750eca1c14824f63fe3f8660e6bde;hpb=4235ba32f2610ee2ed1e0c4bfca5c67835e9f97d;p=oota-llvm.git diff --git a/lib/Object/ELFYAML.cpp b/lib/Object/ELFYAML.cpp index 107333c708e..2f35cf9b103 100644 --- a/lib/Object/ELFYAML.cpp +++ b/lib/Object/ELFYAML.cpp @@ -176,7 +176,6 @@ ScalarEnumerationTraits::enumeration(IO &IO, ECase(EM_STM8) ECase(EM_TILE64) ECase(EM_TILEPRO) - ECase(EM_MICROBLAZE) ECase(EM_CUDA) ECase(EM_TILEGX) ECase(EM_CLOUDSHIELD) @@ -188,7 +187,6 @@ ScalarEnumerationTraits::enumeration(IO &IO, ECase(EM_VIDEOCORE5) ECase(EM_78KOR) ECase(EM_56800EX) - ECase(EM_MBLAZE) #undef ECase } @@ -244,7 +242,8 @@ void ScalarEnumerationTraits::enumeration( #define ECase(X) IO.enumCase(Value, #X, ELF::X); ECase(SHT_NULL) ECase(SHT_PROGBITS) - ECase(SHT_SYMTAB) + // No SHT_SYMTAB. Use the top-level `Symbols` key instead. + // FIXME: Issue a diagnostic with this information. ECase(SHT_STRTAB) ECase(SHT_RELA) ECase(SHT_HASH) @@ -267,6 +266,7 @@ void ScalarBitSetTraits::bitset(IO &IO, #define BCase(X) IO.bitSetCase(Value, #X, ELF::X); BCase(SHF_WRITE) BCase(SHF_ALLOC) + BCase(SHF_EXCLUDE) BCase(SHF_EXECINSTR) BCase(SHF_MERGE) BCase(SHF_STRINGS) @@ -326,17 +326,12 @@ void MappingTraits::mapping(IO &IO, IO.mapOptional("Content", Section.Content); IO.mapOptional("Link", Section.Link); IO.mapOptional("AddressAlign", Section.AddressAlign, Hex64(0)); - // TODO: Error if `Type` is SHT_SYMTAB and this is not present, or if - // `Type` is *not* SHT_SYMTAB and this *is* present. (By SHT_SYMTAB I - // also mean SHT_DYNSYM, but for simplicity right now we just do - // SHT_SYMTAB). Want to be able to share the predicate with consumers of - // this structure. - IO.mapOptional("Symbols", Section.Symbols); } void MappingTraits::mapping(IO &IO, ELFYAML::Object &Object) { IO.mapRequired("FileHeader", Object.Header); IO.mapOptional("Sections", Object.Sections); + IO.mapOptional("Symbols", Object.Symbols); } } // end namespace yaml