Part Number: C2000-CGT
C28x .debug_frame encodes RA at CFA+0, which violates DWARF spec §6.4.1.
CFA must identify caller frame base, not RA location. This corrupts chained unwinding:
Standard: CFA = caller_SP, RA = CFA+offset
C28x: CFA = R20-N, RA = CFA+0 → caller_SP wrong
Next frame lookup uses incorrect SP, breaking stack reconstruction beyond 1 level.
Is RA@CFA+0 intentional C28x behavior?
How should unwinders compute true caller SP when RA is at CFA+0?
Can we get the official documentation for this DWARF implementation?
This prevents reliable multi-frame unwinding in external debuggers. Standard DWARF tools fail completely.
I currently use an adapted DWARF reading tool that we have, but we can only get a partial call stack.
Using C2000_cgt_22_6_2