## Check we are able to set a custom sh_name field for different sections
## and that doing this does not affect the names stored in the string table.
# RUN: yaml2obj %s -o %t1
# RUN: llvm-readobj --sections --section-data %t1 | FileCheck %s
# CHECK: Index: 1
# CHECK-NEXT: Name:{{.* }}(1)
# CHECK: Index: 2
# CHECK-NEXT: Name:{{.* }}(2)
# CHECK: Index: 3
# CHECK-NEXT: Name:{{.* }}(3)
# CHECK: Index: 4
# CHECK-NEXT: Name:{{.* }}(4)
# CHECK: Index: 5
# CHECK-NEXT: Name:{{.* }}(5)
# CHECK: Index: 6
# CHECK-NEXT: Name:{{.* }}(6)
# CHECK: Index: 7
# CHECK-NEXT: Name:{{.* }}(7)
# CHECK: Index: 8
# CHECK-NEXT: Name:{{.* }}(8)
# CHECK: Index: 9
# CHECK-NEXT: Name:{{.* }}(9)
# CHECK: Index: 10
# CHECK-NEXT: Name:{{.* }}(10)
# CHECK: Index: 11
# CHECK-NEXT: Name:{{.* }}(11)
# CHECK: Name: .shstrtab
# CHECK: SectionData (
# CHECK-NEXT: |..nobits..regula|
# CHECK-NEXT: |r..gnu.version_r|
# CHECK-NEXT: |..group..gnu.ver|
# CHECK-NEXT: |sion..dynsym..gn|
# CHECK-NEXT: |u.version_d..dyn|
# CHECK-NEXT: |amic..shstrtab..|
# CHECK-NEXT: |strtab..symtab..|
# CHECK-NEXT: |rela.|
# CHECK-NEXT: )
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Sections:
- Name: .dynsym
Type: SHT_DYNSYM
ShName: 0x000000001
- Name: .symtab
Type: SHT_SYMTAB
ShName: 0x000000002
- Name: .dynamic
Type: SHT_DYNAMIC
ShName: 0x000000003
- Name: .rela
Type: SHT_RELA
ShName: 0x000000004
- Name: .nobits
Type: SHT_NOBITS
ShName: 0x000000005
- Name: .group
Type: SHT_GROUP
ShName: 0x000000006
Members:
- Name: .gnu.version
Type: SHT_GNU_versym
Entries: [ ]
ShName: 0x000000007
- Name: .gnu.version_r
Type: SHT_GNU_verneed
ShName: 0x000000008
Dependencies:
- Name: .gnu.version_d
Type: SHT_GNU_verdef
ShName: 0x000000009
Entries:
- Name: .regular
Type: SHT_PROGBITS
ShName: 0x00000000A
- Name: .strtab
Type: SHT_STRTAB
ShName: 0x00000000B