Support stack unwinding without frame pointers present
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 3
Description
(tried to find another issue about this, couldn't find any)
Currently stack unwinding in bcc is only done using frame pointers. That often makes it hard to get combined user/kernel stacks, because a lot of libraries, especially libc, don't generally preserve frame pointers. Even if one recompiles libc with frame pointers, it does several syscalls directly via asm, making it infeasible for mere mortals to preserve frame pointers.
Perf supports stack unwinding via dwarf and lbr, support for either or both would be very helpful for bcc as well.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing BCC's existing frame-pointer-based stack unwinding and compare it with the DWARF and LBR approaches mentioned in the issue, including how perf supports them. Done means BCC can provide combined user/kernel stacks without requiring frame pointers, with the supported approach and validation defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems, performance, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100