forked from OSchip/llvm-project
Object: Handle Mach-O kext bundle files
This particular subtype of Mach-O was missing. Add it. llvm-svn: 230567
This commit is contained in:
parent
2e427d4dbd
commit
a7ad4b3f3b
|
@ -241,6 +241,7 @@ struct file_magic {
|
|||
macho_bundle, ///< Mach-O Bundle file
|
||||
macho_dynamically_linked_shared_lib_stub, ///< Mach-O Shared lib stub
|
||||
macho_dsym_companion, ///< Mach-O dSYM companion file
|
||||
macho_kext_bundle, ///< Mach-O kext bundle file
|
||||
macho_universal_binary, ///< Mach-O universal binary
|
||||
coff_object, ///< COFF object file
|
||||
coff_import_library, ///< COFF import library
|
||||
|
|
|
@ -58,6 +58,7 @@ ErrorOr<std::unique_ptr<Binary>> object::createBinary(MemoryBufferRef Buffer,
|
|||
case sys::fs::file_magic::macho_bundle:
|
||||
case sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub:
|
||||
case sys::fs::file_magic::macho_dsym_companion:
|
||||
case sys::fs::file_magic::macho_kext_bundle:
|
||||
case sys::fs::file_magic::coff_object:
|
||||
case sys::fs::file_magic::coff_import_library:
|
||||
case sys::fs::file_magic::pecoff_executable:
|
||||
|
|
|
@ -76,6 +76,7 @@ ObjectFile::createObjectFile(MemoryBufferRef Object, sys::fs::file_magic Type) {
|
|||
case sys::fs::file_magic::macho_bundle:
|
||||
case sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub:
|
||||
case sys::fs::file_magic::macho_dsym_companion:
|
||||
case sys::fs::file_magic::macho_kext_bundle:
|
||||
return createMachOObjectFile(Object);
|
||||
case sys::fs::file_magic::coff_object:
|
||||
case sys::fs::file_magic::coff_import_library:
|
||||
|
|
|
@ -53,6 +53,7 @@ ErrorOr<std::unique_ptr<SymbolicFile>> SymbolicFile::createSymbolicFile(
|
|||
case sys::fs::file_magic::macho_bundle:
|
||||
case sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub:
|
||||
case sys::fs::file_magic::macho_dsym_companion:
|
||||
case sys::fs::file_magic::macho_kext_bundle:
|
||||
case sys::fs::file_magic::coff_import_library:
|
||||
case sys::fs::file_magic::pecoff_executable:
|
||||
return ObjectFile::createObjectFile(Object, Type);
|
||||
|
|
|
@ -1012,6 +1012,7 @@ file_magic identify_magic(StringRef Magic) {
|
|||
case 8: return file_magic::macho_bundle;
|
||||
case 9: return file_magic::macho_dynamically_linked_shared_lib_stub;
|
||||
case 10: return file_magic::macho_dsym_companion;
|
||||
case 11: return file_magic::macho_kext_bundle;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -557,6 +557,7 @@ const char macho_dynamically_linked_shared_lib[] =
|
|||
const char macho_dynamic_linker[] = "\xfe\xed\xfa\xce..........\x00\x07";
|
||||
const char macho_bundle[] = "\xfe\xed\xfa\xce..........\x00\x08";
|
||||
const char macho_dsym_companion[] = "\xfe\xed\xfa\xce..........\x00\x0a";
|
||||
const char macho_kext_bundle[] = "\xfe\xed\xfa\xce..........\x00\x0b";
|
||||
const char windows_resource[] = "\x00\x00\x00\x00\x020\x00\x00\x00\xff";
|
||||
const char macho_dynamically_linked_shared_lib_stub[] =
|
||||
"\xfe\xed\xfa\xce..........\x00\x09";
|
||||
|
@ -587,6 +588,7 @@ TEST_F(FileSystemTest, Magic) {
|
|||
DEFINE(macho_bundle),
|
||||
DEFINE(macho_dynamically_linked_shared_lib_stub),
|
||||
DEFINE(macho_dsym_companion),
|
||||
DEFINE(macho_kext_bundle),
|
||||
DEFINE(windows_resource)
|
||||
#undef DEFINE
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue