summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/elf-symbol-shndx.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj/elf-symbol-shndx.test')
-rw-r--r--llvm/test/tools/llvm-readobj/elf-symbol-shndx.test69
1 files changed, 33 insertions, 36 deletions
diff --git a/llvm/test/tools/llvm-readobj/elf-symbol-shndx.test b/llvm/test/tools/llvm-readobj/elf-symbol-shndx.test
index bdf2050e456..da3d1fa54cd 100644
--- a/llvm/test/tools/llvm-readobj/elf-symbol-shndx.test
+++ b/llvm/test/tools/llvm-readobj/elf-symbol-shndx.test
@@ -3,37 +3,41 @@
# section), reserved values and processor/os-specific index values, for both GNU
# and LLVM styles.
-# Use --dyn-symbols because yaml2obj does not currently support large section indexes
-# and also does not allow hand-crafting of static symbol tables.
# RUN: yaml2obj --docnum=1 %s > %t1
-# RUN: llvm-readobj --symbols --dyn-symbols %t1 | FileCheck %s --check-prefix=LLVM
-# RUN: llvm-readelf --symbols --dyn-symbols %t1 | FileCheck %s --check-prefix=GNU1
+# RUN: llvm-readobj --symbols %t1 | FileCheck %s --check-prefix=LLVM1
+# RUN: llvm-readelf --symbols %t1 | FileCheck %s --check-prefix=GNU1
# llvm-readobj doesn't accept shndx values that are not valid section indexes
# for LLVM style, so only test GNU output in this case.
# RUN: yaml2obj --docnum=2 %s > %t2
# RUN: llvm-readelf --symbols %t2 | FileCheck %s --check-prefix=GNU2
-# LLVM: Name: undef
-# LLVM: Section: Undefined (0x0)
-# LLVM: Name: normal
-# LLVM: Section: .text (0x1)
-# LLVM: Name: common
-# LLVM: Section: Common (0xFFF2)
-# LLVM: Name: absolute
-# LLVM: Section: Absolute (0xFFF1)
-# LLVM: Name: proc
-# LLVM: Section: Processor Specific (0xFF01)
-# LLVM: Name: os
-# LLVM: Section: Operating System Specific (0xFF21)
-# LLVM: Name: reserved
-# LLVM: Section: Reserved (0xFFFE)
+# LLVM1: Name: undef
+# LLVM1: Section:
+# LLVM1-SAME: Undefined (0x0)
+# LLVM1: Name: normal
+# LLVM1: Section:
+# LLVM1-SAME: .text (0x1)
+# LLVM1: Name: common
+# LLVM1: Section:
+# LLVM1-SAME: Common (0xFFF2)
+# LLVM1: Name: absolute
+# LLVM1: Section:
+# LLVM1-SAME: Absolute (0xFFF1)
+# LLVM1: Name: proc
+# LLVM1: Section:
+# LLVM1-SAME: Processor Specific (0xFF01)
+# LLVM1: Name: os
+# LLVM1: Section:
+# LLVM1-SAME: Operating System Specific (0xFF21)
+# LLVM1: Name: reserved
+# LLVM1: Section:
+# LLVM1-SAME: Reserved (0xFFFE)
+# LLVM1: Name: xindex
+# LLVM1: Section:
+# LLVM1: .text (0x1)
-# GNU1: Symbol table '.dynsym' contains 2 entries:
-# GNU1-NEXT: Num: {{.*}} Ndx Name
-# GNU1-NEXT: 0: {{.*}} UND
-# GNU1-NEXT: 1: {{.*}} 1 xindex
-# GNU1: Symbol table '.symtab' contains 8 entries:
+# GNU1: Symbol table '.symtab' contains 9 entries:
# GNU1-NEXT: Num: {{.*}} Ndx Name
# GNU1-NEXT: 0: {{.*}} UND
# GNU1-NEXT: 1: {{.*}} UND undef
@@ -43,6 +47,7 @@
# GNU1-NEXT: 5: {{.*}} PRC[0xff01] proc
# GNU1-NEXT: 6: {{.*}} OS[0xff21] os
# GNU1-NEXT: 7: {{.*}} RSV[0xfffe] reserved
+# GNU1-NEXT: 8: {{.*}} 1 xindex
# GNU2: Symbol table '.symtab' contains 2 entries:
# GNU2-NEXT: Num: {{.*}} Ndx Name
@@ -58,21 +63,10 @@ FileHeader:
Sections:
- Name: .text
Type: SHT_PROGBITS
- - Name: .dynstr
- Type: SHT_STRTAB
- #\0xindex\0
- Content: "0078696e64657800"
- - Name: .dynsym
- Type: SHT_DYNSYM
- Link: .dynstr
- EntSize: 16
- # Null symbol
- # Symbol with st_name = 1, st_shndx = SHN_XINDEX
- Content: "000000000000000000000000000000000100000000000000000000000000ffff"
- Name: .symtab_shndx
Type: SHT_SYMTAB_SHNDX
- Link: .dynsym
- Entries: [ 0, 1 ]
+ Link: .symtab
+ Entries: [ 0, 0, 0, 0, 0, 0, 0, 0, 1 ]
Symbols:
- Name: undef
Binding: STB_GLOBAL
@@ -94,6 +88,9 @@ Symbols:
- Name: reserved
Index: 0xfffe
Binding: STB_GLOBAL
+ - Name: xindex
+ Index: SHN_XINDEX
+ Binding: STB_GLOBAL
--- !ELF
FileHeader:
OpenPOWER on IntegriCloud