From 145449b1e420787bb99721a429341fa6be3adfb6 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 3 Jul 2022 16:10:23 +0200 Subject: Vendor import of llvm-project main llvmorg-15-init-15358-g53dc0f107877. --- llvm/lib/BinaryFormat/Magic.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'llvm/lib/BinaryFormat/Magic.cpp') diff --git a/llvm/lib/BinaryFormat/Magic.cpp b/llvm/lib/BinaryFormat/Magic.cpp index 044e4840cb3b..d45195fb95c5 100644 --- a/llvm/lib/BinaryFormat/Magic.cpp +++ b/llvm/lib/BinaryFormat/Magic.cpp @@ -74,6 +74,11 @@ file_magic llvm::identify_magic(StringRef Magic) { return file_magic::goff_object; break; + case 0x10: + if (startswith(Magic, "\x10\xFF\x10\xAD")) + return file_magic::offload_binary; + break; + case 0xDE: // 0x0B17C0DE = BC wraper if (startswith(Magic, "\xDE\xC0\x17\x0B")) return file_magic::bitcode; @@ -185,6 +190,10 @@ file_magic llvm::identify_magic(StringRef Magic) { case 0x84: // Alpha 64-bit case 0x66: // MPS R4000 Windows case 0x50: // mc68K + if (startswith(Magic, "\x50\xed\x55\xba")) + return file_magic::cuda_fatbinary; + LLVM_FALLTHROUGH; + case 0x4c: // 80386 Windows case 0xc4: // ARMNT Windows if (Magic[1] == 0x01) @@ -221,6 +230,11 @@ file_magic llvm::identify_magic(StringRef Magic) { if (startswith(Magic, "--- !tapi") || startswith(Magic, "---\narchs:")) return file_magic::tapi_file; break; + + case 'D': // DirectX container file - DXBC + if (startswith(Magic, "DXBC")) + return file_magic::dxcontainer_object; + break; default: break; -- cgit v1.2.3