diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp b/contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp index 044e4840cb3b..d45195fb95c5 100644 --- a/contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp +++ b/contrib/llvm-project/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; |