summaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/RuntimeDyld
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-11 18:01:14 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-11 18:01:14 +0000
commit3ecfcc20c15f9d430b2938416b63d7bbd4d45dec (patch)
treebd7a4cddcbaa81637850782fef88005ed6bcc18c /lib/ExecutionEngine/RuntimeDyld
parentd1b6ca23b42ad8180780c0e714e9a900e04785b1 (diff)
downloadllvm-3ecfcc20c15f9d430b2938416b63d7bbd4d45dec.tar.gz
llvm-3ecfcc20c15f9d430b2938416b63d7bbd4d45dec.tar.bz2
llvm-3ecfcc20c15f9d430b2938416b63d7bbd4d45dec.tar.xz
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
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld')
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
index 3995ba5b0d..f0bd4e34a8 100644
--- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
+++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
@@ -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))