Hi, These patches improve the libunwind support on ARM Linux. The first patch implements the unw_is_signal_frame function to enable signal frame detection. The second patch implements support for parsing the .ARM.exidx and .ARM.extab sections. These sections contain the unwind information as specified by the 'Exception Handling ABI for the ARM Architecture' document. The third patch adds UNW_ARM_METHOD_EXIDX as a new unwind method that uses the ARM-specific tables. The fourth patch implements a small unit test that uses the new libunwind internals directly - it may be dropped.
Zachary T Welch (4): Add ARM signal frame detection Add module for parsing ARM-specific unwind tables Use ARM-specific unwinding tables in unw_step Add test of backtracing using ARM-specific tables .gitignore | 1 + include/tdep-arm/ex_tables.h | 128 +++++++++ include/tdep-arm/libunwind_i.h | 3 + src/Makefile.am | 3 +- src/arm/Ginit_local.c | 17 ++ src/arm/Gis_signal_frame.c | 31 ++- src/arm/Gstep.c | 40 +++- src/arm/ex_tables.c | 600 ++++++++++++++++++++++++++++++++++++++++ src/elfxx.h | 4 +- tests/Makefile.am | 11 + tests/arm-extbl-test.c | 95 +++++++ 11 files changed, 927 insertions(+), 6 deletions(-) create mode 100644 include/tdep-arm/ex_tables.h create mode 100644 src/arm/ex_tables.c create mode 100644 tests/arm-extbl-test.c Regards Ken _______________________________________________ Libunwind-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/libunwind-devel
