mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-07 22:38:41 +00:00
LLVM BC magic sniffer
This commit is contained in:
committed by
Ryan Fleury
parent
afd454b41f
commit
65541eaf91
@@ -22,3 +22,24 @@ llvm_hash_size_from_alg(LLVM_GHashAlg v)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
internal B32
|
||||
llvm_is_bitcode(String8 data)
|
||||
{
|
||||
if (data.size < 4) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// raw LLVM bitcode magic
|
||||
if (data.str[0] == 'B' && data.str[1] == 'C' && data.str[2] == 0xc0 && data.str[3] == 0xde) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// LLVM bitcode wrapper magic
|
||||
if (data.str[0] == 0xde && data.str[1] == 0xc0 && data.str[2] == 0x17 && data.str[3] == 0x0b) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -25,6 +25,6 @@ typedef struct LLVM_GHash
|
||||
|
||||
internal String8 llvm_string_from_ghash_alg(LLVM_GHashAlg v);
|
||||
internal U64 llvm_hash_size_from_alg(LLVM_GHashAlg v);
|
||||
internal B32 llvm_is_bitcode(String8 data);
|
||||
|
||||
#endif // LLVM_H
|
||||
|
||||
|
||||
Reference in New Issue
Block a user