llvm-project/llvm/test/tools/obj2yaml/special-symbol-indices.yaml

55 lines
1.6 KiB
YAML

# RUN: yaml2obj %s > %t
# RUN: obj2yaml %t | FileCheck %s
## Test checks that we are able to handle symbols with special/reserved indices.
# CHECK: Symbols:
# CHECK-NEXT: - Name: absolute
# CHECK-NEXT: Index: SHN_ABS
# CHECK-NEXT: Binding: STB_GLOBAL
# CHECK-NEXT: Value: 0x0000000000001234
# CHECK-NEXT: - Name: common
# CHECK-NEXT: Index: SHN_COMMON
# CHECK-NEXT: Binding: STB_GLOBAL
# CHECK-NEXT: - Name: valid_index
# CHECK-NEXT: Section: .text
# CHECK-NEXT: Binding: STB_GLOBAL
# CHECK-NEXT: - Name: processor_specific_index
# CHECK-NEXT: Index: SHN_HEXAGON_SCOMMON_1
# CHECK-NEXT: Binding: STB_GLOBAL
# CHECK-NEXT: - Name: unknown_index
# CHECK-NEXT: Index: 0x0000FFFE
# CHECK-NEXT: Binding: STB_GLOBAL
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_HEXAGON
Sections:
- Name: .text
Type: SHT_PROGBITS
Symbols:
- Name: absolute
Index: SHN_ABS
Value: 0x1234
Binding: STB_GLOBAL
- Name: common
Index: SHN_COMMON
Binding: STB_GLOBAL
- Name: valid_index
Index: 0x1
Binding: STB_GLOBAL
- Name: processor_specific_index
Index: SHN_HEXAGON_SCOMMON_1
Binding: STB_GLOBAL
- Name: unknown_index
Index: 0xfffe
Binding: STB_GLOBAL
## shn_xindex.o contains a symbol with st_shndx == SHN_XINDEX.
## We do not support it at this moment.
# RUN: not obj2yaml %S/Inputs/shn_xindex.o 2>&1 | FileCheck %s --check-prefix=ERR
# ERR: Error reading file: {{.*}}shn_xindex.o: Feature not yet implemented.