MFC after: 2 weeks
MFC to: stable/14, stable/15
Sponsored by: FreeBSD Foundation
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
No Test Coverage - Build Status
Buildable 76941 Build 73824: arc lint + arc unit
Event Timeline
I wanted to test this through QEMU, but it seems like armv7 minidump is broken (it cannot locate allproc, stoppcbs, etc)
D59716 allowed me extract kernel dump from QEMU, and the frame unwinding works as expected. Ready for review.
Of course, I don't know anything about annotating the trap frame.
However, adding instructions to the absolutely hot path(s) in the system to fix the debugger doesn't seem like a good idea to me.
Why can't stop lying about the annotation of the stored registers and properly annotate the entire trapframe (including the SPSR), allowing the debugger to do its job?
| sys/arm/arm/exception.S | ||
|---|---|---|
| 349–350 | Why has this change been made? It doesn't make sense to me. | |
I forgot about it yesterday. At worst, you can use .cfi_escape + DW_CFA_val_expression to select proper LR and SP directly in debugger.