libunwind-devel
[Top][All Lists]
Advanced

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

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


From: Ken Werner
Subject: Re: [Libunwind-devel] [PATCH 0/5] ARM: Initial support for remote unwinding using libunwind-ptrace
Date: Wed, 03 Aug 2011 14:22:14 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.18) Gecko/20110617 Lightning/1.0b2 Thunderbird/3.1.11

On 08/03/2011 02:12 PM, Ken Werner wrote:
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

As usual the changes can be pulled from:
git://git.linaro.org/people/kwerner/libunwind.git

Thanks,
Ken



reply via email to

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