Build failures occured primarily due to
 - attempts to build the 32bit powerpc code as 64bit and vise versa.
   - solved by changing how configure checks for a 64bit compilation
 - libunwind-coredump lacking ppc support.
   - solved by making coredump an optional component and disabling it on 
everything but x86*.

Runtime failures occured due to:
 - lack of actual ptrace support (no register offsets defined).
 - tdep_get_func_addr using access_mem with a NULL argument.

Still not quite right:
 - elf_w(get_proc_name_in_image)() calls elf_w(lookup_symbol)() calls
   tdep_get_func_addr() calls _UPT_access_mem.

   In order to properly call _UPT_access_mem, we need a cursor (or some other
   way to get the UPT_state).

   get_proc_name_in_image() is called with a unw_addr_space_t, so right now we
   have no way to get UPT_state.

   The result right now is that calling elf_w(get_proc_name_in_image)() on
   PPC64 via _UPT always results in -UNW_EINVAL.

Note: I reverted 8203c955c8bde94bba609d20abb39c576acf3e38 to build these
changes on top of the current tree.

Since v2:
 - Remove AX_ARG_ENABLE
 - s/#/dnl/
 - Fixed PPC register offsets for UPT.
 - Add some register names & generally improve Debug prints.
 - Move configure.in to configure.ac (Which is "prefered" over configure.in)

Since v1:
 - removed empty lines
 - fixed libunwind-coredump build not building by default on x86*
 - replace AC_HELP_STRING with AS_HELP_STRING
 - factor out common AC_ARG_ENABLE useage into AX_ARG_ENABLE
 - Add ptrace register offsets for ppc64 & ppc32


_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to