On 4/24/07, Nurdin Premji <[EMAIL PROTECTED]> 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?
_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to