1# REQUIRES: asserts
2# RUN: yaml2obj %s -o %t
3# RUN: llvm-jitlink -noexec --debug-only=jitlink -noexec %t 2>&1
4#
5# Check jitlink handles largest selection type as plain weak symbol.
6#
7# CHECK: Creating graph symbols...
8# CHECK:      2: Creating defined graph symbol for COFF symbol ".text" in .text (index: 2)
9# CHECK-NEXT:   0x0 (block + 0x00000000): size: 0x00000001, linkage: strong, scope: local, dead  -   <anonymous symbol>
10# CHECK-NEXT: 4: Exporting COMDAT graph symbol for COFF symbol "func" in section 2
11# CHECK-NEXT:   0x0 (block + 0x00000000): size: 0x00000001, linkage: weak, scope: default, dead  -   func
12
13--- !COFF
14header:
15  Machine:         IMAGE_FILE_MACHINE_AMD64
16  Characteristics: [  ]
17sections:
18  - Name:            .text
19    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
20    Alignment:       16
21    SectionData:     C3
22  - Name:            .text
23    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
24    Alignment:       16
25    SectionData:     C3
26symbols:
27  - Name:            .text
28    Value:           0
29    SectionNumber:   1
30    SimpleType:      IMAGE_SYM_TYPE_NULL
31    ComplexType:     IMAGE_SYM_DTYPE_NULL
32    StorageClass:    IMAGE_SYM_CLASS_STATIC
33    SectionDefinition:
34      Length:          1
35      NumberOfRelocations: 0
36      NumberOfLinenumbers: 0
37      CheckSum:        40735498
38      Number:          1
39  - Name:            .text
40    Value:           0
41    SectionNumber:   2
42    SimpleType:      IMAGE_SYM_TYPE_NULL
43    ComplexType:     IMAGE_SYM_DTYPE_NULL
44    StorageClass:    IMAGE_SYM_CLASS_STATIC
45    SectionDefinition:
46      Length:          1
47      NumberOfRelocations: 0
48      NumberOfLinenumbers: 0
49      CheckSum:        40735498
50      Number:          2
51      Selection:       IMAGE_COMDAT_SELECT_LARGEST
52  - Name:            func
53    Value:           0
54    SectionNumber:   2
55    SimpleType:      IMAGE_SYM_TYPE_NULL
56    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
57    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
58  - Name:            main
59    Value:           0
60    SectionNumber:   1
61    SimpleType:      IMAGE_SYM_TYPE_NULL
62    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
63    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
64...
65