summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/SymbolicFile.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-08-28 07:40:30 +0000
committerRui Ueyama <ruiu@google.com>2015-08-28 07:40:30 +0000
commit71ba9bdd2396f6c5e7f16d43c189bf6f77f81b6b (patch)
treef8bba79834af09928082c52558153512d12f4ae1 /llvm/lib/Object/SymbolicFile.cpp
parent5528da76ef8419ea509cccc87b35e035ef65f9fb (diff)
downloadbcm5719-llvm-71ba9bdd2396f6c5e7f16d43c189bf6f77f81b6b.tar.gz
bcm5719-llvm-71ba9bdd2396f6c5e7f16d43c189bf6f77f81b6b.zip
Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF short import files
This patch includes a fix for a llvm-readobj test. With this patch, the tool does no longer print out COFF headers for the short import file, but that's probably desirable because the header for the short import file is dummy. llvm-svn: 246283
Diffstat (limited to 'llvm/lib/Object/SymbolicFile.cpp')
-rw-r--r--llvm/lib/Object/SymbolicFile.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Object/SymbolicFile.cpp b/llvm/lib/Object/SymbolicFile.cpp
index 854e68e40f4..bf79dfb8da6 100644
--- a/llvm/lib/Object/SymbolicFile.cpp
+++ b/llvm/lib/Object/SymbolicFile.cpp
@@ -11,6 +11,8 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/Object/COFF.h"
+#include "llvm/Object/COFFImportFile.h"
#include "llvm/Object/IRObjectFile.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
@@ -54,9 +56,10 @@ ErrorOr<std::unique_ptr<SymbolicFile>> SymbolicFile::createSymbolicFile(
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);
+ case sys::fs::file_magic::coff_import_library:
+ return std::unique_ptr<SymbolicFile>(new COFFImportFile(Object));
case sys::fs::file_magic::elf_relocatable:
case sys::fs::file_magic::macho_object:
case sys::fs::file_magic::coff_object: {
OpenPOWER on IntegriCloud