1# RUN: yaml2obj < %s > %t.obj
2#
3# RUN: lld-link /out:%t.exe /entry:func1 /subsystem:console %t.obj
4# RUN: llvm-objdump -s --section=.pdata %t.exe | FileCheck --check-prefix=PDATA %s
5
6# PDATA: 00100000 2500a100 24100000 31002201
7
8--- !COFF
9header:
10  Machine:         IMAGE_FILE_MACHINE_ARM64
11  Characteristics: [  ]
12sections:
13  - Name:            .text
14    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
15    Alignment:       4
16    SectionData:     ff4300d1f37b00a9f303012a00000094e003132a00000094f37b40a9ff430091c0035fd6f353bea9fe0b00f9f303012af403022a00000094e003132a00000094e003142a00000094fe0b40f9f353c2a8c0035fd6c0035fd6
17    Relocations:
18      - VirtualAddress:  12
19        SymbolName:      func3
20        Type:            IMAGE_REL_ARM64_BRANCH26
21      - VirtualAddress:  20
22        SymbolName:      func3
23        Type:            IMAGE_REL_ARM64_BRANCH26
24      - VirtualAddress:  52
25        SymbolName:      func3
26        Type:            IMAGE_REL_ARM64_BRANCH26
27      - VirtualAddress:  60
28        SymbolName:      func3
29        Type:            IMAGE_REL_ARM64_BRANCH26
30      - VirtualAddress:  68
31        SymbolName:      func3
32        Type:            IMAGE_REL_ARM64_BRANCH26
33  - Name:            .pdata
34    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
35    Alignment:       4
36    SectionData:     0000000031002201000000002500a100
37    Relocations:
38      - VirtualAddress:  0
39        SymbolName:      func2
40        Type:            IMAGE_REL_ARM64_ADDR32NB
41      - VirtualAddress:  8
42        SymbolName:      func1
43        Type:            IMAGE_REL_ARM64_ADDR32NB
44symbols:
45  - Name:            .text
46    Value:           0
47    SectionNumber:   1
48    SimpleType:      IMAGE_SYM_TYPE_NULL
49    ComplexType:     IMAGE_SYM_DTYPE_NULL
50    StorageClass:    IMAGE_SYM_CLASS_STATIC
51    SectionDefinition:
52      Length:          57
53      NumberOfRelocations: 0
54      NumberOfLinenumbers: 0
55      CheckSum:        0
56      Number:          1
57  - Name:            .pdata
58    Value:           0
59    SectionNumber:   2
60    SimpleType:      IMAGE_SYM_TYPE_NULL
61    ComplexType:     IMAGE_SYM_DTYPE_NULL
62    StorageClass:    IMAGE_SYM_CLASS_STATIC
63    SectionDefinition:
64      Length:          16
65      NumberOfRelocations: 2
66      NumberOfLinenumbers: 0
67      CheckSum:        0
68      Number:          2
69  - Name:            func1
70    Value:           0
71    SectionNumber:   1
72    SimpleType:      IMAGE_SYM_TYPE_NULL
73    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
74    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
75  - Name:            func2
76    Value:           36
77    SectionNumber:   1
78    SimpleType:      IMAGE_SYM_TYPE_NULL
79    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
80    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
81  - Name:            func3
82    Value:           84
83    SectionNumber:   1
84    SimpleType:      IMAGE_SYM_TYPE_NULL
85    ComplexType:     IMAGE_SYM_DTYPE_NULL
86    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
87...
88