[Dexter][NFC] Add Missing Commands to Commands.md Contents
[llvm-project.git] / lld / test / COFF / delayimports-armnt.yaml
blob048752f76bcee2e7df2dd14e38b6e3f719aa242f
1 # REQUIRES: arm
2 # RUN: yaml2obj %s -o %t.obj
3 # RUN: lld-link %t.obj %p/Inputs/library.lib /subsystem:console \
4 # RUN:   /entry:mainCRTStartup /alternatename:__delayLoadHelper2=mainCRTStartup \
5 # RUN:   /delayload:library.dll /out:%t.exe
6 # RUN: llvm-readobj --coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s
7 # RUN: llvm-readobj --coff-basereloc %t.exe | FileCheck -check-prefix=BASEREL %s
8 # RUN: llvm-objdump -d %t.exe | FileCheck --check-prefix=DISASM %s
10 # IMPORT:      Format: COFF-ARM
11 # IMPORT-NEXT: Arch: thumb
12 # IMPORT-NEXT: AddressSize: 32bit
13 # IMPORT-NEXT: DelayImport {
14 # IMPORT-NEXT:   Name: library.dll
15 # IMPORT-NEXT:   Attributes: 0x1
16 # IMPORT-NEXT:   ModuleHandle: 0x3000
17 # IMPORT-NEXT:   ImportAddressTable: 0x3008
18 # IMPORT-NEXT:   ImportNameTable: 0x2040
19 # IMPORT-NEXT:   BoundDelayImportTable: 0x0
20 # IMPORT-NEXT:   UnloadDelayImportTable: 0x0
21 # IMPORT-NEXT:   Import {
22 # IMPORT-NEXT:     Symbol: function (0)
23 # IMPORT-NEXT:     Address: 0x40100D
24 # IMPORT-NEXT:   }
25 # IMPORT-NEXT: }
27 # BASEREL:      BaseReloc [
28 # BASEREL-NEXT:   Entry {
29 # BASEREL-NEXT:     Type: ARM_MOV32(T)
30 # BASEREL-NEXT:     Address: 0x1000
31 # BASEREL-NEXT:   }
32 # BASEREL-NEXT:   Entry {
33 # BASEREL-NEXT:     Type: ARM_MOV32(T)
34 # BASEREL-NEXT:     Address: 0x100C
35 # BASEREL-NEXT:   }
36 # BASEREL-NEXT:   Entry {
37 # BASEREL-NEXT:     Type: ARM_MOV32(T)
38 # BASEREL-NEXT:     Address: 0x1026
39 # BASEREL-NEXT:   }
40 # BASEREL-NEXT:   Entry {
41 # BASEREL-NEXT:     Type: ABSOLUTE
42 # BASEREL-NEXT:     Address: 0x1000
43 # BASEREL-NEXT:   }
44 # BASEREL-NEXT:   Entry {
45 # BASEREL-NEXT:     Type: HIGHLOW
46 # BASEREL-NEXT:     Address: 0x3008
47 # BASEREL-NEXT:   }
48 # BASEREL-NEXT:   Entry {
49 # BASEREL-NEXT:     Type: ABSOLUTE
50 # BASEREL-NEXT:     Address: 0x3000
51 # BASEREL-NEXT:   }
52 # BASEREL-NEXT: ]
54 # DISASM:      40100c:       43 f2 08 0c     movw r12, #12296
55 # DISASM-NEXT:               c0 f2 40 0c     movt    r12, #64
56 # DISASM-NEXT:               00 f0 00 b8     b.w     #0
57 # DISASM-NEXT:               2d e9 0f 48     push.w  {r0, r1, r2, r3, r11, lr}
58 # DISASM-NEXT:               0d f2 10 0b     addw    r11, sp, #16
59 # DISASM-NEXT:               2d ed 10 0b     vpush   {d0, d1, d2, d3, d4, d5, d6, d7}
60 # DISASM-NEXT:               61 46           mov     r1, r12
61 # DISASM-NEXT:               42 f2 00 00     movw r0, #8192
62 # DISASM-NEXT:               c0 f2 40 00     movt    r0, #64
63 # DISASM-NEXT:               ff f7 e7 ff     bl      #-50
64 # DISASM-NEXT:               84 46           mov     r12, r0
65 # DISASM-NEXT:               bd ec 10 0b     vpop    {d0, d1, d2, d3, d4, d5, d6, d7}
66 # DISASM-NEXT:               bd e8 0f 48     pop.w   {r0, r1, r2, r3, r11, lr}
67 # DISASM-NEXT:               60 47           bx      r12
69 --- !COFF
70 header:
71   Machine:         IMAGE_FILE_MACHINE_ARMNT
72   Characteristics: [  ]
73 sections:
74   - Name:            .text
75     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_16BIT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
76     Alignment:       4
77     SectionData:     40F20000C0F2000000680047
78     Relocations:
79       - VirtualAddress:  0
80         SymbolName:      __imp_function
81         Type:            IMAGE_REL_ARM_MOV32T
82 symbols:
83   - Name:            .text
84     Value:           0
85     SectionNumber:   1
86     SimpleType:      IMAGE_SYM_TYPE_NULL
87     ComplexType:     IMAGE_SYM_DTYPE_NULL
88     StorageClass:    IMAGE_SYM_CLASS_STATIC
89     SectionDefinition:
90       Length:          12
91       NumberOfRelocations: 1
92       NumberOfLinenumbers: 0
93       CheckSum:        0
94       Number:          1
95   - Name:            mainCRTStartup
96     Value:           0
97     SectionNumber:   1
98     SimpleType:      IMAGE_SYM_TYPE_NULL
99     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
100     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
101   - Name:            __imp_function
102     Value:           0
103     SectionNumber:   0
104     SimpleType:      IMAGE_SYM_TYPE_NULL
105     ComplexType:     IMAGE_SYM_DTYPE_NULL
106     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL