1# REQUIRES: arm
2
3# RUN: yaml2obj < %s > %t.obj
4#
5# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 /export:exportdata,data
6# RUN: llvm-objdump -p %t.dll | FileCheck %s
7
8# CHECK:      Export Table:
9# CHECK:      DLL name: export-armnt.yaml.tmp.dll
10# CHECK:      Ordinal      RVA  Name
11# CHECK-NEXT:       0        0
12# CHECK-NEXT:       1   0x3000  exportdata
13# CHECK-NEXT:       2   0x1005  exportfn1
14# CHECK-NEXT:       3   0x1009  exportfn2
15# CHECK-NEXT:       4   0x1009  exportfn3
16
17--- !COFF
18header:
19  Machine:         IMAGE_FILE_MACHINE_ARMNT
20  Characteristics: []
21sections:
22  - Name:            .text
23    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
24    Alignment:       4
25    SectionData:     704700bf704700bf704700bf
26  - Name:            .data
27    Characteristics: [ IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
28    Alignment:       4
29    SectionData:     00000000
30  - Name:            .drectve
31    Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
32    Alignment:       1
33    SectionData:     2f6578706f72743a6578706f7274666e3300  # /export:exportfn3
34symbols:
35  - Name:            .text
36    Value:           0
37    SectionNumber:   1
38    SimpleType:      IMAGE_SYM_TYPE_NULL
39    ComplexType:     IMAGE_SYM_DTYPE_NULL
40    StorageClass:    IMAGE_SYM_CLASS_STATIC
41    SectionDefinition:
42      Length:          12
43      NumberOfRelocations: 0
44      NumberOfLinenumbers: 0
45      CheckSum:        0
46      Number:          0
47  - Name:            .data
48    Value:           0
49    SectionNumber:   2
50    SimpleType:      IMAGE_SYM_TYPE_NULL
51    ComplexType:     IMAGE_SYM_DTYPE_NULL
52    StorageClass:    IMAGE_SYM_CLASS_STATIC
53    SectionDefinition:
54      Length:          4
55      NumberOfRelocations: 0
56      NumberOfLinenumbers: 0
57      CheckSum:        0
58      Number:          0
59  - Name:            _DllMainCRTStartup
60    Value:           0
61    SectionNumber:   1
62    SimpleType:      IMAGE_SYM_TYPE_NULL
63    ComplexType:     IMAGE_SYM_DTYPE_NULL
64    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
65  - Name:            exportfn1
66    Value:           4
67    SectionNumber:   1
68    SimpleType:      IMAGE_SYM_TYPE_NULL
69    ComplexType:     IMAGE_SYM_DTYPE_NULL
70    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
71  - Name:            exportfn2
72    Value:           8
73    SectionNumber:   1
74    SimpleType:      IMAGE_SYM_TYPE_NULL
75    ComplexType:     IMAGE_SYM_DTYPE_NULL
76    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
77  - Name:            exportfn3
78    Value:           8
79    SectionNumber:   1
80    SimpleType:      IMAGE_SYM_TYPE_NULL
81    ComplexType:     IMAGE_SYM_DTYPE_NULL
82    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
83  - Name:            exportdata
84    Value:           0
85    SectionNumber:   2
86    SimpleType:      IMAGE_SYM_TYPE_NULL
87    ComplexType:     IMAGE_SYM_DTYPE_NULL
88    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
89  - Name:            '?mangled@@YAHXZ'
90    Value:           8
91    SectionNumber:   1
92    SimpleType:      IMAGE_SYM_TYPE_NULL
93    ComplexType:     IMAGE_SYM_DTYPE_NULL
94    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
95...
96