[ELF][yaml2obj] Handle additional MIPS specific st_other field flags
[oota-llvm.git] / include / llvm / Object / ELFYAML.h
index fc8cc95816553b223d80adcfec1c92c9131ed7a7..687611ddb580ff8ce5fe9b9d7401c4bcb492eaea 100644 (file)
@@ -45,6 +45,7 @@ LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_REL)
 LLVM_YAML_STRONG_TYPEDEF(uint64_t, ELF_SHF)
 LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STT)
 LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STV)
+LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STO)
 
 // For now, hardcode 64 bits everywhere that 32 or 64 would be needed
 // since 64-bit can hold 32-bit values too.
@@ -63,7 +64,7 @@ struct Symbol {
   StringRef Section;
   llvm::yaml::Hex64 Value;
   llvm::yaml::Hex64 Size;
-  ELF_STV Visibility;
+  uint8_t Other;
 };
 struct LocalGlobalWeakSymbols {
   std::vector<Symbol> Local;
@@ -174,6 +175,11 @@ struct ScalarEnumerationTraits<ELFYAML::ELF_STV> {
   static void enumeration(IO &IO, ELFYAML::ELF_STV &Value);
 };
 
+template <>
+struct ScalarBitSetTraits<ELFYAML::ELF_STO> {
+  static void bitset(IO &IO, ELFYAML::ELF_STO &Value);
+};
+
 template <>
 struct ScalarEnumerationTraits<ELFYAML::ELF_REL> {
   static void enumeration(IO &IO, ELFYAML::ELF_REL &Value);