[obj2yaml] - Rework tool's error reporting logic for ELF target.
[llvm-complete.git] / test / tools / obj2yaml / special-symbol-indices.yaml
blobfcc2a705f9c758229721a6fea88aa7dac86fbe6a
1 # RUN: yaml2obj %s > %t
2 # RUN: obj2yaml %t | FileCheck %s
4 ## Test checks that we are able to handle symbols with special/reserved indices.
6 # CHECK:      Symbols:
7 # CHECK-NEXT:   - Name:    absolute
8 # CHECK-NEXT:     Index:   SHN_ABS
9 # CHECK-NEXT:     Binding: STB_GLOBAL
10 # CHECK-NEXT:     Value:   0x0000000000001234
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:   0x0000FFFE
22 # CHECK-NEXT:     Binding: STB_GLOBAL
24 !ELF
25 FileHeader:
26   Class:           ELFCLASS64
27   Data:            ELFDATA2LSB
28   Type:            ET_EXEC
29   Machine:         EM_HEXAGON
30 Sections:
31   - Name: .text
32     Type: SHT_PROGBITS
33 Symbols:
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
51 ## shn_xindex.o contains a symbol with st_shndx == SHN_XINDEX.
52 ## We do not support it at this moment.
53 # RUN: not obj2yaml %S/Inputs/shn_xindex.o 2>&1 | FileCheck %s --check-prefix=ERR
54 # ERR: Error reading file: {{.*}}shn_xindex.o: SHN_XINDEX symbols are not supported