1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Object/BPF/yaml2obj-elf-bpf-rel.yaml
gbreynoo 40ac5ec4fa [llvm-readobj] Display multiple function names for stack size entries
The current implementation of displaying .stack_size information
presumes that each entry represents a single function but this is not
always the case. For example with the use of ICF multiple functions can
be represented with the same code, meaning that the address found in a
.stack_size entry corresponds to multiple function symbols.
This change allows multiple function names to be displayed when
appropriate.

Differential Revision: https://reviews.llvm.org/D105884
2021-07-26 14:49:53 +01:00

87 lines
2.4 KiB
YAML

# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj -r --stack-sizes %t | FileCheck %s
# CHECK: Relocations [
# CHECK-NEXT: Section (3) .rel.text {
# CHECK-NEXT: 0x0 R_BPF_64_64 g
# CHECK-NEXT: }
# CHECK-NEXT: Section (5) .rel.stack_sizes {
# CHECK-NEXT: 0x0 R_BPF_64_ABS64 .text
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK: StackSizes [
# CHECK-NEXT: Entry {
# CHECK-NEXT: Functions: [test]
# CHECK-NEXT: Size: 0x0
# CHECK-NEXT: }
# CHECK-NEXT: ]
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_BPF
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x8
Content: '1801000000000000000000000000000061100000000000009500000000000000'
- Name: .stack_sizes
Type: SHT_PROGBITS
Flags: [ SHF_LINK_ORDER ]
Link: .text
AddressAlign: 0x1
Entries:
- Size: 0x0
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x4
Size: 0x4
- Name: .rel.text
Type: SHT_REL
Link: .symtab
AddressAlign: 0x8
Info: .text
Relocations:
- Symbol: g
Type: R_BPF_64_64
- Name: .rel.stack_sizes
Type: SHT_REL
Link: .symtab
AddressAlign: 0x8
Info: .stack_sizes
Relocations:
- Symbol: .text
Type: R_BPF_64_ABS64
- Type: SectionHeaderTable
Sections:
- Name: .strtab
- Name: .text
- Name: .rel.text
- Name: .stack_sizes
- Name: .rel.stack_sizes
- Name: .bss
- Name: .symtab
- Name: .shstrtab
Symbols:
- Name: t.c
Type: STT_FILE
Index: SHN_ABS
- Name: .text
Type: STT_SECTION
Section: .text
- Name: test
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Size: 0x20
- Name: g
Type: STT_OBJECT
Section: .bss
Binding: STB_GLOBAL
Size: 0x4
...