llvm-readobj: print out the fields of the COFF delay-import table
[oota-llvm.git] / test / tools / llvm-readobj / imports.test
1 RUN: llvm-readobj --coff-imports %p/Inputs/imports.exe.coff-i386 | FileCheck -check-prefix=X86 %s
2 RUN: llvm-readobj --coff-imports %p/Inputs/imports.exe.coff-x86-64 | FileCheck -check-prefix=X64  %s
3
4 X86:      Import {
5 X86-NEXT:   Name: KERNEL32.dll
6 X86-NEXT:   ImportLookupTableRVA: 0x2108
7 X86-NEXT:   ImportAddressTableRVA: 0x2000
8 X86-NEXT:   Symbol: ExitProcess (337)
9 X86-NEXT:   Symbol: GetProcAddress (669)
10 X86-NEXT:   Symbol: FreeLibrary (414)
11 X86-NEXT:   Symbol: GetLastError (592)
12 X86-NEXT:   Symbol: RaiseException (1087)
13 X86-NEXT:   Symbol: LoadLibraryExA (934)
14 X86-NEXT: }
15 X86-NEXT: Import {
16 X86-NEXT:   Name: USER32.dll
17 X86-NEXT:   ImportLookupTableRVA: 0x2124
18 X86-NEXT:   ImportAddressTableRVA: 0x201C
19 X86-NEXT:   Symbol: MessageBoxA (582)
20 X86-NEXT: }
21 X86-NEXT: Import {
22 X86-NEXT:   Name: mydll.dll
23 X86-NEXT:   ImportLookupTableRVA: 0x212C
24 X86-NEXT:   ImportAddressTableRVA: 0x2024
25 X86-NEXT:   Symbol: Func1 (0)
26 X86-NEXT:   Symbol: Func2 (1)
27 X86-NEXT:   Symbol:  (3)
28 X86-NEXT: }
29 X86-NEXT: DelayImport {
30 X86-NEXT:   Name: lazyload.dll
31 X86-NEXT:   Attributes: 0x1
32 X86-NEXT:   ModuleHandle: 0x301C
33 X86-NEXT:   ImportAddressTable: 0x3010
34 X86-NEXT:   ImportNameTable: 0x2090
35 X86-NEXT:   BoundDelayImportTable: 0x20AC
36 X86-NEXT:   UnloadDelayImportTable: 0x0
37 X86-NEXT:   Symbol: Func5 (0)
38 X86-NEXT:   Symbol: Func4 (0)
39 X86-NEXT: }
40
41 X64:      Import {
42 X64-NEXT:   Name: KERNEL32.dll
43 X64-NEXT:   ImportLookupTableRVA: 0x2170
44 X64-NEXT:   ImportAddressTableRVA: 0x2000
45 X64-NEXT:   Symbol: ExitProcess (343)
46 X64-NEXT:   Symbol: GetProcAddress (676)
47 X64-NEXT:   Symbol: FreeLibrary (420)
48 X64-NEXT:   Symbol: GetLastError (598)
49 X64-NEXT:   Symbol: RaiseException (1091)
50 X64-NEXT:   Symbol: LoadLibraryExA (937)
51 X64-NEXT: }
52 X64-NEXT: Import {
53 X64-NEXT:   Name: USER32.dll
54 X64-NEXT:   ImportLookupTableRVA: 0x21A8
55 X64-NEXT:   ImportAddressTableRVA: 0x2038
56 X64-NEXT:   Symbol: MessageBoxA (586)
57 X64-NEXT: }
58 X64-NEXT: Import {
59 X64-NEXT:   Name: mydll.dll
60 X64-NEXT:   ImportLookupTableRVA: 0x21B8
61 X64-NEXT:   ImportAddressTableRVA: 0x2048
62 X64-NEXT:   Symbol: Func1 (0)
63 X64-NEXT:   Symbol: Func2 (1)
64 X64-NEXT:   Symbol:  (3)
65 X64-NEXT: }
66 X64-NEXT: DelayImport {
67 X64-NEXT:   Name: lazyload.dll
68 X64-NEXT:   Attributes: 0x1
69 X64-NEXT:   ModuleHandle: 0x3028
70 X64-NEXT:   ImportAddressTable: 0x3010
71 X64-NEXT:   ImportNameTable: 0x20E0
72 X64-NEXT:   BoundDelayImportTable: 0x2108
73 X64-NEXT:   UnloadDelayImportTable: 0x0
74 X64-NEXT:   Symbol: Func5 (0)
75 X64-NEXT:   Symbol: Func4 (0)
76 X64-NEXT: }