libunwind-devel
[Top][All Lists]
Advanced

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

Re: [Libunwind-devel] Multi-platform unwinding i386 binary on x86_64 bug


From: Arun Sharma
Subject: Re: [Libunwind-devel] Multi-platform unwinding i386 binary on x86_64 bugs and patch.
Date: Tue, 1 May 2007 15:20:28 -0700

On 4/24/07, Nurdin Premji <address@hidden> wrote:
While attempting to unwind an i386 binary on an x86_64 machine I found
the following two bugs.

The first is that _UPTi_find_unwind_table when reading the eh_frame_ptr
and fde_count assume the existence of unw_local_addr_space, which
doesn't exist when compiled for the non-native i386 architecture.
This was fixed by creating a dummy address space with an access_mem
callback which is the only callback called by this method.


I think your problem stems from this statement in libunwind-ptrace(3) man page:

AVAILABILITY
       Since  ptrace(2)  works within a single machine only, the _UPT-facility
       by definition is not available  in  libunwind-versions  configured  for
       cross-unwinding.

It looks like you're trying to use ptrace() for the non-native case. Can you give a  higher  level  description of what you're trying to accomplish?

Perhaps you should write your own accessors for accessing an i386 address space from a x86_64 process and call unw_create_addr_space()?

 -Arun

PS: Were you trying to use _UPT_accessors by any chance?



reply via email to

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