mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
40ac5ec4fa
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
87 lines
2.4 KiB
YAML
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
|
|
...
|