1## ELF section symbols use the corresponding section names when printing 2## unnamed symbols. This test verifies this and also that appropriate things 3## are printed if the section is somehow invalid. 4 5# RUN: yaml2obj %s -o %t1 6# RUN: llvm-objdump -r --syms %t1 2>&1 | \ 7# RUN: FileCheck %s -DFILE=%t1 --implicit-check-not=warning: 8 9# CHECK: SYMBOL TABLE: 10# CHECK-NEXT: 00000000 l d .foo 00000000 .foo 11# CHECK-NEXT: 00000000 l d .foo 00000000 .foo 12# CHECK-NEXT: warning: '[[FILE]]': invalid section index: 67 13# CHECK-NEXT: warning: '[[FILE]]': invalid section index: 68 14 15# CHECK: RELOCATION RECORDS FOR [.foo]: 16# CHECK-NEXT: OFFSET TYPE VALUE 17# CHECK-NEXT: 00000001 R_X86_64_NONE .foo 18# CHECK-NEXT: 00000002 R_X86_64_NONE .foo 19# CHECK-NEXT: 00000003 R_X86_64_NONE {{$}} 20# CHECK-NEXT: 00000004 R_X86_64_NONE {{$}} 21 22## Test that we consume an error in ELFObjectFile<ELFT>::getSectionName when disassembling. 23# RUN: %if x86-registered-target %{ llvm-objdump -d --syms %t1 2>&1 | \ 24# RUN: FileCheck %s -DFILE=%t1 --check-prefix=CHECK-DISAS %} 25# CHECK-DISAS: warning: '[[FILE]]': invalid section index: 67 26 27--- !ELF 28FileHeader: 29 Class: ELFCLASS32 30 Data: ELFDATA2LSB 31 Type: ET_REL 32 Machine: EM_X86_64 33Sections: 34 - Name: .foo 35 Type: SHT_PROGBITS 36 - Name: .rela.foo 37 Type: SHT_RELA 38 Link: .symtab 39 Info: .foo 40 Relocations: 41 - Offset: 0x1 42 Symbol: 1 43 Type: R_X86_64_NONE 44 - Offset: 0x2 45 Symbol: 2 46 Type: R_X86_64_NONE 47 - Offset: 0x3 48 Symbol: 3 49 Type: R_X86_64_NONE 50 - Offset: 0x4 51 Symbol: 4 52 Type: R_X86_64_NONE 53Symbols: 54## Case 1: a valid unnamed section symbol. 55 - Name: "" 56 Section: .foo 57 Type: STT_SECTION 58## Case 2: a valid named section symbol. 59 - Name: "symbol1" 60 Section: .foo 61 Type: STT_SECTION 62## Case 3: an unnamed section symbol with invalid index. 63 - Name: "" 64 Index: 0x43 65 Type: STT_SECTION 66## Case 4: a named section symbol with invalid index. 67 - Name: "symbol2" 68 Index: 0x44 69 Type: STT_SECTION 70