The linux perf tools use /proc/kcore for disassembly kernel functions. Actually it copies the relevant parts to a temp file and then pass it to objdump. But it doesn't have section headers so llvm-objdump cannot handle it. Let's create fake section headers for the program headers. It'd have a single section for each segment to cover the entire range. And for this purpose we can consider only executable code segments. With this change, I can see the following command shows proper outputs. perf annotate --stdio --objdump=/path/to/llvm-objdump Differential Revision: https://reviews.llvm.org/D128705
9 lines
327 B
Plaintext
9 lines
327 B
Plaintext
; RUN: llvm-objdump -h %p/Inputs/no-sections.elf-x86-64 \
|
|
; RUN: | FileCheck %s
|
|
|
|
; CHECK: Sections:
|
|
; CHECK-NEXT: Idx Name Size VMA Type
|
|
; CHECK-NEXT: 0 000006ec 0000000000400000 TEXT
|
|
; CHECK-NEXT: 1 00000000 0000000000000000 TEXT
|
|
; CHECK-NOT: {{.}}
|