1# REQUIRES: arm
2
3# RUN: yaml2obj < %s > %t.obj
4# RUN: llvm-objdump -d %t.obj | FileCheck %s --check-prefix BEFORE
5# RUN: lld-link /entry:function /subsystem:console /out:%t.exe %t.obj
6# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefix AFTER
7
8# BEFORE: Disassembly of section .text:
9# BEFORE-EMPTY:
10# BEFORE:        0: 70 47         bx lr
11# BEFORE:        2: 00 bf         nop
12# BEFORE:        4: 2d e9 00 48   push.w {r11, lr}
13# BEFORE:        8: eb 46         mov r11, sp
14# BEFORE:        a: 20 20         movs r0, #32
15# BEFORE:        c: 00 f0 00 f8   bl #0
16# BEFORE:       10: 01 30         adds r0, #1
17# BEFORE:       12: bd e8 00 88   pop.w {r11, pc}
18
19# AFTER: Disassembly of section .text:
20# AFTER-EMPTY:
21# AFTER:     1000: 70 47         bx lr
22# AFTER:     1002: 00 bf         nop
23# AFTER:     1004: 2d e9 00 48   push.w {r11, lr}
24# AFTER:     1008: eb 46         mov r11, sp
25# AFTER:     100a: 20 20         movs r0, #32
26# AFTER:     100c: ff f7 f8 ff   bl #-16
27# AFTER:     1010: 01 30         adds r0, #1
28# AFTER:     1012: bd e8 00 88   pop.w {r11, pc}
29
30--- !COFF
31header:
32  Machine:         IMAGE_FILE_MACHINE_ARMNT
33  Characteristics: [  ]
34sections:
35  - Name:            .text
36    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_16BIT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
37    Alignment:       4
38    SectionData:     704700BF2DE90048EB46202000F000F80130BDE80088
39    Relocations:
40      - VirtualAddress:  12
41        SymbolName:      identity
42        Type:            IMAGE_REL_ARM_BLX23T
43symbols:
44  - Name:            .text
45    Value:           0
46    SectionNumber:   1
47    SimpleType:      IMAGE_SYM_TYPE_NULL
48    ComplexType:     IMAGE_SYM_DTYPE_NULL
49    StorageClass:    IMAGE_SYM_CLASS_STATIC
50    SectionDefinition:
51      Length:          22
52      NumberOfRelocations: 1
53      NumberOfLinenumbers: 0
54      CheckSum:        0
55      Number:          1
56  - Name:            identity
57    Value:           0
58    SectionNumber:   1
59    SimpleType:      IMAGE_SYM_TYPE_NULL
60    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
61    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
62  - Name:            function
63    Value:           4
64    SectionNumber:   1
65    SimpleType:      IMAGE_SYM_TYPE_NULL
66    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
67    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
68...
69