summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rwxr-xr-xllvm/test/tools/llvm-readobj/Inputs/library.libbin0 -> 2166 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/coff-exports-implib.test22
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp2
3 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/Inputs/library.lib b/llvm/test/tools/llvm-readobj/Inputs/library.lib
new file mode 100755
index 00000000000..193380dd485
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/library.lib
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/coff-exports-implib.test b/llvm/test/tools/llvm-readobj/coff-exports-implib.test
new file mode 100644
index 00000000000..9715109b3d5
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/coff-exports-implib.test
@@ -0,0 +1,22 @@
+RUN: llvm-readobj -coff-exports %p/Inputs/library.lib | FileCheck %s
+
+CHECK: File: library.dll
+CHECK: Format: COFF-import-file
+CHECK: Type: const
+CHECK: Symbol: __imp__constant
+
+CHECK: File: library.dll
+CHECK: Format: COFF-import-file
+CHECK: Type: data
+CHECK: Symbol: __imp__data
+
+CHECK: File: library.dll
+CHECK: Format: COFF-import-file
+CHECK: Type: code
+CHECK: Symbol: __imp__function
+
+CHECK: File: library.dll
+CHECK: Format: COFF-import-file
+CHECK: Type: code
+CHECK: Symbol: __imp__ordinal
+
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 14178b97609..d811ea995ba 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -460,6 +460,8 @@ static void dumpArchive(const Archive *Arc) {
}
if (ObjectFile *Obj = dyn_cast<ObjectFile>(&*ChildOrErr.get()))
dumpObject(Obj);
+ else if (COFFImportFile *Imp = dyn_cast<COFFImportFile>(&*ChildOrErr.get()))
+ dumpCOFFImportFile(Imp);
else
reportError(Arc->getFileName(), readobj_error::unrecognized_file_format);
}
OpenPOWER on IntegriCloud