1# RUN: yaml2obj < %s > %t.obj
2# RUN: lld-link /out:%t.exe /entry:main %t.obj
3# RUN: llvm-objdump -s %t.exe | FileCheck %s
4
5# CHECK: .text:
6# CHECK: 401000 01204000 00000000 00000000 00000000
7# CHECK: 401010 01200000 00000000 00000000 00000000
8# CHECK: 401020 42f20009 c0f24009 00000000 00000000
9# CHECK: 401030 0000e62f 00000000 00000000 00000000
10# CHECK: 401040 0000de07 00000000 00000000 00000000
11# CHECK: 401050 0000d62f 00000000 00000000 00000000
12# CHECK: 401060 00f1cef7 00000000 00000000 00000000
13# CHECK: 401070 00005000 00000000 00000000 00000000
14
15--- !COFF
16header:
17  Machine:         IMAGE_FILE_MACHINE_ARMNT
18  Characteristics: []
19sections:
20  - Name:            .aaa
21    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_16BIT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
22    Alignment:       4096
23    SectionData:     0000000000000000
24  - Name:            .text
25    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_16BIT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
26    Alignment:       4096
27    SectionData:     00000000000000000000000000000000000000000000000000000000000000004ff6ff79cff6ff79000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f000f800000000000000000000000000000000000000000000000000000000
28    Relocations:
29      - VirtualAddress:  0
30        SymbolName:      foo
31        Type:            IMAGE_REL_ARM_ADDR32
32      - VirtualAddress:  16
33        SymbolName:      foo
34        Type:            IMAGE_REL_ARM_ADDR32NB
35      - VirtualAddress:  32
36        SymbolName:      foo
37        Type:            IMAGE_REL_ARM_MOV32T
38      - VirtualAddress:  48
39        SymbolName:      foo
40        Type:            IMAGE_REL_ARM_BRANCH24T
41      - VirtualAddress:  64
42        SymbolName:      foo
43        Type:            IMAGE_REL_ARM_BRANCH20T
44      - VirtualAddress:  80
45        SymbolName:      foo
46        Type:            IMAGE_REL_ARM_BLX23T
47      - VirtualAddress:  96
48        SymbolName:      bar
49        Type:            IMAGE_REL_ARM_BRANCH24T
50      - VirtualAddress:  112
51        SymbolName:      bar
52        Type:            IMAGE_REL_ARM_SECREL
53symbols:
54  - Name:            .aaa
55    Value:           0
56    SectionNumber:   1
57    SimpleType:      IMAGE_SYM_TYPE_NULL
58    ComplexType:     IMAGE_SYM_DTYPE_NULL
59    StorageClass:    IMAGE_SYM_CLASS_STATIC
60  - Name:            .text
61    Value:           0
62    SectionNumber:   2
63    SimpleType:      IMAGE_SYM_TYPE_NULL
64    ComplexType:     IMAGE_SYM_DTYPE_NULL
65    StorageClass:    IMAGE_SYM_CLASS_STATIC
66  - Name:            main
67    Value:           0
68    SectionNumber:   1
69    SimpleType:      IMAGE_SYM_TYPE_NULL
70    ComplexType:     IMAGE_SYM_DTYPE_NULL
71    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
72  - Name:            foo
73    Value:           0
74    SectionNumber:   1
75    SimpleType:      IMAGE_SYM_TYPE_NULL
76    ComplexType:     IMAGE_SYM_DTYPE_NULL
77    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
78  - Name:            bar
79    Value:           0x500000
80    SectionNumber:   1
81    SimpleType:      IMAGE_SYM_TYPE_NULL
82    ComplexType:     IMAGE_SYM_DTYPE_NULL
83    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
84...
85