# RUN: yaml2obj %s -o %t -DMACHINE=HEXAGON
# RUN: obj2yaml %t | FileCheck %s -DMACHINE=HEXAGON -DNAME=SCOMMON_1
# RUN: yaml2obj %s -o %t -DMACHINE=MIPS
# RUN: obj2yaml %t | FileCheck %s -DMACHINE=MIPS -DNAME=TEXT
## 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: 0x1234
# 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_[[MACHINE]]_[[NAME]]
# CHECK-NEXT: Binding: STB_GLOBAL
# CHECK-NEXT: - Name: unknown_index
# CHECK-NEXT: Index: 0xFFFE
# CHECK-NEXT: Binding: STB_GLOBAL
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_[[MACHINE]]
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: 0xff01
Binding: STB_GLOBAL
- Name: unknown_index
Index: 0xfffe
Binding: STB_GLOBAL