diff --git a/lib/filetype.h b/lib/filetype.h index eee151b508..cfd742468a 100644 --- a/lib/filetype.h +++ b/lib/filetype.h @@ -10,14 +10,8 @@ enum class FileType { EMPTY, ELF_OBJ, ELF_DSO, - MACH_OBJ, - MACH_EXE, - MACH_DYLIB, - MACH_BUNDLE, - MACH_UNIVERSAL, AR, THIN_AR, - TAPI, TEXT, GCC_LTO_OBJ, LLVM_BITCODE, @@ -133,28 +127,10 @@ FileType get_file_type(Context &ctx, MappedFile *mf) { return FileType::UNKNOWN; } - if (data.starts_with("\xcf\xfa\xed\xfe")) { - switch (*(ul32 *)(data.data() + 12)) { - case 1: // MH_OBJECT - return FileType::MACH_OBJ; - case 2: // MH_EXECUTE - return FileType::MACH_EXE; - case 6: // MH_DYLIB - return FileType::MACH_DYLIB; - case 8: // MH_BUNDLE - return FileType::MACH_BUNDLE; - } - return FileType::UNKNOWN; - } - if (data.starts_with("!\n")) return FileType::AR; if (data.starts_with("!\n")) return FileType::THIN_AR; - if (data.starts_with("--- !tapi-tbd")) - return FileType::TAPI; - if (data.starts_with("\xca\xfe\xba\xbe")) - return FileType::MACH_UNIVERSAL; if (is_text_file(mf)) return FileType::TEXT; if (data.starts_with("\xde\xc0\x17\x0b")) @@ -170,14 +146,8 @@ inline std::string filetype_to_string(FileType type) { case FileType::EMPTY: return "EMPTY"; case FileType::ELF_OBJ: return "ELF_OBJ"; case FileType::ELF_DSO: return "ELF_DSO"; - case FileType::MACH_EXE: return "MACH_EXE"; - case FileType::MACH_OBJ: return "MACH_OBJ"; - case FileType::MACH_DYLIB: return "MACH_DYLIB"; - case FileType::MACH_BUNDLE: return "MACH_BUNDLE"; - case FileType::MACH_UNIVERSAL: return "MACH_UNIVERSAL"; case FileType::AR: return "AR"; case FileType::THIN_AR: return "THIN_AR"; - case FileType::TAPI: return "TAPI"; case FileType::TEXT: return "TEXT"; case FileType::GCC_LTO_OBJ: return "GCC_LTO_OBJ"; case FileType::LLVM_BITCODE: return "LLVM_BITCODE";