9
9
# RUN: FileCheck %s -DFILE=%t1 --check-prefix=GNU1 --implicit-check-not="warning:"
10
10
11
11
# LLVM1: Relocations [
12
- # LLVM1-NEXT: Section (4 ) .rela.foo {
12
+ # LLVM1-NEXT: Section (5 ) .rela.foo {
13
13
# LLVM1-NEXT: 0x1 R_X86_64_NONE .foo 0x0
14
14
# LLVM1-NEXT: 0x2 R_X86_64_NONE symbol1 0x0
15
15
# LLVM1-NEXT: warning: '[[FILE]]': invalid section index: 67
32
32
# LLVM1: Name: symbol3 (9)
33
33
# LLVM1: Name: <section 66> (0)
34
34
# LLVM1: Name: symbol4 (1)
35
+ # LLVM1: warning: '[[FILE]]': a section [index 3] has an invalid sh_name (0xffff) offset which goes past the end of the section name string table
36
+ # LLVM1: Name: <section 3> (0)
35
37
36
- # GNU1: Relocation section '.rela.foo' at offset 0x58 contains 8 entries:
38
+ # GNU1: Relocation section '.rela.foo' at offset {{.*}} contains 8 entries:
37
39
# GNU1-NEXT: Offset Info Type Sym. Value Symbol's Name + Addend
38
40
# GNU1-NEXT: 00000001 00000100 R_X86_64_NONE 00000000 .foo + 0
39
41
# GNU1-NEXT: 00000002 00000200 R_X86_64_NONE 00000000 symbol1 + 0
46
48
# GNU1-NEXT: 00000007 00000700 R_X86_64_NONE 00000000 <section 66> + 0
47
49
# GNU1-NEXT: 00000008 00000800 R_X86_64_NONE 00000000 symbol4 + 0
48
50
49
- # GNU1: Symbol table '.symtab' contains 9 entries:
51
+ # GNU1: Symbol table '.symtab' contains 10 entries:
50
52
# GNU1-NEXT: Num: {{.*}} Type {{.*}} Ndx Name
51
53
# GNU1-NEXT: 0: {{.*}} NOTYPE {{.*}} UND {{$}}
52
54
# GNU1-NEXT: 1: {{.*}} SECTION {{.*}} 1 .foo
57
59
# GNU1-NEXT: 6: {{.*}} SECTION {{.*}} 2 symbol3
58
60
# GNU1-NEXT: 7: {{.*}} SECTION {{.*}} 66 <section 66>
59
61
# GNU1-NEXT: 8: {{.*}} SECTION {{.*}} 66 symbol4
62
+ # GNU1-NEXT: warning: '[[FILE]]': a section [index 3] has an invalid sh_name (0xffff) offset which goes past the end of the section name string table
63
+ # GNU1-NEXT: 9: {{.*}} SECTION {{.*}} 3 <section 3>
60
64
61
65
--- !ELF
62
66
FileHeader:
@@ -69,10 +73,13 @@ Sections:
69
73
Type: SHT_PROGBITS
70
74
- Name: .bar
71
75
Type: SHT_PROGBITS
76
+ - Name: .invalid
77
+ Type: SHT_PROGBITS
78
+ ShName: 0xffff
72
79
- Name: .symtab_shndx
73
80
Type: SHT_SYMTAB_SHNDX
74
81
Link: .symtab
75
- Entries: [ 0, 0, 0, 0, 0, 2, 2, 0x42, 0x42 ]
82
+ Entries: [ 0, 0, 0, 0, 0, 2, 2, 0x42, 0x42, 0 ]
76
83
- Name: .rela.foo
77
84
Type: SHT_RELA
78
85
Link: .symtab
@@ -135,6 +142,10 @@ Symbols:
135
142
- Name: "symbol4"
136
143
Index: SHN_XINDEX
137
144
Type: STT_SECTION
145
+ ## Case 9: a unnamed section symbol with invalid name.
146
+ - Name: ""
147
+ Index: 3
148
+ Type: STT_SECTION
138
149
139
150
# RUN: yaml2obj %s --docnum=2 -o %t2
140
151
# RUN: llvm-readobj %t2 --symbols 2> %t.llvm.err2 | FileCheck %s --check-prefix=LLVM2
0 commit comments