Improve backtrace by using ARM exception tables

Bug #661253 reported by Ulrich Weigand
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro GDB
Fix Released
Medium
Ulrich Weigand

Bug Description

In the absence of debug information (DWARF CFI), GDB falls back to prologue parsing to unwind the stack. However, if symbol information is missing as well (which is the case on Ubuntu unless debuginfo packages are installed), prologue parsing may not work since GDB is unable to even determine where the function starts.

On other platforms, GDB will use *exception* unwind data (from .eh_frame) to still be able to unwind in some cases. However, ARM does not use the DWARF-formatted .eh_frame, but instead uses sections .ARM.exidx and .ARM.extbl in a format specified by the ARM ABI.

In some cases, it would be possible for GDB to extract unwind information from those tables as well, but it currently does not do so.

Related branches

Changed in gdb-linaro:
status: New → Confirmed
status: Confirmed → In Progress
importance: Undecided → Medium
assignee: nobody → Ulrich Weigand (uweigand)
tags: added: testsuite
tags: removed: testsuite
Revision history for this message
Ulrich Weigand (uweigand) wrote :

Fix checked in to Linaro GDB 7.2 for 2011.02 release.

Revision history for this message
Ulrich Weigand (uweigand) wrote :
Changed in gdb-linaro:
status: In Progress → Fix Committed
Michael Hope (michaelh1)
Changed in gdb-linaro:
milestone: none → 7.2-2011.02-0
Michael Hope (michaelh1)
Changed in gdb-linaro:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.