Index: llvm/include/llvm/Object/XCOFFObjectFile.h =================================================================== --- llvm/include/llvm/Object/XCOFFObjectFile.h +++ llvm/include/llvm/Object/XCOFFObjectFile.h @@ -372,6 +372,8 @@ Expected> relocations(const XCOFFSectionHeader32 &) const; + + static bool classof(const Binary *B) { return B->isXCOFF(); } }; // XCOFFObjectFile class XCOFFSymbolRef { Index: llvm/tools/llvm-objdump/llvm-objdump.cpp =================================================================== --- llvm/tools/llvm-objdump/llvm-objdump.cpp +++ llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -537,12 +537,12 @@ return getELFRelocationValueString(ELF, Rel, Result); if (auto *COFF = dyn_cast(Obj)) return getCOFFRelocationValueString(COFF, Rel, Result); + if (auto *XCOFF = dyn_cast(Obj)) + return getXCOFFRelocationValueString(XCOFF, Rel, Result); if (auto *Wasm = dyn_cast(Obj)) return getWasmRelocationValueString(Wasm, Rel, Result); if (auto *MachO = dyn_cast(Obj)) return getMachORelocationValueString(MachO, Rel, Result); - if (auto *XCOFF = dyn_cast(Obj)) - return getXCOFFRelocationValueString(XCOFF, Rel, Result); llvm_unreachable("unknown object file format"); }