libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] [PATCH 0/5] ARM: Initial support for remote unwinding


From: Ken Werner
Subject: [Libunwind-devel] [PATCH 0/5] ARM: Initial support for remote unwinding using libunwind-ptrace
Date: Wed, 3 Aug 2011 14:12:00 +0200

Hi,

This patch set add initial support for uwinding remote processes on ARM using
libunwind-ptrace. The first three patches rework the ARM code for local
unwinding to prepare the libunwind ARM backend for remote unwinding.
The fourth patch changes libunwind-ptrace to also look for .debug_frame info
in case no matching information was found in the .eh_frame. This could happen
if the GCC generates .eh_frame info for some functions only (e.g. only the C
code that interacts with C++ code that is likely to throw exceptions). The new
behavior matches to what the local unwind code does.
The fifth patch adds the last piece to enable remote unwinding by changing
_UPTi_find_unwind_table to also look for the ARM specific unwind information.
In addition the code that reads the ARM specific unwind information from memory
is changed to make use of the accessor routines.

Ken Werner (5):
  Move arm_exidx_entry and arm_exidx_table structs from ex_tables.h
    into libunwind-arm.h.
  Change address type from void* to unw_word_t.
  Rework the lookup of the  ARM specific unwind entry for local
    unwinding
  Change libunwind-ptrace to also look for .debug_frame if nothing
    found in .eh_frame.
  ARM: Initial support for remote unwinding using libunwind-ptrace

 include/libunwind-arm.h          |    5 +
 include/libunwind-dynamic.h      |    3 +-
 include/tdep-arm/ex_tables.h     |   25 +---
 include/tdep-arm/libunwind_i.h   |    6 +-
 src/arm/Gex_tables.c             |  244 ++++++++++++++--------------
 src/arm/Ginit_local.c            |    3 -
 src/arm/Gstep.c                  |   12 +-
 src/dwarf/Gfind_proc_info-lsb.c  |   41 ++++-
 src/dwarf/Gparser.c              |    5 +
 src/ptrace/_UPT_create.c         |    5 +
 src/ptrace/_UPT_find_proc_info.c |  341 ++++++++++++++++++++++----------------
 src/ptrace/_UPT_internal.h       |   16 +-
 12 files changed, 396 insertions(+), 310 deletions(-)

Regards
Ken
-- 
1.7.4.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]