@@ -183,6 +183,25 @@ void ScalarEnumerationTraits<COFF::RelocationTypeAMD64>::enumeration(
183183 ECase (IMAGE_REL_AMD64_SSPAN32);
184184}
185185
186+ void ScalarEnumerationTraits<COFF::RelocationTypesMips>::enumeration(
187+ IO &IO, COFF::RelocationTypesMips &Value) {
188+ ECase (IMAGE_REL_MIPS_ABSOLUTE);
189+ ECase (IMAGE_REL_MIPS_REFHALF);
190+ ECase (IMAGE_REL_MIPS_REFWORD);
191+ ECase (IMAGE_REL_MIPS_JMPADDR);
192+ ECase (IMAGE_REL_MIPS_REFHI);
193+ ECase (IMAGE_REL_MIPS_REFLO);
194+ ECase (IMAGE_REL_MIPS_GPREL);
195+ ECase (IMAGE_REL_MIPS_LITERAL);
196+ ECase (IMAGE_REL_MIPS_SECTION);
197+ ECase (IMAGE_REL_MIPS_SECREL);
198+ ECase (IMAGE_REL_MIPS_SECRELLO);
199+ ECase (IMAGE_REL_MIPS_SECRELHI);
200+ ECase (IMAGE_REL_MIPS_JMPADDR16);
201+ ECase (IMAGE_REL_MIPS_REFWORDNB);
202+ ECase (IMAGE_REL_MIPS_PAIR);
203+ }
204+
186205void ScalarEnumerationTraits<COFF::RelocationTypesARM>::enumeration(
187206 IO &IO, COFF::RelocationTypesARM &Value) {
188207 ECase (IMAGE_REL_ARM_ABSOLUTE);
@@ -427,6 +446,10 @@ void MappingTraits<COFFYAML::Relocation>::mapping(IO &IO,
427446 MappingNormalization<NType<COFF::RelocationTypeAMD64>, uint16_t > NT (
428447 IO, Rel.Type );
429448 IO.mapRequired (" Type" , NT->Type );
449+ } else if (H.Machine == COFF::IMAGE_FILE_MACHINE_R4000) {
450+ MappingNormalization<NType<COFF::RelocationTypesMips>, uint16_t > NT (
451+ IO, Rel.Type );
452+ IO.mapRequired (" Type" , NT->Type );
430453 } else if (H.Machine == COFF::IMAGE_FILE_MACHINE_ARMNT) {
431454 MappingNormalization<NType<COFF::RelocationTypesARM>, uint16_t > NT (
432455 IO, Rel.Type );
0 commit comments