1## Check we are able to set a custom sh_name field for different sections
2## and that doing this does not affect the names stored in the string table.
3
4# RUN: yaml2obj %s -o %t1
5# RUN: llvm-readobj --sections --section-data %t1 | FileCheck %s
6
7# CHECK:      Index: 1
8# CHECK-NEXT: Name:{{.* }}(1)
9# CHECK:      Index: 2
10# CHECK-NEXT: Name:{{.* }}(2)
11# CHECK:      Index: 3
12# CHECK-NEXT: Name:{{.* }}(3)
13# CHECK:      Index: 4
14# CHECK-NEXT: Name:{{.* }}(4)
15# CHECK:      Index: 5
16# CHECK-NEXT: Name:{{.* }}(5)
17# CHECK:      Index: 6
18# CHECK-NEXT: Name:{{.* }}(6)
19# CHECK:      Index: 7
20# CHECK-NEXT: Name:{{.* }}(7)
21# CHECK:      Index: 8
22# CHECK-NEXT: Name:{{.* }}(8)
23# CHECK:      Index: 9
24# CHECK-NEXT: Name:{{.* }}(9)
25# CHECK:      Index: 10
26# CHECK-NEXT: Name:{{.* }}(10)
27# CHECK:      Index: 11
28# CHECK-NEXT: Name:{{.* }}(11)
29
30# CHECK:      Name: .shstrtab
31# CHECK:      SectionData (
32# CHECK-NEXT:  |..nobits..regula|
33# CHECK-NEXT:  |r..gnu.version_r|
34# CHECK-NEXT:  |..group..gnu.ver|
35# CHECK-NEXT:  |sion..dynsym..gn|
36# CHECK-NEXT:  |u.version_d..dyn|
37# CHECK-NEXT:  |amic..shstrtab..|
38# CHECK-NEXT:  |strtab..symtab..|
39# CHECK-NEXT:  |rela.|
40# CHECK-NEXT: )
41
42--- !ELF
43FileHeader:
44  Class:   ELFCLASS64
45  Data:    ELFDATA2LSB
46  Type:    ET_REL
47  Machine: EM_X86_64
48Sections:
49  - Name: .dynsym
50    Type: SHT_DYNSYM
51    ShName: 0x000000001
52  - Name: .symtab
53    Type: SHT_SYMTAB
54    ShName: 0x000000002
55  - Name: .dynamic
56    Type: SHT_DYNAMIC
57    ShName: 0x000000003
58  - Name: .rela
59    Type: SHT_RELA
60    ShName: 0x000000004
61  - Name: .nobits
62    Type: SHT_NOBITS
63    ShName: 0x000000005
64  - Name: .group
65    Type: SHT_GROUP
66    ShName: 0x000000006
67    Members:
68  - Name: .gnu.version
69    Type: SHT_GNU_versym
70    Entries: [ ]
71    ShName: 0x000000007
72  - Name: .gnu.version_r
73    Type: SHT_GNU_verneed
74    Info: 0x0000000000000001
75    ShName: 0x000000008
76    Dependencies:
77  - Name: .gnu.version_d
78    Type: SHT_GNU_verdef
79    Info: 0x0000000000000001
80    ShName: 0x000000009
81    Entries:
82  - Name: .regular
83    Type: SHT_PROGBITS
84    ShName: 0x00000000A
85  - Name: .strtab
86    Type: SHT_STRTAB
87    ShName: 0x00000000B
88