Add ARM Thumb-2 support to libunwind

Registered by Michael Hope

Generating a backtrace on ARM requires executing code. A range of tools such as valgrind, GDB, perf, and the Redhat crash utility all need backtrace support and all currently implement their own heuristics.

ia64 uses libunwind everywhere. Consider the same for ARM, with the first step being to get solid support into libunwind.

Blueprint information

Status:
Complete
Approver:
Michael Hope
Priority:
High
Drafter:
Michael Hope
Direction:
Needs approval
Assignee:
Ken Werner
Definition:
Approved
Series goal:
Accepted for 11.05
Implementation:
Implemented
Milestone target:
milestone icon 11.05-final
Started by
Michael Hope
Completed by
Michael Hope

Related branches

Sprints

Whiteboard

michaelh1 spun the demonstrate work out into the 11.11 TR 'Good backtracing'

Estimate: 2-4m

(?)

Work Items

Work items:
Add Thumb-2 support: DONE
Add support for when debug symbols are present: DONE
Add parsing of the ARM specific unwind tables: DONE
Add support for local unwinding (generic and local): DONE
Add support for unwinding call stacks with mixed (DWARF and extbl) frames on ARM: DONE
Investigate test suite failures on ARM: DONE
Tidy up the test suite: DONE
Add support for resuming execution from a given cursor: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.