diff options
Diffstat (limited to 'llvm/test/tools/llvm-readobj/elf-symbol-shndx.test')
| -rw-r--r-- | llvm/test/tools/llvm-readobj/elf-symbol-shndx.test | 69 |
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: |

