mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Convert another use of sys::identifyFileType.
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183758 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d1b6ca23b4
commit
3ecfcc20c1
@ -17,8 +17,8 @@
|
||||
#include "RuntimeDyldELF.h"
|
||||
#include "RuntimeDyldImpl.h"
|
||||
#include "RuntimeDyldMachO.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/MathExtras.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
#include "llvm/Object/ELF.h"
|
||||
|
||||
using namespace llvm;
|
||||
@ -501,31 +501,33 @@ RuntimeDyld::~RuntimeDyld() {
|
||||
|
||||
ObjectImage *RuntimeDyld::loadObject(ObjectBuffer *InputBuffer) {
|
||||
if (!Dyld) {
|
||||
sys::LLVMFileType type = sys::identifyFileType(InputBuffer->getBuffer());
|
||||
switch (type) {
|
||||
case sys::ELF_Relocatable_FileType:
|
||||
case sys::ELF_Executable_FileType:
|
||||
case sys::ELF_SharedObject_FileType:
|
||||
case sys::ELF_Core_FileType:
|
||||
Dyld = new RuntimeDyldELF(MM);
|
||||
break;
|
||||
case sys::Mach_O_Object_FileType:
|
||||
case sys::Mach_O_Executable_FileType:
|
||||
case sys::Mach_O_FixedVirtualMemorySharedLib_FileType:
|
||||
case sys::Mach_O_Core_FileType:
|
||||
case sys::Mach_O_PreloadExecutable_FileType:
|
||||
case sys::Mach_O_DynamicallyLinkedSharedLib_FileType:
|
||||
case sys::Mach_O_DynamicLinker_FileType:
|
||||
case sys::Mach_O_Bundle_FileType:
|
||||
case sys::Mach_O_DynamicallyLinkedSharedLibStub_FileType:
|
||||
case sys::Mach_O_DSYMCompanion_FileType:
|
||||
Dyld = new RuntimeDyldMachO(MM);
|
||||
break;
|
||||
case sys::Unknown_FileType:
|
||||
case sys::Bitcode_FileType:
|
||||
case sys::Archive_FileType:
|
||||
case sys::COFF_FileType:
|
||||
report_fatal_error("Incompatible object format!");
|
||||
sys::fs::file_magic Type =
|
||||
sys::fs::identify_magic(InputBuffer->getBuffer());
|
||||
switch (Type) {
|
||||
case sys::fs::file_magic::elf_relocatable:
|
||||
case sys::fs::file_magic::elf_executable:
|
||||
case sys::fs::file_magic::elf_shared_object:
|
||||
case sys::fs::file_magic::elf_core:
|
||||
Dyld = new RuntimeDyldELF(MM);
|
||||
break;
|
||||
case sys::fs::file_magic::macho_object:
|
||||
case sys::fs::file_magic::macho_executable:
|
||||
case sys::fs::file_magic::macho_fixed_virtual_memory_shared_lib:
|
||||
case sys::fs::file_magic::macho_core:
|
||||
case sys::fs::file_magic::macho_preload_executable:
|
||||
case sys::fs::file_magic::macho_dynamically_linked_shared_lib:
|
||||
case sys::fs::file_magic::macho_dynamic_linker:
|
||||
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:
|
||||
Dyld = new RuntimeDyldMachO(MM);
|
||||
break;
|
||||
case sys::fs::file_magic::unknown:
|
||||
case sys::fs::file_magic::bitcode:
|
||||
case sys::fs::file_magic::archive:
|
||||
case sys::fs::file_magic::coff_object:
|
||||
case sys::fs::file_magic::pecoff_executable:
|
||||
report_fatal_error("Incompatible object format!");
|
||||
}
|
||||
} else {
|
||||
if (!Dyld->isCompatibleFormat(InputBuffer))
|
||||
|
Loading…
x
Reference in New Issue
Block a user