libunwind-devel
[Top][All Lists]
Advanced

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

[Libunwind-devel] [PATCH v3 00/17] Fixup the PowerPC (64 & 32 bit) build


From: Cody P Schafer
Subject: [Libunwind-devel] [PATCH v3 00/17] Fixup the PowerPC (64 & 32 bit) builds & clean up configure
Date: Fri, 14 Sep 2012 17:11:45 -0700

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




reply via email to

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