69 lines
2.1 KiB
Text
69 lines
2.1 KiB
Text
## ELF section symbols use the corresponding section names when printing
|
|
## unnamed symbols. This test verifies this and also that appropriate things
|
|
## are printed if the section is somehow invalid.
|
|
|
|
# RUN: yaml2obj %s -o %t1
|
|
# RUN: llvm-objdump -r --syms %t1 2>&1 | \
|
|
# RUN: FileCheck %s -DFILE=%t1 --implicit-check-not=warning:
|
|
|
|
# CHECK: SYMBOL TABLE:
|
|
# CHECK-NEXT: 00000000 l d .foo 00000000 .foo
|
|
# CHECK-NEXT: 00000000 l d .foo 00000000 .foo
|
|
# CHECK-NEXT: warning: '[[FILE]]': invalid section index: 67
|
|
# CHECK-NEXT: warning: '[[FILE]]': invalid section index: 68
|
|
|
|
# CHECK: RELOCATION RECORDS FOR [.foo]:
|
|
# CHECK-NEXT: OFFSET TYPE VALUE
|
|
# CHECK-NEXT: 00000001 R_X86_64_NONE .foo
|
|
# CHECK-NEXT: 00000002 R_X86_64_NONE .foo
|
|
# CHECK-NEXT: 00000003 R_X86_64_NONE {{$}}
|
|
# CHECK-NEXT: 00000004 R_X86_64_NONE {{$}}
|
|
|
|
## Test that we consume an error in ELFObjectFile<ELFT>::getSectionName when disassembling.
|
|
# RUN: %if x86-registered-target %{ llvm-objdump -d --syms %t1 2>&1 | \
|
|
# RUN: FileCheck %s -DFILE=%t1 --check-prefix=CHECK-DISAS %}
|
|
# CHECK-DISAS: warning: '[[FILE]]': invalid section index: 67
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .foo
|
|
Type: SHT_PROGBITS
|
|
- Name: .rela.foo
|
|
Type: SHT_RELA
|
|
Link: .symtab
|
|
Info: .foo
|
|
Relocations:
|
|
- Offset: 0x1
|
|
Symbol: 1
|
|
Type: R_X86_64_NONE
|
|
- Offset: 0x2
|
|
Symbol: 2
|
|
Type: R_X86_64_NONE
|
|
- Offset: 0x3
|
|
Symbol: 3
|
|
Type: R_X86_64_NONE
|
|
- Offset: 0x4
|
|
Symbol: 4
|
|
Type: R_X86_64_NONE
|
|
Symbols:
|
|
## Case 1: a valid unnamed section symbol.
|
|
- Name: ""
|
|
Section: .foo
|
|
Type: STT_SECTION
|
|
## Case 2: a valid named section symbol.
|
|
- Name: "symbol1"
|
|
Section: .foo
|
|
Type: STT_SECTION
|
|
## Case 3: an unnamed section symbol with invalid index.
|
|
- Name: ""
|
|
Index: 0x43
|
|
Type: STT_SECTION
|
|
## Case 4: a named section symbol with invalid index.
|
|
- Name: "symbol2"
|
|
Index: 0x44
|
|
Type: STT_SECTION
|