1# RUN: yaml2obj %s -o %t
2# RUN: obj2yaml %t | FileCheck %s
3
4## Test checks that we are able to handle symbols with special/reserved indices.
5
6# CHECK:      Symbols:
7# CHECK-NEXT:   - Name:    absolute
8# CHECK-NEXT:     Index:   SHN_ABS
9# CHECK-NEXT:     Binding: STB_GLOBAL
10# CHECK-NEXT:     Value:   0x1234
11# CHECK-NEXT:   - Name:    common
12# CHECK-NEXT:     Index:   SHN_COMMON
13# CHECK-NEXT:     Binding: STB_GLOBAL
14# CHECK-NEXT:   - Name:    valid_index
15# CHECK-NEXT:     Section: .text
16# CHECK-NEXT:     Binding: STB_GLOBAL
17# CHECK-NEXT:   - Name:    processor_specific_index
18# CHECK-NEXT:     Index:   SHN_HEXAGON_SCOMMON_1
19# CHECK-NEXT:     Binding: STB_GLOBAL
20# CHECK-NEXT:   - Name:    unknown_index
21# CHECK-NEXT:     Index:   0xFFFE
22# CHECK-NEXT:     Binding: STB_GLOBAL
23
24!ELF
25FileHeader:
26  Class:           ELFCLASS64
27  Data:            ELFDATA2LSB
28  Type:            ET_EXEC
29  Machine:         EM_HEXAGON
30Sections:
31  - Name: .text
32    Type: SHT_PROGBITS
33Symbols:
34  - Name:     absolute
35    Index:    SHN_ABS
36    Value:    0x1234
37    Binding:  STB_GLOBAL
38  - Name:     common
39    Index:    SHN_COMMON
40    Binding:  STB_GLOBAL
41  - Name:     valid_index
42    Index:    0x1
43    Binding:  STB_GLOBAL
44  - Name:     processor_specific_index
45    Index:    SHN_HEXAGON_SCOMMON_1
46    Binding:  STB_GLOBAL
47  - Name:     unknown_index
48    Index:    0xfffe
49    Binding:  STB_GLOBAL
50